第8章单片机外部接口技术.ppt

上传人:本田雅阁 文档编号:2608942 上传时间:2019-04-17 格式:PPT 页数:47 大小:2.32MB
返回 下载 相关 举报
第8章单片机外部接口技术.ppt_第1页
第1页 / 共47页
第8章单片机外部接口技术.ppt_第2页
第2页 / 共47页
第8章单片机外部接口技术.ppt_第3页
第3页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第8章单片机外部接口技术.ppt》由会员分享,可在线阅读,更多相关《第8章单片机外部接口技术.ppt(47页珍藏版)》请在三一文库上搜索。

1、第8章 单片机外围接口技术,本章主要介绍单片机应用系统的输入输出接口技术,包括LED数码管、LED点阵、键盘接口和LCD显示器,主要讲解典型输入输出设备的工作原理,相应的接口电路设计以及软件编程。,第8章 单片机外围接口技术,8.1 显示接口技术,LED显示器即发光二极管显示器(Light Emitting Diode, LED),具有显示醒目、成本低、配置灵活、接口简单等特点,单片机应用系统中常用它来显示系统的工作状态和采集的信息或输入数值等。 LED显示器按其发光管排布结构的不同,可分为LED数码管和LED点阵显示器。 LED数码管主要用来显示数字及少数字母和符号,LED点阵显示器可以显示

2、数字、字母、汉字和图形甚至图像。LED点阵显示器虽然显示灵活,但其占用的单片机系统的系统软件、硬件资源远远大于LED数码管。,第8章 单片机外围接口技术,8.1.1 LED数码管的结构,常用的LED显示器为8段(或7段,8段比7段多了一 个小数点“dp”段)。,有共阳极和共阴极两种。如图8-1所示。,为使LED显示不同的符号或数字,要为LED提供段码 (或称字型码)。,提供给LED显示器的段码(字型码)正好是一个字 节(8段)。各段与字节中各位对应关系如下:,按上述格式,8段LED的段码如表8-2所示。,字形与段码的对应关系,数码管如果按照显示位数(即全部数字字符个数)划分,有1位、2位、3位

3、、4位、5位、6位数码管。,采用多位LED数码管通常是为了减少元器件及连线,所以一般采用两位、三位、四位一体的结构,图8-3分别为共阴极和共阳极的四位一体数码管的结构,我们可以用单片机的某个I/O口送数码管的显示段码(字符数据),用另一I/O口的其中4位经过三极管驱动后分别作为4个数码管的显示控制信号(公共端),当三极管导通时候对应的数码管显示。,8.1.2 LED显示器的显示方式,LED数码管有静态显示和动态显示两种显示方式。,1. 静态显示方式,各位的公共端连接在一起(接地或+5V)。,每位的段码线(adp)分别与一个8位的锁存器 输出相连。,显示字符一确定,相应锁存器的段码输出将维持 不

4、变,直到送入另一个段码为止。显示的亮度高。,4位静态LED显示器电路。该电路各位可独立显示。,4位8段LED动态显示电路。其中段码线占用一个8位I/O口,而位选线占用一个4位I/O口。,2. 动态显示方式,所有位的段码线相应段并在一起,由一个8位I/O 口控制,形成段码线的多路复用,各位的公共端分别由 相应的I/O线控制,形成各位的分时选通。,3.动态显示中延时时间的选择 在动态显示方式中,各LED数码管轮流工作,为了防止产生闪烁现象,每个LED数码管刷新频率必须大于 25 Hz,即相邻两次点亮的时间间隔要小于 40 ms。 LED显示器的位数越多,每一位的显示时间越短,在驱动电流一定的情况下

5、,亮度越低(正因如此,在动态LED显示电路中,要适当增大驱动电流,一般取 20 mA35 mA(正常情况下的工作电流一般在1020 mA之间),以抵消因显示时间短造成亮度下降)。 为了保证一定的亮度,实验表明:在驱动电流取 30 mA的情况下,每位显示时间不能小于 1 ms。,【例题8-1】静态显示并行输出的例子。 利用51单片机控制数码管显示099计数,用其P2.0P2.7接一个共阴极数码管,输出显示099计数值的个位,用P0.0P0.7接数码管输出显示计数值的十位数。上电以后,计数值自动加1,当计数值超出99后自动返回0重新开始循环计数。,【例题8-2】静态显示串行输出的例子。 让51单片

6、机串口工作在方式0,RXD作为数据输出线,TXD输出移位时钟脉冲,用移位寄存器74HC164实现例题8-1的功能。,【例题8-3】用74HC595实现静态显示串行输出的例子。 74HC595是8位串入并出移位寄存器,其外部引脚如图所示。,【例题8-3】用74HC595实现静态显示串行输出的例子。 74HC595与数据相关的引脚可以分为三类: DS:串行数据输入,接单片机的I/O引脚。 Q0Q7:8位并行数据输出,可以直接控制8个LED,或者是七段数码管的8个引脚。 Q7:级联输出端,与下一个74HC595的DS相连,实现多个芯片之间的级联。 74HC595与控制相关的引脚共有四个: SH_CP

