单片机外设LCD1602液晶屏的介绍 |
您所在的位置:网站首页 › 电脑显示器作用和功能介绍 › 单片机外设LCD1602液晶屏的介绍 |
LCD(Liquid CrystalDisplay):液晶显示器的缩写,一种被动式的显示器,即液晶本身并不发光,而是经液晶经过处理后能改变光线通过方向的特性,而达到白底黑字或黑底白字显示的目的。 液晶显示器具有功耗低、抗干扰能力强等优点,广泛用在仪器仪表和控制系统中。
LCD的分类: 按排列形状分:字段型、点阵字符型和点阵图形。 字段型:广泛用于电子表、数字仪表、计算器中。 点阵字符型: 显示字母、数字、符号。它是由5×7或5×4点阵组成,广泛应用在单片机应用系统中。 点阵图形型:笔记本电脑和彩色电视等设备中。 1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块 它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有也有间隔 起到了字符间距和行间距的作用
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶 接口电路示例 第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高, 对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共 同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读 忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。
LCD1602的写操作时序:
LCD1602代码模板 #define DataPort P0 sbit RS = P2^4; //定义端口 sbit RW = P2^5; sbit EN = P2^6;
void LCD_Write_Com(uchar dat) //写命令函数 { DelayMs(5); RS = 0; RW = 0; DataPort= dat; EN = 0; _nop_(); _nop_(); EN= 1; } void LCDWRITEDAT(uchar dat) //写数据函数 { DelayMs(5); RS = 1; RW = 0; DataPort= dat; EN = 0; _nop_(); _nop_(); EN= 1; }
void LCDwritestring(uchar x,uchar y,uchar*s) //写字符串s函数 { if(y == 0) { LCD_Write_Com(0x80 + x); } else { LCD_Write_Com(0xc0 + x); } while(*s) { LCDWRITEDAT(*s); s++; } }
void LCDINIT() /初始化函数 { DelayMs(15); LCD_Write_Com(0x38); /*显示模式设置*/ DelayMs(5); LCD_Write_Com(0x38); /*显示模式设置*/ DelayMs(5); LCD_Write_Com(0x38); /*显示模式设置*/
DelayMs(5); LCD_Write_Com(0x08); //关显示 DelayMs(5); LCD_Write_Com(0x01); /*显示清屏*/ DelayMs(5); LCD_Write_Com(0x06); //指针自加 DelayMs(5); LCD_Write_Com(0x0c); /*显示光标移动设置*/ DelayMs(5);
}
int main() { LCDINIT(); LCD_Write_Com(0x88); //在第一行第8个位置 LCDWRITEDAT(‘a’); //显示字符a; LCDwritestring(0,1,”Hello World!”); //在第二行第0个位置起显示“Hello World!”字符串
扩展:LCD1602扩展功能 uchar tflag[8] = {0x01,0x06,0x09,0x08,0x08,0x09,0x06,0x00}; //℃ void LCD_FILLCGRAM(void) //在自定义第一个字符填充℃符号 //{ // int i = 0; // LCD_Write_Com(0x40); // for(i=0;i // if(y == 0) // { // LCD_Write_Com(0x80 + x); // } // else // { // LCD_Write_Com(0xc0 + x); // } // LCDWRITEDAT(dat); //}
LCD_Show_CGRAM(3,1,0); //0代表填充域的第一个字符,是“℃”符号。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |