1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 电子万年历c语言全教程 单片机c语言电子万年历完整程序-0414061741.docx-原创力文档...

电子万年历c语言全教程 单片机c语言电子万年历完整程序-0414061741.docx-原创力文档...

时间:2020-06-15 11:04:23

相关推荐

电子万年历c语言全教程 单片机c语言电子万年历完整程序-0414061741.docx-原创力文档...

Document number【980KGB-6898YT-769T8CB-246UT-18GG08】

Document number【980KGB-6898YT-769T8CB-246UT-18GG08】

单片机c语言电子万年历完整程序

该程序为51单片机c语言电子万年历

#include"reg52.h"

//#include

#defineucharunsignedchar

#defineuintunsignedint

sbitlcden=P3^4;

sbitlcdrs=P3^5;

sbitDATA=P0^7;

sbitRST=P0^5;

sbitSCLK=P0^6;

sbitmenu=P3^0;//菜单

sbitadd=P3^1;//加一

sbitdec=P3^7;//减一

sbitled0=P1^0;

sbitled1=P1^1;

sbitled2=P1^2;

sbitled3=P1^3;

sbitds=P3^2;

//sbitbeep=P3^3;

uinttemp;

floatf_temp;

uintwarn_l1=270;

uintwarn_l2=250;

uintwarn_h1=300;

uintwarn_h2=320;

uintget_temp();

voiddelayms(uintx);

voidwrite_com(ucharcom);

voidwrite_data(uchardate);

voidinit();

voiddis_temp(uintt);

voidWrite1302(uchardat);

voidWriteSet1302(ucharCmd,uchardat);

ucharRead1302(void);

ucharReadSet1302(ucharCmd);

voidInit_DS1302(void);

voidDisplaySecond(ucharx);

voidDisplayMinute(ucharx);

voidDisplayHour(ucharx);

voidDisplayDay(ucharx);

voidDisplayMonth(ucharx);

voidDisplayYear(ucharx);

voidDisplayWeek(ucharx);

voiddis_temp(uintt);

voidread_date(void);

voidturn_val(charnewval,ucharflag,

ucharnewaddr,uchars1num);

voidkey_scan(void);

ucharcodetable2[]="TUEWESTHUFRISATSUNMON";

ucharsecond,minute,hour,day,month,year,week,count=0;

ucharReadValue,num,time;

voiddelayms(uintx)

{

uinti,j;

for(i=x;i>0;i--)

for(j=110;j>0;j--);

}

voidwrite_com(ucharcom)

{

lcdrs=0;

P2=com;

delayms(5);

lcden=1;

delayms(5);

lcden=0;

}

voidwrite_data(uchardate)

{

lcdrs=1;

P2=date;

delayms(5);

lcden=1;

delayms(5);

lcden=0;

}

voidinit()

{

lcden=0;

write_com(0x38);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

}

/

voidWrite1302(uchardat)

{

uchari;

SCLK=0;//拉低SCLK,为脉冲上升沿写入数据做好准备

delayms(2);//稍微等待,使硬件做好准备

for(i=0;i<8;i++)//连续写8个二进制位数据

{

DATA=dat&0x01;//取出dat的第0位数据写入1302

delayms(2);//稍微等待,使硬件做好准备

SCLK=1;//上升沿写入数据

delayms(2);//稍微等待,使硬件做好准备

SCLK=0;//重新拉低SCLK,形成脉冲

dat>>=1;//将dat的各数据

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。