1602液晶电子时钟程序51单片机.doc:..1602液晶电子时钟程序[日期:2009-06-11][作者:佚名][字体:大中小](投递新闻)连线图:;DB0—— ;DB1——- -;DB2—— ;DB3——*include”“〃头文件#include""#defineucharunsignedchar//宏定义#defineuintunsignedint〃宏定义sbitRS二Pl人2;//定义I/O的硬件接口sbitRW=PlA3;sbitE=P1A4;sbitled_l=PlA7;//;;;LED秒闪烁ucharHours=0;//定义小时ucharMinutes=0;//定义分钟ucharSeconds=0;〃定义秒bitSeconds_Scintillation=l;//定义秒闪烁标志#defineDPDRP()〃并行数据接口定义ucharcodeDispTab_l[]={'0',T,2,'3',4,'5;'6',7,8,9};//1602:0-9数字ucharcodeDispTab_2[]=rA',B,C,D,E,'aTb','c','d;0};〃16O2:A-e字母ucharDispBuff8];//8字节的显示缓冲区charchar_char_l[]={"wvvw."};〃定义字符串charchar_char_2[]={Hn};//定义空字符串voiddelay(uintz)//lms延时{ucharx,x1;for(;z>0;z-){for(x=0;x<l14;x++)for(xl=0;xl<l;xl++);voidTimerO()interrupt1{staticucharCount_50;//uchartemp;TH0=0xb7;TLO=Oxff;//定时时间为20ms,每20ms中断一次Count_50++;if(Count_50==50)//20ms*50=1秒{Seconds_Scintillation=-Seconds_Scintillation;ledl=〜led1;Count_50=0;Seconds++;if(Seconds==60){Seconds=0;Minutes++;if(Minutes==60){Minutes=O;Hours++;if(Hours==24){Hours=0;}}}1if(Seconds_Scintillation==1)〃秒闪烁标志判断DispBuf[6J-elseDispBufT6]=*DispBuf[0]=Hours/10;//转换成10进制显示DispBuf[l]=Hours%10;DispBuf[2]=Minutes/10;DispBufT31=Minutes%10;DispBuf[4]=Seconds/10;DispBuf[5]=Seconds%10;temp=DispBufTO];DispBuf[O]=DispTab_l[temp];//查表取字符temp=DispBuf[l];DispBuf[
1602液晶电子时钟程序51单片机 来自淘豆网www.taodocs.com转载请标明出处.