mình viết đoạn chương trình "đồng hồ số" đơn giản để chạy thử nhưng không hiểu sao nó chỉ hiện lên toàn là số 0 các bạn kiểm tra giúp mình với:
Code:
org 00h ljmp main org 03h ljmp ngat_t0 org 0bh ljmp ngat_ngoai0 org 30h gio equ 31h phut equ 32h giay equ 33h ptgiay equ 34h mov sp,70h main: mov tmod,#01h mov ie,#83h mov th0,#-1000 mov tl0,#-100 setb tr0 xoa_gio: mov gio,#0 xoa_phut: mov phut,#0 xoa_giay: mov giay,#0 xoa_ptgiay: mov ptgiay,#0 lap: lcall hien_thi mov a,ptgiay cjne a,#100,lap acall dem_giay acall dem_phut acall dem_gio ljmp xoa_gio dem_giay: mov a,giay inc a da a mov giay,a cjne a,#60,xoa_ptgiay ret dem_phut: mov a,phut inc a da a mov phut,a cjne a,#60,xoa_giay ret dem_gio: mov a,gio inc a da a mov gio,a cjne a,#24,xoa_phut ret hien_thi: acall tach_so acall quet_led ret tach_so: mov a,giay mov b,#10 div ab mov 41h,a mov 40h,b mov a,phut mov b,#10 div ab mov 43h,a mov 42h,b mov a,gio mov b,#10 div ab mov 45h,a mov 44h,b ret quet_led: mov r1,#01h mov r0,#40h lap_quet: mov a,@r0 mov dptr,#ma7doan movc a,@a+dptr mov p1,a mov a,r1 mov p2,a rl a mov r1,a inc r0 mov a,r0 cjne a,#47h,lap_quet ret ngat_t0: clr tr0 inc ptgiay mov th0,#-1000 mov tl0,#-100 setb tr0 reti ngat_ngoai0: acall hien_thi clr ie.7 chinh_giay: jb p3.2,chinh_phut acall tre_nut_an jb p3.3,$ acall tre_nut_an mov giay,#00h mov giay,#00h sjmp chinh_giay chinh_phut: jb p3.2,chinh_gio jb p3.3,$ mov a,phut inc a mov phut,a sjmp chinh_phut chinh_gio: jb p3.2,thoat jb p3.3,$ mov a,gio inc a mov gio,a sjmp chinh_gio thoat: setb ie.7 reti delay: mov r7,#1 del:mov r6,#10 djnz r6,$ djnz r7,del ret tre_nut_an:mov r4,#10 t1:mov r5,#200 t2:djnz r5,t2 djnz r4,t1 ret ma7doan: db 018h,06eh,034h,094h,0d2h,091h,011h,0dch,010h,090h end
Comment