a7_2.asm

来自「单片机汇编例程学习,大量的汇编例程」· 汇编 代码 · 共 47 行

ASM
47
字号
;///////////////////////////////////////////
;本程序源代码由单片机培训网提供.
;单片机培训网,让更多人学习单片机更容易.
;第一网址----www.mcuedu.com
;第二网址----http://51_train.nease.net
;创办人------刘永忠
;热线电话----(0755)27529998
;email-------aa815@163.com
;程序难易等级--------稍难
;99秒马表
;///////////////////////////////////////////
         org        00h
start:   anl        p2,#00h       ;显示00
         jb         p3.5,$        ;t1=0?有键按下?
         call       delay1        ;消除抖动
         jnb        p3.5,$        ;t1=1?放开?
         mov        r0,#00        ;计时指针初值
l1:      mov        a,r0          ;计时指针载入acc
         mov        p2,a          ;输出至p2显示
         mov        r5,#10        ;延时1秒
a1:      mov        r6,#200
         call       delay
         djnz       r5,a1
         mov        a,r0          ;计时指针加1
         add        a,#01h        
         da         a             ;做十时位调整
         mov        r0,a          ;存回计时指针寄存器
         jmp        l1            ;重复计时
l2:      call       delay1        ;第2次按消除抖动
         jb         p3.5,l3       ;放开了?是则跳至l3停止计时
         jmp        l2
l3:      jb         p3.5,$        ;第3次按t1?
         call       delay1        ;消除抖动
l4:      jb         p3.5,start    ;放开了?是则跳至start归零
         jmp        l4
delay:
d1:      mov        r7,#248       ;0.5毫秒
         jnb        p3.5,l2       ;第2次按t1?
         djnz       r7,$
         djnz       r6,d1
         ret
delay1:  mov        r6,#60        ;30毫秒
d2L:     mov        r7,#248
         djnz       r7,$
         djnz       r6,d2
         ret
         end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?