7、:移位寄存器的时钟输入。上升沿时移位寄存器中的数据依次移动一位,即Q0中的数据移到Q1中,Q1中的数据移到Q2中,依次类推;下降沿时移位寄存器中的数据保持不变。 ST_CP:存储寄存器的时钟输入。上升沿时移位寄存器中的数据进入存储寄存器,下降沿时存储寄存器中的数据保持不变。应用时通常将ST_CP置为低点平,移位结束后再在ST_CP端产生一个正脉冲更新显示数据。 :重置(RESET),低电平时将移位寄存器中的数据清零,应用时通常将它直接连高电平(VCC)。 :输出允许,高电平时禁止输出(高阻态)。实际应用时可以将它直接连低电平(GND)。,【例题8-3】用74HC595实现静态显示串行输出的例子

8、。 74HC595实现静态显示串行输出电路如图所示。图中,SH_CP、DS和ST_CP分别连接P2.0、P2.1和P2.2。按照以下三个步骤来实现数据的串行输出: (1)将要准备输入的位数据通过P2.1移入74HC595数据输入端。 (2)P2.0产生一上升沿,将P2.1上的数据从低到高移入74HC595中,即实现数据串入。 (3)P2.2产生一上升沿,将由P2.1上已移入数据寄存器中的数据送入到输出锁存器,实现数据的并行输出。,【例题8-4】采用动态显示方式,在8个共阴极数码管依次显示0、17。 电路图如图8-8所示,该电路采用74HC245提供段码驱动,十进制译码驱动器74LS145提供公

9、共极COM1-COM8的驱动。 74HC245是方向可控的八路缓冲器,主要用于实现数据总线的双向异步通信。为了保护主控芯片,通常在主控芯片的并行接口与外部受控设备的并行接口间添加缓冲器。,8.2 键盘接口技术,8.2.1 键盘的工作原理,键盘:一组按键开关的集合。,行线电压信号通过键盘开关机械触点的断开、闭合, 输出波形如图所示。,1. 键盘输入的特点,2. 按键识别与消抖,按键断开时,输出高电平,而按键闭合时,输出低电平。所以通过对按键输出电平的高低状态的检测,便可确认按键按下与否。 在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,这种情况是

10、不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施。这一点可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖;而当键数较多时,采用软件去抖。,2. 按键识别与消抖,在硬件上,可采用在键输出端加R-S触发器(双稳态触发器)或单稳态触发器构成去抖动电路。图8-14(a)是一种由R-S触发器构成的消抖电路,当触发器一旦翻转,触点抖动不会对其产生任何影响;图8-14(a)是用单稳态触发器74121构成的消抖电路;图8-14(c)采用RC积分电路滤除干扰脉冲达到消抖的目的。,2. 按键识别与消抖,常用软件来消除按键抖动。,基本思想:检测到有键按下,键对应的行线为低,软 件延

11、时10ms后,行线如仍为低,则确认该行有键按下。,当键松开时,行线变高,软件延时10ms后,行线仍为 高,说明按键已松开。,采取以上措施,躲开了两个抖动期t1和t3的影响。,8.2.2键盘的接口方式,键盘的接口形式有两种:独立式按键接口和行列式键盘接口。,1.独立式键盘接口,单片机控制系统中,往往只需要几个功能键,此时,可采用独立式按键结构。 独立式按键是直接用I/O口构成的单个按键电路,其特点是每个按键单独占用一根I/O口,每个按键的工作不会影响其它I/O口的状态。独立式按键电路配置灵活,程序设计简单,但这种键盘占用硬件资源多,每个按键必须占用一根I/O口,因此,在按键较多时,I/O口浪费较

12、大,不宜采用。,8.2.2键盘的接口方式,键盘的接口形式有两种:独立式按键接口和行列式键盘接口。,1.独立式键盘接口,【例题8-6】独立式按键结构的例子。 电路图如图8-16所示, 当有键按下,对应的 LED 灯亮。 K1 - K8 对应 P0 端口的 LED D00 - D07 K1 键按下后,D00 亮。 K8 键按下后,D07 亮。 在确认有按键按下时,蜂鸣器会响一声。,8.2.2键盘的接口方式,1.独立式键盘接口,行列式(也称矩阵式)键盘用于按键数目较多的场合,它由行线和列线组成,按键位于行、列的交叉点上。如图8-18所示,一个44的行、列结构可以构成一个16 个按键的键盘。很明显,在

13、按键数目较多的场合,行列式键盘与独立式键盘相比,要节省很多的 I/O 口线。,8.2.2键盘的接口方式,2行列式键盘接口,行列式键盘的按键识别有扫描法和线反转法两种方法。,2行列式键盘接口,a. 扫描法,扫描法的思想是,先把某一列置低电平,其余各列置高电平,检查各行线电平的变化,如果某行线电平为低电平,则可确定此行此列交叉点处的按键被按下。以44键盘为例: (1)使列线D0D3都输出0,检测行线D4D7的电平。如果D4D7上的电平全为高,则表示没有键被按下。如果D4D7上的电平不全为高,则表示有键被按下。,a. 扫描法,(2)如果没有键闭合,就返回扫描。如果有键闭合,在进行逐列扫描,找出闭合键

