版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
液晶显示器接口设计项目6
任务1移动广告牌的设计——用字符液晶向朋友问好跟我学1-------认识液晶显示模块LCD16021602字符点阵液晶显示器模块引脚号引脚名称引脚功能含义1VSS地管脚(GND)2VDD+5V电源管脚(Vcc)3VO液晶显示驱动电源(0V~5V),可接电位器4RS数据和指令选择控制端,RS=0:命令/状态;RS=1:数据5R/读写控制线,R/=0:写操作;R/=1:读操作6E数据读写操作控制位,E线向LCD模块发送一个脉冲,LCD模块与单片机之间将进行一次数据交换7~14DB0~DB7数据线,可以用8位连接,也可以只用高4位连接,节约单片机资源15A背光控制正电源16K背光控制地字符点阵液晶显示模块有16个管脚,引脚名称如图3.4.2所示。跟我学2------字符型LCD模块内部存储结构的划分LCD控制器HD44780内部有80字节的显示数据存储器(显存),用于存储当前要求显示的字符ASCII码,各个存储单元与显示屏上的字符位相对应,其映射关系如图3.4.3所示,需要注意的是第1行DDRAM地址与第2行DDRAM地址并不连续。如果在第二行的第3列显示字符‘E’,请问应如何操作?首先定位显示字符的光标位置,根据图3.4.3中的地址映射可知,字符‘E’的显存地址为42H;然后在表3.4.2中得到字符‘E’的显示码为45H。将显示码45H写入DDRAM的42H单元,即可显示字符‘E’。LCD控制器HD44780内部有80字节的显示数据存储器(显存),用于存储当前要求显示的字符ASCII码,各个存储单元与显示屏上的字符位相对应,其映射关系如图所示,需要注意的是第1行DDRAM地址与第2行DDRAM地址并不连续。如果在第二行的第3列显示字符‘E’,请问应如何操作?首先定位显示字符的光标位置,根据图3.4.3中的地址映射可知,字符‘E’的显存地址为42H;然后在表3.4.2中得到字符‘E’的显示码为45H。将显示码45H写入DDRAM的42H单元,即可显示字符‘E’。
如果在第二行的第3列显示字符‘E’,请问应如何操作?首先定位显示字符的光标位置,根据上图的地址映射可知,字符‘E’的显存地址为42H;然后得到字符‘E’的显示码为45H。将显示码45H写入DDRAM的42H单元,即可显示字符‘E’。跟我学3------字符型LCD模块控制命令字的使用
首先,LCD上电,都必须按照一定的时序进行初始化操作,主要任务是设置LCD的工作方式、显示状态、清屏、输入方式、光标位置等,使用命令字对LCD进行初始化的流程如图所示,根据显示功能要求构造命令字,通过写命令操作完成命令字的写入时序。
LCD初始工作方式设置显示状态设置清屏返回输入方式设置001DLNF**—设置单片机与LCD接口数据位数DL、显示行数N、字型FDL=1:8位、DL=0:4位;N=1:2行、N=0:1行F=1:5×10、F=0:5×700111000——38H00001DCB—设整体显示开关D、光标开关C、光标位的字符闪耀BD=1:开显示;C=0:不显示光标;B=0:光标位字符不闪烁00001100——0CH清屏命令字01H,将光标设置为第一行第一列000001I/DS—设光标移动方向并确定整体显示是否移动I/D=1:增量方式右移、I/D=0:减量方式左移S=1:移位、S=0:不移位00000110——06H跟我学4------MCU对字符型LCD模块的基本接口操作单片机对LCD模块有四种基本操作:写命令、写数据、读状态和读数据,由LCD162模块三个控制引脚RS、R/和E的不同组合状态确定,如表5所示,结合读操作和写操作时序,编制软件输出控制引脚脉冲电平即可产生LCD读写访问时序。在进行写命令、写数据和读数据三种操作之前,必须先进行读状态操作,查询忙标志。当忙标志为0时,才能进行这三种操作。状态字格式如下,最高位的BF为忙标志位,1表示LCD正在忙,0表示不忙。通过判断最高位BF的0、1状态,就可以知道LCD当前是否处于忙状态,如果LCD一直处于忙状态,则继续查询等待,否则可进行后面的操作。BFAC6AC5AC4AC3AC2AC1AC0LCD模块控制端LCD基本操作RSR/E00写命令操作:用于初始化、清屏、光标定位等。01读状态操作:读忙标志,当忙标志为“1”时,表明LCD正在进行内部操作,此时不能进行其它三类操作;当忙标志为“0”时,表明LCD内部操作已经结束,可以进行其它三类操作,一般采用查询方式。10写数据操作:写入要显示的内容。11读数据操作:将显示存储区中的数据反读出来,一般比较少用。(a)LCD读操作时序图(b)LCD写操作时序图图3.4.5LCD操作时序动手做1——画出硬件电路图
单片机的P1口与液晶模块的8条数据线相连,P3口的P3.0、P3.1、P3.2分别与液晶模块的三个控制端RS、R/、E连接。元件名称参数数量元件名称参数数量IC插座DIP401电位器5kΩ1单片机511电阻10kΩ1晶体振荡器12MHz1电解电容22µf1瓷片电容30pf2液晶LCD1621弹性按键1动手做2——程序分析设计编写1602液晶模块显示问候语“HelloEveryone”的程序//功能:1602液晶模块显示问候语“HelloEveryone”#include<REG51.H>#include<INTRINS.H> //库函数头文件,代码中引用了_nop_()函数//定义控制信号端口sbitRS=P3^0;sbitRW=P3^1;sbitE=P3^2;//声明调用函数voidlcd_w_cmd(unsignedcharcom);//写命令字函数voidlcd_w_dat(unsignedchardat);//写数据函数unsignedcharlcd_r_start();//读状态函数voidlcd_init(); //LCD初始化函数voiddelay100us(unsignedchart); //可控延时函数voiddelay5us(unsignedcharn); //软件实现延时函数,n*5个机器周期voidmain() //主函数{unsignedcharDisp[]="HelloEveryone";//定义字符数组Dispunsignedchari;P1=0xff;//送全1到P1口lcd_init(); //初始化LCDdelay100us(255);lcd_w_cmd(0xc2);//定位光标设置显示位置delay100us(255);for(i=0;i<14;i++)//显示字符串{lcd_w_dat(Disp[i]);delay100us(200);}while(1);//显示完成}//函数名:delay100usvoiddelay100us(unsignedchart){unsignedcharj,i;for(i=0;i<t;i++)for(j=0;j<10;j++);}//函数名:delay5usvoiddelay5us(unsignedcharn){ do { _nop_(); _nop_(); _nop_(); n--; } while(n);}//函数名:lcd_init//函数功能:lcd初始化
voidlcd_init(){lcd_w_cmd(0x3c);//设置工作方式lcd_w_cmd(0x0e);//设置光标lcd_w_cmd(0x01);//清屏lcd_w_cmd(0x06);//设置输入方式lcd_w_cmd(0x80);//设置初始显示位置}//函数名:lcd_r_start//函数功能:读状态字
unsignedcharlcd_r_start(){unsignedchars;RW=1; //RW=1,RS=0,读LCD状态delay5us(1);RS=0;delay5us(1);E=1; //E端时序delay5us(1);s=P1; //从LCD的数据读状态delay5us(1);E=0;delay5us(1);RW=0;delay5us(1);return(s); //返回读取的LCD状态字}//函数名:lcd_w_cmd//函数功能:写命令字voidlcd_w_cmd(unsignedcharcom){unsignedchari;do{//查LCD忙操作i=lcd_r_start(); //调用读状态字函数i=i&0x80;//与操作屏蔽掉低7位
delay100us(2);}while(i!=0); //LCD忙,继续查询,否则退出循环RW=0;delay5us(1);RS=0; //RW=1,RS=0,写LCD命令字delay5us(1);E=1; //E端时序delay5us(1);P1=com; //将com中的命令字写入LCD数据口delay5us(1);E=0;delay5us(1);RW=1;delay100us(255);}//函数名:lcd_w_dat//函数功能:写数据voidlcd_w_dat(unsignedchardat){unsignedchari;do{ //查忙操作i=lcd_r_start(); //调用读状态字函数i=i&0x80; //与操作屏蔽掉低7位
delay100us(2);}while(i!=0); //LCD忙,继续查询,否则退出循环RW=0;delay5us(1);RS=1; //RW=1,RS=0,写LCD命令字delay5us(1);E=1; //E端时序delay5us(1);P1=dat; //将dat中的显示数据写入LCD数据口delay5us(1);E=0;delay5us(1);RW=1;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高效能人脉经营与管理技巧手册
- 环保始于心落实于行小学主题班会课件
- 珠宝行业门店销售顾问销售能力及客户服务水平KPI考核表
- 请求提前支付定金的催促函(5篇)
- 阅读分享书香校园小学主题班会课件
- 2026年企业信用风险管理方法(3篇)范文
- 关于年度环保责任报告的通知函(7篇)
- 幼儿园一日生活安排与安全管理方案
- 产品设计团队成员绩效评估表
- 石油开采项目组工作效率与成本控制绩效评定表
- GB/T 13511.1-2025配装眼镜第1部分:单焦和多焦定配眼镜
- 超乳手柄清洗流程
- 汽车出口流程
- 证券公司合规管理有效性评估参考表
- 2025年投资策略 云开雾散曙光现 高善文演讲速记
- 食品加工厂应急处理预案
- (正式版)JBT 14449-2024 起重机械焊接工艺评定
- JJF1030-2023温度校准用恒温槽技术性能测试规范
- 《海参中海参多糖的测定 高效液相色谱法》国家标准编制说明
- 人大代表履职知识讲座
- 员工综合素质能力考核评分表
评论
0/150
提交评论