单片机与液晶显示器.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
风险分析风险评估风险对策风险分析风险评估风险对策风险分析风险评估风险对策

讲座四 1.多位LED显示 2.键盘管理模块 3.点阵、字符液晶显示器 4.字模提取软件 LED的工作原理 LED数码管和单片机的连接1 LED数码管和单片机的连接2 静态、动态显示方式总结 静态显示连接 所有LED的位选均共同连接到+VCC或GND,每个LED的8根段选线分别连接一个8位并行I/O口。 原理简单;显示无闪烁;占用I/O资源较多。 动态显示连接 所有LED的段选线共同连接在一起共用一个 8位I/O口 而每个LED的位选分别由一根相应的I/O口线控制。 因此必须采用动态扫描显示方式。 例:74ls164+led(proteus) 独立键盘 矩阵式键盘控制 测控系统中必不可少的组成——人机界面 液晶显示器的原理 字符型液晶(1602) 方法:通过向指定显示位置对应的DDRAM中写数据来显示字符。 例如:在第2行第2列显示字符 ‘a’,查表1 可知a对应的代码0x31,则可向地址0x41中写入数据0x31即可显示。 点阵型液晶(12864) 图3 12864的DDRAM地址 图片在12864上的显示 简单来说,主要分为两步: 1)将一幅图片转化为一系列二进制数据 2)将数据按字节(8位)写入液晶对应的DDRAM 由图3可知,12864的DDRAM有128*8=1024个 地址,只需将图片转化的数据按字节写入这其 对应的DDRAM地址即可。 字符在12864上的显示 上图中,汉字为16*16点阵,ASCII码为8*16点阵,同图片一样,一个汉字(ASCII)由16*2(8*2)个字节数据组成,字符显示原理与图片一致,只需将字符代码写入相应DDRAM地址。字体大小可以根据需要改变。 小结 简而言之,无论是字符型还是点阵型LCD,其基本原理都是通过将数据写入所对应的DDRAM地址中来显示所需要的图形或是字符。 12864点阵型液晶对应的DDRAM有1024个地址,当需显示的字符或图片已转为二进制数据时,确定将数据写入对应的DDRAM地址就是你所要做的工作! 单片机与液晶显示器的硬件连接 液晶显示器(12864)主要包含了以下接口(图6) : 1)使能E(51的RD和WR经或非门接LCD的使能E) 2)片选CS1(左半屏)、CS2(右半屏),见图3 3)命令/数据选择RS(0——命令,1——数据) 4)读/写选择R/W(0——写,1——读) 5)数据总线DB0~DB7 6)负压产生和负压输入(对比度)调整 7)复位RST 8)电源与地和背景光电源 软件编程 注意:程序的编写与硬件是分不开的。以图6为例,A11~A8对应CS2、CS1、R/W、RS,未用的地址线为高。见图5 则当向12864的左半屏(CS1=1,CS2=0)写(R/W=0)数据(RS=1)时,总线地址为0x1111010111111111。即0xF5FF。 C文件中定义如下:#define WD1 XBYTE[0xF5FF] 定义了总线地址后,对外部地址的操作变得非常简单。 如向左半屏写数据0xFF : WD1=0xFF 读左半屏数据 : data=RD1(data存储读取到的数据) 举例 下面简单介绍程序编写的流程 1)定义所有总线地址 #define WI1 XBYTE[0xF4FF] //向左半屏写命令 #define WD1 XBYTE[0xF5FF] //向左半屏写数据 #define RI1 XBYTE[0xF6FF] //读左半屏命令 #define RD1 XBYTE[0xF7FF] //读左半屏数据 #define WI2 XBYTE[0xF8FF] //向右半屏写命令 #define WD2 XBYTE[0xF9FF] //向右半屏写数据 #define RI2 XBYTE[0xFAFF] //读右半屏命令 #define RD2 XBYTE[0xFBFF] //读右半屏数据 2)编写底层程序(查忙,写数据,读数据) 查忙(读BF标志即DB7总线,亦即读命令) BF=1表示模块在内部操作,此时模块不接受外部指令和数据; BF=0时模块为准备状态,随时可接受外部指令和数据; b=RI1 或者 b=RI2,观察b中最高位是否为0,否则忙。 写数据a WD1=a 或者 WD2=a 读数据到data data=RD1 或者 data=RD2 注意:无论是写数据还是读数据一定要先查忙(对左右半屏读命令),只有在BF=0时才能对LCD进行操作 3)LCD初始化 包含开显示(0x3F),起始行(0xC0),设置起始页地址(0xB8)和Y地址(0x40),即分别向LCD的左右半

文档评论(0)

云烟 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年03月21日上传了教师资格证

1亿VIP精品文档

相关文档