第16讲键盘及显示器接口
第16讲键盘及显示器接口
•七段码LED显示器字型码表
第16讲键盘及显示器接口
• LED数码显示器的接口方法与接口电路 1.LED数码显示器的接口方法 单片机与LED数码显示器有以硬件为主以 软件为主的两种接口方法。 • 1)以硬件为主的接口方法 •
第16讲键盘及显示器接口
•以硬件为主的LED显示器接口电路
第16讲键盘及显示器接口
• 2)以软件为主的接口方法 这种接口方法的电路,它是以软件查表 代替硬件译码,不但省去了译码器,而且还 能显示更多的字符。但是驱动器是必不 可少的,因为仅靠接口提供不了较大的电 流供LED显示器使用。
第16讲键盘及显示器接口
•以软件为主的LED显示器接口电路
第16讲键盘及显示器接口
第16讲键盘及显示器接口
3rew
演讲完毕,谢谢听讲!
再见,see you again
2020/11/25
第16讲键盘及显示器接口
LED数码显示器接口
• 1. LED数码显示器的结构 • LED数码显示器是一种由LED发光二
极管组合显示字符的显示器件。它使用 了8个LED发光二极管,其中7个用于显示 字符,1个用于显示小数点,故通常称之为7 段(也有称作8段)发光二极管数码显示器。
第16讲键盘及显示器接口
•7段LED数码显示器
•WAIT: JNB RI,WAIT
;未接收完一帧,循环等待
•
CLR RI
;清RI标志,准备下次接收
第16讲键盘及显示器接口
•MOV •MOV •INC •DJNZ •DJNZ •
A,SBUF ;读入数据
@R0,A
;送至RAM缓冲区
R0
;指向下一个地址
R1,RXDATA ;未读完一组数据,继续
R7,START ;5组数据未读完重新并行置入
键盘接口举例
第16讲键盘及显示器接口
第16讲键盘及显示器接口
键盘扫描的程序(采用查询方法)
• KS: • • • • • • • • • • KSK1: • • • • • • •
MOV DPTR,#7FFFH
;键扫描程序
CLR P1.0
;先扫描第1行
MOVX A,@DP第16讲键盘及显示器接 口
2020/11/25
第16讲键盘及显示器接口
第16讲键盘及显示器接口
8155引脚图
第16讲键盘及显示器接口
• 2)用74LSTTL电路扩展并行I/O口
• 利用74LS273和74LS244,将P0口扩展成简单的输 入、输出口的电路。 • 74LS273输出端接8个LED发光二极管,以显示8个按 •钮开关状态,某位低电平时二极管发光。 • 74LS244是缓冲驱动器,扩展输入口,接8个按钮开 关。 •
•
第16讲键盘及显示器接口
• 1.静态显示 • 所谓静态显示,就是在同一时刻只显示1种
字符,或者说被显示的字符在同一时刻是 稳定不变的。其显示方法比较简单,只要 将显示段码送至段码口,并把位控字送至 位控口即可。
第16讲键盘及显示器接口
• 2.动态显示 • 如果要在同一时刻显示不同的字符,从电
路上看,这是办不到的。因此只能利用人 眼对视觉的残留效应,采用动态扫描显示 的方法,逐个地循环点亮各位数码管,每位 显示1ms左右,使人看起来就好象在同时 显示不同的字符一样。 •
• 单片机系统中普遍使用非编码式键盘。 这类键盘应主要解决以下几个问题:
•
(1)键的识别;
•
(2)如何消除键的抖动;
•
(3)键的保护。
• 在以上几个问题中,最主要的是键的识 别。
第16讲键盘及显示器接口
• 非编码式键盘的结构与工作原理 • 1.非编码式键盘的结构
•
第16讲键盘及显示器接口
• 2.非编码式键盘的工作原理 非编码式键盘识别闭合键通常有两种方法:
;取下一个数 ;未完,发完从子程序返回
第16讲键盘及显示器接口
键盘接口
• 键盘实际上是由排列成矩阵形式的一系 列按键开关组成的,它是单片机系统中 最常用的人机联系的一种输入设备。用 户通过键盘可以向CPU输入数据、地址 和命令。
• 键盘按其结构形式可分为编码式键盘和 非编码式键盘两大类。
•
第16讲键盘及显示器接口
•MOV R0,#20H ;设置内部RAM数据区首址
•START: CLR P1.0
;并行置入数据,S/L*=0
•
SETB P1.0
;允许串行移位,S/L*=1
•
MOV R1,#02H ;设置每组字节数,即外扩
•
;74LS165的个数
•RXDATA: MOV SCON,#10H ;设串口方式0,允许接收,启动
……
;对数据进行处理
第16讲键盘及显示器接口
•用74LS164扩展并行输出口. •74LS164:8位串入并出移位寄存器。
•下图是利用74LS164扩展二个8位并行输出口的接 •口电路。
第16讲键盘及显示器接口
•例 编写将内部RAM单元30H、31H的内容经串行口
•
由74LS164并行输出子程序。
KS9 ;8~F键也不存在操作则跳 A,@DPTR;再读按键状态
•
CPL A
•
JNZ KS1 ;按键没有松开,则等待松开
•
MOV A,37H ;查询有键操作的键号
•
JB ACC.0,KS2 ;不是第1个键,则跳
•
MOV 37H,#00H;赋键初值
•
AJMP KS10
第16讲键盘及显示器接口
• KS2: JB ACC.1,KS3;不是第2个键,则跳
的弹性及电压突跳等原因,往往在触点闭 合或断开的瞬间会出现电压抖动。 • 软件去抖:调用延迟子程序 • 硬件去抖:加锁存器
第16讲键盘及显示器接口
• 4.键的保护 • 键的保护问题指的是当有双键或多
键同时按下时会出现什么问题以及如何 加以解决。一旦出现这样情况,一般作为 废键处理。
第16讲键盘及显示器接口
• LED数码显示器的显示方法
• 对于多位数码显示器来说,为了简化线路、 降低成本,往往采用以软件为主的接口方法, 即不使用专门的硬件译码器,而采用软件程 序进行译码。
• 如前所述,由于各位数码管的显示段码是互 相并联的,因此在同一时刻只能显示同一种 字符。对于这种接口电路来说,其显示方法 有静态显示和动态显示两种。
•
MOV 37H,#01H;赋键初值
•
AJMP KS10
•
……
• KS9: SETB ACC.7
•
AJMP KS11
• KS10 : MOV A,37H
•
ANL A,#07H
•
JNB P1.0 KS11
•
SETB ACC.3
• KS11: ORL P1,#03H
•
MOV 37H,A
•
RET
第16讲键盘及显示器接口
;反复连续执行
第16讲键盘及显示器接口
• 3)用MCS-51的串行口扩展并行口 • 用74LS165扩展并行输入口
第16讲键盘及显示器接口
串行口控制寄存器SCON
第16讲键盘及显示器接口
•例: 从16位扩展口读入5组数据(每组二个字节), •节并把它们转存到内部RAM 20H开始的单元中。
•MOV R7,#05H ;设置读入组数
;暂存按键状态
CPL A
;
JZ KSK1
;0~7号键没有键操作,则跳
LCALL DL20
;0~7号键有操作,则延时去抖
MOVX A,@DPTR ;再读键状态
XRL A,37H
;和延时前的状态一样吗?
JZ KS1
;一样,则转去查询键号
SETB P1.0
;开始扫描第2行
CLR P1.1
MOVX A,@DPTR ;读入按键状态
第16讲键盘及显示器接口
第16讲键盘及显示器接口
•编写程序把按钮开关状态通过图中的发 •光二极管显示出来。程序如下:
•DDIS: →DPTR
MOV DPTR,#0FEFFH ;输入口地址
••LMPO:VX
MOVX A,@DPTR
;按钮开关状态读入A
@DPTR,A ;A中数据送输出口
•SJMP LP
第16讲键盘及显示器接口
LED数码显示器有两种连接方法: (1)共阳极接法。
把发光二极管的阳极连在一起构成公共阳 极,使用时公共阳极接+5V,每个发光二 极管的阴极通过电阻与输入端相连。 (2)共阴极接法。 • 把发光二极管的阴极连在一起构成公共 阴极,使用时公共阴极接地。每个发光 二极管的阳极通过电阻与输入端相连。
第16讲键盘及显示器接口
• 2. LED数码显示器的显示段码 • 为了显示字符,要为LED显示器提供显示
段码(或称字形代码),组成一个“8”字形 字符的7段,再加上1个小数点位,共计8段, 因此提供给LED显示器的显示段码为1个 字节。各段码位的对应关系如下:
段码 D7 D6 D5 D4 D3 D2 D1 D0 位 显示 dp g f e d c b a 段
第16讲键盘及显示器接口
第16讲键盘及显示器接口
• 74ls273:是带有清除端的8D触发器,只有 在清除端保持高电平时,才具有锁存功 能,锁存控制端为11脚CLK,采用上升 沿锁存。 CPU 的ALE信号必须经过反相 器反相之后才能与74LS273的控制端 CLK 端相连。
第16讲键盘及显示器接口
•START: MOV R7,#02H ;设置要发送的字节个数
•
MOV R0,#30H ;设置地址指针
•
MOV SCON,#00H ;设置串行口为方式0