基于单片机数码管电子时钟设计-毕设资料
1479下载地址 https://docs.qq.com/doc/DWEpnR2pOWU91b3p4?pub=1&dver=2.1.0
#include<reg52.h>
#include<intrins.h>
#include<absacc.h>
sbit kgnxz=P3^0; //功能选择键,按一次设定时间,按两次设定闹钟时间,按三次又显示时间表
sbit ksec=P3^1;//调整秒
sbit kmin=P3^2;//调整分
sbit khour=P3^3;//调整时
sbit kzh=P3^4;//24与12小时制转换
sbit bear=P1^0;//蜂鸣器控制口
unsigned char secshi=0,secge=0,minshi=0,minge=0,hourshi=0,hourge=0,flag=0,//flag是按键的计数
secshi1=0,secge1=0,minshi1=0,minge1=0,hourshi1=0,hourge1=0;//定义存储时间和闹钟时分秒的个位和十位
unsigned int num=0,sec=0,min=0,hour=0,sec1=30,min1=0,hour1=1, num1=0;//定义时间和闹钟的时分秒
unsigned char code table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数码管段控口
void keyscan();//键盘扫描函数
void display();//时钟显示函数
void display1();//闹钟显示函数
void clock();//闹钟函数即蜂鸣器函数
/***延时函数****/
void delay(unsigned char z)
{unsigned char x,y;
for(x=z;x>0;x--)
for(y=255;y>0;y--);
}
/***中断函数****/
void time0() interrupt 1
{num++;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(num==20)