lcd1602驱动程序(2)_第1页
lcd1602驱动程序(2)_第2页
lcd1602驱动程序(2)_第3页
lcd1602驱动程序(2)_第4页
lcd1602驱动程序(2)_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、LCD1602 是每一个电子类行业初学者必须会使用的显示设备。LCD1602 也是一个非常简单的显示设备, 相比于数码管而言,它是反射式显示设备即外界的光强时它才会有显示,所以黑夜是看不到显示的而必须加背光。LCD1602 有两行每行 16 个单元共 32 个单元的显示单位。LCD1602 有的支持中文字库有的不支持。当然不支持中文字库的也可以显示中文这时候需要自定义中文字符(相关技术可查阅以下)。LCD1602 的指令分为写数据和写命令两种,他们的指令有着严格的格式。可以查阅一下中文数据手册。 LCD1602 共 16 个引脚,分别为:VDD: 地VCC : 5V 电源VEE :对比度,即调

2、节显示字符的显著度RS:写寄存器或数据的选择位R/W :读或写选择位E:使能位D0-D7: 数据口BL+: 背光的正电源端BL-: 背光的地下面是 LCD1602 的驱动程序:#include #include#define uchar unsigned char#define uint unsigned int#define DataPort P0/ 定义液晶数据传输口sbit LCM_RS=P27;/定义液晶显示控制口sbit LCM_RW=P26;sbit LCM_EN=P25;/*函数名: Wait_Enable功能:等待 1602 液晶完成内部操作参数:无返回值:无*/void Wa

3、it_Enable(void)DataPort=0 xff;/DataPort=11111111 切换 PO 口为输入状态LCM_RS=0;/RS 为低电平, RW 为高电平时才可以读忙信号LCM_RW=1;_nop_();LCM_EN=1;_nop_();_nop_();while(DataPort&0 x80);/相与等于 0,说明 BF 为 0,不忙;等于 1,BF=1 ,忙碌LCM_EN=0;/ 判断忙碌之后, 置位 EN=0 ,液晶不执行任何操作/*函数名: Write_Command功能:向液晶模块写入命令参数: cmd-命令chk- 是否判忙的标志, 1:判忙, 0:不判

4、返回值:无*/void Write_Command(uchar cmd,uchar chk)if(chk)Wait_Enable();LCM_RS=0;/ 当 RS 和 RW 都为低电平时才可以写入指令或者显示地址LCM_RW=0;_nop_();DataPort=cmd;/ 将命令置入数据总线_nop_();LCM_EN=1;_nop_();_nop_();LCM_EN=0;/EN 由高电平到低电平,液晶执行写指令操作/*函数名: Write_Data功能:向液晶显示的当前地址写入显示数据参数: data-显示字符数据返回值:无*/void Write_Data (uchar datas)W

5、ait_Enable();LCM_RS=1;/RS 高电平, RW 低电平时可以写入数据LCM_RW=0;_nop_();DataPort=datas;/置数据到数据总线_nop_();LCM_EN=1;_nop_();_nop_();LCM_EN=0;/*函数名: void InitLcd()功能:对 LCD1602 进行初始化参数:无返回值:无*/void InitLcd()Write_Command(0 x3c,1);/ 设置显示模式:8 位 2 行 5*7 点阵Write_Command(0 x08,1);/ 显示器关,不显示光标,光标不闪烁Write_Command(0 x01,1)

6、;/ 清屏并光标复位Write_Command(0 x06,1);/ 文字不动,光标自动右移Write_Command(0 x0c,1);/ 显示开,不开光标,不闪烁/*函数名: void DisplayOneChar(uchar X,uchar Y ,uchar Data)功能:在指定位置第y 行第 x 列显示一个字符参数: X- 列坐标Y-行坐标Data-欲显示字符返回值:无*/void DisplayOneChar(uchar X,uchar Y ,uchar Datas)Y&=1;X&=15;if(Y)X|=0 x40;X|=0 x80;Write_Command(X,0);Write_Data(Datas);/*函数名: void DisplayListChar(uchar X,uchar Y,uchar code *Data功能:以起始位置第Y 行第 X 列开始显示一串字符参数: X- 起始列坐标Y- 起始行坐标Data-欲显示字符串首地址返回值 :无*/void DisplayListChar(uchar X,uchar Y ,uchar code *Datas)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论