收藏 分享(赏)

kl25-ch8((gpio应用—键盘、led与lcd)).ppt

上传人:天天快乐 文档编号:1116554 上传时间:2018-06-13 格式:PPT 页数:28 大小:548KB
下载 相关 举报
kl25-ch8((gpio应用—键盘、led与lcd)).ppt_第1页
第1页 / 共28页
kl25-ch8((gpio应用—键盘、led与lcd)).ppt_第2页
第2页 / 共28页
kl25-ch8((gpio应用—键盘、led与lcd)).ppt_第3页
第3页 / 共28页
kl25-ch8((gpio应用—键盘、led与lcd)).ppt_第4页
第4页 / 共28页
kl25-ch8((gpio应用—键盘、led与lcd)).ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、1,第8章 GPIO应用键盘、LED与LCD,8.1 键盘模块概论与驱动构件设计 8.2 LED模块概论与驱动构件设计 8.3 LCD模块概论与驱动构件设计 8.4 LED、LCD键盘驱动构件测试实例 8.5 本章小结,2,8.1 键盘模块概论与驱动构件设计,8.1.1 键盘模型及接口1、键盘模型键盘是由若干个按键组成的开关矩阵,它是最简单的MCU数字量输入设备。操作员通过键盘输入数据或命令,实现简单的人机通信。,3,2、键盘接口方式(1)键盘排布:独立方式、矩阵方式(2)读入键值:直读方式、扫描方式(3)是否进行硬件编码:非编码方式、硬件编码方式(4)微处理器响应:中断方式、查询方式 下面,

2、介绍独立和矩阵的键盘接口方式,4,8.1.2 键盘编程基本问题及键盘扫描编码原理1、键盘编程的基本问题 1)键的识别如何知道键盘上哪个键被按下就是键的识别问题。若识别由专用硬件实现,称为编码键盘;而靠软件实现的称为未编码键盘。识别是否有键被按下,主要有查询法、定时扫描法与中断法等,而要识别键盘上哪个键被按下主要有行扫描法与行反转法。2)抖动问题当按键被按下时,会出现所按的键在闭合位置和断开位置之间跳几下,才稳定到闭合状态的情况,当释放一个按键时也会出现类似的情况,这就是抖动问题。在软件上,解决抖动的方法通常是延迟等待抖动的消失或多次识别判定。,5,3)重键问题所谓重键问题就是有两个及两个以上按

3、键同时处于闭合状态的处理问题。在软件上,处理重键问题通常有连锁法与巡回法。2、键盘扫描编程原理下面以44键盘为例说明按键识别的基本编程原理。44的键盘结构如下图所示,图中列线(n1n4)通过电阻接+5V,当键盘上没有键闭合时,所有的行线和列线断开,列线n1n4都呈高电平。当键盘上某一个键闭合时,则该键所对应的行线与列线短路。例如第2排第3个按键被按下闭合时,行线m2和列线n3短路,此时n3线上的电平由m2的电位所决定。那么如何确定键盘上哪个按键被按下呢?可以把列线n1n4接到MCU的输入口,行线m1m4接到MCU的输出口,则在微机的控制下,使行线m1为低电平(0),其余三根行线m2、 m3、m

4、4都为高电平,并读列线n1n4状态。如果n1n4都为高电平,则m1这,6,一行上没有键闭合,如果读出列线n1n4的状态不全为高电平,那么为低电平的列线和m1相交的键处于闭合状态;如果m1这一行上没有键闭合,接着使行线m2为低电平,其余行线为高电平,用同样方法检查m2这一行上有无键闭合;以此类推,最后使行线m4为低电平,其余的行线为高电平,检查m4这一行上是否有键闭合。这种逐行逐列地检查键盘状态的过程称为对键盘的一次扫描。如图所示:,7,8.1.3 键盘构件设计1、键盘定义表2、KB构件函数,8,8.2 LED模块概论与驱动构件设计,8.2.1 LED基础知识在此之前,我们先了解几个问题: 1.

5、所用LED是几段,共阴极还是共阳极? 2.所选LED的电气参数怎样?如额定功率、额定电流是多少?,9,下图所示一个四连排的共阴极数码管,它们的位段信号端(称为数据端)接在一起,可以由MCU的一个8位端口控制,同时还有4个位选信号(称为控制端),用于分别选中要显示数据的数码管,可用MCU另一个端口的4个引脚来控制。,10,8.2.2 LED构件设计以下给出 KL25对上述4连排 LED 的C 语言构件实例。LED的数据线接PORTB0、PORTB1、PORTB2、PORTB3、PORTB8、PORTB9、PORTB10、PORTB11,位选口接PORTB16、PORTB17、PORTB18、PO

