第10章 MCS-51与键盘、显示器、拨盘、打印机的接口设计
合集下载
第10章 MCS-51与键盘、显示器的接口设计

扩展键盘接口
二. 键盘接口原理
1.键盘 原理
P.230
单片机系统中完成控制参数输入及修改的基本输 入设备,是人工干预系统的重要手段。 单片机与计算机在键盘规模/键符设置等方面差别 很大。
列 线
列线的电平决 定行线电平,
行线 输出
+5V
即 行线电平 为按键闭合的 判断依据
二. 键盘接口原理
入 口
接高电平
公共阳极
P.226
@ 单片机系统扩展LED数码管
时多用共阳LED:
b c h
h g f …… a
f e
a g d
共阳数码管每个段笔画是 用低电平(“0”)点亮的,要求驱
动功率很小;
而共阴数码管段笔画是用 高电平(“0”)点亮的,要求驱
低电平点亮
h g f e d c b a
D7 D6
D5 D4 D3 D2 D1 D0
第10章
MCS-51的键盘、显示器、拨盘
打印机的接口设计
学习内容: 数码管显示方法(动态/静态) 键盘的设计与控制 键盘扫描法和线反转法
学习目的: 掌握数码管显示方法(重点) 掌握独立按键的判别方法(重点) 了解键盘扫描和线反转法的基本实现方法
学习难点: 数码管动态显示方法 键盘的行扫描法和线反转法的编程实现
显示器显示状态(微观) 0 1
以8位LED 动态显示
2003.10.10 0
1
3FH
06H
为例
0
1
BFH
06H
3.
0
CFH
3FH
人 2 0 0 3. 1 0. 1 0 眼 0 看 1 到 的 3. 结 果
【2019年整理】MCS-51第10章MCS-51与键盘和显示器的接口设计

DELAY: MOV D2: MOV D1: MOV
DJNZ DJNZ DJNZ RET
R5, #5 R6, #200 R7, #250 R7, $ R6, D1 R5, D2
SEG01: DB DB DB END
0C0H,0F9H,0A4H 0B0H,99H,92H 82H,0F8H,80H,90H
图10-6所示为8位LED动态显示2009.10.10的过程。图 10-6(a)所示为显示过程,某一时刻,只有一位LED被选 通显示,其余位则是熄灭的;图10-6(b)所示为实际的显 示结果,人眼看到的是8位稳定的同时显示的字符。
图10-6 8位LED动态显示过程和结果
动态显示的优点是硬件电路简单,显示器越多,优势越 明显。缺点是显示亮度不如静态显示的亮度高。如果“扫描” 速率较低,会出现闪烁现象。
① 扫描法。第1步,识别键盘有无键按下;第2步,如有 键被按下,识别出具体的键位。
下面以图10-9所示的键3被按下为例,说明识别过程。
第1步,识别键盘有无键按下。先把所有列线均置为0, 然Байду номын сангаас检查各行线电平是否都为高,如果不全为高,说明有键 按下,否则无键被按下。
例如,当键3按下时,第1行线为低,还不能确定是键3 被按下,因为如果同一行的键2、1或0之一被按下,行线也 为低电平。只能得出第1行有键被按下的结论。
4.如何消除按键的抖动
按键去抖动的方法有两种:
一种软件延时,本思想是:在检测到有键按下时,该键 所对应的行线为低电平,执行一段延时10ms的子程序后, 确认该行线电平是否仍为低电平,如果仍为低电平,则确认 该行确实有键按下。当按键松开时,行线的低电平变为高电 平,执行一段延时10ms的子程序后,检测该行线为高电平, 说明按键确实已经松开。采取本措施,可消除两个抖动期t1 和t3的影响。
C51与键盘、显示器、拨盘、打印机的接口设计幻灯片