14、的键号。先使D0=0,D1D3=1,检测D4D7上的电平,如果D4=0,表示K1键被按下;同理,如果D5D7=0,分别表示K5、K9、K13键被按下;如果D4D7=1,则表示这一列没有键被按下。再使D1=0,D0、D2、D3为1,对第二列进行扫描,这样依次进行下去,直到把闭合的键找到为止。,b. 线反转法,只需两步便能获得此按键所在的行列值,线反转 法的原理如下:,第1步:列线输出为全低电平,则行线中电平由高变低 的所在行为按键所在行。,第2步:行线输出为全低电平,则列线中电平由高变低 所在列为按键所在列。,结合上述两步,可确定按键所在行和列。,【例题8-7】线反转法独立式按键结构的例子。 图

15、8-20中,矩阵键盘的行线和列线分别和单片机的P1.4-P1.7、P1.3-P1.0相连,对应的流程图如图8-21所示。,b. 线反转法,b. 线反转法,8.2.3 键盘的工作方式,单片机在忙于各项工作任务时,如何兼顾键盘的输 入,取决于键盘的工作方式。,原则:即要保证能及时响应按键操作,又不要过多占 用CPU的工作时间。,通常,键盘工作方式有3种,即编程扫描、定时扫 描和中断扫描。,1. 编程扫描方式,只有当单片机空闲时,才调用键盘扫描子程序, 扫描键盘。,1. 编程扫描方式,工作过程:,(1)在键盘扫描子程序中,首先判断整个键盘上有无键按下。 (2)用软件延时10ms 来消除按键抖动的影响

16、。如确实有键按下,进行下一步。 (3)求按下键的键号。 (4)等待按键释放后,再进行按键功能的处理操作。,2. 定时扫描工作方式,单片机对键盘的扫描也可采用定时扫描方式,即每隔一定的时间对键盘扫描一次。在这种方式中,通常利用单片机内的定时器产生10ms的定时中断,单片机响应定时器溢出中断请求,对键盘进行扫描,在有键按下时识别出该键,并执行相应键的处理程序。,3.中断工作方式,为进一步提高单片机扫描键盘的工作效率,可采用中断扫描方式,即只有在键盘有键按下时,才执行键盘扫描程序并执行该按键功能程序,如果无键按下,单片机将不理睬键盘。,8.3 液晶显示接口技术,LCD(Liquid Crystal

17、Display):液晶显示器 的缩写,被动式显示器-液晶本身并不发光,而是经液晶经过处理后能改变光线通过方向的特性,而达到白底黑字或黑底白字显示的目的。,液晶显示器按排列形状可分为字段型、点阵字符型和点阵图形型。在单片机中用得较多的是点阵字符型的LCD1602液晶显示器。,8.3.1 LCD102的特点与组成,点阵字符型LCD显示器,需相应的LCD控制器、驱 动器,来对LCD显示器进行扫描、驱动,以及一定空 间的RAM和ROM来存储写入的命令和显示字符的点阵。,现已上述元部件和LCD显示器用PCB连接到一起,称为液晶显示模块LCM(LCD Module)。 1602字符型液晶模块,是目前工控系

18、统中使用最为广泛的液晶屏之一,实物如图8-22所示。LCD1602具有4位或8位并口可选,显示容量为2行16个字,内置 192 种字符(160 个5 7 点阵字符和 32 个5 10 点阵字符)。LCD1602具有64 个字节的自定义字符 RAM,可自定义 8 个58 点阵字符或四个 511 点阵字符。,8.3.1 LCD102的特点与组成,LCD1602内部结构如图8-23所示,字符型液晶显示模块组件内部主要由LCD 显示屏(LCD panel)、控制器(controller)、列驱动器(segment driver)和 偏压产生电路构成。,模块14个引脚,其中有8条数据线,3条控制线,3

19、条电源线,见表8-3。通过单片机写入模块的数据和 指令,就可对显示方式和显示内容作出选择。,8.3.2 LCD1602的引脚功能与寄存器,1.LCD1602的引脚功能,命令格式及命令功能说明,(1) 命令格式,控制器HD44780内有多个寄存器。,RS位和R/W*引脚上的电平来选择寄存器,读还是写,而DB7DB0则决定命令功能。,命令共11种:清除,返回,输入方式设置,显示 开关控制,移位控制,功能设置,CGRAM(字符生成 RAM)地址设置,DDRAM(显示数据RAM)地址设置, 读忙标志和地址,写数据到CGRAM或DDRAM,从CGRAM 或DDRAM读数据。,这些命令功能强:可组合成各种输入、显示、移位方式以满足不同的要求。,(2)标准字符库,图8-25:字符库的内容、字符码和字型的对应 关系。例如“A”的字符码为41H,“B”的字符码为42H。,【例题8-8】LCD1602显示的例子。 在LCD1602的屏幕上显示以下文字: This is a MCU Program! 电路图如图8-26所示。,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1