资源描述:
《电子时钟课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、电子时钟课程设计#include#defineucharunsignedchar#defineuintunsignedintucharnum,num1,num2,num4,num5;ucharcodetable[]="2013-06-21FRI";ucharcodetable1[]="WS23:59:55";ucharcodetable2[]="Mynameis";ucharcodetable3[]="WuShuai";uintcount,t;uintsec,min,hou,day,mon,year,rest=5;uchartemp;uchar
2、flag;ucharkey_num,key_num1;sbitRW=P2^5;sbitRS=P2^6;sbitLCDE=P2^7;sbitKEY1=P1^0;sbitKEY2=P1^1;sbitKEY3=P1^2;sbitKEY4=P1^3;sbitKEY8=P1^7;voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=121;y>0;y--);}/************************************************//**********************写指令************
3、********//************************************************/voidwrite_com(ucharcom)//写指令{RS=0;RW=0;LCDE=0;P0=com;delay(5);LCDE=1;delay(5);LCDE=0;}/************************************************//**********************写数据********************//*****************************************
4、*******/voidwrite_date(uchardate)//写数据{RS=1;RW=0;LCDE=0;P0=date;delay(5);LCDE=1;delay(5);LCDE=0;}/************************************************//****************LCD初始化函数*******************//************************************************/voidinit_lcd1602(){write_com(0x38);//设置16X
5、2显示,8位数据口write_com(0x08);//设置关显示write_com(0x0c);//设置开显示,不显示光标write_com(0x06);//写一个字符后地址指针加1write_com(0x01);//显示清屏,数据指针清0write_com(0x80);for(num=0;num<15;num++){write_date(table2[num]);delay(5);}write_com(0x80+0x40);for(num1=0;num1<14;num1++){write_date(table3[num1]);delay(5);}delay(5
6、00);write_com(0x01);}/************************************************//*********************闰年判断*******************//************************************************/ucharrunnian(){ucharnum2;if((year%4==0&&year%100!=0)
7、
8、year%400==0)//闰年的条件{num2=1;}elsenum2=0;returnnum2;}/***********
9、*************************************//************************年**********************//************************************************/voidw_year(ucharm,uintn)//年归位{ucharqian,bai,shi,ge;qian=n/1000;bai=n/100%10;shi=n%100/10;ge=n%1000%100%10;write_com(0x80+m);write_date(0x30+qian);/
10、/0x30将数字0-9转