找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4154|回复: 3
收起左侧

单片机数字时钟制作,原理图,PCB图,实物图,源代码

[复制链接]
ID:252889 发表于 2017-11-23 23:20 | 显示全部楼层 |阅读模式
这是我做的基于单片机的数字时钟课程设计用AD10画的原理图 PCB图
实物,代码都是原创
在附件中,请大家多多指教。

制作出来的实物图:
1.003.jpg 1.002.jpg 1.001.jpg

单片机源程序如下:
  1. #include <reg52.h>
  2. sbit k0=P1^0;
  3. sbit k1=P1^1;
  4. sbit k2=P1^2;
  5. unsigned char second,minute,hour,i,k,l,j,x,y;
  6. unsigned int n;
  7. unsigned char code mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  8. 0x7f,0x6f};
  9. timer0(void) interrupt 1
  10. {
  11. n++;
  12. TH0=0x3c;
  13. TL0=0xb0;
  14. }
  15. void delay()
  16. { unsigned int time,p;
  17.   for(time=30;time>0;time--)
  18.   for(p=0;p<10;p++);
  19. }
  20. void xianshi()
  21. {
  22. if(n==20)
  23. {
  24.   n=0;
  25.   second++;
  26.   while(second==60)
  27.   { second=0;
  28.     minute++;
  29.               if(minute==60)
  30.               {minute=0;
  31.               hour++;
  32.               if(hour==24)
  33.               {
  34.                 hour=0;
  35.                 }}}}
  36. x=hour%10;
  37. y=hour/10;
  38. l=minute%10;
  39. j=minute/10;
  40. i=second%10;
  41. k=second/10;P0=0x00;
  42. P2=0x01;
  43. P0=mod[i];
  44. delay();P0=0x00;
  45. P2=0x02;
  46. P0=mod[k];
  47. delay();P0=0x00;
  48. P2=0x04;
  49. P0=0x40;
  50. delay();P0=0x00;
  51. P2=0x08;
  52. P0=mod[l];
  53. delay();P0=0x00;
  54. P2=0x10;
  55. P0=mod[j];
  56. delay();P0=0x00;
  57. P2=0x20;
  58. P0=0x40;
  59. delay();P0=0x00;
  60. P2=0x40;
  61. P0=mod[x];
  62. delay();P0=0x00;
  63. P2=0x80;
  64. P0=mod[y];
  65. delay();P0=0x00;
  66. }
  67. void kongzhi()
  68. {if(k0==0)
  69. {TR0=0;
  70.   while(k0==0) xianshi();
  71.   delay();
  72.   while(k0==1)
  73.   {if(k1==0)
  74.    {minute++;
  75.     while(minute==60)
  76.               {minute=0;
  77.               }}
  78.    while(k1==0) xianshi();
  79.    if(k2==0)
  80.    {minute--;
  81.     while(minute==-1)
  82.               {minute=59;
  83.               }}
  84.               while(k2==0) xianshi();
  85.               xianshi();
  86.               }   
  87.     if(k0==0)
  88.               {TR0=0;
  89.               while(k0==0) xianshi();
  90.               delay();
  91.               while(k0==1)
  92.               {if(k1==0)
  93.                 {hour++;
  94.                  while(hour==24)
  95.                  {hour=0;
  96.                  }}
  97.                 while(k1==0) xianshi();
  98.                 if(k2==0)
  99.                 {hour--;
  100.                  while(hour==-1)
  101.                  {hour=23;
  102.                  }}
  103.                  while(k2==0) xianshi();
  104.                  xianshi();
  105.                  }
  106.                             if(k0==0)
  107.                             {while(k0==0) xianshi();
  108.                             TR0=1;
  109. ……………………

  110. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
基于STC89C52的数字时钟设计.docx (846.16 KB, 下载次数: 25)
回复

使用道具 举报

ID:74992 发表于 2017-11-24 12:46 | 显示全部楼层
没有用时钟芯片吧,这个走时准不准?
回复

使用道具 举报

ID:253065 发表于 2017-11-24 15:02 | 显示全部楼层
学习一下
回复

使用道具 举报

ID:420652 发表于 2018-11-20 00:47 | 显示全部楼层
怎么就这样文档啊,没有原理图和PCB的文件吗

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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