{
lcdrs=1; lcdrw=0; lcden=0; P0=date; lcden=1; delay(5); lcden=0; }
void init() //lcd初始化 {
lcden=0;
write_com(0x38); //lcd液晶 显示模式设置
write_com(0x0c); //lcd液晶 开显示 关光标 关闪烁
write_com(0x06); //读一个字节 光标指针加一 不整屏移动 write_com(0x01); //清屏
write_com(0x80); //设置数据指针 }
void display(uchar aa,uchar bb,uchar cc,uchar dd,uchar ee,uchar ff) //温度显示部分 {
write_com(0x80+10); //温度显示部分 write_date(aa);
write_date(0x30+bb); write_date(0x30+cc); write_date(dd);
write_date(0x30+ee); write_date(ff); }
/********************键盘输入部分*********************/ void keyscan() {
uchar mm,ff,ss,rr,yy,nn; if(s0==0) {
delay_1ms(5); if(s0==0) {
flag=1; //当flag=0时才更新始终数据显示 否则禁止更新显示
s0num++; //计算时间设置按键的次数 当为8时则退出设置状态 进入正常显示
flag1=0; while(!s0); if(s0num==1) {
write_com(0x80+0x40+11); write_com(0x0f);
} }
if(s0num==2) {
write_com(0x80+0x40+7); }
if(s0num==3) {
write_com(0x80+0x40+4); }
if(s0num==4) {
write_com(0x80+0x40+1); }
if(s0num==5) {
write_com(0x80+9); }
if(s0num==6) {
write_com(0x80+6); }
if(s0num==7) {
write_com(0x80+3); }
if(s0num==8) {
s0num=0;
write_com(0x0c); flag=0;
write_ds(0x8e,0x00);
write_ds(0x80,miao); //写秒 write_ds(0x82,fen); //写分 write_ds(0x84,shi); //写时 write_ds(0x86,ri); //写日 write_ds(0x88,yue); //写月
write_ds(0x8a,xinqi); //写星期 write_ds(0x8c,nian); //写年 write_ds(0x8e,0x80); } }
if(s0num!=0) {
/********************加时钟按键程序*********************/ if(s2==0)
{
delay_1ms(5); if(s2==0) {
while(!s2); if(s0num==1) {
xinqi++; if(xinqi==8) xinqi=0;
write_xinqi(11,xinqi); write_com(0x80+0x40+11); }
if(s0num==2) {
mm=miao/16; miao=miao; miao=miao+mm*10; miao++;
if(miao==60) miao=0; mm=miao/10; mm=mm*16; miao=miao; miao=mm+miao;
write_sfm(0x40+6,miao); write_com(0x80+0x40+7); }
if(s0num==3) {
ff=fen/16; fen=fen; fen=fen+ff*10; fen++;
if(fen==60) fen=0; ff=fen/10; ff=ff*16; fen=fen; fen=ff+fen;
write_sfm(0x40+3,fen); write_com(0x80+0x40+4); }
if(s0num==4) {
ss=shi/16;
shi=shi; shi=shi+ss*10; shi++;
if(shi==24) shi=0; ss=shi/10; ss=ss*16; shi=shi; shi=ss+shi;
write_sfm(0x40+0,shi); write_com(0x80+0x40+1); }
if(s0num==5) {
rr=ri/16; ri=ri; ri=ri+rr*10; ri++;
if(ri==32) ri=0; rr=ri/10; rr=rr*16; ri=ri; ri=rr+ri;
write_sfm(8,ri); write_com(0x80+9); }
if(s0num==6) {
yy=yue/16; yue=yue; yue=yue+yy*10; yue++;
if(yue==13) yue=0; yy=yue/10; yy=yy*16; yue=yue; yue=yy+yue;
write_sfm(5,yue); write_com(0x80+6); }
if(s0num==7) {
nn=nian/16; nian=nian; nian=nian+nn*10;
nian++;
if(nian==99) nian=0; nn=nian/10; nn=nn*16; nian=nian; nian=nn+nian;
write_year(0,nian); write_com(0x80+3); }
} }
/********************减时钟按键程序*********************/ if(s3==0) {
delay_1ms(5); if(s3==0) {
while(!s3); if(s0num==1) {
xinqi--; if(xinqi==0) xinqi=7;
write_xinqi(11,xinqi); write_com(0x80+0x40+11); }
if(s0num==2) {
mm=miao/16; miao=miao; miao=miao+mm*10; miao--; if(miao==0) miao=59; mm=miao/10; mm=mm*16; miao=miao; miao=mm+miao;
write_sfm(0x40+6,miao); write_com(0x80+0x40+7); }
if(s0num==3) {
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库基于51单片机的万年历 - 图文(6)在线全文阅读。
相关推荐: