欢迎来到天天文库
浏览记录
ID:40819504
大小:65.49 KB
页数:5页
时间:2019-08-08
《单片机液晶时钟及仿真图》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、/********************************************功能说明:液晶时钟接线说明:P0控制DataI/O,P1^0控制时分秒调整,P1^1、P1^2控制时间增减,P2^6、P2^5、P2^7控制RS、RW、E作者:合工大LS*********************************************/#include#defineucharunsignedchar#defineuintunsignedintcharsecond,min=
2、14,hour=13;uchartemp1,temp2,count,flag,i,j,move;uchartable1[]={"Iloveyou!"};uchartable2[]={"13:14:00"};//sbitrs=P2^0;//sbitrw=P2^1;//sbiten=P2^2;sbitrs=P2^6;sbitrw=P2^5;sbiten=P2^7;sbitmod=P1^0;sbitinc=P1^1;sbitdec=P1^2;//-----------延时函数-----------------
3、-//voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}//------------行控制---------------------//voidwrite_com(ucharline){rs=0;rw=0;en=1;//P3=line;P0=line;delay(1);en=0;}//------------数据控制------------------//voidwrite_date(ucharDate){rs=1;rw=0;en=
4、1;//P3=Date;P0=Date;delay(1);en=0;}//------------------------------//voiddisplay(ucharaddr,chartempx){temp1=tempx/10;write_com(0xc0+addr);write_date(0x30+temp1);//0x30'0'的字符码temp2=tempx%10;write_com(0xc0+addr+1);write_date(0x30+temp2);}//-----------初始化--
5、------------//voidinitial(){TMOD=0x01;//16位定时模式TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;//开CPU中断ET0=1;//开定时器T0中断TR0=1;//开定时器write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口//write_com(0x0e);//开显示write_com(0x0c);//显示开,关光标write_com(0xc0);//第二行首址for(j=0;j<16
6、;j++){write_date(table2[j]);}}voidmain(){initial();while(1){write_com(0x80+move);for(i=0;i<16;i++){write_date(table1[i]);}display(4,hour);display(7,min);display(10,second);if(move<15)move++;elsemove=0;delay(500);}}//---------------中断---------------------
7、-//voidtimer0()interrupt1{count++;if(count==20){count=0;second++;if(second==60){min++;second=0;if(min==60){hour++;min=0;if(hour==24){hour=0;min=0;second=0;}}}}TH0=(65536-50000)/256;TL0=(65536-50000)%256;if(flag==0){if(inc==0){delay(5);if(inc==0){hour++;i
8、f(hour==24)hour=0;}while(inc==0);}if(dec==0){delay(5);if(dec==0){hour--;if(hour<0)hour=23;}while(dec==0);}}if(flag==1){if(inc==0){delay(5);if(inc==0){min++;if(min==60)min=0;}}while(inc==0);if(dec==0){delay(5);if(dec==0){mi
此文档下载收益归作者所有