单片机第10章课件_第1页
单片机第10章课件_第2页
单片机第10章课件_第3页
单片机第10章课件_第4页
单片机第10章课件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大多数的单片机应用系统,都要配置输入外设和输出外设。常用的输入外设有键盘、BCD码拨盘等;输出外设有LED数码管、LCD显示器、打印机等。§10.1LED数码管的显示原理

LED(LightEmittingDiode,发光二极管),LED数码管是由发光二极管组成的。

一、按公共端接的电平不同分为共阴极数码管、共阳极数码管。二、段选码/段码/字型码显示不同数字,其实就是点亮对应段的LED,通常把8段LED的亮/灭控制线称为段选线。

段选线内容构成1个字节(dp最高位,a最低位),称为段选码/段码/字型码。§10.1.2LED数码管工作原理如图,要显示4位数码管,需控制:4个公共端COM(位选线)和4*8条段选线。

段选线选择显示字型,位选线控制着该数码管的亮或暗。根据控制方式不同,分为静态显示和动态显示。一、LED静态显示方式

LED公共端接固定电平,各LED的段选线由各自的8位I/O口提供。优点:编程简单,亮度高,显示稳定。缺点:占用I/O多,耗电大。二、LED动态显示方式

LED公共端受控(位选线),所有LED段选线共用1个8位I/O口,各LED轮流点亮,利用视觉暂留现象。优点:占用I/O少,耗电小。缺点:编程复杂,亮度有时不够,延时时间不恰当会造成闪烁或显示模糊。二、键盘输入的特点常见键盘:触摸式键盘、薄膜键盘和按键式键盘,最常用的是按键式键盘。按键实质上就是一个开关,两端分别连接在行线和列线上,按键开关机械触点的断开、闭合时,其行线电压输出波形如下。图中t1和t3分别为键的闭合和断开过程中的抖动期(呈现一串负脉冲,一般为5~10ms)。三、按键的识别键的闭合与否,行线输出电压上就是呈现高电平或低电平。高电平,表示键断开,低电平则表示键闭合,通过对行线电平的高低状态的检测,可确认按键按下以及按键释放与否。为了确保对一次按键动作只确认一次按键有效,必须消除抖动期t1和t3的影响。四、如何消除按键的抖动按键去抖动的方法有软件延时和硬件消抖2种。1、软件延时本思想是:在检测到有键按下时,该键所对应的行线为低电平,执行一段延时10ms的子程序后,确认该行线电平是否仍为低电平,如果仍为低电平,则确认该行确实有键按下。当按键松开时,行线的低电平变为高电平,执行一段延时10ms的子程序后,检测该行线为高电平,说明按键确实已经松开。2、硬件消抖另一种是采用专用的键盘/显示器接口芯片,这类芯片中都有自动去抖动的硬件电路。识别某一键是否按下的子程序:KEYIN: MOV P1,#0FFH ;设置P1口为输入状态 MOV A,P1 ;读入8个按键的状态 CJNE A,#0FFH,QUDOU;有键按下,跳去抖动 LJMP RETURN ;无键按下,返回

QUDOU: MOVR3,A ;8个按键的状态送R3保存 LCALLDELAY10 ;调用延时,软件去抖动 MOV A,P1 ;再一次读入8个按键的状态 CJNE A,R3,RETURN ;两次键值比较,不同,

;是抖动引起,转RETURNKEY0:

MOV C,P1.0 ;有键按下,读P1.0的按键状态

JC KEY1 ;P1.0为高,该键未按下,跳KEY1

;判下一个键

LJMP PKEY0 ;P1.0的键按下,跳PKEY0处理KEY1:

MOV C,P1.1 ;读P1.1的按键状态

JC KEY2 ;P1.1为高,该键未按下,跳KEY2

;判下一个键

LJMP PKEY1 ;P1.1的键按下,跳PKEY1处理2、矩阵式键盘矩阵式(也称行列式)键盘用于按键数目较多的场合,由行线和列线组成,按键位于行、列的交叉点上。使用在按键数目较多的场合,可节省较多的I/O口线。矩阵中无按键按下时,行线全部为高电平;当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线的电平也为高,这是识别按键是否按下的关键所在。矩阵式键盘按键的识别方法:逐行扫描法和线反转法。一、逐行扫描法

1、全扫描:所有扫描线为0,读输入线,有0则说明有键按下;

2、逐行扫描:扫描线逐根送0,检测输入线是否为0,为0则找到按下键。按下键的列值由扫描线确定,行值由输入线确定,两者相加即是按下键的键号。二、线反转法1、让行线为输入线,列线为输出线,并使输出线输出为全低电平,则行线中电平由高变低的所在行为按键所在行。2、再把行线为输出线,列线为输入线,并使输出线输出为全低电平,则列线中电平由高变低所在列为按键所在列。2、定时扫描方式每隔一定的时间对键盘扫描一次。在这种方式中,通常利用单片机内的定时器产生的定时中断,进入中断子程序来对键盘进行扫描,在有键按下时识别出该键,并执行相应键的处理程序。为了不漏判有效的按键,定时中断的周期一般应小于100ms。3、中断扫描方式为提高单片机扫描键盘的工作效率,可采用中断扫描方式,键盘有按键按下时,发出中断请求信号,单片机响应中断,执行键盘扫描程序中断服务子程序。此种方式的优点是,只有按键按下时,才进行处理,所以其实时性强,工作效率高。§10.3键盘/显示器接口设计实例在单片机应用系统设计中,一般都是把键盘和显示器放在一起考虑。也有的系统仅单独需要键盘或显示器。介绍几种实用的键盘/显示器接口的设计方案。§10.3.1利用AT89S51串行口实现的键盘/显示器接口

1、74LS164(0)~74LS164(7):作为8位LED数码管的段码输出口;

2、74LS164(8):作为键盘阵列的扫描输出线;

3、P3.4、P3.5作为键盘阵列的行状态输入线;

4、P3.3为TXD引脚同步移位脉冲输出控制线,P3.3=0时,与门封死,禁止同步移位脉冲输出。键盘扫描子程序:KEYI: MOV A,#0 ;判断有无键按下,使所有列线为0 LCALLSOUT ;00H送74LS164(8),使所有列线为0LP1: JNB P3.4,RK1 ;第1行有键闭合,跳RK1进行处理

JB P3.5,LP1 ;第2行无闭合键,从第1行再查询RK1: LCALLDELAY ;调用延时子程序,软件消抖动

MOV R3,#0 ;准备逐列扫描,列号寄存器R3 MOV R7,#08 ;扫描次数计数器,最多8列

MOV R6,#0FEH ;列扫描码,FEH为最左1列为低RK2: MOV A,R6 ;输出列扫描码

LCALLSOUT ;列扫描码送74LS164(8) RL A ;先准备好下一列扫描码

MOV R6,A ;下一列扫描码存在A中

MOV R4,#0 ;行首键号00H送R4 JNB P3.4,KEYD ;第1行键中有键按下,找到键处理

MOV R4,#08 ;行首键号08H送R4 JNB P3.5,KEYD ;第2行键中有键按下,找到键处理

INC R3 ;此列无键按下,准备扫下一列

;列号寄存器R3先加1 DJNZ R7,RK2 ;列计数器R7减1,8列都扫描完?

LJMP KEYI ;8列扫完,开始下一个扫描周期KEYD:MOV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论