找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

單片機(jī)可校準(zhǔn)時(shí)鐘匯編語(yǔ)言程序及proteus仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
一個(gè)用51單片機(jī)做的可校準(zhǔn)時(shí)鐘,是用匯編語(yǔ)言寫(xiě)的,下面是仿真原理圖:

所有資料下載:
可校準(zhǔn)時(shí)鐘.zip (56.88 KB, 下載次數(shù): 77)

匯編語(yǔ)言程序
  1. ORG 0000H
  2. LJMP MAIN
  3. ORG 0003H
  4. LJMP INT0INT0
  5. ORG 0013H
  6. LJMP INT1INT1
  7. ORG 000BH
  8. LJMP IT0P
  9. ORG 0040H
  10. /**************主程序*******************/
  11. MAIN:MOV P0,#0FFH
  12.      MOV P1,#0FFH
  13.      MOV P2,#0FFH
  14.      MOV 30H,#14H
  15.      MOV 40H,#00H
  16.      MOV 41H,#00H
  17.      MOV 42H,#00H
  18.      MOV SP,#60H
  19.      MOV TCON,#05H
  20.      MOV TMOD,#01H
  21.      MOV IE,#87H
  22.      MOV IP,#01H
  23.      MOV TH0,#3CH
  24.      MOV TL0,#0B0H
  25. LOOP:   LCALL DISPLAYSECOND
  26.         LCALL DISPLAYMINUTE
  27.                 LCALL DISPLAYHOUR
  28. SECOND0:JNB P2.0,SECOND
  29. MINUTE0:JNB P2.1,MINUTE
  30. HOUR0:  JNB P2.2,HOUR
  31. CLEAR0: JNB P2.3,CLEAR
  32. LAST:   LJMP LOOP
  33. /**************秒調(diào)整程序*******************/
  34. SECOND: LCALL DELAY100MS
  35.         JNB P2.0,HAVES
  36.                 LJMP RETURNS
  37. HAVES:  MOV A,#01H
  38.         ADD A,42H
  39.         DA A
  40.         MOV 42H,A
  41.         CJNE A,#60H,RETURNS
  42.         MOV 42H,#00H
  43. RETURNS:LCALL DISPLAYSECOND
  44.         LJMP MINUTE0
  45. /**************分調(diào)整程序*******************/
  46. MINUTE: LCALL DELAY100MS
  47.         JNB P2.1,HAVEM
  48.                 LJMP RETURNM
  49. HAVEM:        MOV A,#01H
  50.         ADD A,41H
  51.         DA A
  52.         MOV 41H,A
  53.         CJNE A,#60H,RETURNM   
  54.         MOV 41H,#00H
  55. RETURNM:LCALL DISPLAYMINUTE
  56.         LJMP HOUR0
  57. /**************時(shí)調(diào)整程序*******************/
  58. HOUR:   LCALL DELAY100MS
  59.         JNB P2.2,HAVEH
  60.                 LJMP RETURNH
  61. HAVEH:        MOV A,#01H
  62.         ADD A,40H
  63.         DA A
  64.         MOV 40H,A
  65.         CJNE A,#24H,RETURNH
  66.         MOV 40H,#00H
  67. RETURNH:LCALL DISPLAYHOUR
  68.         LJMP CLEAR0
  69. /**************清零程序*******************/
  70. CLEAR:  LCALL DELAY100MS
  71.         JNB P2.3,HAVEC
  72.                 LJMP RETURNC
  73. HAVEC:        CLR TR0
  74.         MOV 40H,#00H
  75.         MOV 41H,#00H
  76.                 MOV 42H,#00H
  77. RETURNC:LJMP LAST
  78. /**************秒數(shù)碼管顯示程序*******************/
  79. DISPLAYSECOND:  
  80. SECONDGE: SETB P1.0
  81.           MOV A,42H
  82.           ANL A,#0FH
  83.           LCALL SEG
  84.                   LCALL DELAY1MS
  85.                   CLR P1.0
  86. SECONDSHI:SETB P1.1
  87.           MOV A,42H
  88.                   SWAP A
  89.           ANL A,#0FH
  90.           LCALL SEG
  91.                   LCALL DELAY1MS
  92.                   CLR P1.1
  93.                   RET
  94. /**************分?jǐn)?shù)碼管顯示程序*******************/
  95. DISPLAYMINUTE:
  96. MINUTEGE: SETB P1.2
  97.           MOV A,41H
  98.           ANL A,#0FH
  99.           LCALL SEG
  100.                   LCALL DELAY1MS
  101.                   CLR P1.2
  102. MINUTESHI:SETB P1.3
  103.           MOV A,41H
  104.                   SWAP A
  105.           ANL A,#0FH
  106.           LCALL SEG
  107.                   LCALL DELAY1MS
  108.                   CLR P1.3
  109.                   RET
  110. /**************時(shí)數(shù)碼管顯示程序*******************/
  111. DISPLAYHOUR:
  112. HOURGE:   SETB P1.4
  113.           MOV A,40H
  114.           ANL A,#0FH
  115.           LCALL SEG
  116.                   LCALL DELAY1MS
  117.                   CLR P1.4
  118. HOURSHI:  SETB P1.5
  119.           MOV A,40H
  120.                   SWAP A
  121.           ANL A,#0FH
  122.           LCALL SEG
  123.                   LCALL DELAY1MS
  124.                   CLR P1.5
  125.                   RET
  126. /**************啟動(dòng)int0中斷服務(wù)程序*******************/
  127. INT0INT0:CLR EA
  128.          LCALL DELAY10MS
  129.              JNB INT0,HAVEKEY1
  130.              SETB EA
  131.              RETI
  132. HAVEKEY1:PUSH PSW
  133.              PUSH Acc
  134.              SETB EA
  135.              SETB TR0
  136.              CLR EA
  137.              POP Acc
  138.              POP PSW
  139.              SETB EA
  140.              RETI
  141. /************暫停int1中斷服務(wù)程序*******************/
  142. INT1INT1:CLR EA
  143.          LCALL DELAY10MS
  144.              JNB INT1,HAVEKEY2
  145.              SETB EA
  146.              RETI
  147. HAVEKEY2:PUSH PSW
  148.              PUSH Acc
  149.              SETB EA
  150.              CLR TR0
  151.              CLR EA
  152.              POP Acc
  153.              POP PSW
  154.              SETB EA
  155.              RETI
  156. /*****************定時(shí)器0中斷服務(wù)程序*****************/
  157. IT0P:PUSH PSW
  158.      PUSH Acc
  159.      CLR TR0
  160.      MOV TH0,#3CH
  161.      MOV TL0,#0B0H
  162.      DJNZ 30H,RETURN
  163.      MOV 30H,#14H
  164.      MOV A,#01H
  165.      ADD A,42H
  166.      DA A
  167.      MOV 42H,A
  168.      CJNE A,#60H,RETURN
  169.      MOV 42H,#00H
  170.      MOV A,#01H
  171.      ADD A,41H
  172.      DA A
  173.      MOV 41H,A
  174.      CJNE A,#60H,RETURN   
  175.      MOV 41H,#00H
  176.      MOV A,#01H
  177.      ADD A,40H
  178.      DA A
  179.      MOV 40H,A
  180.      CJNE A,#24H,RETURN
  181.      MOV 40H,#00H
  182. RETURN:
  183.      SETB TR0
  184.      POP Acc
  185.      POP PSW
  186.      RETI
  187. /*************查表子程序程序***************/
  188. SEG:MOV DPTR,#TAB
  189.     MOVC A,@A+DPTR
  190.         CPL A
  191.         MOV P0,A
  192.         RET
  193. TAB:
  194. DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
  195. /*************1mS延時(shí)子程序*****************/
  196. DELAY1MS:MOV R7,#04H
  197.      D1: MOV R6,#7DH
  198.          DJNZ R6,$
  199.          DJNZ R7,D1
  200.          RET
  201. /*************10mS延時(shí)子程序****************/
  202. DELAY10MS:MOV R7,#28H
  203.       D2: MOV R6,#7DH
  204.           DJNZ R6,$
  205.           DJNZ R7,D2
  206.           RET
  207. /*************100mS延時(shí)子程序****************/
  208. DELAY100MS:MOV R7,#02H
  209.       DEL1:MOV R6,#0C8H
  210.       DEL2:MOV R5,#7DH
  211.       DEL3:DJNZ R5,DEL3
  212.            DJNZ R6,DEL2
  213.                DJNZ R7,DEL1
  214.            RET
  215.            END
復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:140275 發(fā)表于 2016-9-26 20:57 | 只看該作者
謝謝分享下載學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

板凳
ID:159237 發(fā)表于 2017-1-1 19:51 | 只看該作者
膜拜順便學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

地板
ID:160510 發(fā)表于 2017-1-6 23:12 | 只看該作者
這個(gè)很需要,可是下不了。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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