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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9391|回復(fù): 10
收起左側(cè)

基于51單片機(jī)的匯編語言時(shí)鐘課程設(shè)計(jì)(適合于急于交作業(yè)的萌新)

[復(fù)制鏈接]
ID:326239 發(fā)表于 2018-5-9 20:11 | 顯示全部樓層 |閱讀模式
這里上傳了基于89c51單片機(jī)的時(shí)鐘的課程設(shè)計(jì)包括原理圖和代碼
51單片機(jī)時(shí)鐘仿真原理圖如下(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)顯示的8LED段碼初始化子程序
  35. PP:
  36. MOV 37H,#12 ;P點(diǎn)編碼送寄存器,對應(yīng)最左LED  (共陽極,0CH )
  37. MOV R0,#30H ;第8個(gè)LED,最右LED,段碼存儲(chǔ)的地址
  38. MOV R7,#07H         ;第8到第2個(gè)LED,共7個(gè),初始化段碼顯示空白
  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)用顯示去抖動(dòng)
  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 ;鍵值送A
  60. EXIT:RET

  61. KEYS:
  62. MOV P1,#0FFH ;先向P1口寫1
  63. MOV A,P1 ;P1口值送A         (有按鍵按下,對應(yīng)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 ;關(guān)中斷
  71. CHECK:
  72. JB TR0,YXZ ;判斷是否運(yùn)行
  73. K0:
  74. CJNE A,#01H,K1
  75. AJMP RUN ;A鍵按下,恢復(fù)運(yùn)行,轉(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        ;A鍵按下,暫停
  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 ;啟動(dòng)定時(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  ;r4-1 != 0 1秒未到,轉(zhuǎn)OUTTO
  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         ;1分,60秒未到
  153. ACALL CLR0         ;1分到,清零
  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          ;時(shí)十位
  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  ;顯示緩沖存儲(chǔ)單元首地址,30H-37H
  209. ……………………

  210. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
0.jpg
所有資料51hei提供下載:
時(shí)鐘.zip (62.13 KB, 下載次數(shù): 95)
回復(fù)

使用道具 舉報(bào)

ID:314717 發(fā)表于 2018-5-12 12:05 來自手機(jī) | 顯示全部樓層
分鐘調(diào)不了啊
回復(fù)

使用道具 舉報(bào)

ID:438136 發(fā)表于 2018-12-3 09:22 | 顯示全部樓層
試試看,最近要用。
回復(fù)

使用道具 舉報(bào)

ID:444013 發(fā)表于 2018-12-11 13:36 | 顯示全部樓層
哇,強(qiáng)啊        
回復(fù)

使用道具 舉報(bào)

ID:445579 發(fā)表于 2018-12-13 13:30 | 顯示全部樓層
這個(gè)要用什么軟件運(yùn)行啊
回復(fù)

使用道具 舉報(bào)

ID:295874 發(fā)表于 2018-12-30 14:12 | 顯示全部樓層
其中匯編語言程序中關(guān)于分鐘調(diào)整的按鍵的識(shí)別程序有問題,導(dǎo)致分鐘數(shù)據(jù)無法實(shí)現(xiàn)調(diào)整。
回復(fù)

使用道具 舉報(bào)

ID:4867 發(fā)表于 2019-12-1 21:58 | 顯示全部樓層
liyongan_1985 發(fā)表于 2018-12-30 14:12
其中匯編語言程序中關(guān)于分鐘調(diào)整的按鍵的識(shí)別程序有問題,導(dǎo)致分鐘數(shù)據(jù)無法實(shí)現(xiàn)調(diào)整。

我的也是
回復(fù)

使用道具 舉報(bào)

ID:659838 發(fā)表于 2019-12-9 18:46 來自手機(jī) | 顯示全部樓層
問一下這個(gè)有程序圖嗎
回復(fù)

使用道具 舉報(bào)

ID:681492 發(fā)表于 2020-1-8 11:03 | 顯示全部樓層
想請問一下大家,打開proteus文件出現(xiàn)“請?jiān)谶@頁面上使用‘輸入歷史設(shè)計(jì)’命令”這樣的框框是怎么回事呀
回復(fù)

使用道具 舉報(bào)

ID:686934 發(fā)表于 2020-6-17 12:25 | 顯示全部樓層
樓主,我想問一下這個(gè)1秒是怎么設(shè)定出來的啊,急
回復(fù)

使用道具 舉報(bào)

ID:686934 發(fā)表于 2020-6-17 12:26 | 顯示全部樓層
月古月 發(fā)表于 2020-1-8 11:03
想請問一下大家,打開proteus文件出現(xiàn)“請?jiān)谶@頁面上使用‘輸入歷史設(shè)計(jì)’命令”這樣的框框是怎么回事呀

好兄弟,我想問一下這個(gè)1秒是怎么設(shè)定出來的,為什么電路沒有外接石英晶振
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 午夜久久久久久久久久一区二区 | 激情欧美一区二区三区 | 成人免费网站www网站高清 | www.黄色网| 亚洲精品一区二区三区 | 欧美精品久久久久久久久久 | 国产一区二区电影 | 久久精选| 国产精品视频999 | 午夜理伦三级理论三级在线观看 | 国产欧美在线一区 | 日韩电影一区 | 日韩三级在线观看 | 欧美精品久久久 | 久久国产精品一区 | 午夜伊人| 九九热在线视频观看这里只有精品 | 中文字字幕在线中文乱码范文 | 亚洲九九精品 | 国产精品一区网站 | 精品国产一区二区三区久久久蜜月 | 天天干天天插天天 | 国产亚洲一级 | 亚洲男女视频在线观看 | 成人在线观看免费视频 | 午夜爽爽爽男女免费观看影院 | 国产亚洲一区二区三区在线观看 | 日本午夜精品一区二区三区 | www.se91 | 日日夜夜精品 | 欧美视频三区 | 中文字幕亚洲国产 | 国产免费av在线 | 欧美一级二级视频 | 国产精品久久久久久婷婷天堂 | 日韩黄色av | 毛片入口| 夜夜夜夜夜夜曰天天天 | 成人免费视频网站在线观看 | 亚洲国产精品成人无久久精品 | 精品国产乱码久久久久久1区2区 |