1602液晶显示+计数器倒计时完整程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

/********************AT89C52实验开发板例程************************1602液晶显示+计数器倒计时晶振:11.0592MHZ*****************************************************************/#includereg52.h#includeintrins.hsbitLCD_RS=P2^4;sbitLCD_RW=P2^3;sbitLCD_EN=P2^2;unsignedchartt,miao,fen,shi;unsignedchara[]=QQ:287712876;charb[]=00:00:00;/****************************************************************//**//*延时子程序*//**//****************************************************************/voiddelay(intms){inti;while(ms--){for(i=0;i250;i++){_nop_();_nop_();_nop_();_nop_();}}}delay1(unsignedintz){unsignedcharx,y;for(x=z;x0;x--)for(y=110;y0;y--);}/*检查LCD忙状态*//*lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。*//**//****************************************************************/bitlcd_busy(){bitresult;LCD_RS=0;LCD_RW=1;LCD_EN=1;_nop_();_nop_();_nop_();_nop_();result=(bit)(P1&0x80);LCD_EN=0;returnresult;}/****************************************************************//**//*写指令数据到LCD*//*RS=L,RW=L,E=高脉冲,D0-D7=指令码。*//**//****************************************************************/voidwrite_com(unsignedcharcom){while(lcd_busy());LCD_RS=0;LCD_RW=0;LCD_EN=0;_nop_();_nop_();P1=com;_nop_();_nop_();_nop_();_nop_();LCD_EN=1;_nop_();_nop_();_nop_();_nop_();LCD_EN=0;}/****************************************************************//**//*写显示数据到LCD*//*RS=H,RW=L,E=高脉冲,D0-D7=数据。*//**//****************************************************************/voidwrite_date(unsignedchardate){while(lcd_busy());LCD_RS=1;LCD_RW=0;LCD_EN=0;P1=date;_nop_();_nop_();_nop_();_nop_();LCD_EN=1;_nop_();_nop_();_nop_();_nop_();LCD_EN=0;}/****************************************************************/voidwrite_sfm(unsignedcharadd,unsignedchardate){unsignedcharshi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);}/****************************************************************//**//*LCD初始化设定*//**//****************************************************************/voidinit(){unsignedinti;write_com(0x38);//16*2显示,5*7点阵,8位数据delay(5);write_com(0x38);delay(5);write_com(0x38);delay(5);write_com(0x0c);//显示开,关光标delay(5);write_com(0x06);//移动光标delay(5);write_com(0x01);//清除LCD的显示内容delay(5);write_com(0x80);for(i=0;i16;i++){write_date(a[i]);delay1(5);}write_com(0x80+0x40);for(i=0;i12;i++){write_date(b[i]);delay1(5);}TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}voidmain(){//unsignedchari;init();while(1){if(tt==20){tt=0;miao++;if(miao==60){miao=0;fen++;if(fen==60){fen=0;shi++;if(shi==24){shi=0;}write_sfm(4,shi);}write_sfm(7,fen);}write_sfm(10,miao);}}}voidtimer0()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;tt++;}/****************************************************************/

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功