找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3253|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機匯編語言程序?qū)崿F(xiàn)四位數(shù)碼管實現(xiàn)計數(shù)功能(0-999)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:450295 發(fā)表于 2021-11-26 19:11 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
四位數(shù)碼管實現(xiàn)計數(shù)功能(匯編)


單片機源程序如下:
  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  ;標(biāo)志位,高位為0標(biāo)志
  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,則執(zhí)行下一步
  59. JNB   20H,  Q2;   位20H為1,表示千位為0,執(zhí)行下一步
  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,則執(zhí)行下一步
  73. JNB   20H,  Q3;   位20H為1,表示百位和千位都為0,執(zhí)行下一步
  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  ;必須編寫在最后,結(jié)束
復(fù)制代碼




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表