51单片机,求用汇编语言编写延时1小时的子程序,要精确到秒级别
追问:定时器肯定用的,还有这段代码你用软件仿真过了,正确?如果没问题的话,我还可以多加20分
追问:定时器肯定用的,还有这段代码你用软件仿真过了,正确?如果没问题的话,我还可以多加20分
答案:延时一小时,这么长,应该要用定时器,不能用循环的方式。
ORG 00H
AJMP MAIN
ORG 0BH
AJMP T0INT0
ORG 30H
MAIN:
MOV SP,#60H
MOV R4,#20
MOV TMOD,#01H
MOV TH0,#3CH ;12M晶振时定时初值取#3CB0H,还可细调如 TL=#0B7H,可以更准
MOV TL0,#0B7H
SETB EA
SETB ET0
SETB TR0
AJMP $
T0INT0:
MOV TH0,#3CH ;定时中断子程序。重装定时常数
MOV TL0,#0B7H
DJNZ R4,RTI ;未1S,跳出中断
MOV R4,#20
INC 26H ;秒+1
MOV A,26H
CJNE A,#60,RTI
MOV 26H,#0
INC 27H ;分+1
MOV A,27H
CJNE A,#60,RTI
MOV 27H,#0
INC 28H ;时+1
MOV A,28H
CJNE A,#24,RTI
MOV 28H,#0
RTI:
RETI
END
其他:单片机时钟,时分秒。
时,即每隔一小时,加一次一。
利用这种程序即可,不用单独编写子程序。
上一个:用汇编语言编写 简易加密解密程序
下一个:我现在已经学过C语言和数据结构了,感觉学的也还算好。现在想学汇编语言,想请教大家较好的教材?