找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于單片機(jī)的數(shù)字電壓表設(shè)計(jì),總線如何和LED數(shù)碼管相連?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
proteus仿真電路圖附在結(jié)尾



程序
  1. ORG 0000H
  2. SJMP MAIN
  3. ORG 0003H
  4. LJMP PINT0
  5. MAIN:MOV 50H,#19H
  6. MOV 54H,#78H
  7. MOV DPTR,#7FF8H
  8. MOV 51H,DPH
  9. MOV 52H,DPL
  10. MOV R0,#04H
  11. MOV 53H,#00H
  12. MOV R7,#00H
  13. SETB EA
  14. SETB IT0
  15. SETB EX0
  16. L4: MOV R1,#00H        ;R1 存放十六進(jìn)制轉(zhuǎn)換成十進(jìn)制后的低兩位
  17. MOV R2,#00H        ;R2 存放十六進(jìn)制轉(zhuǎn)換成十進(jìn)制后的高兩位
  18. MOV R3,#0FFH        ;循環(huán)顯示十進(jìn)制數(shù)
  19. MOV R4,#00H        ;存放 A/D 轉(zhuǎn)換后的十六進(jìn)制數(shù)
  20. MOV R5,#00H        ;存放 0.5 相加后的數(shù)
  21. MOVX @DPTR,A        ;開始 A/D 轉(zhuǎn)換
  22. LCALL DELAY        ;調(diào)用延時(shí)大于  A/D 轉(zhuǎn)換的時(shí)間
  23. MOVX A,@DPTR        ;取 A/D 轉(zhuǎn)換后的十六進(jìn)制數(shù)
  24. INC DPTR        ;A/D 轉(zhuǎn)換芯片的地址加一
  25. PUSH DPL        ;壓入堆棧
  26. PUSH DPH
  27. DEC R0        ;4 路轉(zhuǎn)換的次數(shù)減一
  28. JZ SB2        ;判斷是否是 0V
  29. MOV R4,A
  30. L1:MOV A,R1        ;進(jìn)行十六進(jìn)制到十進(jìn)制的調(diào)整
  31. ADD A,50H        ;每次加 19
  32. DA A
  33. MOV R1,A
  34. JC L2        ;如果溢出則跳轉(zhuǎn)到        L2
  35. MOV A,R5        ;進(jìn)行 0.5V 相加
  36. ADD A,54H
  37. DA A
  38. MOV R5,A
  39. JC        L3        ;如果溢出則跳轉(zhuǎn)到        L3
  40. SB1:DJNZ R4,L1        ;判斷十六進(jìn)制數(shù)是否轉(zhuǎn)換完成,如果沒有則循環(huán)
  41. MOV A,R5
  42. SWAP A
  43. ANL A,#0FH
  44. MOV B,R1
  45. ADD A,B
  46. DA A
  47. MOV R1,A
  48. SB2:LCALL DISP
  49. LCALL DJW
  50. DJNZ R3,SB2
  51. POP DPH
  52. POP DPL
  53. MOV A,53H
  54. INC A
  55. MOV 53H,A
  56. CJNE R0,#00H,L4
  57. LJMP MAIN
  58. L2: CLR C
  59. MOV A,R2
  60. ADD A,#01H
  61. DA A
  62. MOV R2,A
  63. LJMP SB1

  64. L3: CLR C        ;0.5V 相加溢出后進(jìn)位
  65. MOV A,R1
  66. ADD A,#01H
  67. DA A
  68. MOV R1,A
  69. LJMP SB1
  70. DISP:MOV A,R1        ;顯示電壓子程序
  71. SWAP A
  72. ANL A,#0FH
  73. MOV DPTR,#TAB1
  74. MOVC A,@A+DPTR
  75. CLR P3.0
  76. MOV P1,A
  77. LCALL DELAY
  78. SETB P3.0
  79. MOV A,R2
  80. ANL A,#0FH
  81. MOV DPTR,#TAB1
  82. MOVC A,@A+DPTR
  83. CLR        P3.1
  84. MOV P1,A
  85. LCALL DELAY
  86. SETB P3.1
  87. MOV A,R2
  88. SWAP A
  89. ANL A,#0FH
  90. MOV DPTR,#TAB2
  91. MOVC A,@A+DPTR
  92. CLR P3.4
  93. MOV P1,A
  94. LCALL DELAY
  95. SETB P3.4
  96. RET
  97. DJW:MOV A,53H        ;顯示第幾路轉(zhuǎn)換電壓子程序
  98. MOV DPTR,#TAB1
  99. MOVC A,@A+DPTR
  100. CLR P3.5
  101. MOV P1,A
  102. LCALL DELAY
  103. SETB P3.5
  104. RET
  105. INTV: PUSH ACC        ;只顯示其中一路中斷
  106. PUSH 53H
  107. MOV 53H,#00H
  108. CX2: MOV R1,#00H
  109. MOV R2,#00H
  110. MOV R3,#0FFH
  111. MOV R4,#00H
  112. MOV DPH,51H
  113. MOV DPL,52H
  114. MOVX @DPTR,A
  115. LCALL DELAY
  116. MOVX A,@DPTR
  117. MOV R4,A
  118. JZ SB22
  119. L11:        MOV A,R1
  120. ADD A,50H
  121. DA A
  122. MOV R1,A
  123. JC L22
  124. MOV A,R5        ;進(jìn)行 0.5V 相加
  125. ADD A,54H
  126. DA A
  127. MOV R5,A
  128. JC        L33
  129. SB11:DJNZ R4,L11
  130. MOV A,R5
  131. SWAP A
  132. ANL A,#0FH
  133. MOV B,R1
  134. ADD A,B
  135. DA A
  136. MOV R1,A
  137. SB22:LCALL DISP
  138. LCALL DJW
  139. JNB P3.3,EXIT
  140. DJNZ R3,SB22
  141. JNB P3.2,CX1
  142. LJMP CX2
  143. L22:CLR C
  144. MOV A,R2
  145. ADD A,#01H
  146. DA A
  147. MOV R2,A
  148. LJMP SB11
  149. L33:CLR C
  150. MOV A,R1
  151. ADD A,#01H
  152. DA A
  153. MOV R1,A
  154. LJMP SB11
  155. CX1:INC R7
  156. MOV A,53H
  157. INC A
  158. MOV 53H,A
  159. MOV DPH,51H
  160. MOV DPL,52H
  161. INC DPTR
  162. MOV 51H,DPH
  163. MOV 52H,DPL
  164. CJNE R7,#04H,CX2
  165. MOV R7,#00H
  166. MOV 53H,#01H
  167. MOV DPTR,#7FF8H

  168. MOV 51H,DPH
  169. MOV 52H,DPL
  170. LJMP CX2
  171. EXIT:POP 53H
  172. POP ACC
  173. RETI
  174. DELAY:MOV R6,#1H        ; 延時(shí)子程序
  175. D1:MOV R5,#50H
  176. D2:NOP
  177. NOP
  178. DJNZ R5,D2
  179. DJNZ R6,D1
  180. RET
  181. TAB1:DB 3FH,06H,5BH,4FH,66H        ;碼表
  182. DB 6DH,7DH,07H,7FH,6FH
  183. TAB2:DB 0BFH,86H,0DBH,0CFH,0E6H        ;小數(shù)點(diǎn)的段碼表
  184. DB 0EDH,0FDH,87H,0FFH,0EFH
  185. END
