·上一文章:华邦W78E516B单片机在线编程原理与设计
·下一文章:个人电脑过热告警器原理与设计
LCMl602的驱动程序如下,可移植。#define LCM1602_DB0_DB7 PO //定义LCM1602的数据总线sbit LCM1602_RS=P2^6; //定义LCMl602的RS控制线sbit LCM1602_RW=P2^5; //定义LCM1602的RW控制线sbit LCM1602_E=P2^4; //定义LCM1602的E控制线sbit LCM1602_Busy =P0^7;//定义LCM1602的测忙线unsigned char code PCF8563[]={"PCF8563"};void LCM1602_Delay(unsigned char count){unsigned char I;while(--count!=0){for(I=0 ;I<125;I++);}}void LCM1602_TestBusy(void){do {LCM1602_DB0_DB7=0xff;LCM1602_RS=0;LCM1602_RW=1;LCM1602_E=0;LCM1602_Delay(2);LCM1602_E=1;}while(LCM1602_Busy);} void LCM1602_WriteCMD (unsigned char LCM1602_command){LCM1602_DB0_DB7=LCM1602_command;LCM1602_RS=0;LCM1602_RW=0;LCM1602_E=0;LCM1602_TestBusy();LCM1602_E=1;} void LCM1602_WritEDAta (unsigned char LCM1602 data){ LCM1602_DB0_DB7=LCM1602_data; LCMl602_RS=1; LCM1602_RW=0; LCM1602_E=0; LCM1602_TestBusy(); LCM1602_E=1; }void LCM1602_Int(void){ LCM1602_WriteCMD(0x01);//显示清屏 LCM1602_WriteCMD(0x38);//显示模式设置:显示2行,每个字符为5x7个像素 LCM1602_WriteCMD(0x06);//显示光标移动设置:文字不动,光标右移 · LCM1602_WriteCMD(0x0c);//显示开及光标设置:显示开,光标关,闪烁关 }void print(unsigned char a,unsigned char *str){ LCM1602_WriteCMD(a);while(*str!='\0'){ LCM1602_WriteData(*str++); } *str=0; } void print1(unsigned char a,unsigned char t)( LCM1602_WriteCMD(a); LCM1602_WriteData(t); } 有兴趣的朋友,可仿制。源程序经过调试,运行正常,效果图如图2所示。