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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機電子時鐘設計匯編語言代碼和proteus仿真

  [復制鏈接]
跳轉到指定樓層
樓主
在附件里   電子時鐘設計proteus仿真原理圖:


單片機匯編語言源碼:
  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點顯示子程序
  35. PP:
  36. MOV 37H,#12 ;P點編碼送寄存器
  37. MOV R0,#30H ;P點編碼送寄存器
  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 ;調用鍵值處理子程序
  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 ;鍵值送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 ;關中斷
  71. CHECK:
  72. JB TR0,YXZ ;判斷是否運行
  73. K0:
  74. CJNE A,#01H,K1
  75. AJMP RUN ;轉運行
  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
  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  ;1秒到
  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
  153. ACALL CLR0
  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  ;數值放入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  ;延時
  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. ;顯示延時子程序
  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
復制代碼


下載:
電子時鐘.rar (25.83 KB, 下載次數: 336)
第一個按鈕是開始停止按鈕,在停止狀態下 按后面3個按鈕可以調整時間,謝謝16樓回帖,修正了一些問題:
經過網友指導修改過的電子時鐘.7z (31.3 KB, 下載次數: 21)

評分

參與人數 3黑幣 +15 收起 理由
13930687476 + 5 很給力!
asrfdaf + 5 共享資料的黑幣獎勵!
龍騰四海 + 5 贊一個!

查看全部評分

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

使用道具 舉報

沙發
ID:207295 發表于 2017-6-3 09:09 | 只看該作者
多謝分享,好資料,51黑有你更精彩!!!
回復

使用道具 舉報

板凳
ID:208777 發表于 2017-6-7 22:23 | 只看該作者
樓主可以把圖上每個按鍵的功能注釋一下么?
回復

使用道具 舉報

地板
ID:184584 發表于 2017-6-9 20:09 | 只看該作者
您好,請問您有兩個按鍵的嘛??
回復

使用道具 舉報

5#
ID:161488 發表于 2017-7-14 20:59 | 只看該作者
r3對應的按鍵不起作用
回復

使用道具 舉報

6#
ID:246817 發表于 2017-11-9 13:51 | 只看該作者
為什么不能正常跑
回復

使用道具 舉報

7#
ID:358553 發表于 2018-6-25 18:22 | 只看該作者
為什么我的不能顯示

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

jp.png
回復

使用道具 舉報

8#
ID:224811 發表于 2018-7-9 20:55 | 只看該作者
謝謝分享
回復

使用道具 舉報

9#
ID:295874 發表于 2018-7-18 17:15 | 只看該作者
其中一個按鍵不好使用,不知道是不是故意沒有用到。
回復

使用道具 舉報

10#
ID:365673 發表于 2018-8-1 13:05 | 只看該作者

多謝樓主棒棒的分享
回復

使用道具 舉報

11#
ID:429437 發表于 2018-11-26 15:01 | 只看該作者
謝謝樓主分享,但是R3對應的按鍵按下去之后沒有作用
回復

使用道具 舉報

12#
ID:430813 發表于 2018-11-26 15:36 | 只看該作者
很給力
回復

使用道具 舉報

13#
ID:430813 發表于 2018-11-26 15:37 | 只看該作者
很給力  很贊
回復

使用道具 舉報

14#
ID:337883 發表于 2018-12-3 21:45 | 只看該作者
為啥這個顯示不了啊
回復

使用道具 舉報

15#
ID:438030 發表于 2018-12-5 21:38 | 只看該作者
為什么不能調“時”位呢
回復

使用道具 舉報

16#
ID:323313 發表于 2018-12-9 20:38 | 只看該作者
liyongan_1985 發表于 2018-7-18 17:15
其中一個按鍵不好使用,不知道是不是故意沒有用到。

作者程序寫錯了,90行的40H改為04H
回復

使用道具 舉報

17#
ID:447973 發表于 2018-12-17 15:53 | 只看該作者
運行不了
回復

使用道具 舉報

18#
ID:458568 發表于 2018-12-30 15:19 | 只看該作者
為何我的中間兩個按鍵沒反應 在線等  挺急的
回復

使用道具 舉報

19#
ID:548729 發表于 2019-5-27 21:53 | 只看該作者
液晶顯示器選哪種啊
回復

使用道具 舉報

20#
ID:99987 發表于 2019-5-29 11:05 | 只看該作者
非常不錯!很好,靠譜。有熟悉匯編的,小問題可以調整。
回復

使用道具 舉報

21#
ID:550610 發表于 2019-5-30 12:03 | 只看該作者
斯可瑞木 發表于 2018-12-9 20:38
作者程序寫錯了,90行的40H改為04H

厲害厲害
回復

使用道具 舉報

22#
ID:662249 發表于 2019-12-23 11:37 | 只看該作者
funcdl 發表于 2018-11-26 15:01
謝謝樓主分享,但是R3對應的按鍵按下去之后沒有作用

90行的40H改為04H
回復

使用道具 舉報

23#
ID:662249 發表于 2019-12-25 16:23 | 只看該作者
問問基于這個原理圖的基礎上定時功能怎么做
回復

使用道具 舉報

24#
ID:1032257 發表于 2022-6-5 10:17 來自手機 | 只看該作者
有沒有大佬教添加整點報時功能也就是加個蜂鳴器
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 操操操操操 | 国产精品嫩草影院精东 | 成人综合在线视频 | 成人福利网| 国产精品免费在线 | 久久久久一区二区三区 | 免费黄色录像视频 | 黄色片免费 | 羞羞视频网页 | 日韩精品一区二区三区中文字幕 | 成人国产精品久久久 | 国产成人啪免费观看软件 | 在线免费观看a级片 | 超碰国产在线 | 欧美激情视频网站 | 欧美一区二区在线 | 97成人精品 | 91视视频在线观看入口直接观看 | 亚洲一区二区三区四区五区午夜 | 国产精品久久一区 | 亚洲综合色婷婷 | 黄色网址在线免费观看 | 一区二区三区四区av | 福利精品| 欧美人成在线视频 | 日韩精品一区中文字幕 | 精品国产免费人成在线观看 | 国产激情91久久精品导航 | 国产福利在线 | 男人的天堂中文字幕 | 国产成人综合av | 亚洲精品一区av在线播放 | 天天综合操 | 久久久国产一区二区三区四区小说 | 国产成人99久久亚洲综合精品 | 91视频a| 国产成人精品久久二区二区91 | 91n成人 | 成人av免费| 日韩av免费在线观看 | 91久久精品国产91久久性色tv |