LD0: MOV DPTR,#7F01H ;位选码→PA口
MOVX @DPTR,A ;(PA.0位)最左边LED亮
INC DPTR
;数据指针指向PB口
MOV A,@R0
;显示数据→A
ADD A,#0DH ;加偏移量
MOVC A,@A+PC ;根据显示数据来查表取段码
DIR1:MOVX @DPTR,A
2. 定时扫描工作方式 利用单片机内的定时器,产生10ms的定时中断,对键盘进
行扫描。
3.中断工作方式 只有在键盘有键按下时,才执行键盘扫描程序,如无键按下,
单片机将不理睬键盘。
键盘所做的工作分为三个层次。 第1层:单片机如何来监视键盘的输入。三种工作方式:①
编程扫描;②定时扫描;③中断扫描。 第2层:确定具体按键的键号。体现在按键的识别方法上就
10.2.2 键盘接口的工作原理 独立式按键接口和行列式键盘接口。 1.独立式键盘接口
各键相互独立,每个按键各接一根输入线,通过检测输入线的 电平状态可很容易判断那个键被按下。
此种接口适于键数较少或操作速度较高的场合。 图10-7(a)为中断方式的独立式键盘工作电路。只要有一个 键按下,与门的输出即为低电平,并向89C51发出中断请求,在 中断服务程序中,对按下的键进行识别。 图10-7(b)为查询方式的独立式键盘工作电路。按键直接与 89C51的IO口线相连,通过读IO口,判断各IO口线的电平的状 态,即可以识别出按下的键。
DL:
MOV R6,#0FFH
DL6:
DJNZ R6,DL6
DJNZ R7,DL
RET
2.键盘程序设计 (1)判别键盘上有无键闭合
方法为扫描口PA0~PA7输出全0,读PC口的状态,若 PC0~PC3全为1(键盘上的行线全为高电平),则键盘上没有 键闭合,若PC0~PC3不全为1,则有键处于闭合状态。 (2)去除键的机械抖动
第10章 MCS-51与键盘、显示器的接口设计

第10章
MCS-51与键盘、显示器、打印机接口设计
矩阵式键盘接口—行动态扫描方法
+5V P1.0 P1.1
0 1
0 4 8 C
1 5 9 D
2 6 A E
3
第0行
7
第1行
B
89C51
1 P1.2
P1.3 1 P1.4 P1.5
第2行
F
第3行 第3列 第2列 第1列 第0列
38
1 1
1 P1.6 P1.7 1
29
第10章 MCS-51与键盘、显示器、打印机接口设计 KEYIN:MOV DPTR,#0BFFFH ;键盘端口地址BFFFH
MOVX A,@DPTR ANL A,#1FH MOV R3,A LCALL DELAY10 MOVX A,@DPTR ANL A,#1FH CJNE A,R3,RETURN CJNE A,#1EH,KEY2 LJMP KEY1 KEY2: CJNE A,#1DH,KEY3 LJMP KEY2 KEY3: CJNE A,#1BH,KEY4 LJMP KEY3 KEY4: CJNE A,#17H,KEY5 LJMP KEY4 KEY5: CJNE A,#0FH,PASS LJMP KEY5 RETURN: RET
第10章
MCS-51与键盘、显示器、打印机接口设计
矩阵式键盘接口—行动态扫描方法
+5V P1.0 P1.1
0 0
0 4 8 C
1 5 9 D
2 6 A E
3
第0行
7
第1行
B
89C51
0 P1.2
P1.3 0 P1.4 P1.5
第2行
F
第3行 第3列 第2列 第1列 第0列
第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提供 (或称字型码)。 或称字型码)。 字型和段码可由设计者自行设计,习惯排序如下: 字型和段码可由设计者自行设计,习惯排序如下: 排序如下
第10章 MCS-51与键盘、显示器、拨盘、打印机的接口设计75987培训资料

