找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4326|回复: 2
收起左侧

基于51单片机的汇编语言电子时钟Proteus仿真设计

[复制链接]
ID:514202 发表于 2019-7-16 00:14 | 显示全部楼层 |阅读模式
说明书
使用说明:
一、首先开机显示“00-00-00”为“时-分-秒”时间显示。
二、按“调整”键进入调整界面“1-000000”为“代号-时分秒”。“S”,“M”,“H”为时、分、秒的调整,调整结束后按“确认”键进入下一个的调整“2-000000”为定时开机时间的调整,调整方法同上,依次调整“3-定时关机时间”、“4-闹铃时间”、“5-定时时间”、“6-年月日”。
三、调整结束后显示正常时间,按键“定时”进入定时界面,根据调整的时间开始定时,同时看“正反”计时键按下为倒计时,不按为正计时。到时间响铃,按键“返回”回到主界面。
四、正常显示时间的时候按键“正反”计时键切换到年月日的显示。按住“返回”键3秒可以软关机,开机亦如此。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png 0.png

单片机源程序如下:
  1.          S_SET BIT  P1.0   
  2.      M_SET BIT  P1.1   
  3.      H_SET BIT  P1.2
  4.          R_SET BIT  P1.3   
  5.      Y_SET BIT  P1.4   
  6.      N_SET BIT  P1.5
  7.          D_SET BIT  P1.6   
  8.      S EQU  30H
  9.      M EQU  31H
  10.      H EQU  32H
  11.          R EQU  33H
  12.      Y EQU  34H
  13.      N EQU  35H
  14.      ORG 0000H
  15.      LJMP MAIN
  16.      ORG 000BH
  17.      LJMP INT_T0
  18.          ORG 0100H
  19. MAIN:MOV  DPTR,#TAB
  20.      MOV  H,#0
  21.      MOV  M,#0
  22.      MOV  S,#0
  23.          MOV  R,#1
  24.      MOV  Y,#1
  25.      MOV  N,#0
  26.      MOV  R0,#0
  27.      MOV  TMOD,#01H
  28.      MOV  TH0,#3CH  
  29.      MOV  TL0,#0B0H
  30.      SETB TR0                             
  31.      SETB ET0
  32.      SETB EA
  33. A1:  ACALL DISPLAY  
  34.      JNB  S_SET,S1
  35.      JNB  M_SET,S2
  36.      JNB  H_SET,S3
  37.          JNB  D_SET,A2   
  38.      LJMP A1
  39. S1:  ACALL DEL                 
  40.      JB  S_SET,A1
  41.      INC  S        
  42.      MOV  A,S
  43.      CJNE A,#60,J0  
  44.      MOV  S,#0
  45.      LJMP J0
  46. S2:  ACALL DEL
  47.      JB  M_SET,A1
  48. K1:  INC  M
  49.      MOV  A,M
  50.      CJNE A,#60,J1
  51.      MOV  M,#0
  52.      LJMP J1
  53. S3:  ACALL DEL
  54.      JB  H_SET,A1         
  55. K2:  INC  H
  56.      MOV  A,H
  57.      CJNE A,#24,J2
  58.      MOV  H,#0
  59.      LJMP J2
  60. J0:  JB  S_SET,A1
  61.      ACALL DISPLAY
  62.      SJMP J0
  63. J1:  JB  M_SET,A1
  64.      ACALL DISPLAY
  65.      SJMP J1
  66. J2:  JB  H_SET,A1
  67.      ACALL DISPLAY
  68.      SJMP J2
  69. A2:  ACALL NYR  
  70.      JNB  R_SET,S4
  71.      JNB  Y_SET,S5
  72.      JNB  N_SET,S6
  73.          JB D_SET,A1  
  74.      LJMP A2
  75. S4:  ACALL DEL                 
  76.      JB  R_SET,A2
  77.          MOV  A,Y
  78.      CJNE A,#2,J304
  79.      INC  R        
  80.      MOV  A,R
  81.      CJNE A,#29,J3  
  82.      MOV  R,#1
  83.      LJMP J3
  84. S5:  ACALL DEL
  85.      JB  Y_SET,A2
  86. K3:  INC  Y
  87.      MOV  A,Y
  88.      CJNE A,#12,J4
  89.      MOV  Y,#1
  90.      LJMP J4
  91. S6:  ACALL DEL
  92.      JB  N_SET,A2         
  93. K4:  INC  N
  94.      MOV  A,N
  95.      CJNE A,#60,J5
  96.      MOV  N,#0
  97.      LJMP J5
  98. J3:  JB  R_SET,A2
  99.      ACALL NYR
  100.      SJMP J3
  101. J4:  JB  Y_SET,A2
  102.      ACALL NYR
  103.      SJMP J4
  104. J5:  JB  N_SET,A2
  105.      ACALL NYR
  106.      SJMP J5
  107. J304: MOV  A,Y
  108.      CJNE A,#4,J306
  109.          INC  R        
  110.      MOV  A,R
  111.      CJNE A,#31,J3  
  112.      MOV  R,#1
  113.      LJMP J3
  114. J306: MOV  A,Y
  115.      CJNE A,#6,J309
  116.          INC  R        
  117.      MOV  A,R
  118.      CJNE A,#31,J3  
  119.      MOV  R,#1
  120.      LJMP J3
  121. J309: MOV  A,Y
  122.      CJNE A,#9,J3011
  123.          INC  R        
  124.      MOV  A,R
  125.      CJNE A,#31,J3  
  126.      MOV  R,#1
  127.      LJMP J3
  128. J3011: MOV  A,Y
  129.      CJNE A,#11,J31
  130.          INC  R        
  131.      MOV  A,R
  132.      CJNE A,#31,J3  
  133.      MOV  R,#1
  134.      LJMP J3
  135. J31: INC  R        
  136.      MOV  A,R
  137.      CJNE A,#32,J3  
  138.      MOV  R,#1
  139.      LJMP J3
  140. INT_T0: MOV  TH0,#3CH
  141.         MOV  TL0,#0B0H  
  142.         INC  R0
  143.         MOV  A,R0
  144.         CJNE A,#20,RETUNE
  145.         INC  S
  146.         MOV  R0,#0
  147.         MOV  A,S
  148.         CJNE A,#60,RETUNE
  149.         INC  M
  150.         MOV  S,#0
  151.         MOV  A,M
  152.         CJNE A,#60,RETUNE
  153.         INC  H
  154.         MOV  M,#0
  155.         MOV  A,H
  156.         CJNE A,#24,RETUNE
  157.         INC  R
  158.                 MOV  H,#0
  159.         MOV  M,#0
  160.         MOV  S,#0
  161.                 MOV  A,Y
  162.         CJNE A,#2,T304               
  163.         MOV  A,R
  164.         CJNE A,#29,RETUNE
  165.         INC  Y
  166.         MOV  R,#1
  167.         MOV  A,Y         
  168.         CJNE A,#12,RETUNE
  169.         INC  N
  170.         MOV  Y,#0
  171.         MOV  A,N
  172.         CJNE A,#60,RETUNE
  173.         MOV  R,#1
  174.         MOV  Y,#1
  175.         MOV  N,#0
  176.         MOV  R0,#0
  177. RETUNE: RETI
  178. T304:        MOV  A,Y
  179.         CJNE A,#4,T306
  180.                 MOV  A,R
  181.         CJNE A,#31,RETUNE1
  182.         INC  Y
  183.         MOV  R,#1
  184.                 LJMP DN
  185. T306:        MOV  A,Y
  186.         CJNE A,#6,T309
  187.                 MOV  A,R
  188.         CJNE A,#31,RETUNE1
  189.         INC  Y
  190.         MOV  R,#1
  191.                 LJMP DN
  192. T309:        MOV  A,Y
  193.         CJNE A,#9,T3011
  194.                 MOV  A,R
  195.         CJNE A,#31,RETUNE1
  196.         INC  Y
  197.         MOV  R,#1
  198.                 LJMP DN
  199. T3011:        MOV  A,Y
  200.         CJNE A,#11,T31
  201.                 MOV  A,R
  202.         CJNE A,#31,RETUNE1
  203.         INC  Y
  204.         MOV  R,#1
  205.                 LJMP DN
  206. T31:        MOV  A,R
  207.         CJNE A,#32,RETUNE1
  208.         INC  Y
  209.         MOV  R,#1
  210.                 LJMP DN                  
  211. DN:     MOV  A,Y         
  212.         CJNE A,#12,RETUNE1
  213.         INC  N
  214.         MOV  Y,#0
  215.         MOV  A,N
  216.         CJNE A,#60,RETUNE1
  217.         MOV  R,#0
  218.         MOV  Y,#0
  219.         MOV  N,#0
  220.         MOV  R0,#0
  221. RETUNE1: RETI
  222. DISPLAY:MOV  A,S
  223.         MOV  B,#10
  224.         DIV  AB
  225.         SETB  P2.6
  226.         MOVC A,@A+DPTR
  227.         MOV  P0,A
  228.         ACALL DEL
  229.         CLR P2.6
  230.         MOV  A,B
  231.         SETB  P2.7
  232.         MOVC A,@A+DPTR
  233.         MOV  P0,A
  234.         ACALL DEL
  235.         CLR P2.7
  236.         SETB  P2.5
  237.         MOV  P0,#0BFH  
  238.         ACALL DEL
  239.         CLR P2.5
  240.         MOV  A,M
  241.         MOV  B,#10
  242.         DIV  AB
  243.         SETB  P2.3
  244.         MOVC A,@A+DPTR
  245.         MOV  P0,A
  246.         ACALL DEL
  247.         CLR P2.3
  248.         MOV  A,B
  249.         SETB  P2.4
  250.         MOVC A,@A+DPTR
  251.         MOV  P0,A
  252.         ACALL DEL
  253.         CLR P2.4
  254.         SETB  P2.2
  255.         MOV  P0,#0BFH  
  256.         ACALL DEL
  257.         CLR P2.2
  258.         MOV  A,H  
  259.         MOV  B,#10
  260.         DIV  AB
  261.         SETB  P2.0
  262.         MOVC A,@A+DPTR
  263.         MOV  P0,A
  264.         ACALL DEL
  265.         CLR P2.0
  266.         MOV  A,B
  267.         SETB  P2.1
  268.         MOVC A,@A+DPTR
  269.         MOV  P0,A
  270.         ACALL DEL
  271.         CLR  P2.1
  272.         RET
  273. NYR:    MOV  A,R
  274.         MOV  B,#10
  275.         DIV  AB
  276.         SETB  P2.6
  277.         MOVC A,@A+DPTR
  278.         MOV  P0,A
  279.         ACALL DEL
  280.         CLR P2.6
  281.         MOV  A,B
  282.         SETB  P2.7
  283.         MOVC A,@A+DPTR
  284.         MOV  P0,A
  285.         ACALL DEL
  286.         CLR P2.7
  287.         SETB  P2.5
  288.         MOV  P0,#0BFH  
  289.         ACALL DEL
  290.         CLR P2.5
  291.         MOV  A,Y
  292.         MOV  B,#10
  293.         DIV  AB
  294.         SETB  P2.3
  295.         MOVC A,@A+DPTR
  296.         MOV  P0,A
  297.         ACALL DEL
  298.         CLR P2.3
  299.         MOV  A,B
  300.         SETB  P2.4
  301.         MOVC A,@A+DPTR
  302.         MOV  P0,A
  303.         ACALL DEL
  304.         CLR P2.4
  305.         SETB  P2.2
  306.         MOV  P0,#0BFH  
  307.         ACALL DEL
  308.         CLR P2.2
  309.         MOV  A,N  
  310.         MOV  B,#10
  311.         DIV  AB
  312.         SETB  P2.0
  313.         MOVC A,@A+DPTR
  314.         MOV  P0,A
  315.         ACALL DEL
  316.         CLR P2.0
  317.         MOV  A,B
  318.         SETB  P2.1
  319.         MOVC A,@A+DPTR
  320.         MOV  P0,A
  321.         ACALL DEL
  322.         CLR  P2.1
  323.         RET
  324. TAB:  DB   0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H   
  325. DEL:  MOV  R6,#10
  326. LOOP1:MOV  R7,#100
  327. LOOP2:DJNZ R7,LOOP2
  328.       DJNZ R6,LOOP1
  329.       RET
  330.       END
复制代码

所有资料51hei提供下载:
电子时钟(年月日).zip (50.99 KB, 下载次数: 100)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:662826 发表于 2019-12-12 21:57 | 显示全部楼层
为啥显示有错误呢
回复

使用道具 举报

ID:794357 发表于 2020-7-2 10:34 | 显示全部楼层
大佬?那个Proteus 51汇编做的数字钟,,有没有注释呀,,我理不太清楚思路。。。感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表