51 单片机汇编语言编程:从 99 到 0 倒计时 | 您所在的位置:网站首页 › 单片机10秒倒计时 › 51 单片机汇编语言编程:从 99 到 0 倒计时 |
51 单片机,求从 99 到 0 倒计时的汇编语言的程序。 再加入 3 个开关。 一个开关按下后,开始执行倒计时程序,其他两个用来暂停计时和停止计时(停止计时就显示00吧)。 题目链接:http://zhidao.baidu.com/question/454519994153929445.html 做而论道回答如下: 仿真电路图: 链接:http://xiangce.baidu.com/picture/detail/8d7c506b7ade7f0ffa34c423e22d81dfef5453e7 程序: ORG 0000H START: MOV P3, #0 MOV DPTR, #TABLE MOV TMOD, #01H SETB TR0 LP0:MOV R4, #100 LP1:MOV R5, #20 LP2:MOV TH0, #3CH MOV TL0, #0B0H LP3:CALL DISP JNB P1.0, K1 JNB P1.1, K2 JNB P1.2, K3 JNB TF0, LP3 CLR TF0 DJNZ R5, LP2 DJNZ R4, LP1 JMP LP0 K1: CALL DISP JB P1.0, LP3 SETB TR0 JMP LP3 K2: CALL DISP JB P1.1, LP3 CLR TR0 JMP LP3 K3: CALL DISP JB P1.2, LP3 CLR TR0 MOV R4, #1 JMP LP3 ;--------------------------- DISP: MOV A, R4 DEC A MOV B, #10 DIV AB MOVC A, @A+DPTR MOV P2, A SETB P3.1 DJNZ R7, $ DJNZ R7, $ CLR P3.1 MOV A, B MOVC A, @A+DPTR MOV P2, A SETB P3.0 DJNZ R7, $ DJNZ R7, $ CLR P3.0 RET TABLE: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H DB 92H, 82H, 0F8H, 80H, 90H END 02013-11-14 12:17 提问者评价:行了,非常感谢你。 网友评论:(monengs2013-11-14 18:26) 这程序,实时性强,省资源(只用了通用寄存器),有按键去抖,把重复功能的语句调整合并了。 确实这个是好答案! ============================ 提问者在另一个问题中,提出了新要求: 帮我编一个99倒计时到0的汇编语言的程序,不要用DIV的。 题目链接:http://zhidao.baidu.com/question/1731878383250383467.html 前面使用 DIV,是用于分离计数值的十位、个位,以便分别进行显示。 现在不让用 DIV,那么,十位个位在计数的时候,就应该用两个单元分别计数,显示的时候,就不用分离了。 做而论道编写的程序如下: ORG 0000H START: MOV 39H, #0C0H MOV 38H, #0F9H MOV 37H, #0A4H MOV 36H, #0B0H MOV 35H, #99H MOV 34H, #92H MOV 33H, #82H MOV 32H, #0F8H MOV 31H, #80H MOV 30H, #90H MOV P3, #0 MOV TMOD, #01H SETB TR0 LP: MOV R0, #30H LP0:MOV R1, #30H LP1:MOV R5, #20 LP2:MOV TH0, #3CH MOV TL0, #0B0H LP3:CALL DISP JNB P1.0, K1 JNB P1.1, K2 JNB P1.2, K3 JNB TF0, LP3 CLR TF0 DJNZ R5, LP2 INC R1 CJNE R1, #3AH, LP1 INC R0 CJNE R0, #3AH, LP0 JMP LP K1: CALL DISP JB P1.0, LP3 SETB TR0 JMP LP3 K2: CALL DISP JB P1.1, LP3 CLR TR0 JMP LP3 K3: CALL DISP JB P1.2, LP3 CLR TR0 MOV R0, #39H MOV R1, #39H MOV R5, #01H JMP LP2 DISP: MOV P2, @R0 SETB P3.1 DJNZ R7, $ DJNZ R7, $ CLR P3.1 MOV P2, @R1 SETB P3.0 DJNZ R7, $ DJNZ R7, $ CLR P3.0 RET END 本程序仿真执行后,和前述截图相同。 |
CopyRight 2018-2019 实验室设备网 版权所有 |