6、RTB19,具体连接见下图。,11,8.3 LCD模块概论与驱动构件设计,8.3.1 LCD的特点和分类 1、LCD的特点LCD作为电子信息产品的主要显示器件,相对于其它类型的显示部件来说,有其自身的特点,概要如下:(1)低电压微功耗(2)平板型结构(3)使用寿命长(4)被动显示(5)显示信息量大且易于彩色化(6)无电磁辐射,12,2、LCD的分类(1)按光电效应分为:电场效应类、电流效应类、电热写入效应类和热效应类。(2)按显示内容分为:LCD可分为字段型(或称为笔划型)、点阵字符型、点阵图形型三种。(3)按LCD的采光方式分为:带背光源与不带背光源两大类。,13,8.3.2 点阵字符型液晶

7、显示模块1.液晶显示屏是以若干58或511点阵块组成的显示字符群。2.主控制电路为HD44780(HITACHI)及其它公司的兼容电路。3.内部具有字符发生器,可显示192种字符。4.具有64字节的自定义字符RAM,可以定义8个58点阵字符或4个511点阵字符。5.具有64字节的数据显示RAM,供显示编程时使用。6.标准接口特性,与H68HC08系列MCU容易接口。7.模块结构紧凑、轻巧、装配容易。8.单+5V电源供电(宽温型需要加-7V驱动电源)。9.低功耗、高可靠性。,14,8.3.3 HD447801. HD44780的引脚信号,15,2、HD44780的时序信号(1) 写操作时序,16

8、,(2)HD44780的读操作时序图,17,3、HD44780的编程结构 从编程角度看,HD44780内部主要由指令寄存器(IR)、数据寄存器(DR)、忙标志(BF)、地址计数器(AC)、显示数据寄存器(DD RAM)、字符发生器ROM(CG ROM)、字符发生器RAM(CG RAM)及时序发生电路构成。(1)指令寄存器(IR) IR用于MCU向HD44780写入指令码。 IR只能写入,不能读出。当RS=0、R/ =0时,数据线DB7DB0上的数据写入指令寄存器IR。,18,(2)数据寄存器(DR) DR用于寄存数据。当RS=1、R / =0时,数据线DB7DB0上的数据写入数据寄存器DR,同

9、时DR的数据由内部操作自动写入DD RAM或CG RAM。当RS=1、R/ =1时,内部操作将DD RAM或CG RAM送到DR中,通过DR送到数据总线DB7DB0上。 (3)忙标志(BF)令RS=0、R/ =1,在E信号高电平的作用下,BF输出到总线的DB7上,MCU可以读出判别。BF=1,表示组件正在进行内部操作,不能接受外部指令或数据。(4)地址计数器(AC)AC作为DD RAM或CG RAM的地址指针。如果地址码随指令写入IR,则IR的地址码部分自动装入地址计数器AC之中,同时选择了相应的DD RAM或CG RAM单元。,19,AC具有自动加1或自动减1功能。当数据从DR送到DD RA

10、M(或CG RAM),AC自动加1。当数据从DD RAM(或CG RAM)送到DR,AC自动减1。当RS=0、R/ =1时,在E信号高电平的作用下,AC所指向的内容送到DB7DB0。(5)显示数据寄存器(DD RAM) DD RAM用于存储显示数据,共有80个字符码。对于不同的显示行数及每行字符个数,所使用的地址不同,例如: 81(8个字符,1行)字符位置 1 2 3 4 5 6 7 8地 址 00 01 02 03 04 05 06 07具体的对应关系,可参阅使用说明书。,20,(6)字符发生器ROM(CG ROM) CG ROM由8位字符码生成57点阵字符160种和510点阵字符32种,要

11、注意字符编码与字符的对应关系,可以直接使用。其中大部分与ASCII码兼容。(7)字符发生器RAM(CG RAM) CG RAM是提供给用户自定义特殊字符用的,它的容量仅为64字节,编址为003FH。作为字符字模使用的仅是一个字节中的低5位,每个字节的高3位留给用户作为数据存储器使用。如果用户自定义字符由57点阵构成,可定义8个字符。,21,4、HD44780的指令集(1)清屏 RS、R/ =00,DATA=0000 0001。清屏指令使DD RAM的内容全部被清除,屏幕光标回原位,地址计数器AC=0。运行时间(250KHz)约为1.64ms。(2)归位(Return Home)RS、R/ =0

12、0,DATA=0000 001*(注:“*”表示任意,下同)。归位指令使光标和光标所在位的字符回原点(屏幕的左上角)。但DD RAM单元内容不变。地址计数器AC=0。运行时间(250KHz)约为1.64ms。(3)输入方式设置 (Entry Mode Set)RS、R/ =00,DATA=0000 01AS。该指令设置光标、画面的移动方式。下面解释A、S位的含义。A=1时,22,数据读写操作后,AC自动增1;A=0时数据读写操作后,AC自动减1。若S=1,当数据写入DD RAM显示将全部左移(A=1)或全部右移(A=0),此时光标看上去未动,仅仅是显示内容移动,但从DD RAM中读取数据时,显

