第8章单片机应用接口技术.ppt
《第8章单片机应用接口技术.ppt》由会员分享,可在线阅读,更多相关《第8章单片机应用接口技术.ppt(67页珍藏版)》请在三一文库上搜索。
1、第8章 单片机应用接口技术,8.1 显示器接口 在MCS-51系列单片机应用系统中,显示器是人机对话的主要输出器件,它显示系统运行中用户关心的实时数据。常见的显示器件有LED(发光二极管显示器)器件和LCD(液晶显示器)器件两大类。点阵显示屏通过编程能够显示各种图形、汉字,目前也被广泛应用于各种单片机应用系统中。,8.1.1 LED显示器接口,1LED 数码显示器的结构 LED 数码显示器是一种由LED发光二极管组合显示字符的显示器件。它使用了8 个LED发光二极管,其中7个用于显示字符,1个用于显示小数点,故通常称之为8 段发光二极管数码显示器。其内部结构如图8-1所示。,LED 数码显示器
2、有两种连接方法: (1) 共阴极接法。把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地,每个发光二极管的阳极通过电阻与输入端相连。 (2) 共阳极接法。把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接5V,每个发光二极管的阴极通过电阻与输入端相连。 为了显示字符,要为LED 显示器提供显示段码(或称字形代码),组成一个“8”字形字符的7 段,再加上1个小数点位,共计8段,因此提供给LED 显示器的显示段码为1 个字节。各段码位的对应关系如表8-1所示。,2.LED显示接口 在单片机系统中,LED显示一般采用静态显示和动态扫描两种驱动方式。静态驱动方式的工作原理是每一个LED显
3、示器用一个I/O端口驱动、亮度大、耗电也大、占用的I/O端口多,但显示位多时一般很小采用。 动态扫面方式的工作原理是将多个显示器的段码同名端连在一起,位码分别控制,利用视角暂留效应,分别进行显示。只要保证显示的频率,看起来的效果和一直显示是一样的。电路上一般用一个I/O端口驱动段码,用另一个I/O口实现位控。因此动态显示占用的I/O口少,耗电也少。,(1)静态显示接口 目前静态显示接口一般采用如下三种方式 1)采用并行输出接口的静态显示接口 采用的并行输出接口可以是TTL的锁存器(如74LS273、74LS373),也可采用大规模集成并行输出接口(如8155、8255A等)。图8-2中8255
4、A的PA、PB、PC口各驱动1个8段数码管,实现静态接口。,2)采用硬件译码器件构成静态显示接口 在CMOS和TTL器件里,都有专门用于驱动显示的器件。CMOS类型的器件有CD4511、CD14547、CD14495、CM14513等。TTL类型器件有74LS47、74LS247、74LS48等,其中74LS47和74LS247可驱动共阳数码管,其余只可驱动共阴数码管。这些驱动器中大部分CMOS驱动器均带有锁存器,而TTL器件均不带锁存器,在设计时应在其前面加上锁存电路。图8-3是CD4511构成的静态显示电路。图中要显示的数据送P1.0P1.2,利用74LS138译码信号使能CD4511,通
5、过CD4511译码并锁存,从而实现静态显示的功能。,3)用串转并接口芯片构成静态显示接口 利用串转并接口芯片74LS164可以比较方便地实现多位静态显示(见图8-4)。图中4片74LS164依次级联,要显示的数据通过TXD端依次移入各片74LS164中,并锁存输出,从而实现4片LED静态显示。,设8031的串行口工作于方式0,要显示的数据存在DispBuf4中,则相应的显示程如下: Uchar code Shape10=0xc0,0xf9,0xa4,0xb0,0x99 0x92,0x82,0xf8,0x80; void Disp164(void) uchar i; for(i=0;i4;i+)
6、 SBUF= Shape DispBufi ; while(TI=0); TI=0; ,(2)动态显示接口 所谓动态显示是指一位一位地轮流点亮各个显示器。对于每一位显示器来说,每隔一段时间点亮一次。通常点亮时间为1mS左右,相隔时间为20mS。图8-5为8位共阴显示器和74LS273构成的动态显示接口。,图中74LS273-1的输出为段数据口,接显示器的各个段极,74LS273-2的输出为位扫描口,接LED的公共极。显示时,首先使74LS273-2的Q0为低电平,Q1Q7为高电平,则仅第一位显示器的公共阴极为低电平(被选通);同时74LS273-1输出第一个显示数据的段码,这时第一位显示器将显
7、示出第一个显示数据。持续1ms左右后,使Q0为低电平,关闭第一个显示器,随后使Q1为低电平,选通第二位显示器,并由74LS273-1输出第二个显示数据,并持续1ms左右。用类似的方法依次选通第3,第4第8位即完 成一次循环显示。如果连续地循环便可在显示器上稳定地显示所需显示的内容。,设图中74LS273-1的地址为BFFFH、74LS273-2的地址为7FFFH Void Disp273(void) uchar I; for(i=0;i8;i+) *p=ShapeDispBufi; *q=Position; Position=1; Delay(1); *p=0xff; ,#include Uc
8、har code Shape10=0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80; Uchar DispBuf8; uchar Position; Main() uchar xdata *p,*q; Position=0xfe;p=0xBFFF;q=0x7fff; while(1) Disp273(); Position=0xfe; ,(3)定时扫描显示程序 上述的动态扫描子程序用延时方法控制一位的显示时间,CPU的效率低下,使用定时器T0中断,定时扫描显示器,可以解决这个问题。方法如下: 用变量DispBuf指向显示缓冲区,用Position保存位
9、扫描码,当它的某一位为0,对应的LED选通。 Position的初始值设为7EH,然后每扫描一次位扫描码码左移一位以便选通下一个LED,8个LED全显示完了,又设置其值为7EH。 设置一个显示1位子程序,其功能是将DispBuf指向的单元值显示在对应位上。显示完后,把下一个显示单元的值装入DispBuf,同时Position装入下一个位扫面码。 启动定时器,使定时器产生1ms定时,在定时中断中调用显示1位子程序。,Void Disp273(uchar xdata *p,uchar xdata *q, uchar In,uchar EnBit) *p=ShapeDispBufi; *q= EnB
10、it; ,#include Uchar code Shape10=; Uchar DispBuf8; Uchar Position; Uchar DispSeq; Main() TMOD=0X01;TH0=0XFC;TL0=0X18; ET0=1;EA=1;TR0=1; Position=0xfe; DispSeq=0; ,Void T0Isr(void) interrupt 1 using 1 TH0=0XFC;TL0=0X18; Disp273(uchar xdata *)0xbfff,(uchar xdata *)0x7fff, ShapeDispBufDispSeq ,Position
11、); DispSeq+; Position=1; if( DispSeq=0x07) Position=0XFE; DispSeq=0; ,8.2 键盘接口技术,键盘是一种常见的输入设备,通过它用户可以向计算机输入数据或命令。通常键盘可分为编码键盘和非编码键盘两种。通过硬件识别的键盘称编码键盘,通过软件识别的键盘称非编码键盘。非编码键盘有独立按键接口和矩阵式按键接口两种接口方式。,8.2.1独立式键盘接口设计,独立式键盘就是各按键相互独立,每个按键各接一根输入线,一根输入线上的按键工作状态不会影响其它输入线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下了。这类键盘的接
12、口方式可分为串行和并行两类。,1. 并行方式 按键的一端接地,另一端接上拉电阻后接输入端,当按键未按下时,由于上拉电阻的作用使输入端确保为高电平,当按键按下时,输入端与地短接而为低电平 除采用P1口作为输入口外,还可以用扩展I/O口构成并行式键盘接口电路,如用8255扩展I/O口,用74LS244扩展输入口等。,2. 串行接口方式 串行接口方式的独立式键盘如图8-13所示,图中键盘输入信息通过74LS165串行输入,具体读键程序如下:,uchar Key165(void) uchar Key; SCON=0x10; Key=SBUF while(RI=0); RI=0; if(Key=0xff
13、) return(0x08); else for(i=0;i8;i+) ,if(Key ,8.2.2矩阵式键盘接口设计,1矩阵式键盘原理 在单片机系统中,若所需按键数量较多,可采用矩阵式键盘。矩阵式键盘一般采用行列式结构并按矩阵形式排列。图8-14示出44行列式键盘的基本结构。44表示有4根行线和4根列线,在每根行线和列线的交叉点上均分布1个单触点按键,共有16个按键。,矩阵式按键是通过扫描法实现键盘的识别。所谓行扫描法,就是通过行线发出低电平信号,如果该行线所连接的键没有按下的 话,则列线所连接的输出端口得到的是全“1”信号(如图8-14(a);如果有键按下的话,则得到的是非全“1”信号(如
14、图8-14(b)。 然而对于机械开关结构的按键,由于机械触点的弹性及电压突跳等原因,往往在触点闭合或断开的瞬间会出现5ms10ms电压抖动(见图815)。为了保证CPU对键的闭合只作一次处理,必须消除抖动。消除抖动可采用硬件方法 图8-15 按键抖动示意图,消除抖动可采用硬件方法 图8-15 按键抖动示意图 (如用R-S触发器隔离)和软件方法(延时去抖)两种方法实现。为节省硬件,目前单片机系统一般采用软件方式消除抖动。,2矩阵式键盘程序设计方法 图8-16是利用74LS273组成的具有4x8键盘、8位显示器的接口电路,图中74LS244的输入为键盘行扫描线,74LS273的输出为列扫描线,键盘
15、编程要点如下:,(1)判别键盘上有无键闭合 使74LS273的输出全为“0”, 读74LS244的输入D0-D3,若D0-D3为全“1”,则无键闭合,否则为有键闭合。 (2)消除抖动 当判别有键闭合时,延时10mS 后再判别键盘状态,若仍有键闭合,则认为键盘上有一个键处于稳定的闭合期,否则认为是键的抖动。 (3)确定闭合键的键号 方法是对键盘上的列线依次扫描,扫描的列线输出为0,其余的列线输出为1。这样74LS273的输出口分别为:,相应地顺序读取4位行线(74LS244的D0D3)的状态,若D0D3全为1,则输出为0的列线上没有键按下;否则该列有键闭合,由该列号和输入为0的行号就可确定是哪个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 应用 接口 技术
链接地址:https://www.31doc.com/p-2980688.html