khi so sánh ta thấy giờ phút trùng với giờ phút báo thức thì ta set bit nào đó lên một nhưng do đây là vong lặp của chương trình chính nên nó cứ so sánh và set bit hoài .vậy làm sao để tắt ?? tôi phải chờ cho đến khi hết một phút thì nó mới tắt .ai có ý tưởng của việc báo thức hay hơn không.
xetbaothuc:
mov a,32h ;chua gio bao thuc
acall bintobcd
cjne a,43h,ttuc10 ;o nho 43 chua gio hien tai bcd
mov a,31h ;chua phut bao thuc
acall bintobcd
cjne a,44h,ttuc10 ;o nho 44 chua phut hien tai bcd
jb 0d7h,ttuc10
setb p2.7
ttuc10:
ret
tatbaothuc:
acall delay90ms
acall delay90ms
cpl 0d7h
clr p2.7
sjmp mainn
xetbaothuc:
mov a,32h ;chua gio bao thuc
acall bintobcd
cjne a,43h,ttuc10 ;o nho 43 chua gio hien tai bcd
mov a,31h ;chua phut bao thuc
acall bintobcd
cjne a,44h,ttuc10 ;o nho 44 chua phut hien tai bcd
jb 0d7h,ttuc10
setb p2.7
ttuc10:
ret
tatbaothuc:
acall delay90ms
acall delay90ms
cpl 0d7h
clr p2.7
sjmp mainn
Comment