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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機設計一個四按鍵控制的數字時鐘Proteus仿真匯編程序

[復制鏈接]
跳轉到指定樓層
樓主
編寫了一個控制程序,實現數碼管上顯示時-分-秒,通過按鍵可以設置時鐘初始值。
1.proteus中電路圖
2.代碼
見附件
3.仿真
按鍵功能說明:
數碼管初始狀態為全零,當按下開關0,數字時鐘開始計時,當按下開關1,數字時鐘清零,當按下開關2,數字時鐘的分加一,當按下開關3,數字時鐘的分減一。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)完整文檔下載(word格式 可編輯):


單片機源程序如下:
  1. ;//數碼管顯示01234569
  2.                 ;ORG 0000H
  3.                 ;AJMP START
  4.                 ;ORG 0030H
  5. ;START:  MOV SP,#40H
  6. ;S1:                MOV P2,#01H
  7.                 ;MOV P0,#0C0H        
  8.                 ;LCALL DELAY
  9.                 ;MOV P2,#02H
  10.                 ;MOV P0,#0F9H
  11.                 ;LCALL DELAY
  12.                 ;MOV P2,#04H
  13.                 ;MOV P0,#0A4H
  14.                 ;LCALL DELAY
  15.                 ;MOV P2,#08H
  16.                 ;MOV P0,#0B0H        
  17.                 ;LCALL DELAY
  18.                 ;MOV P2,#10H
  19.                 ;MOV P0,#099H
  20.                 ;LCALL DELAY
  21.                 ;MOV P2,#20H
  22.                 ;MOV P0,#092H
  23.                 ;LCALL DELAY
  24.                 ;MOV P2,#40H
  25.                 ;MOV P0,#82H
  26.                 ;LCALL DELAY
  27.                 ;MOV P2,#80H
  28.                 ;MOV P0,#90H
  29.                 ;LCALL DELAY
  30.                 ;SJMP S1
  31. ;DELAY:  MOV R7,#20H
  32. ;DA1:        MOV R6,#10
  33. ;DA2:        DJNZ R6,DA2
  34.                 ;DJNZ R7,DA1
  35.                 ;RET
  36.                
  37.                

  38. ;//數碼管顯示00-00-00
  39.                 ;ORG 0000H
  40.                 ;AJMP START
  41.                 ;ORG 0030H
  42. ;START:  MOV SP,#40H
  43. ;S1:                MOV P2,#01H
  44.                 ;MOV P0,#0C0H        
  45.                 ;LCALL DELAY
  46.                 ;MOV P2,#02H
  47.                 ;MOV P0,#0C0H
  48.                 ;LCALL DELAY
  49.                 ;MOV P2,#04H
  50.                 ;MOV P0,#0BFH
  51.                 ;LCALL DELAY
  52.                 ;MOV P2,#08H
  53.                 ;MOV P0,#0C0H        
  54.                 ;LCALL DELAY
  55.                 ;MOV P2,#10H
  56.                 ;MOV P0,#0C0H
  57.                 ;LCALL DELAY
  58.                 ;MOV P2,#20H
  59.                 ;MOV P0,#0BFH
  60.                 ;LCALL DELAY
  61.                 ;MOV P2,#40H
  62.                 ;MOV P0,#0C0H
  63.                 ;LCALL DELAY
  64.                 ;MOV P2,#80H
  65.                 ;MOV P0,#0C0H
  66.                 ;LCALL DELAY
  67.                 ;SJMP S1
  68. ;DELAY:  MOV R7,#20H
  69. ;DA1:        MOV R6,#10
  70. ;DA2:        DJNZ R6,DA2
  71.                 ;DJNZ R7,DA1
  72.                 ;RET
  73.                                 

  74.                 ;ORG 0000H
  75.                 ;MOV A,#0
  76.                 ;MOV R0,A
  77.                 ;MOV R1,A
  78.                 ;MOV R2,A
  79.                 ;AJMP MAIN
  80.                 ;ORG 000BH                //定時器0入口
  81.                 ;AJMP INT_T0               
  82.                 ;ORG 0100H
  83. ;MAIN:        MOV SP,#40H
  84.                 ;MOV TMOD,#01H        //定時器0工作方式1
  85.                 ;MOV TL0,#78H        //寫入初值
  86.                 ;MOV TH0,#0ECH
  87.                 ;SETB EA                        //允許
  88.                 ;SETB ET0               
  89.                 ;SETB TR0                //啟動定時器0        
  90. ;HERE:        LJMP HERE        
  91.                 ;ORG 0200H
  92. ;INT_T0:        MOV A,#0
  93.                 ;INC R0
  94.                 ;CJNE R0,#100,MOVEON        //不等跳轉
  95.                 ;MOV R0,A
  96.                 ;INC R1
  97.                 ;CJNE R1,#60,MOVEON
  98.                 ;MOV R1,A
  99.                 ;INC R2        
  100. ;MOVEON:        MOV TL0,#78H
  101.                 ;MOV TH0,#0ECH
  102.                 ;RETI        
  103. ;DELAY:  MOV R7,#10H
  104. ;DA1:        MOV R6,#10
  105. ;DA2:        DJNZ R6,DA2
  106.                 ;DJNZ R7,DA1
  107.                 ;RET
  108. ;TABLE:        DB 0C0H,0F9H,0A4H,0B0H,99H
  109.                 ;DB 92H,82H,0F8H,80H,90H        
  110.                 ;END











  111. ;//定時器設計時鐘10MS
  112.                 ;ORG 0000H
  113.                 ;MOV A,#0
  114.                 ;MOV R0,A
  115.                 ;MOV R1,A
  116.                 ;MOV R2,A
  117.                 ;AJMP MAIN
  118.                 ;ORG 000BH                //定時器0入口
  119.                 ;AJMP INT_T0               
  120.                 ;ORG 0100H

  121. ;MAIN:        MOV SP,#40H
  122.                 ;MOV TMOD,#01H        //定時器0工作方式1
  123.                 ;MOV TL0,#78H        //寫入初值
  124.                 ;MOV TH0,#0ECH
  125.                 ;SETB EA                        //允許
  126.                 ;SETB ET0               
  127.                 ;SETB TR0                //啟動定時器0
  128.         
  129. ;HERE:        MOV A,R0
  130.                 ;MOV B,#10
  131.                 ;DIV AB                        //A中為商,B為余數
  132.                         
  133.                 ;;MOV R3,A                //顯示查表
  134.                 ;MOV DPTR,#TABLE        //秒的十位查表
  135.                 ;MOVC A,@A+DPTR
  136.                 ;MOV P2,#40H                //位選
  137.                 ;MOV P0,A                //段選
  138.                 ;LCALL DELAY
  139.                
  140.                 ;MOV A,B                        //秒的個位查表
  141.                 ;MOVC A,@A+DPTR
  142.                 ;MOV P2,#80H
  143.                 ;MOV P0,A
  144.                 ;LCALL DELAY
  145.                
  146.                 ;MOV P2,#20H
  147.                 ;MOV P0,#0BFH
  148.                 ;LCALL DELAY
  149.                
  150.                 ;MOV A,R1
  151.                 ;MOV B,#10
  152.                 ;DIV AB                        //A中為商,B為余數
  153.                 ;MOV DPTR,#TABLE
  154.                 ;MOVC A,@A+DPTR        //秒
  155.                 ;MOV P2,#08H
  156.                 ;MOV P0,A
  157.                 ;LCALL DELAY
  158.                 ;MOV A,B                        //
  159.                 ;MOVC A,@A+DPTR
  160.                 ;MOV P2,#10H
  161.                 ;MOV P0,A
  162.                 ;LCALL DELAY
  163.                
  164.                 ;MOV P2,#04H
  165.                 ;MOV P0,#0BFH
  166.                 ;LCALL DELAY
  167.                
  168.                 ;MOV A,R2
  169.                 ;MOV B,#10
  170.                 ;DIV AB                        //A中為商,B為余數
  171.                 ;MOV DPTR,#TABLE
  172.                 ;MOVC A,@A+DPTR        //分
  173.                 ;MOV P2,#01H
  174.                 ;MOV P0,A
  175.                 ;LCALL DELAY
  176.                
  177.                 ;MOV A,B                        //
  178.                 ;MOVC A,@A+DPTR
  179.                 ;MOV P2,#02H
  180.                 ;MOV P0,A
  181.                 ;LCALL DELAY
  182.         
  183.                 ;LJMP HERE
  184.                
  185.                 ;ORG 0200H
  186. ;INT_T0:        PUSH ACC
  187.                 ;MOV A,#0
  188.                 ;INC R0
  189.                 ;CJNE R0,#100,MOVEON        //不等跳轉
  190.                 ;MOV R0,A
  191.                 ;INC R1
  192.                 ;CJNE R1,#60,MOVEON
  193.                 ;MOV R1,A
  194.                 ;INC R2
  195.                
  196. ;MOVEON:        MOV TL0,#78H
  197.                 ;MOV TH0,#0ECH
  198.                 ;POP ACC
  199.                 ;RETI
  200.                
  201. ;DELAY:  MOV R7,#10H
  202. ;DA1:        MOV R6,#10
  203. ;DA2:        DJNZ R6,DA2
  204.                 ;DJNZ R7,DA1
  205.                 ;RET
  206. ;TABLE:        DB 0C0H,0F9H,0A4H,0B0H,99H
  207.                 ;DB 92H,82H,0F8H,80H,90H        
  208.                 ;END
  209.                         
  210.                
  211. //按鍵控制的時鐘
  212.                 K0 EQU P3.0
  213.                 K1 EQU P3.1
  214.                 K2 EQU P3.2
  215.                 K3 EQU P3.3
  216.                 ORG 0000H
  217.                 MOV A,#0
  218.                 MOV R0,A
  219.                 MOV R1,A
  220.                 MOV R2,A
  221.                 MOV R4,A
  222.                 AJMP MAIN
  223.                 ORG 000BH                //定時器0入口
  224.                 AJMP INT_T0               
  225.                 ORG 0100H
  226. MAIN:        MOV SP,#40H
  227.                 MOV TMOD,#01H        //定時器0工作方式1
  228.                 MOV TL0,#78H        //寫入初值
  229.                 MOV TH0,#0ECH
  230.                 SETB EA                        //允許
  231.                 SETB ET0               
  232. START:        PUSH ACC
  233.                 MOV A,#0FFH
  234.                 MOV P3,A
  235.                 POP ACC
  236. HERE:        
  237.                
  238.                 MOV A,R0
  239.                 MOV B,#10
  240.                 DIV AB                        //A中為商,B為余數
  241.                 MOV DPTR,#TABLE        //秒的十位查表
  242.                 MOVC A,@A+DPTR
  243.                 MOV P2,#40H                //位選
  244.                 MOV P0,A                //段選
  245.                 LCALL DELAY
  246.                 MOV A,B                        //秒的個位查表
  247.                 MOVC A,@A+DPTR
  248.                 MOV P2,#80H
  249.                 MOV P0,A
  250.                 LCALL DELAY
  251.                 MOV P2,#20H
  252.                 MOV P0,#0BFH
  253.                 LCALL DELAY
  254.                 MOV A,R1
  255.                 MOV B,#10
  256.                 DIV AB                        //A中為商,B為余數
  257.                 MOV DPTR,#TABLE
  258.                 MOVC A,@A+DPTR        //秒
  259.                 MOV P2,#08H
  260.                 MOV P0,A
  261.                 LCALL DELAY
  262.                 MOV A,B                        //
  263.                 MOVC A,@A+DPTR
  264.                 MOV P2,#10H
  265.                 MOV P0,A
  266.                 LCALL DELAY
  267.                 MOV P2,#04H
  268.                 MOV P0,#0BFH
  269.                 LCALL DELAY
  270.                 MOV A,R2
  271.                 MOV B,#10
  272.                 DIV AB                        //A中為商,B為余數
  273.                 MOV DPTR,#TABLE
  274.                 MOVC A,@A+DPTR        //分
  275.                 MOV P2,#01H
  276.                 MOV P0,A
  277.                 LCALL DELAY
  278.                 MOV A,B               
  279.                 MOVC A,@A+DPTR
  280.                 MOV P2,#02H
  281.                 MOV P0,A
  282.                 LCALL DELAY
  283.                 JNB K0,KEY0
  284.                 JNB K1,KEY1
  285.                 JNB K2,KEY2
  286.                 JNB K3,KEY3
  287.                 LJMP HERE

  288. KEY0:        LCALL DELAY10
  289.         JNB        K0,$
  290.                 MOV R0,#0
  291.                 MOV R1,#0
  292.                 MOV R2,#0
  293.                 CLR TR0
  294.                 MOV TL0,#78H
  295.                 MOV TH0,#0ECH
  296.                 AJMP START
  297. KEY1:        LCALL DELAY10        
  298.                 JNB        K1,$
  299.                 SETB TR0
  300.                 AJMP START
  301. KEY2:        LCALL DELAY10        
  302.                 JNB        K2,$
  303.                 INC R2        
  304.                 AJMP START
  305. ……………………

  306. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
