另一方面,LCD1602简档1602液晶也称为1602字符型液晶,是专门用于显示字符、数字和符号的点矩阵型液晶模块。 他由几个5X7或5X10的点阵字符位构成,每个点阵字符位可以显示字符,每个点阵字符位之间是一点间距的间隔,各行间也有间隔,起到字符间距和行距的作用

二、编程2.1、使用LCD1602头文件# ifndef _ LCD _ h # define _ LCD _ h # includereg 52.h/* 4位数据传输时,传输8位数据定义取消defineLCD110的ifndef uchar # defineucharunsignedchar//字符# endif # ifndef uint # defineuintunsignedint//整数# endif sbit LCD1602_RS=P2^6; //51单片机12MHZ时钟下的延迟函数voidLCD1602_delay1ms(uintc ); //误差0写入0us/*LCD1602位指令子函数*.voidlcdwritecom(ucharcom );/*写入/*LCD1602位数据的子函数*/voidLCDwritedata(uchardat ); /*LCD1602初始化子程序*/void LcdInit (; #endif 2.2、Lcd.c #include ‘Lcd.h’ //头文件导入//延迟函数此函数在12MHZ石英晶体振荡下,12分频单片机延迟//uint c初始化c interta c0; (c—- ) ) for ) b=199; b0; B–}{for(a=1; a0; a—-; }//如果未在LCD 1602上定义字节命令# ifndef LCD 1602 _4pins//LCD 160233544 pins,则为voidLCDwritecom(ucharcom ) LCD 1602 _ 165306; //使能信号0导通1截止LCD1602_RS=0; //发送指令数据/指令选择端子选择(H/L )1/0 LCD1602_RW=0; //0写入1读取LCD1602_DATAPINS=com; //命令LCD1602_delay1ms(1; //等待数据稳定的LCD1602_E=1; //写入定时LCD1602_delay1ms(5; //保持时间延迟LCD1602_E=0; }#elsevoidlcdwritecom(ucharcom ) /写入命令) { LCD1602_E=0; //使能清除LCD1602_RS=0; //写入指令数据/指令选择端子选择(H/L )1/0 LCD1602_RW=0; //写入读取/写入选择端子(h(l )1/0 LCD1602_DATAPINS=com; //4位的接线是连接到P0端口的前4位,因此为了传送前4位,LCD1602_delay1ms(1); //延迟函数LCD1602_E=1; //写入时序使能LCD1602_delay1ms(5; LCD1602_E=0; 液晶屏1502 _ data pins=com 4; //低位4位Lcd1602_Delay1ms(1 (发送1 ); LCD1602_E=1; //写入定时LCD1602_delay1ms(5; LCD1602_E=0; }#endif //退出//将数据写入液晶屏# ifndef液晶屏1602 _4pinsvoidlcdwritedata (uchar dat ) /写入数据) {LCD1602_E=0; //使能清除LCD1602_RS=1; //选择输入数据LCD1602_RW=0; 液晶屏1602 _ data pins=dat; //写入数据LCD1602_delay1ms(1; LCD1602_E=1; //写入定时LCD1602_delay1ms(5; //保持时间LCD1602_E=0; } # elsevoidlcdwritedata (uchar dat ) /写入数据) {LCD1602_E=0; //使能清除LCD1602_RS=1; //选择写入数据的数据/指令选择端子(H/L )1/0LCD1602_RW=0; 液晶屏1602 _ data pins=dat; //4位的接线是连接到P0端口的前4位,因此为了传送前4位,LCD1602_delay1ms(1); LCD1602_E=1; //写入定时LCD1602_delay1ms(5; LCD1602_E=0; LCD1602_DATAPINS=dat 4; //写入低4位LCD1602_Delay1ms(1); LCD1602_E=1; //写入定时LCD1602_delay1ms(5; LCD1602_E=0; }#endif//初始化液晶屏# ifndef LCD 1602 _4pinsvoidlcdinit ()//初始化LCD子程序(lcdwritecom )0x38 ); //打开//lcdwritecom(0x0c )//打开显示未显示光标lcdwritecom (0x 06 ); //指针和1写1lcdwritecom(0x01 )//lcdwritecom (0x 80 ); //设置数据指针起点}#elsevoidlcdinit(/LCD初始化子程序) lcdwritecom (0x 32 );//将8位总线转换为4位总线lcdwritecom(0x28 ); //4位线上的初始化lcdwritecom(0x0c ); //打开显示未显示光标lcdwritecom (0x 06 ); //指针和1写1lcdwritecom(0x01 )//lcdwritecom (0x 80 ); //设置数据指针的起点}#endif 2.3、main.c #include ‘reg52.h’ //此文件包含单片机的几个特殊功能寄存器# include ‘ LCD. //声明数据类型以定义类型不统一通道u8; u8 Disp[]=’ Pechin Science ‘; //u8 Disp[]=’Hello World ‘; 语音主(语音) {u8 i; 液晶屏init (; for(I=0; i16; I )液晶屏写入数据(disp [ I ]; (while ) 1; }