找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2636|回复: 0
收起左侧

单片机汇编语言程序实现四位数码管实现计数功能(0-999)

[复制链接]
ID:450295 发表于 2021-11-26 19:11 | 显示全部楼层 |阅读模式
四位数码管实现计数功能(汇编)
51hei.png 51hei.png

单片机源程序如下:
  1. KEY BIT   P3.2
  2. QIANWEI EQU   70H  ; 千位
  3. BAIWEI EQU   71H   ; 百位
  4. SHIWEI EQU   72H   ; 十位
  5. GEWEI  EQU   73H   ; 个位
  6. ORG   0000H
  7. LJMP MAIN
  8.   MAIN:
  9. MOV   P3,#  0FFH
  10. MOV   P0,#  00H  ; A-G-DP
  11. MOV   P2,#  0FFH  ;控制位P2.3-P2.0
  12. MOV QIANWEI,#0
  13. MOV BAIWEI,#0
  14. MOV SHIWEI,#0
  15. MOV GEWEI,#0
  16. CLR   20H  ;标志位,高位为0标志
  17.   LOOP:
  18. LCALL KEYSET
  19. LCALL display
  20. LJMP LOOP
  21.   KEYSET:
  22. JB   P3.2,FH
  23. LCALL    DELAY10MS  ;防抖
  24. JNB   P3.2,$
  25. INC GEWEI
  26. MOV A,GEWEI
  27. CJNE A,#10,FH
  28. MOV GEWEI,#0
  29. INC SHIWEI
  30. MOV A,SHIWEI
  31. CJNE A,#10,FH
  32. MOV SHIWEI,#0
  33. INC BAIWEI
  34. MOV A,BAIWEI
  35. CJNE A,#10,FH
  36. MOV BAIWEI,#0
  37.   ;千位加
  38.   ;INC QIANWEI
  39.   ;MOV A,QIANWEI
  40.   ;CJNE A,#10,FH
  41.   ;MOV QIANWEI,#0
  42.   FH:
  43. RET
  44.   display:  ;显示程序
  45. MOV DPTR,#ledNum
  46. MOV A,QIANWEI
  47. JNZ   Q1
  48. SETB   20H
  49. MOV A,#10
  50.   Q1:
  51. MOVC A,@A+DPTR
  52. MOV   P0,A
  53. CLR   P2.0
  54. ACALL   DELAY30MS
  55. SETB   P2.0
  56. MOV DPTR,#ledNum
  57. MOV A,BAIWEI
  58. JNZ   Q2;   百位为0,则执行下一步
  59. JNB   20H,  Q2;   位20H为1,表示千位为0,执行下一步
  60. MOV A,#10
  61. LJMP   Q21
  62.   Q2:
  63. CLR   20H
  64.   Q21:
  65. MOVC A,@A+DPTR
  66. MOV   P0,A
  67. CLR   P2.1
  68. ACALL   DELAY30MS
  69. SETB   P2.1
  70. MOV DPTR,#ledNum
  71. MOV A,SHIWEI
  72. JNZ   Q3;   十位为0,则执行下一步
  73. JNB   20H,  Q3;   位20H为1,表示百位和千位都为0,执行下一步
  74. MOV A,#10
  75.   Q3:
  76. CLR   20H
  77. MOVC A,@A+DPTR
  78. MOV   P0,A
  79. CLR   P2.2
  80. ACALL   DELAY30MS
  81. SETB   P2.2
  82. MOV DPTR,#ledNum
  83. MOV A,GEWEI
  84. MOVC A,@A+DPTR
  85. MOV   P0,A
  86. CLR   P2.3
  87. ACALL   DELAY30MS
  88. SETB   P2.3
  89. RET
  90.   DELAY30MS:     ;误差 0us
  91. MOV   R7,#  01H
  92.   DL1:
  93.     MOV   R6,#  26H
  94.   DL0:
  95.     MOV   R5,#  82H
  96.     DJNZ   R5,$
  97.     DJNZ   R6,  DL0
  98.     DJNZ   R7,  DL1
  99.     RET
  100.   DELAY10MS:     ;误差 0us
  101.     MOV   R7,#  01H
  102.   DL2:
  103.     MOV   R6,#  26H
  104.   DL3:
  105.     MOV   R5,#  82H
  106.     DJNZ   R5,$
  107.     DJNZ   R6,  DL3
  108.     DJNZ   R7,  DL2
  109.     RET
  110.   ledNum:  ; 共阴
  111. DB   3FH,  06H,  5BH,  4FH,  66H,  6DH,  7DH,  07H,  7FH,  6FH,  00H
  112.   ;0123456789
  113. END  ;必须编写在最后,结束
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表