第10章AT89C51与输入外设和输出外设的接口设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图10-5
10.2 键盘接口原理 10.2.1 键盘输入应解决的问题 1. 键盘输入的特点 键盘:一组按键开关的集合。行线电压信号通过键盘开关机 械触点的断开、闭合,其输出波形如图10-6。
图10-6
2. 按键的确认 检测行线电平 高电平:断开;低电平:闭合。 3.如何消除按键的抖动 常用软件来消除按键抖动。 基本思想:检测到有键按下,键对应的行线为低,软件延时 10ms后,行线如仍为低,则确认该行有键按下。
当前市场上液晶显示器种类繁多,按排列形状可分为 字段型、点阵字符型和点阵图形型。
21
(1)字段型。以长条状组成字符显示。主要用于数字显 示,也可用于显示西文字母或某些字符,已广泛用于电子 表、计算器、数字仪表中。
(2)点阵字符型。专门用于显示字母、数字、符号等。 它由若干57或510的点阵组成,每一点阵显示一字符。广 泛应用在各类单片机应用系统中。
显示字符一确定,相应锁存器的段码输出将维持不变,直 到送入另一个段码为止。显示的亮度高。
图10-3: 4位静态LED显示器电路。该电路各位可独立显 示。
图10-3 2. LED动态显示方式
所有位的段码线相应段并在一起,由一个8位I/O口控制, 形成段码线的多路复用,各位的公共端分别由相应的I/O线控制, 形成各位的分时选通。
图10-22 AT89S51单片机与LCD模块的接口电路
38
2.软件编程 (1)初始化
先对LCD模块进行初始化,否则模块无法正常显示。 两种初始wenku.baidu.com方法。
① 利用模块内部的复位电路进行初始化。LCM有内 部复位电路,能进行上电复位。复位期间BF = 1,在电源 电压VDD达4.5V以后,此状态可维持10ms,复位时执行下 列命令。
24
图10-20 字符型LCD模块的电路框图
25
(3)1602字符型LCM的特性 ① 内部具有字符发生器ROM(CGROM),即字符库。 可显示192个57点阵字符,见图10-21。由该字符库可看 出LCM显示的数字和字母部分的代码值,恰好与ASCII码 表中的数字和字母相同。所以在显示数字和字母时,只需 向LCM送入对应的ASCII码即可。 ②模块内有64字节的自定义字符RAM(CGRAM),用户 可自行定义8个57点阵字符。 ③ 模块内有80字节的数据显示存储器(DDRAM)。
AC位为地址计数器的值,范围为0~127。 向CGRAM/DDRAM写数据。格式如下:
功能:将数据写入CGRAM或DDRAM中,应与CGRAM 或DDRAM地址设置命令结合使用。
35
W
从CGRAM/DDRAM中读数据。格式如下:
功能:从CGRAM或DDRAM中读出数据,应与CGRAM或 DDRAM地址设置命令结合使用。
由于LCD的面板较为脆弱,制造商已将LCD控制器、驱动 器、RAM、ROM和LCD显示器用PCB连接到一起,称为液晶 显示模块(LCd Module,LCM)。只需购买现成的液晶显示 模块即可。
单片机控制LCM时,只要向LCM送入相应的命令和数据 就可显示需要的内容。下面介绍常见的点阵型液晶显示模块: 1602字符型LCM(两行,每行16个字符)。
当键松开时,行线变高,软件延时10ms后,行线仍为高,说 明按键已松开。
采取以上措施,躲开了两个抖动期t1和t3的影响。
10.2.2 键盘接口的工作原理 独立式按键接口和行列式键盘接口。
1.独立式键盘接口 各键相互独立,每个按键各接一根输入线,通过检测输入线的 电平状态可很容易判断那个键被按下。
此种接口适于键数较少或操作速度较高的场合。 图10-7(a)为中断方式的独立式键盘工作电路 图10-7(b)为查询方式的独立式键盘工作电路。
第2步:如有键被按下,识别出具体的按键。 采用扫描法,即先把某一列置低电平,其余各列为高电平,
检查各行线电平的变化,如果某行线电平为低,可确定此行列 交叉点处的按键被按下。
b. 线反转法 只需两步便能获得此按键所在的行列值,线反转法的原
理如图10-10。
图10-10
第1步:列线输出为全低电平,则行线中电平由高变低的所在 行为按键所在行。
(3)点阵图形型。它是在平板上排列多行或多列,形成 矩阵式的晶格点,点的大小可根据显示的清晰度来设计。 广泛应用于图形显示,如用于笔记本电脑、彩色电视和游 戏机等。
22
10.4.2 点阵字符型液晶显示模块介绍 单片机应用中,常用点阵字符型LCD显示器。要有相应的
LCD控制器、驱动器来对LCD显示器进行扫描、驱动,还要 RAM和ROM来存储单片机写入的命令和显示字符的点阵。
1. 编程扫描方式 只有当单片机空闲时,才调用键盘扫描子程序,扫描键盘。 工作过程:
(1)在键盘扫描子程序中,先判断有无键按下。
(2)用软件来消除按键抖动的影响。如有键按下,则进行下 一步。
(3)求按下键的键号。 (4)等待按键释放后,再进行按键功能的处理操作。
2. 定时扫描方式 利用单片机内的定时器,产生10ms的定时中断,对键盘进行扫 描。
26
图10-21 ROM字符库的内容
27
2. LCM的引脚 16个引脚,也有少数的LCM为14个引脚,其中包括8条 数据线、3条控制线和3条电源线,见表10-15。通过单片 机写入模块的命令和数据,就可对显示方式和显示内容做 出选择。
28
W
3.命令格式及功能说明 (1)内部寄存器 控制器HD44780内有多个寄存器,寄存器的选择如表10-16所 示。
33
W
⑦ CGRAM(自定义字符RAM)地址设置。格式如下
功能:设置CGRAM的地址,地址范围为0~63。 ⑧ DDRAM(数据显示存储器)地址设置。格式如下: 功能:设置DDRAM的地址,地址范围为0~127。 ⑨ 读忙标志BF及地址计数器。格式如下:
34
W
功能:BF位为忙标志。BF=1,表示忙,此时LCM不能 接收命令和数据;BF=0,表示LCM不忙,可接收命令和 数据。
30
W
③ 输入方式设置。格式如下:
功能:设置光标的移动方向,并指定整体显示是否移动。 其中:I/D=1,为增量方式;I/D=0,为减量方式;如S=1,表 示移位;如S=0,表示不移位。
④ 显示开关控制。格式如下:
31
W
功能: D位(DB2)控制整体显示的开与关,D=1,开显示;D=0, 则关显示。 C位(DB1)控制光标的开与关,C=1,光标开;C=0,则光 标关。 B位(DB0)控制光标处字符闪烁,B=1,字符闪烁;B=0, 字符不闪烁。 ⑤ 光标移位。格式如下:
10.4 AT89S51单片机与液晶显示器(LCD)的接口 LCD(Liquid Crystal Display)液晶显示器缩写,被
动显示,本身并不发光,是利用液晶经过处理后能改变光 线通过方向的特性,从而达到白底黑字或黑底白字显示的 目的。液晶显示器具有省电、抗干扰能力强等优点,广泛 应用在智能仪器仪表和单片机测控系统中。 10.4.1 LCD显示器的分类
3.中断扫描方式 只有在键盘有键按下时,才执行键盘扫描程序,如无键按下, 单片机将不理睬键盘。
键盘所做的工作分为三个层次:
第1层:单片机如何来监视键盘的输入。三种工作方式:①编 程扫描②定时扫描③中断扫描。
第2层:确定具体按键的键号。体现在按键的识别方法上就 是:①扫描法;②线反转法。
第3层:执行键处理程序。
图10-7
2. 行列式(矩阵式)键盘接口 用于按键数目较多的场合,由行线和列线组成,按键位于
行、列的交叉点上。如图10-9所示。
图10-9 按键数目较多的场合,行列式键盘与独立式键盘相比, 要节省很多的I/O口线。
(1)行列式键盘工作原理
无键按下,该行线为高电平,当有键按下时,行线电平 由列线的电平来决定。
第2步:行线输出为全低电平,则列线中电平由高变低所在列为 按键所在列。
结合上述两步,可确定按键所在行和列。(例:P188) 10.2.3 键盘的工作方式
单片机在忙于各项工作任务时,如何兼顾键盘的输入,取 决于键盘的工作方式。
原则:即要保证能及时响应按键操作,又不要过多占用CPU的 工作时间。
通常,键盘工作方式有3种,即编程扫描、定时扫描和中断扫描。
有共阳极和共阴极两种。如图10-1所示。
图10-1
为使LED显示不同的符号或数字,要为LED提供段码(或称字 型码)。 提供给LED显示器的段码(字型码)正好是一个字节(8段)。 各段与字节中各位对应关系如表10-1。
表10-1
按上述格式,8段LED的段码如表10-2所示。
段码线控制显示的字型。 位选线控制该显示位的亮或暗。 静态显示和动态显示两种显示方式。 1. LED静态显示方式 各位的公共端连接在一起(接地或+5V)。 每位的段码线(a~dp)分别与一个8位的锁存器输出相连。
(3)有关说明 ① 显示位与DDRAM地址的对应关系,如表10-17所示。
36
② 标准字符库。图10-21所示为字符库的内容、字符码和 字型的对应关系。
③ 字符码(DDRAM DATA)、CGRAM地址与自定义点 阵数据(CGRAM数据)之间的关系,如表10-18所示。
37
10.4.3 AT89S51单片机与LCD的接口及软件编程 1.AT89S51单片机与LCD模块的接口 AT89S51单片机与LCD模块的接口如图10-22所示。
第10章 AT89C51与输入外设和输出外设的接口设计
输入外设:键盘、BCD码拨盘等; 输出外设:LED显示器、LCD显示器、打印机等。 10.1 LED显示器的显示原理 LED(Light Emitting Diode):发光二极管的缩写。显示器 前面冠以“LED”。 10.1.1 LED显示器的结构 常用的LED显示器为8段(或7段,8段比7段多了一个小数点 “dp”段)。
图10-4:4位8段LED动态显示电路。其中段码线占用一个8位I/O 口,而位选线占用一个4位I/O口。
图10-4
图10-5为8位LED动态显示2008.10.10的过程。 图(a)是显示过程,某一时刻,只有一位LED被选通显示,其 余位则是熄灭的; 图(b)是实际显示结果,人眼看到的是8位稳定的同时显示 的字符。
功能:移动光标或整体显示,DDRAM中内容不变。其中:
32
W
S/C=1时,显示移位;S/C=0时,光标移位。 R/L=1时,向右移位,R/L=0时,向左移位。 ⑥ 功能设置。命令格式如下:
功能: DL位设置接口数据位数,DL=1为8位数据接口;DL=0 为4位数据接口。 N 位设置显示行数,N=0单行显示;N=1双行显示。 F位设置字型大小,F=1为510点阵,F=0为57点阵。
23
1.基本结构与特性 (1)液晶显示板 在液晶显示板上排列着若干57或510点阵的字符显示 位,从规格上分为每行8、16、20、24、32、40位,有1行、 2行及4行等,根据需要,选择购买。 (2)模块电路框图 图10-20所示为字符型LCD模块的电路框图,它由日立 公司生产的控制器HD44780、驱动器HD44100及几个电阻 和电容组成。HD44100是扩展显示字符位用的(例如,16 字符1行模块就可不用HD44100,16字符2行模块就要用 一片HD44100)。
RS位和R/ W 脚上的电平决定对寄存器的选择和读/写,而 DB7~DB0决定命令功能。
29
W
(2)命令功能说明 下面介绍可写入命令寄存器的11个命令。 ① 清屏。格式如下:
功能:清除屏幕显示,并给地址计数器AC置“0”。 ② 返回。格式如下:
功能:置DDRAM(显示数据RAM)及显示RAM的地 址为“0”,显示返回到原始位置。
39
• 清除显示。 • 功能设置,DL=1为8位数据长度接口;N=0单行显示;
F=0为5 7点阵字符。 • 开/关设置,D=0关显示;C=0关光标;B=0关闪烁功能。 • 进入方式设置,I/D=1地址采用递增方式;S=0关显示移位
由于行、列线为多键共用,各按键彼此将相互发生影响, 必须将行、列线信号配合起来并作适当的处理,才能确定闭合 键的位置。
(2)按键的识别方法
a. 扫描法
图10-9 中3号键被按下为例,来说明此键时如何被识别 出来的。
识别键盘有无键被按下的方法,分两步进行:
第1步:识别键盘有无键按下; 把所有列线置0,检查各行线电平是否有变化,如有变化, 说明有键按下,如无变化,则无键按下。
相关文档
最新文档