×
单片机 > 单片机程序设计 > 详情

课程设计:按键计数器(汇编)

发布时间:2020-06-05 发布时间:
|

 

//计数器(0-100)

//此程序功能是:手动计数器,当按键按下时,计数加一,液晶显示一次(加一的结果)。

 

              ORG              00H

              LJMP      START

 

              ORG              30H

START:   MOV             DPTR,#TABLE      ;设置段码首地址

              MOV             R0,#00H         ;计数初值存R0

              MOV             P0,#3FH

              MOV             P2,#3FH         ;复位时数码管显示0

 

S1:          INC        R0

              CJNE      R0,#100,S2  ;到100的话重新归零

              MOV             R0,#00H

 

S2:          JB           P3.3,$            ;在此死循环等待按键按下

              LCALL    DELAY          ;消除抖动延时

              JB           P3.3,S2

 

S3:          MOV             A,R0

              MOV             B,#10

              DIV        AB                 ;分离计数值的个位和十位

              MOVC    A,@A+DPTR

              MOV             P0,A

              MOV             A,B

              MOVC    A,@A+DPTR

              MOV             P2,A

              JB           P3.3,S1          ;等待按键拾起

              LJMP      S3

 

DELAY:   MOV             R5,#20H         ;延时10ms

D1:         MOV             R6,#250

              DJNZ      R6,$

              DJNZ      R5,D1

              RET

 

TABLE:   DB   3FH,06H,5BH,4FH,66H        ;0-9七段码值

              DB   6DH,7DH,07H,7FH,6FH

 

              END




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
AVR熔丝位操作时的要点和需要注意的相关事项