时钟模块ds1302的使用_ds1302时钟芯片介绍

时钟模块ds1302的使用_ds1302时钟芯片介绍51单片机电子钟(整点报时,6数码管,独立按键)#include “reg51.h”#define uchar unsigned char#define uint unsigned intsbit k1=P

51单片机电子钟(整点报时,6数码管,独立按键)   
时钟模块ds1302的使用_ds1302时钟芯片介绍
时钟模块ds1302的使用_ds1302时钟芯片介绍
时钟模块ds1302的使用_ds1302时钟芯片介绍
时钟模块ds1302的使用_ds1302时钟芯片介绍   #include “reg51.h”   #define uchar unsigned char   #define uint unsigned int   sbit k1=P1^0;//按钮   sbit k2=P1^1;   sbit k3=P1^2;   sbit beep=P3^7;//蜂鸣器   sbit smg1=P2^0;   sbit smg2=P2^1;   sbit smg3=P2^2;   sbit smg4=P2^3;   sbit smg5=P2^4;   sbit smg6=P2^5;   uchar code smgduan0[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示0~9,无小数点   uchar code smgduan1[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//显示0~9,有小数点   uchar time=0,mode=3;//系统变量   uchar miao=0,fen=0,shi=12;   //延时   void delay(uint i)   {   while(i–);   }   //主函数   void main()   {   uchar k=0;   TMOD|=0X01;   TH0=0X3C;   TL0=0XB0;   ET0=1;//打开定时器0中断允许   EA=1;//打开总中断   TR0=1;//打开定时器   while(1)   {   //按键检测   if(!k1 &&(k!=1))//时分   {   k=1;   if(mode<2)   mode++;   else   mode=0;   }   if(!k2 &&(k!=2))//加   {   k=2;   if(mode==1)   {   if(shi<23)   shi++;   else   shi=0;   }   if(mode==2)   {   if(fen<59)   fen++;   else   fen=0;   }   }   if(k1 && k2)   k=0;   if(!k3)   {   shi=12;   fen=0;   miao=0;   mode=0;   }   //显示   if(mode==0)   {   P0=smgduan0[shi/10];smg1=0;delay(100);smg1=1;   P0=smgduan1[shi%10];smg2=0;delay(100);smg2=1;   P0=smgduan0[fen/10];smg3=0;delay(100);smg3=1;   P0=smgduan1[fen%10];smg4=0;delay(100);smg4=1;   P0=smgduan0[miao/10];smg5=0;delay(100);smg5=1;   P0=smgduan0[miao%10];smg6=0;delay(100);smg6=1;   }   if(mode==1)   {   if(time<11)   {   P0=smgduan0[shi/10];smg1=0;delay(100);smg1=1;   P0=smgduan1[shi%10];smg2=0;delay(100);smg2=1;   }   P0=smgduan0[fen/10];smg3=0;delay(100);smg3=1;   P0=smgduan1[fen%10];smg4=0;delay(100);smg4=1;   P0=smgduan0[miao/10];smg5=0;delay(100);smg5=1;   P0=smgduan0[miao%10];smg6=0;delay(100);smg6=1;   }   if(mode==2)   {   P0=smgduan0[shi/10];smg1=0;delay(100);smg1=1;   P0=smgduan1[shi%10];smg2=0;delay(100);smg2=1;   if(time<11)   {   P0=smgduan0[fen/10];smg3=0;delay(100);smg3=1;   P0=smgduan1[fen%10];smg4=0;delay(100);smg4=1;   }   P0=smgduan0[miao/10];smg5=0;delay(100);smg5=1;   P0=smgduan0[miao%10];smg6=0;delay(100);smg6=1;   }   //整点   if(mode<3)   {   if((fen==0)&&(miao<10))   beep=0;   else   beep=1;   }   }   }   //定时器中断   void Timer0() interrupt 1   {   if(time<20)//1s   time++;   else   {   time=0;   if(miao<59)   miao++;   else   {   miao=0;   if(fen<59)   fen++;   else   {   fen=0;   if(shi<23)   shi++;   else   shi=0;   }   }   }   TH0=0X3C;   TL0=0XB0;   }

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/55384.html

(0)
上一篇 2024年 9月 1日 上午9:16
下一篇 2024年 9月 1日 上午9:20

相关推荐

关注微信