电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

单片机lcd1602液晶屏电子时钟C程序VIP免费

单片机lcd1602液晶屏电子时钟C程序_第1页
1/7
单片机lcd1602液晶屏电子时钟C程序_第2页
2/7
单片机lcd1602液晶屏电子时钟C程序_第3页
3/7
/*********************************************************************文件名:液晶1602显示.c*描述:该程序实现了对液晶1602的控制。*创建人:东流,2009年4月10日*版本号:2.0***********************************************************************/#include#defineucharunsignedchar#defineuintunsignedintuintcount,t;intshi=1,fen=11,miao=22,nian=12,yue=7,ri=1;ucharshijian[16]={"time00-00-00t"},shijian1[16]={"date00-00-00"};//这三个引脚参考资料sbitE=P2^7;//1602使能引脚sbitRW=P2^6;//1602读写引脚sbitRS=P2^5;//1602数据/命令选择引脚sbitLE=P3^7;sbitkey1=P3^2;//小时修改建sbitkey2=P3^3;//分钟修改键sbitkey3=P3^4;//显示选择键/*********************************************************************名称:delay()*功能:延时,延时时间大概为5US。*输入:无*输出:无***********************************************************************/voiddelay(){uintn=250;while(n--);}/*********************************************************************名称:bitBusy(void)*功能:这个是一个读状态函数,读出函数是否处在忙状态*输入:输入的命令值*输出:无***********************************************************************/bitBusy(void){bitbusy_flag=0;RS=0;RW=1;E=1;delay();busy_flag=(bit)(P0&0x80);E=0;returnbusy_flag;}/*********************************************************************名称:wcmd(uchardel)*功能:1602命令函数*输入:输入的命令值*输出:无***********************************************************************/voidwcmd(uchardel){while(Busy());RS=0;RW=0;E=0;delay();P0=del;delay();E=1;delay();E=0;}/*********************************************************************名称:wdata(uchardel)*功能:1602写数据函数*输入:需要写入1602的数据*输出:无***********************************************************************/voidwdata(uchardel){while(Busy());RS=1;RW=0;E=0;delay();P0=del;delay();E=1;delay();E=0;}/*********************************************************************名称:L1602_init()*功能:1602初始化,请参考1602的资料*输入:无*输出:无***********************************************************************/voidL1602_init(void){wcmd(0x38);wcmd(0x0c);wcmd(0x06);wcmd(0x01);}voidtimeInit(){TMOD=0X01;//定义定时器1工作方式16位定时c/t选为定时器GATE选TR1控制TL0=(65536-10000)%256;TH0=(65536-10000)/256;TR0=1;EA=1;ET0=1;}voidtimeint()interrupt1{TL0=(65536-10000)%256;TH0=(65536-10000)/256;count++;}/****************************时间日期设定*************************/voidshijianxian(){if(count>=100){miao++;count=0;}if(miao>=60){fen++;miao=0;}if(fen>=60){shi++;fen=0;}if(shi>=24){ri++;shi=0;}if(ri>30){yue++;ri=1;}if(yue>12){nian++;;yue=1;}if(nian==99){nian=0;}if((key1==0)&((t%6)==0)){delay();if((key1==0)&((t%6)==0)){shi++;if(shi>23)shi=0;}delay();}if((key3==0)&((t%6)==0)){delay();if((key3==0)&((t%6)==0)){shi--;if(shi<0)shi=23;}}if((key1==0)&((t%6)==1)){delay();if((key1==0)&((t%6)==1)){fen++;if(fen>59)fen=0;}delay();}if((key3==0)&((t%6)==1)){delay();if((key3==0)&((t%6)==1)){fen--;if(fen<0)fen=59;}delay();}if((key1==0)&((t%6)==2)){delay();if((key1==0)&((t%6)==2))yue++;delay();}if((key1==0)&((t%6)==3)){delay();if((key1==0)&((t%6)==3))ri++;delay();}}/**********************************时间显示*******************************/voidshijianxian1(){shijian[6]=shi/10+48;shijian[7]=shi%10+48;shijian[9]=fen/10+48;shijian[10]=fen%10+48;shijian[12]=miao/10+48;shijian[13]=miao%10+48;shijian[8]=45;shijian[11]=45;shijian[15]=t+48;}/**********************************日期显示*******************************/voidriqi(){shijian1[6]=nian/10+48;shijian1[7]=nian%10+48;shijian1[9]=yue/10+48;shijian1[10]=yue%10+48;shijian1[12]=ri/10+48;shijian1[13]=ri%10+48;shijian1[8]=45;shijian1[11]=45;}/*********************************************************************名称:Main()*功能:主函数*输入:无*输出:无***********************************************************************/voidMain(){uinti;L1602_init();timeInit();while(1){shijianxian();shijianxian1();if(key2==0){delay();if((key2==0))t++;if(t>=6)t=0;delay();}riqi();for(i=0;i<16;i++){wcmd(0xc0+i);wdata(shijian[i]);wcmd(0x80+i);wdata(shijian1[i]);}}}

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

单片机lcd1602液晶屏电子时钟C程序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部