;屏蔽高三位 ;保存键盘状态值 ;延时10ms去键盘抖动
MOVX A,@DPTR ;再读键盘状态
ANL A,#1FH
;屏蔽高三位
CJNE A,R3,RETURN ;两次不同,抖动引起转RETURN
CJNE A,#1EH,KEY2 ;相等,有键按下,不等转KEY2
2020/8/15
LJMP PKEY1
2020/8/15
图10-4:4位8段LED动态显示电路。其中段码线占用一 个8位I/O口,而位选线占用一个4位I/O口。
2020/8/15
图10-5为8位LED动态显示2003.10.10的过程。 图(a)是显示过程,某一时刻,只有一位LED被选通
显示,其余位则是熄灭的; 图(b)是实际显示结果,人眼看到的是8位稳定的
LJMP PKEY4
;S4按下,转PKH,PASS ;S5未按下,转RETURN
LJMP PKEY5
;S5按下,转PKEY5处理
RETURN:RET
;重键或无键按下,从子程序返回
2020/8识/15别和编程简单,用在按键数较少的场合。
2. 行列式(矩阵式)键盘接口 用于按键数目较多的场合,由行线和列线组成,
段对应段码的最低位。
2020/8/15
10.1.2 LED显示器工作原理 图10-2是4位 LED显示器的结构原理图。
N个LED显示块有N位位选线和8×N根段码线。 2020/8/15
段码线控制显示的字型,
位选线控制该显示位的亮或暗。
静态显示和动态显示两种显示方式。
1. 静态显示方式
各位的公共端连接在一起(接地或+5V)。 每位的段码线(a~dp)分别与一个8位的锁存器
按上述格式,8段LED的段码如表10-1所示。
单片机第10章89C51与键盘显示器接口教材课程
2020/8/6
2020/8/6
图10-7
图10-8为82C55扩展I/O口的独立式按键接口电路。
2020/8/6
图10-8
2. 行列式(矩阵式)键盘接口 用于按键数目较多的场合,由行线和列线组成,按键位于
行、列的交叉点上。如图10-9所示。
图10-9 按键数目较多的场合,行列式键盘与独立式键盘相比, 要节省很多的I/O口线。
2020/8/6
图10-11
89C51外扩一片8155H。RAM地址: 7E00H~7EFFH。 I/O口地址:7F00H~7F05H。
PA口为输出口,控制键盘列线的扫描,同时又是6位共阴极 显示器的位扫描口。
PB口作为显示器段码输出口,PC口作为键盘的行线状态的 输入口。
75452:反相驱动器,7407:同相驱动器。
利用单片机内的定时器,产生10ms的定时中断,对键盘进行 扫描。 3.中断工作方式
只有在键盘有键按下时,才执行键盘扫描程序,如无键按 下,单片机将不理睬键盘。
键盘所做的工作分为三个层次。
2020/8/6
第1层:单片机如何来监视键盘的输入。三种工作方式:①编 程扫描②定时扫描③中断扫描。
第2层:确定具体按键的键号。体现在按键的识别方法上就 是:①扫描法;②线反转法。
1.动态显示程序设计 内部RAM 6个显示缓冲单元:79H~7EH,存放要显示的6位数
据。 81C55的PB口输出相应位的段码,依次改变PA口输出为高的位使
某一位显示某一字符,其它位为暗。动态地显示出由缓冲区 中显示数据所确定的字符。
2020/8/6
参考程序:
DIR: MOV R0,#79H ;置缓冲器指针初值
方法:对键盘的列线进行逐列扫描,扫描口PA0~PA7依次输 出下列编码,即只有一列为低电平,其余各列为高电平:
2020/8/6
图10-7
图10-8为82C55扩展I/O口的独立式按键接口电路。
2020/8/6
图10-8
2. 行列式(矩阵式)键盘接口 用于按键数目较多的场合,由行线和列线组成,按键位于
行、列的交叉点上。如图10-9所示。
图10-9 按键数目较多的场合,行列式键盘与独立式键盘相比, 要节省很多的I/O口线。
2020/8/6
图10-11
89C51外扩一片8155H。RAM地址: 7E00H~7EFFH。 I/O口地址:7F00H~7F05H。
PA口为输出口,控制键盘列线的扫描,同时又是6位共阴极 显示器的位扫描口。
PB口作为显示器段码输出口,PC口作为键盘的行线状态的 输入口。
75452:反相驱动器,7407:同相驱动器。
利用单片机内的定时器,产生10ms的定时中断,对键盘进行 扫描。 3.中断工作方式
只有在键盘有键按下时,才执行键盘扫描程序,如无键按 下,单片机将不理睬键盘。
键盘所做的工作分为三个层次。
2020/8/6
第1层:单片机如何来监视键盘的输入。三种工作方式:①编 程扫描②定时扫描③中断扫描。
第2层:确定具体按键的键号。体现在按键的识别方法上就 是:①扫描法;②线反转法。
1.动态显示程序设计 内部RAM 6个显示缓冲单元:79H~7EH,存放要显示的6位数
据。 81C55的PB口输出相应位的段码,依次改变PA口输出为高的位使
某一位显示某一字符,其它位为暗。动态地显示出由缓冲区 中显示数据所确定的字符。
2020/8/6
参考程序:
DIR: MOV R0,#79H ;置缓冲器指针初值
方法:对键盘的列线进行逐列扫描,扫描口PA0~PA7依次输 出下列编码,即只有一列为低电平,其余各列为高电平:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LCALL DELAY10
A,#1FH ;屏蔽高三位 A,R3,RETURN ;两次不同,抖动引起转RETURN 两次不同,抖动引起转RETURN A,#1EH,KEY2 相等,有键按下,不等转KEY2 A,#1EH,KEY2 ;相等,有键按下,不等转KEY2
图 4位8段LED动态显示电路。其中段码线占用一个8位I/O 口,而位选线占用一个4位I/O口。
例子:显示1 例子:显示1、2、3、4
首先扫描 最后扫描
必须注意:扫描周期必须控制在视觉停顿时间内, 必须注意:扫描周期必须控制在视觉停顿时间内,一般 以内, 在20ms以内,否则会出现闪烁或跳动现象。 以内 否则会出现闪烁或跳动现象。
330*8
1 2 3 4 5 6 7 8
a b c d e f g dp
9
VCC a f e g d b c dp
330*8
LED 1 2 3 4 5 6 7 8
GND
9
LED
共阴数码管
共阳数码管
共阴极接法 COM 0 1 2 0 0 0 dp 0 0 0 g 0 0 1 f 1 0 0 e 1 0 1 d 1 0 1 c 1 1 0 b 1 1 1 a 1 0 1 段码 3FH 06H 5BH
静态显示和动态显示两种显示方式。 静态显示和动态显示两种显示方式。 两种显示方式 1. 静态显示方式 各位的公共端连接在一起(接地或+5V)。 各位的公共端连接在一起(接地或+5V +5
每位的段码线(a~dp)分别与一个8位的锁存器输出相连。 显示字符一确定,相应锁存器的段码输出将维持不变, 直到送入另一个段码为止。显示的亮度高。
静态显示和动态显示两种显示方式。 静态显示和动态显示两种显示方式。 两种显示方式 1. 静态显示方式 各位的公共端连接在一起(接地或+5V)。 各位的公共端连接在一起(接地或+5V +5
每位的段码线(a~dp)分别与一个8位的锁存器输出相连。 显示字符一确定,相应锁存器的段码输出将维持不变, 直到送入另一个段码为止。显示的亮度高。
图10-7(a)为中断方式的独立式键盘工作电路。 10中断方式的独立式键盘工作电路。 键盘工作电路 10查询方式的独立式键盘工作电路 图10-7(b)为查询方式的独立式键盘工作电路。
图10-8为8255A扩展I/O口的独立式按键接口电路。 108255A扩展I/O口 独立式按键接口电路。 I/O 按键接口电路
显示0?
数码管段码的编码: 数码管段码的编码:
8段正好是一个字节,通常采用如下编码方式。(这种 段正好是一个字节,通常采用如下编码方式。(这种 。( 编码需单片机数据总线的D0..D7分别和数码管的a D0..D7分别和数码管的 编码需单片机数据总线的D0..D7分别和数码管的a、b、 dp对应相连 c、…dp对应相连。如图所示 dp对应相连。
图10-9用三态缓冲பைடு நூலகம்扩展的I/O口的按键接口电路。
如何读取键盘的状态? (1)读键盘端口的状态;(2)调用延时再次读键盘端 口的状态;(3) 如何区分S1、S2、S3 、S4、S5。
读键盘端口的状态
MOV DPTR,#0BFFFH;键盘端口地址BFFFH MOVX A,@DPTR ;读键盘状态
与键盘、 第10章 MCS-51与键盘、显示器、拨盘、打印机的接 10章 MCS-51与键盘 显示器、拨盘、 口设计 输入外设:键盘、BCD码拨盘等; 输入外设:键盘、BCD码拨盘等; 码拨盘等 输出外设:LED显示器 LCD显示器 打印机等。 显示器、 显示器、 输出外设:LED显示器、LCD显示器、打印机等。 LED显示器接口原理 10.1 LED显示器接口原理 LED(Light Diode):发光二极管的缩写。 LED(Light Emitting Diode):发光二极管的缩写。 显示器前面冠以“LED”。 显示器前面冠以“LED”。 LED显示器的结构 10.1.1 LED显示器的结构 常用的LED显示器为8段(或7段,8段比7段多了一 常用的LED显示器为8 段比7 LED显示器为 个小数点“dp”段 个小数点“dp 段)。 有共阳极和共阴极两种。如图10-1所示。 共阳极和共阴极两种。如图10- 所示。 两种 10
对图10- 独立式键盘编程,软件消抖, 对图10-9独立式键盘编程,软件消抖,查询方式检 10 测键的状态。仅有一键按下时才有效才处理。 测键的状态。仅有一键按下时才有效才处理。
KEYIN:MOV MOVX ANL MOV MOVX ANL CJNE CJNE DPTR,#0BFFFH;键盘端口地址BFFFH DPTR,#0BFFFH;键盘端口地址BFFFH A,@DPTR A,#1FH R3,A A,@DPTR ;读键盘状态 ;屏蔽高三位 ;保存键盘状态值 ;延时10ms去键盘抖动 延时10ms去键盘抖动 10ms ;再读键盘状态
LED显示器工作原理 10.1.2 LED显示器工作原理 图10-2是4位 LED显示器的结构原理图。 10LED显示器的结构原理图。 显示器的结构原理图
N个LED显示块有N位位选线和8×N根段码线。 LED显示块有N位位选线和 显示块有 根段码线。 段码线控制显示的字型, 控制显示的字型 段码线控制显示的字型, 位选线控制该显示位的亮或暗。 控制该显示位的亮或暗 位选线控制该显示位的亮或暗。
2. 按键的确认 检测行线电平 检测行线电平 行线 高电平:断开;低电平:闭合, 高电平:断开;低电平:闭合,
3.如何消除按键的抖动 3.如何消除按键的抖动 常用软件来消除按键抖动 软件来消除按键抖动。 常用软件来消除按键抖动。 基本思想:检测到有键按下,键对应的行线为低, 基本思想:检测到有键按下,键对应的行线为低,软 件延时10ms后 行线如仍为低,则确认该行有键按下。 10ms 件延时10ms后,行线如仍为低,则确认该行有键按下。 当键松开时,行线变高,软件延时10ms后 当键松开时,行线变高,软件延时10ms后,行线仍为 10ms 说明按键已松开。 高,说明按键已松开。 采取以上措施,躲开了两个抖动期t1 t3的影响 t1和 的影响。 采取以上措施,躲开了两个抖动期t1和t3的影响。
图10-5为8位LED动态显示2003.10.10的过程。 10LED动态显示2003.10.10的过程。 动态显示2003.10.10的过程 图(a)是显示过程,某一时刻,只有一位LED被选通 a)是显示过程,某一时刻,只有一位LED被选通 是显示过程 LED 显示,其余位则是熄灭的; 显示,其余位则是熄灭的; 图(b)是实际显示结果,人眼看到的是8位稳定的 b)是实际显示结果,人眼看到的是8位稳定的 是实际显示结果 同时显示的字符 的字符。 同时显示的字符。
2. 动态显示方式 所有位的段码线相应段并在一起,由一个8 所有位的段码线相应段并在一起,由一个8位I/O 相应段并在一起 口控制,形成段码线的多路复用,各位的公共端分别由 口控制,形成段码线的多路复用,各位的公共端分别由 段码线的多路复用 公共端 相应的I/O线控制,形成各位的分时选通。 相应的I/O线控制,形成各位的分时选通。 I/O线控制 分时选通
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 …
LED数码显示器是由若干个发光二极管组成的,当发光 数码显示器是由若干个发光二极管组成的, 数码显示器是由若干个发光二极管组成的 二极管导通时,相应的点或线段发光, 二极管导通时,相应的点或线段发光,将这些二极管排成一 定图形,控制不同组合的二极管导通, 定图形,控制不同组合的二极管导通,就可以显示出不同的 字形。 字形。
最高 位
dp
g
f
e
d
c
b
a
VCC
最低 位
U1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 8051
a b c d e f g dp
a f e g d GND b c dp
U1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 8051
静态显示和动态显示两种显示方式。 静态显示和动态显示两种显示方式。 两种显示方式 1. 静态显示方式 各位的公共端连接在一起(接地或+5V 各位的公共端连接在一起(接地或+5V)。 +5 每位的段码线( dp)分别与一个 与一个8 每位的段码线(a~dp)分别与一个8位的锁存器 输出相连。 输出相连。 显示字符一确定, 显示字符一确定,相应锁存器的段码输出将维持 不变,直到送入另一个段码为止。显示的亮度高。 不变,直到送入另一个段码为止。显示的亮度高。 位静态LED显示器电路。 LED显示器电路 图10-3: 4位静态LED显示器电路。该电路各位 10可独立显示。 可独立显示。
复 习
9.5
用MCS-51的串行口扩展并行口 MCS-51的串行口扩展并行口
74LS165扩展并行输入口 实现的功能?) 9.5.1 用74LS165扩展并行输入口(实现的功能?)
的引脚;(2)74ls165并行置入数 一:(1)74ls165 的引脚;(2)74ls165并行置入数 :(1 ;(3)允许串行移位 允许串行移位; 单片机如何接收74ls165 74ls165的 据;(3)允许串行移位;二:单片机如何接收74ls165的 数据? 数据?
共阳极接法 COM 0 1 2 1 1 1 dp 1 1 1 g 1 1 0 f 0 1 1 e 0 1 0 d 0 1 0 c 0 0 1 b 0 0 0 a 0 1 0 段码 C0H F9H A4H
段码( 表10-1 LED段码(8段) 10- LED段码