tình hình là em đang muốn làm mạch đếm sản phẩm, nên em muốn bắt đầu bằng mạch đếm lên đơn giản, nhưng lập trình mãi chẳng xong, mong các bác cho em biết lỗi của em với ( em không xài ngắt)
phat1 bit p2.7
org 0000h
mov 30H,#00
lcall giaima
lb:
lcall hienthi
jb phat1,lb
lcall tang
lcall giaima
lcall hienthi
sjmp lb
tang:
inc 30h
mov R5,30h
cjne R5,#10,tang1
mov 30h,#00
tang1:
ret
phat: setb phat1
giaima: mov dptr,#LUT
mov a,30h
movc a,@a+dptr
mov 40h,a
hienthi: mov R0,#40h
mov p1,#11111111b
mov p0,@R0
lcall delay
mov p0,#0ffh
ret
delay:
mov R6,#01
del1: mov R7,#250
djnz R7,$
djnz R6,del1
ret
LUT:
db 0c0h,0f9h,0a4h,0b0h,099h,092h,082h,0f8h,080h,090h
end
code
đây là mạch mô phỏng của em
phat1 bit p2.7
org 0000h
mov 30H,#00
lcall giaima
lb:
lcall hienthi
jb phat1,lb
lcall tang
lcall giaima
lcall hienthi
sjmp lb
tang:
inc 30h
mov R5,30h
cjne R5,#10,tang1
mov 30h,#00
tang1:
ret
phat: setb phat1
giaima: mov dptr,#LUT
mov a,30h
movc a,@a+dptr
mov 40h,a
hienthi: mov R0,#40h
mov p1,#11111111b
mov p0,@R0
lcall delay
mov p0,#0ffh
ret
delay:
mov R6,#01
del1: mov R7,#250
djnz R7,$
djnz R6,del1
ret
LUT:
db 0c0h,0f9h,0a4h,0b0h,099h,092h,082h,0f8h,080h,090h
end
code
đây là mạch mô phỏng của em
Comment