Mình tập viết chương trình chạy độc lập dùng timer0 và timer1 thế này mà sao nó không chạy độc lập với nhau cùng 1 lúc nhỉ. Bro nào biết sửa dùm mình với.thank nhìu
Code:
;chuong trinh dieu khien led dung timer ;timer0 chay chuong trinh chay chu chinh ;timer1 chay chuong trinh vien ;hai chuong trinh chay doc lap cung 1 luc voi nhau org 0000h ljmp main org 000bh ljmp timer0_isr org 001bh ljmp timer1_isr org 0030h main: Mov tmod,#12h mov th1,#high(-5000) mov tl1,#low(-5000) mov th0,#(-100) mov tl0,#(-100) setb tr0 setb tr1 mov ie,#8ah jmp $ ;------------------------------------------------------ timer1_isr: Ktt1: Jnb tf1,ktt0 clr tf1 mov r1,#5 xuoi: Setb p1.0 clr p1.1 clr p1.2 call delay clr p1.0 setb p1.1 clr p1.2 call delay clr p1.0 clr p1.1 setb p1.2 call delay djnz r1,xuoi mov r2,#5 nguoc: Setb p1.2 clr p1.1 clr p1.0 call delay clr p1.2 setb p1.1 clr p1.0 call delay clr p1.2 clr p1.1 setb p1.0 call delay djnz r2,nguoc mov th1,#high(-5000) mov tl1,#low(-5000) jmp ktt0 reti ;---------------------------------------------------- timer0_isr: Ktt0: Jnb tf0,ktt1 clr tf0 mov p3,#00h call delay1 mov p3,#0ffh call delay1 mov p3,#00h call delay1 mov p3,#0ffh call delay1 mov p3,#00h call delay1 mov p3,#0ffh call delay1 reti ;---------------------------------------------------- delay: Mov 40h,#250 lap: Mov 41h,#200 djnz 41h,$ djnz 40h,lap ret delay1: Mov 42h,#250 lap1: Mov 43h,#200 djnz 43h,$ djnz 42h,lap1 ret end