电子万年历c语言全教程,单片机c语言电子万年历完整程序-20210414061741.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的各数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值