1、1,第12讲 MCS-51的键盘显示接口,电气工程系 赵志衡 E-mail:,2,主要内容:,LED显示器原理 键盘接口原理,3,LED显示器原理,数码管分类 常用的数码管可分为8段和“米”字段两种 从电气特性上可分为“共阴极”和“共阳极”两种,LED结构及外形图,a,b,c,d,e,f,g,4,LED显示器原理,8段式LED显示段码的确定,共阳极数码管字形码示意图,5,为使LED显示不同的符号或数字,要为LED提供段码(或称字型码)。提供给LED显示器的段码(字型码)正好是一个字节(8段)。各段与字节中各位对应关系如下(习惯上如此设置):,按上述格式,8段LED的段码如下表所示。,6,LED
2、段码表(8段),7,LED的静态显示,基本原理 多个数码管显示时,同时点亮显示,每一位数码管恒定的点亮,不闪烁。 显示程序简单,但是要求较多的I/O口线 驱动电流较小,8,LED的动态显示,基本原理: 多个数码管显示时,依次循环点亮每一个数码管,利用人的视觉暂留看到整个现实内容,只有循环速度足够快,才不闪烁。 显示程序较复杂,但是节省I/O口线 驱动电流较大,LED显示器动态显示示意图,9,键盘显示接口电路设计,8155PA口地址7F01H 8155PC口地址7F03H,8155PB口地址7F02H,10,键盘接口,键盘的分类编码式:由专门的硬件(8279等)识别按下的键码。非编码式:依靠软件
3、实现键码的识别。 非编码键盘的结构 独立式键盘 矩阵式键盘,软件实现按键识别的方法 扫描法 键盘使用中的注意事项:键盘的抖动,11,独立式键盘,1)每个按键占用一根口线 2)电路配置灵活,软件结构简单。 3)适用于按键较少的场合。 特点:可直接判断哪个键按下,;- ; 独立式键盘的处理程序 ;- LOOP: MOV A,P1 ;读P1口电平状态ANL A,#0FH ;取P1口低4位CJNE A,#0FH,KEY ;判断是否有键按下SJMP LOOP ;如没有键按下,重新扫描 KEY: CJNE A,#0EH,NEXT1 ;判断是否为一号键按下LCALL KEY1 ;调用一号键处理子程序SJMP
4、 LOOP NEXT1: CJNE A,#0DH,NEXT2 ;判断是否为2号键按下LCALL KEY2,12,矩阵式键盘,由行线和列线组成 适用于按键较多的情况 节省IO口线,软件实现较复杂 按键的识别方法,矩阵式键盘示意图,13,矩阵式键盘的工作过程,键没有按下时行线和列线是分开的,键按下将相应的行线列线短接。 连接行线的管脚作为输入口,没有键按下时,被外电路拉高为“1” 连接列线的管脚作为输出口,需要扫描键盘时,逐次输出低电平,若此时有键按下,则与其交叉的行线回读值为“0”,否则为“1”。 根据当前的扫描列线和回读电平为“0”的行线可确定按下的键值。,14,矩阵式键盘键码的判别,对于一个
5、规则编码的矩阵式键盘,可以通过对键盘的列线依次进行扫描(输出低电平),然后回读行线,如果哪一行的电平为低,说明该行、该列的键被按下。该键的键码为:键码=该行首键码+该列号,0行,1行,2行,3行,0列 1列 2列 3列,15,键盘的扫描方式,程序控制扫描方式 当单片机空闲时,才调用键盘扫描程序 定时扫描方式 每隔一定时间对键盘扫描一次,通常采用单片机内定时器确定键盘扫描时间间隔 中断扫描方式 利用按键操作产生的中断来扫描键盘,优点是及时响应键盘操作,节省CPU时间,16,键盘的抖动问题,键盘的抖动 抖动时间一般为510ms。 为了保证CPU对键的闭合作一次,而且是仅作一次处理,必须消除抖动 可采用软件方法消除抖动。 软件消抖原理,1)判断是否有键按下; 2)若有键按下,调用延时程序(延时时间大于10ms); 3)再次判断是否有键按下,并读入相应的键值.,17,键盘程序设计,设计要求 判别键盘上有无键闭合 去除键盘的机械抖动 判别闭合键的键号 使处理器对键的一次闭合仅作一次处理程序流程,键盘处理子程序流程,18,END,