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

標(biāo)題: 單片機(jī)電子時(shí)鐘設(shè)計(jì)匯編語言代碼和proteus仿真 [打印本頁]

作者: www123www    時(shí)間: 2017-3-20 19:43
標(biāo)題: 單片機(jī)電子時(shí)鐘設(shè)計(jì)匯編語言代碼和proteus仿真
在附件里   電子時(shí)鐘設(shè)計(jì)proteus仿真原理圖:


單片機(jī)匯編語言源碼:
  1. ORG 0000H
  2. AJMP MAIN
  3. ORG 000BH
  4. LJMP INTT0

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

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

  15. MOV IP,#02H ;IP初始化,優(yōu)先定時(shí)器0
  16. MOV IE,#82H ;IE初始化
  17. MOV TMOD,#01H ;定時(shí)器0方式1工作
  18. LCALL PP ;調(diào)P.子程序

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

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

  34. ;P點(diǎn)顯示子程序
  35. PP:
  36. MOV 37H,#12 ;P點(diǎn)編碼送寄存器
  37. MOV R0,#30H ;P點(diǎn)編碼送寄存器
  38. MOV R7,#07H
  39. PPP:
  40. MOV @R0,#10  ;???
  41. INC R0
  42. DJNZ R7,PPP
  43. RET

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

  58. KEYY:
  59. MOV A,B ;鍵值送20H單元保存??
  60. EXIT:RET

  61. KEYS:
  62. MOV P1,#0FFH ;先向P1口寫1
  63. MOV A,P1 ;P1口值送A
  64. CPL A
  65. ANL A,#0FH ;保存P1口的低4位
  66. MOV 20H,A ;A值送20H保存
  67. RET

  68. ;鍵功能子程序
  69. ANKEY:
  70. CLR EA ;關(guān)中斷
  71. CHECK:
  72. JB TR0,YXZ ;判斷是否運(yùn)行
  73. K0:
  74. CJNE A,#01H,K1
  75. AJMP RUN ;轉(zhuǎn)運(yùn)行
  76. K1:
  77. CJNE A,#02H,K2
  78. AJMP KEY1 ;轉(zhuǎn)時(shí)調(diào)整
  79. K2:
  80. CJNE A,#40H,K3
  81. AJMP KEY2 ;轉(zhuǎn)分調(diào)整
  82. K3:
  83. CJNE A,#08H,OUT          ;轉(zhuǎn)
  84. AJMP KEY3 ;轉(zhuǎn)秒調(diào)整

  85. YXZ:
  86. JB ACC.0,STOP
  87. AJMP OUT

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

  108. ;傳送顯示數(shù)據(jù)子程序
  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 ;時(shí)顯示單元44H-45H               
  117. MOV 37H,45H
  118. RET
  119. STOP:
  120. CLR TR0
  121. RET
  122. RUN:
  123. LCALL TIME ;調(diào)運(yùn)行電子鐘子程序
  124. OUT:
  125. SETB EA ;無鍵按下或完成功能跳出
  126. RET

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

  135. ;定時(shí)器0中斷處理子程序
  136. INTT0:
  137. PUSH ACC
  138. PUSH PSW
  139. CLR ET0
  140. CLR TR0                                                                        
  141. MOV TL0,#0B0H  ;重新設(shè)置定時(shí)初值
  142. MOV TH0,#3CH
  143. SETB TR0
  144. DJNZ R4,OUTT0  ;1秒到
  145. ADDSS:
  146. MOV R4,#14H  ;20次計(jì)數(shù)
  147. MOV R0,#41H  ;秒十位
  148. ACALL ADD1
  149. CLR C
  150. CJNE A,#60H,ADDMM ;1分到
  151. ADDMM:
  152. JC OUTT0
  153. ACALL CLR0
  154. MOV R0,#43H
  155. ACALL ADD1
  156. CLR C
  157. CJNE A,#60H,ADDHH ;1小時(shí)到
  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 ;時(shí)顯示單元44H-45H               
  176. MOV 37H,45H
  177. POP PSW
  178. POP ACC
  179. SETB ET0
  180. RETI

  181. ;時(shí)間清理子程序
  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  ;組合十位與個(gè)位           
  194. ADD A,#01H  ;加1
  195. DA A ;十進(jìn)制調(diào)整
  196. MOV R3,A  ;暫存
  197. ANL A,#0FH  ;屏蔽十位
  198. MOV @R0,A  ;放入個(gè)位單元
  199. MOV A,R3  ;取值
  200. INC R0
  201. SWAP A
  202. ANL A,#0FH  ;屏蔽個(gè)位
  203. MOV @R0,A  ;放入十位單元
  204. MOV A,R3  ;數(shù)值放入A中等待判斷
  205. RET

  206. ;顯示子程序
  207. DISP:
  208. MOV R1,#30H  ;顯示緩沖存儲單元首地址
  209. MOV R2,#80H  ;從右至左顯示
  210. DISP1:
  211. MOV P2,R2  ;送位控
  212. MOV A,@R1
  213. MOV DPTR,#TAB
  214. MOVC A,@A+DPTR
  215. MOV P0,A  ;送段控
  216. ACALL DL  ;延時(shí)
  217. MOV A,R2  ;???
  218. JB ACC.0,DISP2          ;從右至左8位LED顯示一遍
  219. RR A
  220. INC R1
  221. MOV R2,A
  222. AJMP DISP1
  223. DISP2:RET
  224. TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0BFH,0CH

  225. ;顯示延時(shí)子程序
  226. DL:
  227. MOV R6,#14H  
  228. DL1:
  229. MOV R7,#19H
  230. DL2:
  231. DJNZ R7,DL2
  232. DJNZ R6,DL1
  233. RET
  234. END