復(fù)制代碼
全部資料51hei下載地址:
基于單片機(jī)的數(shù)字電壓表.zip (29.46 KB, 下載次數(shù): 32)



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

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

使用道具 舉報(bào)

沙發(fā)
ID:465200 發(fā)表于 2019-1-9 17:03 | 只看該作者
總線如何和led數(shù)碼管相連
回復(fù)

使用道具 舉報(bào)

板凳
ID:213173 發(fā)表于 2019-1-10 07:23 | 只看該作者
2693309697 發(fā)表于 2019-1-9 17:03
總線如何和led數(shù)碼管相連

總線只有圖形意義沒有電氣意義,使用連線標(biāo)號(hào)模式可使相同標(biāo)號(hào)的接點(diǎn)有電氣連接意義。


回復(fù)

使用道具 舉報(bào)

地板
ID:149389 發(fā)表于 2019-1-10 12:43 | 只看該作者
完全可以不用畫總線,標(biāo)網(wǎng)絡(luò)號(hào)就可以,標(biāo)號(hào)相同代表物理連接,使用通配符“#”可以實(shí)現(xiàn)快速標(biāo)注。如圖所示,自動(dòng)生成遞增標(biāo)號(hào),P00,P01,,,,等等。
回復(fù)

使用道具 舉報(bào)

5#
ID:538656 發(fā)表于 2019-5-15 11:17 | 只看該作者
這是AT89C51的嗎?
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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