久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1463|回復: 1
打印 上一主題 下一主題
收起左側

基于89C51單片機的時鐘匯編程序設計顯示出現問題

[復制鏈接]
跳轉到指定樓層
樓主
這是根某個共陽極數碼管的程序修改來的,替換為了陰極數碼管,對程序也進行了相應的改動,但顯示時間時無法按照應有的順序進行正常的顯示,求助各位大神,希望能指出被我忽略的錯誤和有效的思路。



單片機源程序如下:
  1. ORG 0000H
  2. AJMP MAIN
  3. ORG 000BH
  4. LJMP INTT0

  5. ORG 0030H
  6. MAIN:
  7. MOV SP,#60H ;確立堆棧區
  8. MOV PSW,#00H
  9. MOV R0,#20H   ;RAM區首地址
  10. MOV R7,#5FH ;RAM區單元個數

  11. QL:
  12. MOV @R0,#00H ;RAM清零       
  13. INC R0
  14. DJNZ R7,QL

  15. MOV IP,#02H ;IP初始化,優先定時器0
  16. MOV IE,#82H ;IE初始化
  17. MOV TMOD,#01H ;定時器0方式1工作
  18. LCALL PP ;調P.子程序

  19. NEXT:
  20. LCALL KEY ;按鍵檢測子程序
  21. JB ACC.0,RUNF ;A鍵按下運行
  22. LCALL DISP ;調用顯示子程序
  23. SJMP NEXT

  24. RUNF:
  25. LCALL OUTT ;調傳送子程序
  26. LCALL TIME ;開電子鐘
  27. JK:
  28. LCALL DISP
  29. LCALL KEY
  30. JZ JK
  31. LCALL ANKEY        ;調用鍵功能子程序
  32. LCALL DISP
  33. SJMP JK

  34. ;P點顯示的8LED段碼初始化子程序
  35. PP:
  36. MOV 37H,#12 ;P點編碼送寄存器,對應最左LED  (共陽極,0CH )
  37. MOV R0,#30H ;第8個LED,最右LED,段碼存儲的地址
  38. MOV R7,#07H         ;第8到第2個LED,共7個,初始化段碼顯示空白
  39. PPP:
  40. MOV @R0,#10  ;顯示空白
  41. INC R0
  42. DJNZ R7,PPP
  43. RET

  44. ;鍵掃描子程序
  45. KEY:
  46. LCALL KEYS ;調用鍵值處理子程序
  47. JZ EXIT ;沒有鍵按下轉到返回
  48. LCALL DISP
  49. LCALL DISP ;調用顯示去抖動
  50. LCALL KEYS
  51. JZ EXIT
  52. MOV B,20H ;保存鍵值
  53. KEYSF:
  54. LCALL KEYS
  55. JZ KEYY ;鍵釋放,轉到恢復鍵值
  56. LCALL DISP ;調顯示子程序延時
  57. AJMP KEYSF ;等到鍵釋放

  58. KEYY:
  59. MOV A,B ;鍵值送A
  60. EXIT:RET

  61. KEYS:
  62. MOV P1,#0FFH ;先向P1口寫1
  63. MOV A,P1 ;P1口值送A         (有按鍵按下,對應0,取反后1)
  64. CPL A
  65. ANL A,#0FH ;保存P1口的低4位
  66. MOV 20H,A ;A值送20H保存
  67. RET

  68. ;鍵功能子程序
  69. ANKEY:
  70. CLR EA ;關中斷
  71. CHECK:
  72. JB TR0,YXZ ;判斷是否運行
  73. K0:
  74. CJNE A,#01H,K1
  75. AJMP RUN ;A鍵按下,恢復運行,轉運行
  76. K1:
  77. CJNE A,#02H,K2
  78. AJMP KEY1 ;轉時調整
  79. K2:
  80. CJNE A,#40H,K3
  81. AJMP KEY2 ;轉分調整
  82. K3:
  83. CJNE A,#08H,OUT          ;轉
  84. AJMP KEY3 ;轉秒調整

  85. YXZ:
  86. JB ACC.0,STOP        ;A鍵按下,暫停
  87. AJMP OUT

  88. KEY1:
  89. MOV R0,#45H ;時調整
  90. LCALL ADD1 ;調加一子程序
  91. CLR C
  92. CJNE A,#24H,OUTT ;轉傳送顯示數據子程序
  93. ACALL CLR0 ;調時間清理子程序
  94. AJMP OUTT
  95. KEY2:
  96. MOV R0,#43H ;分調整
  97. LCALL ADD1
  98. CLR C
  99. CJNE A,#60H,OUTT
  100. ACALL CLR0
  101. AJMP OUTT
  102. KEY3:
  103. MOV R0,#41H ;秒調整
  104. ACALL ADD1
  105. CLR C
  106. CJNE A,#60H,OUTT
  107. ACALL CLR0

  108. ;傳送顯示數據子程序
  109. OUTT:
  110. MOV 30H,40H ;秒顯示單元40H-41H
  111. MOV 31H,41H
  112. MOV 32H,#11 ;"-"
  113. MOV 33H,42H ;分顯示單元42H-43H
  114. MOV 34H,43H
  115. MOV 35H,#11 ;"-"
  116. MOV 36H,44H ;時顯示單元44H-45H               
  117. MOV 37H,45H
  118. RET
  119. STOP:
  120. CLR TR0
  121. RET
  122. RUN:
  123. LCALL TIME ;調運行電子鐘子程序
  124. OUT:
  125. SETB EA ;無鍵按下或完成功能跳出
  126. RET

  127. ;運行電子鐘子程序                                                                       
  128. TIME:
  129. SETB EA
  130. MOV TL0,#0B0H  ;3CB0H
  131. MOV TH0,#3CH
  132. MOV R4,#20  ;50ms,20次循環
  133. SETB TR0 ;啟動定時器0
  134. RET

  135. ;定時器0中斷處理子程序
  136. INTT0:
  137. PUSH ACC
  138. PUSH PSW
  139. CLR ET0
  140. CLR TR0                                                                         
  141. MOV TL0,#0B0H  ;重新設置定時初值
  142. MOV TH0,#3CH
  143. SETB TR0
  144. DJNZ R4,OUTT0  ;r4-1 != 0 1秒未到,轉OUTTO
  145. ADDSS:
  146. MOV R4,#14H  ;20次計數
  147. MOV R0,#41H  ;秒十位
  148. ACALL ADD1
  149. CLR C
  150. CJNE A,#60H,ADDMM ;1分到
  151. ADDMM:
  152. JC OUTT0         ;1分,60秒未到
  153. ACALL CLR0         ;1分到,清零
  154. MOV R0,#43H         ;分十位
  155. ACALL ADD1
  156. CLR C
  157. CJNE A,#60H,ADDHH ;1小時到
  158. ADDHH:
  159. JC OUTT0
  160. ACALL CLR0
  161. MOV R0,#45H          ;時十位
  162. ACALL ADD1
  163. CLR C
  164. CJNE A,#24H,HOUR ;1天到
  165. HOUR:
  166. JC OUTT0
  167. ACALL CLR0

  168. OUTT0:
  169. MOV 30H,40H ;秒顯示單元40H-41H
  170. MOV 31H,41H
  171. MOV 32H,#11 ;"-"
  172. MOV 33H,42H ;分顯示單元42H-43H
  173. MOV 34H,43H
  174. MOV 35H,#11 ;"-"
  175. MOV 36H,44H ;時顯示單元44H-45H               
  176. MOV 37H,45H
  177. POP PSW
  178. POP ACC
  179. SETB ET0
  180. RETI

  181. ;時間清理子程序
  182. CLR0:
  183. CLR A
  184. MOV @R0,A
  185. DEC R0
  186. MOV @R0,A
  187. RET

  188. ;加一子程序
  189. ADD1:
  190. MOV A ,@R0  ;取十位
  191. DEC R0
  192. SWAP A
  193. ORL A,@R0  ;組合十位與個位          
  194. ADD A,#01H  ;加1
  195. DA A ;十進制調整
  196. MOV R3,A  ;暫存
  197. ANL A,#0FH  ;屏蔽十位
  198. MOV @R0,A  ;放入個位單元
  199. MOV A,R3  ;取值
  200. INC R0
  201. SWAP A
  202. ANL A,#0FH  ;屏蔽個位
  203. MOV @R0,A  ;放入十位單元
  204. MOV A,R3  
  205. RET

  206. DISP:
  207. MOV R1,#30H  
  208. MOV R2,#01H
  209. DISP1:
  210. MOV P2,R2
  211. MOV A,@R1
  212. MOV DPTR,#TAB
  213. MOVC A,@A+DPTR
  214. MOV P0,A
  215. CPL P0.0
  216. CPL P0.1
  217. CPL P0.2
  218. CPL P0.3
  219. CPL P0.4
  220. CPL P0.5
  221. CPL P0.6
  222. CPL P0.7
  223. ACALL DL  
  224. MOV A,R2
  225. JB ACC.7,DISP2          
  226. RL A                       
  227. INC R1
  228. MOV R2,A
  229. AJMP DISP1
  230. DISP2:RET
  231. TAB:DB 0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H,80H,90H,0FFH,0BFH,0CH         


  232. DL:
  233. MOV R6,#14H  
  234. DL1:
  235. MOV R7,#19H
  236. DL2:
  237. DJNZ R7,DL2
  238. DJNZ R6,DL1
  239. RET
  240. END