13、示不移动;S=0时显示不移动,光标左移(A=1)或右移(A=0)。(4)显示开关控制(Display ON/OFF Control)RS、R/ =00,DATA=0000 1DCB。该指令设置显示、光标及闪烁开、关。D:显示控制,D=1,开显示(Display ON);D=0,关显示(Display OFF)。C:光标控制,C=1,开光标显示;C=0,关光标显示。B:闪烁控制,B=1,光标所指的字符同光标一起以0.4s交变闪烁;B=0,不闪烁。运行时间(250KHz)约为40s。,23,(5)光标或画面移位(Cursor or Display Shift)RS、 R/ =00,DATA=000

14、1 S/C R/L * *。该指令使光标或画面在没有对DD RAM进行读写操作时被左移或右移,不影响DD RAM。S/C=0、R/L=0,光标左移一个字符位,AC自动减1;S/C=0、R/L=1,光标右移一个字符位,AC自动加1;S/C=1、R/L=0,光标和画面一起左移一个字符位;S/C=1、R/L=1,光标和画面一起右移一个字符位。运行时间(250KHz)约为40s。(6)功能设置(Function Set)RS、 R/ =00 ,DATA=001 DL N F * *。该指令为工作方式设置命令(初始化命令)。对HD44780初始化时,需要设置数据接口位数(4位或8位)、显示行数、点阵模式

15、(57或510)。DL:设置数据接口位数,DL=1,8位数据总线DB7DB0;DL=0,4位数据总线DB7DB4,而DB3DB0不用,在此方式下数据操作需两次完成。N:,24,设置显示行数,N=1,2行显示;N=0,1行显示。F:设置点阵模式,F=0,57点阵;F=1,510点阵。运行时间(250KHz)约为40s。(7)CG RAM地址设置(CG RAM Address Set)RS、R/ =00,DATA=01 A5 A4 A3 A2 A1 A0。该指令设置CG RAM地址指针。A5A0=00 000011 1111。地址码A5A0被送入AC中,在此后,就可以将用户自定义的显示字符数据写入

16、CG RAM或从CG RAM中读出。运行时间(250KHz)约为40s。(8)DD RAM地址设置(DD RAM Address Set)RS、R/ =00,DATA=1 A6 A5 A4 A3 A2 A1 A0。该指令设置DD RAM地址指针。若是一行显示,地址码A6A0004FH有效;若是二行显示,首行址码A6A00027H有效,次行址码A6A04067H有效。在此后,就可以将显示字符码写入DD RAM或从DD RAM中读出。运行时间(250KHz)约为40s。,25,(9)读忙标志BF和AC值RS、R/ =01,DATA=BF AC6 AC5 AC4 AC3 AC2 AC1 AC0。该指

17、令读取BF及AC。BF为内部操作忙标志,BF=1,忙;BF=0,不忙。AC6AC0为地址计数器AC的值。当BF=0时,送到DB6DB0的数据(AC6AC0)有效。(10)写数据到DDRAM或CGRAM(Write Data to DDRAM or CG RAM)RS、R/ =10,DATA=实际数据。该指令根据最近设置的地址,将数据写入DD RAM或CG RAM中。实际上,数据被直接写入DR,再由内部操作写入地址指针所指的DD RAM或CG RAM。运行时间(250KHz)约为40s。(11)读DDRAM或CGRAM数据(Read Data from DDRAM or CGRAM)RS、R/

18、=11,DATA=实际数据。该指令根据最近设置的地址,从DD RAM或CG RAM读数据到总线DB7DB0上。运行时间(250KHz)约为40s。,26,8.3.3 LCD构件设计本节给出点阵字符型LCD的一个编程实例。在实验板上,LCD的数据线D0D7脚分别与MCU的PORTD0PORTD4、PORTC13、PORTC 16和PORTC17连接,LCD的控制线RS、R/ 、E(4、5、6脚)分别与MCU的PORTD7、PORTD6和PORTD5连接。,27,8.4 LED、LCD键盘驱动构件测试实例,本测试调用了键盘、LED和LCD构件,在LCD两行显示“Wait Receiving.Soochow 2013.01.”,采用定时器中断,LED显示0235,键盘按键值将在LCD中显示出来。,28,8.5 本章小结,本章阐述了键盘、LED数码管显示和LCD液晶显示三个模块基本原理,分析了它们的编程方法,给出了三个模块的编程构件,最后给出了整合的GPIO的测试实例。对于显示输出构件,在编程时应专为其开辟显示缓冲区,由定时器控制定期刷新构件显示缓冲区中的内容,而应用程序只需要将显示的数据存入缓冲区即可,不直接调用显示驱动程序。这种编程方式稳定可靠,且简化了应用程序对显示设备的操作。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报