找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2835|回复: 3
打印 上一主题 下一主题
收起左侧

基于8段Led显示器和DS1302的时钟单片机源程序+Proteus仿真

[复制链接]
跳转到指定楼层
楼主
使用51单片机,ds1302 和 8段LED显示屏制作的电子时钟,利用proteus制作的过程,代码和工程文件全在。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. #include <REGX52.H>
  2. #include <1302.h>

  3. #define ge P2
  4. #define shi P0

  5. bit s_flag,flag;

  6. unsigned char x,s;

  7. unsigned char code table[]={
  8. 0x3f,0x06,0x5b,0x4f,0x66,
  9. 0x6d,0x7d,0x07,0x7f,0x6f,0xbf};

  10. void delayms(unsigned char xms)   
  11. {
  12.     unsigned char a,b,c;
  13.     for(c=xms;c>0;c--)
  14.         for(b=142;b>0;b--)
  15.             for(a=2;a>0;a--);
  16. }

  17. void wei(unsigned char add)
  18. {
  19.         switch(add)
  20.         {
  21.                 case 1:
  22.                         P2=0x01;
  23.                         break;
  24.                 case 2:
  25.                         P2=0x02;
  26.                         break;
  27.                 case 3:
  28.                         P2=0x04;
  29.                         break;
  30.                 case 4:
  31.                         P2=0x08;
  32.                         break;
  33.                 case 5:
  34.                         P2=0x10;
  35.                         break;
  36.                 case 6:
  37.                         P2=0x20;
  38.                         break;
  39.                 case 7:
  40.                         P2=0x40;
  41.                         break;
  42.                 case 8:
  43.                         P2=0x80;
  44.                         break;
  45.         }
  46. }

  47. void display()
  48. {
  49.         P0=~table[hr/16];
  50.         wei(1);
  51.         delayms(2);
  52.         P0=0xFF;
  53.         P0=~table[hr%16];
  54.         wei(2);
  55.         delayms(2);
  56.         if(flag==0)
  57.         {
  58.                 P0=0xFF;
  59.                 P0=table[10];
  60.                 wei(3);
  61.                 delayms(2);
  62.         }
  63.         P0=0xFF;
  64.         P0=~table[min/16];
  65.         wei(4);
  66.         delayms(2);
  67.         P0=0xFF;
  68.         P0=~table[min%16];
  69.         wei(5);
  70.         delayms(2);
  71.         if(flag==0)
  72.         {
  73.                 P0=0xFF;
  74.                 P0=table[10];
  75.                 wei(6);
  76.                 delayms(2);
  77.         }
  78.         P0=0xFF;
  79.         P0=~table[sec/16];
  80.         wei(7);
  81.         delayms(2);
  82.         P0=0xFF;
  83.         P0=~table[sec%16];
  84.         wei(8);
  85.         delayms(2);
  86.         P0=0xFF;
  87. }

  88. void T_init()
  89. {
  90.         TMOD = 0x01;
  91.     TH0 = 0x3C;
  92.     TL0 = 0x0B0;
  93.     EA = 1;
  94.     ET0 = 1;
  95.     TR0 = 1;
  96.         EX0=1;
  97.         IT0=1;
  98. }

  99. void main()
  100. {
  101.         T_init();
  102.         P2=0x00;
  103.         while(1)
  104.         {
  105.                 if(s_flag==0)
  106.                         readtime();
  107.                         display();
  108.         }
  109. }

  110. void T0_IN(void) interrupt 0
  111. {
  112.         unsigned char temp,a,b;
  113.         temp=P3;
  114.         switch(temp)
  115.         {
  116.                 case 0x7b:
  117.                         write1302(0x84,hr);
  118.                         write1302(0x82,min);
  119.                         s_flag=0;
  120.                         break;
  121.                 case 0xbb:
  122.                         s_flag=1;
  123.                         a=min/16;b=min%16;
  124.                         b++;if(b==10){b=0;a++;}
  125.                         if((a*10+b)==60){a=0;b=0;}
  126.                         min=a*16+b;
  127. ……………………

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

所有资料51hei提供下载:
用DS1302与数码管设计的可调电子钟.rar (58.34 KB, 下载次数: 80)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:243394 发表于 2019-7-12 18:33 | 只看该作者
谢谢分享
回复

使用道具 举报

板凳
ID:590427 发表于 2019-7-25 21:45 来自手机 | 只看该作者
需不需要接线
回复

使用道具 举报

地板
ID:659524 发表于 2019-12-11 09:37 来自手机 | 只看该作者
求资料2567074960@qq.com
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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