復制代碼

全部資料51hei下載地址:
shizhong.rar (30.47 KB, 下載次數: 8)

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

使用道具 舉報

沙發
ID:235200 發表于 2019-12-14 16:38 | 只看該作者
MOV P0,A
CPL P0.0
CPL P0.1
CPL P0.2
CPL P0.3
CPL P0.4
CPL P0.5
CPL P0.6
CPL P0.7
顯示程序中這一段完全沒必要這么寫
只需要把數據表中的數據對應取反就變為了共陰極
TAB:DB 0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H,80H,90H,0FFH,0BFH,0CH
另外,位碼放在R2中,共陰是MOV R2,#01H,換共陰就是MOV R2,#0FEH
所以,如果共陽是正常顯示的話,只要改數據表和R2的值就變為了共陰
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成人黄色 | 欧美一级黄视频 | 成人二区| 中国一级大毛片 | 婷婷桃色网 | 欧美在线亚洲 | 成人免费视频观看 | 国产精品久久久99 | 午夜精品一区二区三区在线视频 | 久久久国产精品视频 | 国产三级电影网站 | 天天综合网7799精品 | 国内自拍偷拍视频 | 久久草在线视频 | 国产精品免费观看 | 欧美日韩在线精品 | 狠狠爱综合 | 国产精品欧美一区二区三区 | 精品久久久久久久久久久久久久 | 欧美午夜视频 | 亚洲精品在线视频 | 国产高清一区 | 日韩欧美中文字幕在线观看 | 成人精品视频在线观看 | 亚洲精品久久久一区二区三区 | 国产精品视频在线播放 | 日韩在线一区二区三区 | 久草新在线| www网站在线观看 | 久久亚洲视频网 | 国产精品视频一区二区三区, | 欧洲亚洲精品久久久久 | 亚洲福利 | 国产一区二区三区在线 | 黄色毛片在线看 | 91久久夜色| 国产精品网页 | 99色综合| 国产精品一区二区av | 国产精品一区二区不卡 | 日韩精品一区二区三区视频播放 |