
#include "aduc841.h"
				org		0000h
				sjmp	main
				org		0003h
				sjmp	haricikesme0_fonksiyonu
				org		000bh
				sjmp	timer0kesme_fonksiyonu
				org		0013h
				sjmp	haricikesme1_fonksiyonu				
main:
				// sorudaki r0 yerine r1
				// sorudaki r1 yerine r4 kullandim
				
				// timer ayari
				// timer 65535 için ayarliyorum
				// eger timer 169 kez tasarsa 1 sn olur.
				// bir sayici ayarliyacagim=r0
				// r0 kesmede arttiriclacak
				// ve 169 testi yapacagim
				// bir saniye suresini 2 kez baska bir sayicida kontrol edip
				// 2 sn suresini belirleyecek
				// r3 sayicisi kullanayim
				mov		r3,#00h
				
				// p3.2 butona basilma sayisini r1 de tutacagim
				// p3.3 butona basilma sayisini r4 de tutacagim
				// harici kesme olunca bir arttircagim
				mov		r1,#00h
				mov		r4,#00h
				
				mov		tmod,#00000001b ; timer 0 zamanlayici 16 bit mod 1
				mov		tl0,#00h
				mov		th0,#00h
				setb	et0 
				setb	et1
				setb	it0
				setb	ex0
				setb	ex1
				setb	ea
				setb	tr0 ; zamanlayici baslar 
				
			x:	
				//ana dongu
				nop
				sjmp	x

haricikesme0_fonksiyonu:
				inc		r1
				reti
haricikesme1_fonksiyonu:
				inc		r4
				reti
timer0kesme_fonksiyonu:
				inc		r0
				cjne	r0,#169d,y ;sayici 169 oldumu testi
				// 1sn gecti, r3 bir arttir
				mov		r0,#00h
				inc		r3				
				cjne	r3,#2d,y
				// 2 sn gecti
				clr		c
				mov		a,r1
				subb	a,r4
				jc		z ; negatif ise ledi söndür aksi halde ledi yak
				setb	p0.1
				
				mov		r1,#00h ; basilma sayisi0 0 landi
				mov		r4,#00h ; basilma sayisi1 0 landi
 				mov		r3,#00h ; 2 sn sayicisi 0 landi.
			z:	clr		p0.1
			y:	reti
	
			END