键盘和显示器接口设计.ppt
1,第9章 键盘和显示器接口设计,本章主要内容键盘接口技术显示器接口技术,2,1.对外设的选择2.数据传送速度的匹配3.数据的缓冲和锁存4.信息转换,一、概述I/O接口电路的功能,3,1.无条件传送方式2.查询方式3.中断方式4.DMA方式,I/O数据传送的控制方式,4,键盘结构:按键式键盘旋钮式键盘按键式键盘:是一组按键开关的集合,包括机械式、薄膜式(100万次)、电容式(2000万次)和霍尔效应按键(1亿次)产生代码不同:编码键盘:采用硬件电路来去除键抖动、实现键的自动编码,占用CPU时间少,但电路较复杂,主要有BCD码键盘和ASCII码键盘。非编码键盘:仅提供键的开关状态,键代码的产生等需要由软件来完成,二、键盘接口技术,5,机械触点的弹性作用抖动,一般为510ms。按键稳定闭合时间的长短一般为零点几秒到几秒的时间。CPU确认一次按键动作(不重复、不遗漏),必须消除抖动的影响。消除抖动方法:软件消除抖动:1.调用一段延时(约20ms)子程序 2.判断该按键的电平是否仍保持在闭合状态,如果是,则确认有键按下。,三、键盘的特点,6,1.独立式按键 各个按键相互独立,分别接一条输入线。通过检测输入线的电平状态,判断哪个按键被按下。优点:电路配置灵活,软件设计简单 缺点:在按键数量较多时,占用大量的输入口资源 适用范围:按键较少或操作速度较高的场合。,四、键盘的硬件接口,7,2.矩阵式键盘:矩阵式键盘由行线和列线组成,按键位于行、列的交叉点上。,图1,8,通过键盘扫描,监视键盘的输入;确定具体按键,完成按键编码;执行与按键相应的功能模块。,五、键盘接口的软件设计,9,查询扫描方式:采取程序控制方式,一旦进入键扫描状态,就反复扫描键盘,等待键盘上输入命令或数据。定时扫描方式:利用单片机内部定时器产生定时中断(例如20ms),CPU在中断服务程序中对键盘进行扫描,并在有键按下时识别出该键并执行相应键功能程序。外部中断方式:在中断方式下,仅在键盘有键按下时,产生外部中断请求,进入中断服务程序,再执行键盘扫描和按键处理程序。,1.键盘的扫描方式,10,意义:为了保证程序对按键进行有序处理。独立式按键:数目相对较少,一般是依次连续编码。例题矩阵式键盘:按键的位置由行号和列号唯一确定。常有两种:对行号和列号分别进行二进制编码,然后将两值合成一个字节,高4位是行号,低4位是列号;依次排列键号,对按键进行连续编码。例题,2.键盘的编码,11,重复键:出现同时按下两个以上键的情况 处理方法是:多键均视为有效,按扫描顺序,将按键依次存入缓冲区中等待处理。继续对按键进行扫描,只判定最先(或最后)释放的按键为有效,其它按键则无效。连击:指一次较长时间的按键产生多次击键的效果。等待按键释放的处理,目的就是为了消除连击,对一次按键只执行一次键功能,避免多次重复执行。,3.键盘特殊情况处理方法,12,查询方式典型电路,图2,13,中断方式典型电路,图3,14,例1 独立式按键接口电路设计,外设地址(按键)7FFFH,三态缓冲器,P0口没有上拉电阻,15,独立式按键软件设计1.查询方法检测按键状态 2.延时消除抖动,KEY:MOV DPTR,#7FFFH;送按键地址 MOVX A,DPTR;读键盘状态 ANL A,#0FH;屏蔽高4位 MOV R2,A;保存键盘状态值 LCALL DL10MS;延时10ms消抖 MOVX A,DPTR;再读键盘状态 ANL A,#0FH;屏蔽高4位 CJNE A,R2,EXIT;若两次不一样,按键无效 CJNE A,#0EH,TO_2;K1键未按下,转TO_2,16,独立式按键接口电路设计,LJMP KEY1;是K1键按下,转键1处理TO_2:CJNE A,#0DH,TO_3;K2键未按下,转TO_3 LJMP KEY2;K2按下,转键2处理TO_3:CJNE A,#0BH,TO_4;K3键未按下,转TO_4 LJMP KEY3;K3按下,转键3处理TO_4:CJNE A,#07H,EXIT;K4键未按下,返回 LJMP KEY4;K4键按下,转键4处理EXIT:RET;重键或无键按下,返回,17,矩阵式键盘中的行、列线为多键共用,各按键状态的变化都会影响该键所在行和列的电平。必须将行、列线的电平信号配合起来并作适当的处理,才能确定闭合键的位置。按键的识别方法:扫描法、线反转法 矩阵键盘接口电路设计及编程,例2 设计矩阵式键盘接口设计,18,扫描法:分两步来完成:第一步,判断键盘有无键被按下。具体方法:将所有列线均置为低电平,检查各行线电平是否有变化,如果有变化,说明有键被按下。第二步,确定按键位置。具体方法:CPU把各列依次置为低电平,其余的列置为高电平,检查各行线电平的变化,如果某行线电平变为低电平,则可确定该列与该行交叉点处的按键被按下。,1.按键的识别方法扫描法,19,方法1 行线编程为输入线 列线编程为输出线 列线输出低电平 则行线中电平由高到低所在行为按键所在行方法2 行线编程为输出线 列线编程为输入线,行线输出为低电平,则列线中电平由高到低所在列为按键所在列特点:不需要对键盘逐列检测,简单实用。,2.按键的识别方法线反转法,20,按键的识别方法线反转法,21,矩阵式键盘接口硬件设计,22,矩阵式键盘接口软件设计,程序分为3个模块(子程序结构):键盘扫描模块确定按键位置模块按键编码模块,判断有无键按下时,采用延时10ms子程序进行消除抖处理。,通过设置处理标志来区分闭合键是否已处理过。,用计算方法得到键码,高4位代表行,低4位代表列,在主程序中,按顺序调用各个子模块,23,矩阵式键盘接口扫描程序框图,24,已知条件:8255口地址 为0700H0703H A口0700H,C口0703H 8255方式0,A口方式0输入,C口低4位方式0输出方式命令控制字为 10010000B,25,六.LED显示器接口设计,LED(Light Emitting Diode)显示器是由若干发光二极管组成的,每个二极管称为一个字段。LED显示器有三种通用格式:可显示数字和十六进制字母的8段显示管(8字型)显示数字和全部英文字母的18段显示管(米字型)点阵显示器8段显示管是最经济和最常用的显示器。LED分为共阴极和共阳极两种结构形式。,26,一、共阴极7段显示器字型编码,27,二、静态显示方式,28,特点:1.编程比较简单 2.电流始终流过每个点亮的字段,亮度较高 3.占用的输出口线较多,29,方法:1.将所有位的段选线相应并联,由一个8位I/O口控制,从而形成段选线的多路复用 2.各位的公共端分别由相应的I/O线控制,实现分时选通。3.采用循环扫描显示的方法,即在某一时刻,只选通一条位选线,并输出该位的字段码,其余位则处于关闭状态。说明:采用动态显示时,需要确定LED各位显示的保持时间。,三、动态显示方式,30,图 动态显示电路,31,分类:并行和串行 硬件:常用的并行接口芯片有Intel8279通用可编程键盘显示器接口芯片。集成芯片有BCD/七段译码器/驱动器 串行接口芯片:I2C总线LED驱动器 LED显示器是电流型控制器件,其工作电流约为220mA。注意:在接口电路设计时,应考察驱动输出是否满足LED工作电流的要求,加适当的限流电阻。,四、LED显示器接口电路设计,32,分析:1.Intel 8155H/8156H功能:是可编程并行I/O接口,片内有256字节RAM,2个8位、1个6位可编程并行I/O口和1个14位定时/计数器 2.用8155并行扩展口构成的键盘、显示器接口电路。键盘为48矩阵键盘 LED为8位8段共阴极显示器,例:8155构成的键盘和显示器接口电路,33,8155命令寄存器格式,34,3.8155工作于方式0 PA口提供显示器位选码 PB口提供段选码;键盘列输出由PA口提供,行输入由PC0PC3提供。4.LED的段、位信号均由8位集电极开路输出的8718驱动器驱动。,35,8155构成的键盘和显示器接口电路,36,8155构成的键盘和显示器软件,动态显示子程序:P209-210,37,LCD(Liquid Crystal Display)液晶显示器显示原理:1.在两片玻璃之间夹上1012m薄层液晶流体而制成的。2.LCD是一种被动式的显示器,利用液晶能改变光线通过方向的特性,来达到显示的目的。3.LCD的工作电流为A级,寿命长,厚度约为LED的1/3,有功耗低。4.分类:按显示排列形式 笔段型、字符型和点阵图形型 5.LCD驱动信号多是交流电压,通常为30150Hz的方波,静态直流电压不能大于50mV,五、LCD原理和分类,38,1.LCD-液晶显示模块LCM(Liquid Crystal Module)必须具备:控制器、驱动器,存储命令和字符的RAM和ROM2.LCM与单片机接口,只需按照液晶模块的时序,写入命令和显示内容,就可完成显示。3.分类:字符型和图形型两种。LCD与单片机的接口有并行和串行方式,六、LCD接口技术,39,1)LCD与单片机的并行接口 硬件接口主要技术:正确连接其片选控制、读、写和并行数据总线。LCD通常还有亮度调节等辅助功能 2)LCM与单片机的串行接口 串行接口的LCD已得到越来越多的应用,LCD串行接口的协议有多种 LCD模块产品非常丰富,应用方法各有不同,根据实际需要选择。,七、LCD与单片机的接口,40,作业P218:3、5,