新手请教下面一个60秒倒计时程序怎样修改能循环多次使用?请大侠们不吝赐教!多谢了!
org 0000h
ljmp main
org 000bh
sjmp t1s
org 0030h
main:mov r2,#60
mov r4,#20
mov ie,#88h
mov tmod,#10h
mov th1,#3ch
mov tl1,#0b0h
setb tr1
acall dis
sjmp $
t1s: mov th1,#3ch
mov tl1,#0b0h
djnz r4,t1s1
mov r4,#20
djnz r2,t1s0
clr tr1
t1s0:acall dis
t1s1:reti
seg7:inc a
movc a,@a+pc
ret
db 0c0h,0f9h,0a4h,0b0h
db 99h,92h,82h,0f8h
db 80h,90h,88h,83h
db 0c6h,0a1h,86h,8eh
dis: mov a,r2
mov b,#10
div ab
acall seg7
mov p1,a
mov a,b
acall seg7
mov p2,a
ret
end
这是一本书上的现成的程序,我对汇编尚不能看的明白,更谈不上c语言了!上面的程序仅能60秒就停止了,想若能反复使用的话该如何改动,但在我对编程几乎不通,还望大侠们多多指教!
t1s: mov th1,#3ch
mov tl1,#0b0h
djnz r4,t1s1
mov r4,#20
djnz r2,t1s0
; clr tr1
mov r2,#60
t1s0:acall dis
t1s1:reti
谢templeton!
多谢!不怕您笑话,搞机械的半路出家看这些程序如同天书一般,句句字字都在猜谜!
回复 5楼 liweiliang 的帖子
不客气 呵呵
术业有专攻而已
再请教一个叫我糊涂的问题:
查表指令mov dptr,#table 后面的表格放在什么地方都行吗?或者有什么要求?
回复 6楼 wuquan-1230 的帖子
是的我们在实际工作中用的就是现成的定时器。我本人一直想学习单片机,周围没有可请教的只能自学,怎奈搞机械的头脑也都机械,只会摆弄有形的连续的东西,看起单片机和程序来的感觉可全都是发散的跳跃的,全然找不到北了!一步一个坎,好像几十年的学习都没曾有过这么多的挫折感!这不憋了好几天也弄不懂了,只好来此请教了。
回复 8楼 liweiliang 的帖子
按照这种格式
table :
数据表
只要是end前面就可以了
我也在自习感觉蛮累的,想找个公司一边学一边工作,这样快一点,但一般公司看我没有经验都不要