數字時鐘.rar (86.82 KB, 下載次數: 59)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91久久婷婷 | 国精产品一品二品国精在线观看 | 自拍偷拍第一页 | 成人激情视频免费在线观看 | 久久免费高清 | 亚洲一卡二卡 | 男女视频在线看 | 国产精品免费一区二区三区四区 | 精品国产网 | 久久av资源网| 国产精品高潮呻吟久久av野狼 | 亚洲精品乱码久久久久久蜜桃 | www.成人.com | 国产亚洲精品美女久久久久久久久久 | 91视频网| 国产成人精品一区二区在线 | a欧美| 久久国产区| 国产一区二区三区在线 | 欧美精品1区2区3区 免费黄篇 | 久久久蜜桃一区二区人 | 国产成人叼嘿视频在线观看 | 国产精品久久久久久久久久 | 99精品视频在线 | 精品成人在线观看 | 亚洲国产视频一区二区 | 日韩精品久久一区二区三区 | 国产情侣在线看 | 免费成人av| 久久精品国产一区二区电影 | 精品久久精品 | 美女二区 | 亚洲欧美精品在线 | 夏同学福利网 | 久久精品色欧美aⅴ一区二区 | 国产精品久久九九 | 国产欧美精品一区二区三区 | 色www精品视频在线观看 | 久久国产成人午夜av影院武则天 | 欧美日本一区 | 在线91|