其他分享
首页 > 其他分享> > 592【毕设课设】基于51单片机的简易电子钟加闹钟设计

592【毕设课设】基于51单片机的简易电子钟加闹钟设计

作者:互联网

【资源下载】下载地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

基于51单片机的电子时钟的设计,从硬件和软件两个方面给出了具体实现过程。该时钟的设计采用功能分块的思想方法,将硬件电路划分为开关电路,显示驱动电路和数码管电路等若干独立模块,而软件的实现则由闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等组成。

文中给出了各个模块的电路图,并用Proteus的ISIS软件对电子时钟系统的各个功能进行了仿真,并给出了相应的仿真结果图像

uchar   hour=0,  minute=0,flag=0;
void display(uint ge,uint shi,uint fg,uint fs,uint xg,uint xs);
void fm();
uchar code wm[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar code dm[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
sbit ke1=P0^4;	// 正常调时
sbit ke2=P0^5;	 //正常调分
sbit ke4=P0^7;	  //正常调星期(也可不接)
sbit k3=P0^6;//闹钟调时
sbit k5=P0^3; // 闹钟调分
sbit k6=P0^2;//切换闹钟模式
void delay(uint s)
{       
     uint x,y;
     for(x=s;x>0;x--)
     for(y=110;y>0;y--);
 }
void timer()interrupt 1
{
     TH0=(65536-50000)/256;
     TL0=(65536-50000)%256;
     a++;
 }
void key()
{
    P0=0xfe;
		delay(10);
    if(ke1==0)
    {       
        k++;
        if(k==24)
           k=0;
     while(!ke1);

          }
    if(ke2==0)

  

标签:P0,592,课设,void,程序,电子钟,uint,闹钟,sbit
来源: https://www.cnblogs.com/ythero/p/14082340.html