復(fù)制代碼


下載:
電子時(shí)鐘.rar (25.83 KB, 下載次數(shù): 336)
第一個(gè)按鈕是開始停止按鈕,在停止?fàn)顟B(tài)下 按后面3個(gè)按鈕可以調(diào)整時(shí)間,謝謝16樓回帖,修正了一些問題:
經(jīng)過網(wǎng)友指導(dǎo)修改過的電子時(shí)鐘.7z (31.3 KB, 下載次數(shù): 21)

作者: tinyhei    時(shí)間: 2017-6-3 09:09
多謝分享,好資料,51黑有你更精彩!!!
作者: 斑比斑比007    時(shí)間: 2017-6-7 22:23
樓主可以把圖上每個(gè)按鍵的功能注釋一下么?
作者: 七個(gè)小矮人    時(shí)間: 2017-6-9 20:09
您好,請問您有兩個(gè)按鍵的嘛??
作者: juese    時(shí)間: 2017-7-14 20:59
r3對應(yīng)的按鍵不起作用
作者: derze_yu    時(shí)間: 2017-11-9 13:51
為什么不能正常跑
作者: Wind-Rises    時(shí)間: 2018-6-25 18:22
為什么我的不能顯示

jp.png (16.91 KB, 下載次數(shù): 95)

jp.png

作者: 血踏江湖    時(shí)間: 2018-7-9 20:55
謝謝分享
作者: liyongan_1985    時(shí)間: 2018-7-18 17:15
其中一個(gè)按鍵不好使用,不知道是不是故意沒有用到。
作者: lzhiaohiua    時(shí)間: 2018-8-1 13:05

多謝樓主棒棒的分享
作者: funcdl    時(shí)間: 2018-11-26 15:01
謝謝樓主分享,但是R3對應(yīng)的按鍵按下去之后沒有作用
作者: s717626120    時(shí)間: 2018-11-26 15:36
很給力
作者: s717626120    時(shí)間: 2018-11-26 15:37
很給力  很贊
作者: ldjadsad    時(shí)間: 2018-12-3 21:45
為啥這個(gè)顯示不了啊
作者: RAJRAJRAJ    時(shí)間: 2018-12-5 21:38
為什么不能調(diào)“時(shí)”位呢
作者: 斯可瑞木    時(shí)間: 2018-12-9 20:38
liyongan_1985 發(fā)表于 2018-7-18 17:15
其中一個(gè)按鍵不好使用,不知道是不是故意沒有用到。

作者程序?qū)戝e了,90行的40H改為04H
作者: 數(shù)星星的貓    時(shí)間: 2018-12-17 15:53
運(yùn)行不了
作者: 2547694235    時(shí)間: 2018-12-30 15:19
為何我的中間兩個(gè)按鍵沒反應(yīng) 在線等  挺急的

作者: 17221233    時(shí)間: 2019-5-27 21:53
液晶顯示器選哪種啊

作者: madell    時(shí)間: 2019-5-29 11:05
非常不錯!很好,靠譜。有熟悉匯編的,小問題可以調(diào)整。
作者: 伊的仁    時(shí)間: 2019-5-30 12:03
斯可瑞木 發(fā)表于 2018-12-9 20:38
作者程序?qū)戝e了,90行的40H改為04H

厲害厲害
作者: soul244710    時(shí)間: 2019-12-23 11:37
funcdl 發(fā)表于 2018-11-26 15:01
謝謝樓主分享,但是R3對應(yīng)的按鍵按下去之后沒有作用

90行的40H改為04H
作者: soul244710    時(shí)間: 2019-12-25 16:23
問問基于這個(gè)原理圖的基礎(chǔ)上定時(shí)功能怎么做
作者: sunxiaoxu    時(shí)間: 2022-6-5 10:17
有沒有大佬教添加整點(diǎn)報(bào)時(shí)功能也就是加個(gè)蜂鳴器




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 91精品久久久久久久久久入口 | 亚洲欧美国产精品久久 | 久久精品亚洲精品国产欧美 | 手机在线观看av | 国产不卡视频 | 国产999精品久久久 日本视频一区二区三区 | 天天综合日日夜夜 | 伊人影院在线观看 | 国内自拍视频在线观看 | 国产一区二区在线免费观看 | 丁香婷婷在线视频 | 亚洲精品美女视频 | 久久一区精品 | 91久久精品日日躁夜夜躁国产 | 亚洲精品区| 亚洲 欧美 另类 日韩 | 亚洲中字在线 | 亚洲午夜精品 | 久久久国产精品视频 | 久久精品亚洲精品国产欧美kt∨ | 欧美在线一区二区三区 | 免费黄色片视频 | 成人一区二区三区在线观看 | 91就要激情 | 亚洲福利 | 在线国产一区 | 日韩精品1区2区 | 天堂综合 | 中文字幕综合 | 亚洲第一中文字幕 | 亚洲一级视频在线 | 一级爱爱片| 亚洲精品短视频 | 国产探花在线精品一区二区 | 国产成人精品一区二三区在线观看 | 性色av香蕉一区二区 | 成年视频在线观看 | 91精品国产一区二区 | 欧美日韩综合一区 | 成人不卡在线 | 午夜影视 |