用单片机AT89C51做定时时钟显示并整点提示,在线等急求大神相助

2022-04-11 社会 122阅读

***********************/

#include

#define uint unsigned int

#define uchar unsigned char

sbit dula=P2^6; //数码管段选

sbit wela=P2^7; //数码管位选

sbit fm=P2^3; //蜂鸣器

sbit s2=P3^4; //s2按键,设置调时

sbit s3=P3^5; //s3按键,加1

sbit s4=P3^6; //s4按键,减1

sbit s5=P3^7; //s5按键,切换显示

sbit led1=P1^0;

sbit led2=P1^1;

sbit led3=P1^2;

sbit led4=P1^3;

//sbit led5=P1^4;

//sbit led6=P1^5;

//sbit led7=P1^6;

//sbit led8=P1^7;

uchar count;

char sec,minu,hour,day,week,mon;

uchar n_sec,n_minu,n_hour; 

uint year;

uchar hs,hg,mis,mig,ss,sg,set_2=0,set_5=1;

uchar nhs,nhg,nms,nmg,nss=0,nsg=0;

uchar ms,mg,ds,dg,w;

uchar nian1,nian2,nian3,nian4;

uchar code tableyi[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71,0x40};//0-F,-,共阴

uchar table1[]={31,31,29,31,30,31,30,31,31,30,31,30,31}; //闰年

uchar table2[]={31,31,28,31,30,31,30,31,31,30,31,30,31}; //非闰年

void delay(uint); //延时函数

void timer0(); //走时中断函数

void jishi(); //计时函数

void key_change(); //切换显示按键函数

void key_set(); //设置时间按键函数

void disp(uchar,uchar,uchar,uchar,uchar,uchar); //显示函数

void zd_clock(); //整点报时函数

void nz_clock(); //闹钟函数

uchar incone(uchar); //加1函数

uchar decone(uchar); //减1函数

void set_time(); //设置时间函数

void set_clock(); //设置闹钟函数

void set_mdw(); //设置月日星期函数

*****************************************************

ReadTemperature(void)

{

unsigned char a=0;

unsigned char b=0;

unsigned int t=0;

float tt=0;

Init_DS18B20();

WriteOneChar(0xCC); 

WriteOneChar(0x44); 

Init_DS18B20();

WriteOneChar(0xCC); 

WriteOneChar(0xBE);

a=ReadOneChar();

b=ReadOneChar();

t=b;

t

t=t|a;

tt=t*0.0625;

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com