当前位置:
文档之家› 第10章 MCS-51与键盘、显示器的接口设计
第10章 MCS-51与键盘、显示器的接口设计
2.去抖动措施: 2.去抖动措施: 去抖动措施 软件去抖动:执行一段延时10ms的子程序 软件去抖动:执行一段延时10ms的子程序 10ms 硬件去抖动: 硬件去抖动:如双稳态消抖电路
10.2.1 键盘接口的工作原理 10.2.1 1.独立式键盘接口 1.独立式键盘接口
含义: 含义: 各键相互独立,一个按键--一根输入口线。 各键相互独立,一个按键--一根输入口线。 --一根输入口线 式和查询方式2种 式和查询方式2 适用场合: 适用场合:适用于按键数较少或操作速度较高的场合
注:10-8和10-9,按键为外部RAM单元,MOVX
设计软件:请以 - 为电路 为电路, 设计软件:请以10-9为电路,采用软件去抖 动的方法,以查询方式检测, 动的方法,以查询方式检测,当且仅当有 一键按下时才予以识别, 一键按下时才予以识别,如有多键按下讲 不予处理。 不予处理。
此子程序如下: 此子程序如下:
按键未按下,输出为高 按键按下,输出为0 抖动时间一般为5~10ms
故确认一个按键是否按下的基本思想为: 故确认一个按键是否按下的基本思想为: ★在第一次检测到输出为低电平时,执行一段延时10ms 在第一次检测到输出为低电平时,执行一段延时10ms 10 的子程序后(去抖动), ),再次确任该行线电平是否仍为 的子程序后(去抖动),再次确任该行线电平是否仍为 低电平,仍为低,则确认有键按下,否则视为干扰。 低电平,仍为低,则确认有键按下,否则视为干扰。 确认键是否释放则同样须防抖动。 确认键是否释放则同样须防抖动。
为使LED显示不同的符号或数字,要为LED提供段码 为使LED显示不同的符号或数字,要为LED提供段码 LED显示不同的符号或数字 LED提供 (或称字型码)。 或称字型码)。 字型和段码可由设计者自行设计,习惯排序如下: 字型和段码可由设计者自行设计,习惯排序如下: 排序如下
按上述格式,8段LED的段码见课本。 按上述格式, LED的段码见课本。 的段码见课本
注:行线、列线均有上拉电阻。 行线、列线均有上拉电阻。 例:
线反转法更简练,无论按键在第1列或最后1列,均只需2步完成
(3) 键盘的编码 独立式键盘:灵活(因按键少) 独立式键盘:灵活(因按键少) 行列式键盘: 行首键号+ 行列式键盘:习惯 行首键号+列号 10.2.3 键盘的工作方式 单片机在忙于各项工作任务时,如何兼顾键盘的输 单片机在忙于各项工作任务时, 取决于键盘的工作方式。 入,取决于键盘的工作方式。 原则:即要保证能及时响应按键操作, 原则:即要保证能及时响应按键操作,又不要过多占 CPU的工作时间 的工作时间。 用CPU的工作时间。 即编程扫描、 通常,键盘工作方式有3 通常,键盘工作方式有3种,即编程扫描、定时扫 描和中断扫描。 描和中断扫描。
键盘扫描子程序思路: 键盘扫描子程序思路:
• (1)判断有无键按下; )判断有无键按下;
– 方法:PA口8位输出全 ,读PC口低 位状态,若PC0~PC3为全 , 方法: 口 位输出全 位输出全0, 口低4位状态 为全1, 口低 位状态, ~ 为全 则无键按下;否则可能有键按下。 则无键按下;否则可能有键按下。
PKEY1
;00011110时为S1 00011110时为S1 时为
A,#00011101B,KEY3 PKEY2 A,#00011011B,KEY4 PKEY3 A,#00010111B,KEY5 PKEY4 A,#00001111B,RETURN A,#00001111B,RETURN PKEY5 ; 多键按下不予处理
LED段码( LED段码(8段) 段码
共阳极 段码 显示字符 c d E F P U T y H L “灭” … 共阴极 段码 39H 39H 5EH 79H 79H 71H 71H 73H 73H 3EH 31H 31H 6EH 76H 76H 38H 38H 00H 00H … 共阳极 段码 C6H A1H 86H 86H 8EH 8CH C1H CEH 91H 91H 89H 89H C7H FFH …
与键盘、 第10章 MCS-51与键盘、显示器、 章 与键盘 显示器、 拨盘、 拨盘、打印机的接口设计
• 10.1 LED显示器的接口原理 显示器的接口原理 • 10.2 键盘接口原理 • 10.3 键盘/显示器接口设计实例 键盘 显示器接口设计实例
10.1 LED显示器接口原理 显示器接口原理
LED(Light Emitting Diode):发光二极管 LED(Light Diode): 10.1.1 LED显示器的结构 LED显示器的结构 常用的有‘ 字型和 字型和‘ 常用的有‘8’字型和‘米’字型
2. 行列式 矩阵式 键盘接口 行列式(矩阵式 矩阵式)键盘接口
含义: 由行线和列线组成,按键位于行、列的交叉点上。 含义: 由行线和列线组成,按键位于行、列的交叉点上。 适用于:按键数目较多的场合。 适用于:按键数目较多的场合。 例:
(1)工作原理 ) 当无键按下时,行线电平为高(有上拉电阻) 当无键按下时,行线电平为高(有上拉电阻) 当有键按下时,由与此行线相连的列线的电平决定。 当有键按下时,由与此行线相连的列线的电平决定。 故:必须将行、列线信号配合起来并作适当的处理, 必须将行、列线信号配合起来并作适当的处理, 将行 才能确定闭合键的位置。 才能确定闭合键的位置。 (2)按键的识别方法 扫描法和线反转法
例:图10-4:4位8段LED动态显示电路。 10LED动态显示电路。 动态显示电路
注: 给一位显 示的时间 不可过长 或者过短
某一时刻,只有一位LED位选线为0(共阴极)或1(共阳极) 某一时刻,只有一位LED位选线为0 共阴极) 共阳极) LED位选线为
10.2
键盘接口原理
1. 键盘输入的特点
• (2)去抖动,重新确认; )去抖动,重新确认; • (3)确定有键按下,求按下键键号。 )确定有键按下,求按下键键号。
– 扫描法,逐列置0,读PC0~PC3 扫描法,逐列置 , ~
• (4)等待按键释放后,再进行按键功能的处 释放后, )等待按键释放后 再进行按键功能的处 理操作。 理操作。
2. 定时扫描工作方式 :每隔一定时间对键盘扫描一次 3.中断工作方式 3.中断工作方式
按键判断:检测输入线的电平判断按键是否按下, 按键判断:检测输入线的电平判断按键是否按下,有中断方
例:
图10-8为8255A扩展I/O口的独立式按键接口电路。 108255A扩展I/O口 独立式按键接口电路。 I/O 按键接口电路
图10-9用三态缓冲器扩展的I/O口的按键接口电 10三态缓冲器扩展的I/O口的按键接口电 扩展的I/O 路。
10.3
键盘/ 几种实用的设计方案) 键盘/显示器接口设计实例(几种实用的设计方案)
利用并行I/O芯片8155H实现键盘/ I/O芯片8155H实现键盘 10.3.1 利用并行I/O芯片8155H实现键盘/显示器接口 硬件接口电路: 硬件接口电路:
分析:8155H RAM地址 E00H~7EFFH。 地址: 分析:8155H的RAM地址:7E00H~7EFFH。
a、扫描法:2步 扫描法: 第1步:识别键盘有无键按下。 识别键盘有无键按下。
具体方法:把所有列线置低,检查各行线电平是否有变化,有变化, 具体方法:把所有列线置低,检查各行线电平是否有变化,有变化, 有键按下,否则无键按下。 有键按下,否则无键按下。
第2步:如有键被按下,识别出具体的按键。 如有键被按下,识别出具体的按键。
低电平,则行电平由高变低的行为按键所在行。 低电平,则行电平由高变低的行为按键所在行。 同第1步完全相反,让行线--输出线,列线--输入线, --输出线 --输入线 第2步:同第1步完全相反,让行线--输出线,列线--输入线, 输出线全低,则列线电平由高变低的列为按键所在列。 输出线全低,则列线电平由高变低的列为按键所在列。
1. 编程扫描方式 只有当单片机空闲时,才调用键盘扫描子程序。 只有当单片机空闲时,才调用键盘扫描子程序。
例:采用扩展8255AI/0组成的4×8矩阵式键盘 采用扩展8255AI/0组成的4 8255AI/0组成的
•编程思路:主程序初始化:写命令字设置PA口方 编程思路:主程序初始化:写命令字设置 编程思路 口方 输出, 口低 位方式0输入 口低4位方式 式0输出,PC口低 位方式 输入 输出
KEYIN:MOV MOVX ANL DPTR,#0BFFFH;键盘端口地址BFFFH DPTR,#0BFFFH;键盘端口地址BFFFH A,@DPTR ;读键盘状态 ;屏蔽高三位
A,#00011111B
CJNE A,#00011111B,GOON JMP RETURN R3,A GOON: MOV LCALL DELAY10 MOVX ANL CJNE CJNE A,@DPTR ;保存键盘状态值 ;延时10ms去键盘抖动 延时10ms去键盘抖动 10ms ;再读键盘状态
表10-1 10显示字符 0 1 2 3 4 5 6 7 8 9 A b 共阴极 段码 3FH 06H 06H 5BH 4FH 66H 66H 6DH 7DH 07H 07H 7FH 6FH 77FH 77FH 7CH C0H F9H A4H B0H 99H 99H 92H 92H 82H 82H F8H 80H 80H 90H 90H 88H 88H 83H 83H
若将格式改为下列格式: 若将格式改为下列格式:
的段码为7EH(共阴)。 则 “0”的段码为7EH(共阴)。 字型及段码由设计者自行设定
LED显示器工作原理 10.1.2 LED显示器工作原理 图10-2是4位 LED显示器的结构原理图。 10LED显示器的线控制显示的字型, 控制显示的字型 位选线控制该显示位的亮或暗。 位选线控制该显示位的亮或暗。 控制该显示位的亮或暗 LED显示器有两种显示方式。 LED显示器有两种显示方式。 显示器有两种显示方式 1. 静态显示方式 每位的段码线(a~dp)分别与一个8位的锁存器 每位的段码线( dp)分别与一个8 输出相连。各位的共阴极/共阳极连接在一起接地/ 输出相连。各位的共阴极/共阳极连接在一起接地/+5V 优点:显示的亮度高。 优点:显示的亮度高。 缺点: 缺点:占用口线较多 4位静态LED显示器电路 位静态LED显示器电路。 例:图10-3: 4位静态LED显示器电路。 10-