第九章 显示器及键盘接口

合集下载

9 键盘和显示器接口设计

9 键盘和显示器接口设计
37
六、LCD接口技术 1.LCD---液晶显示模块LCM(Liquid Crystal Module)必须具备: 控制器、驱动器,存储命令和 字符的RAM和ROM 2.LCM与单片机接口,只需按照液晶模块 的时序,写入命令和显示内容,就可 完成显示。 3.分类:字符型和图形型两种。 LCD与单片机的接口有并行和串行方式
2.键盘的编码
意义:为了保证程序对按键进行有序处理。 • 独立式按键:数目相对较少,一般是依次连 续编码。例题 • 矩阵式键盘:按键的位置由行号和列号唯一 确定。常有两种: ⑴对行号和列号分别进行二进制编码,然 后将两值合成一个字节,高4位是行号, 低4位是列号; ⑵依次排列键号,对按键进行连续编码。 例题
六.LED显示器接口设计
LED(Light Emitting Diode)显示器是 由若干发光二极管组成的,每个二极管称 为一个字段。 LED显示器有三种通用格式: •可显示数字和十六进制字母的8段显 示管(8字型) •显示数字和全部英文字母的18段显示 管(米字型) •点阵显示器 8段显示管是最经济和最常用的显示器。 LED分为共阴极和共阳极两种结构形式。
16
例2 设计矩阵式键盘接口设计
• 矩阵式键盘中的行、列线为多键共用,各按 键状态的变化都会影响该键所在行和列的电 平。 • 必须将行、列线的电平信号配合起来并作适 当的处理,才能确定闭合键的位置。 • 按键的识别方法 :扫描法 、线反转法 • 矩阵键盘接口电路设计及编程
17
1.按键的识别方法—扫描法
2.矩阵式键盘:矩阵式键盘由行线和列线组 成,按键位于行、列的交叉点上。
3x3
图1
4x4
7
五、键盘接口的软件设计
• 通过键盘扫描,监视键盘的输入;

键盘与显示器接口技术

键盘与显示器接口技术

第9章 键盘与显示器接口技术
抖动现象
按键稳定闭合时间的长短则是由操作人员的按键动作决定的, 一般为零点几秒至数秒。 键抖动会引起一次按键被误读多次。 为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。 在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后 再作处理。
第9章 键盘与显示器接口技术
显示字符 共阴极字段码 共阳极字段码 显示字符 共阴极字段码 共阳极字段码
0 1 2 3 4 5 6
3FH 06H 5BH 4FH 66H 6DH 7DH
C0H F9H A4H B0H 99H 92H 82H
C D E F P U T
39H 5EH 79H 71H 73H 3EH 31H
C6H A1H 86H 8EH 8CH C1H CEH
第一行的键值: 00010001、00100001、 01000001、10000001
整个键盘的键值(同或): 0x11、0x21、0x41、0x81 0x12、0x22、0x42、0x82 0x14、0x24、0x44、0x84 0x18、0x28、0x48、0x88
④ 利用查表比对法求出闭合按键的键模。
灌电流 低电平驱动
拉电流
高电平驱动
限流电阻R = 100Ω~1kΩ
第9章 键盘与显示器接口技术
9.1 LED显示接口技术 9.1.1 LED的工作原理 9.1.2 LED数码显示 9.1.3 LED演示实例 9.2 键盘接口技术
第9章 键盘与显示器接口技术 七段式LED显示器(7-Segment Display) 在单片机应用系统中通常使用的是8段式LED数码管显示 器,它有共阴极和共阳极两种,如图所示。
第9章 键盘与显示器接口技术

键盘与显示接口技术优秀课件

键盘与显示接口技术优秀课件

共阳极 段选码
显示字符
0
3FH
C0H
C
1
06H
F9H
D
2
5BH
A4H
E
3
4FH
B0H
F
4
66H
99H
P
5
6DH
92H
U
6
7DH
82H
T
7
07H
F8H
Y
8
7FH
80H
L
9
6FH
90H
8.
A
77H
88H
“灭”
B
7CH
83H
……
共阴极 段选码
39H 5EH 79H 71H 73H 3EH 31H 6EH 38H FFH 00 ……
共阳极 段1H CEH 91H C7H 00H FFH ……
9.1 LED显示接口技术 §9.1.2 数码管的静态显示方式
ü将公共阴极接地或公共阳极接电源,
段码接一8位并行输出口。 ü需要占用大量的输出端口。
ab h ab h ab h
a fb
g ec
DISP: MOV SCON,#00H SETB P1.0 MOV R0, #33H MOV R1,#04H
LP1: MOV A,@R0 LCALL DXM MOV SBUF ,A JNB TI, $ CLR TI DEC R0 DJNZ R1,LP1 RET
;串口初始化方式0 ;74HC164处于正常工作状态 ;首地址赋指针 ;显示4个数 ;取待显示字符 ;查段选码 ;启动串行发送命令,输出段位码 ;等待发送完毕 ;清发送完毕标志位 ;指针减1 ;判断4位段选码是否全部输出
输出位选码 位选码左移

显示与键盘接口技术

显示与键盘接口技术
⑵ 定时控制扫描方式
利用定时/计数器每隔一段时间产生定时中断,CPU响应中 断后调用键盘扫描子程序来实现按键输入。
特点:与程序控制扫描方式的区别是,在扫描间隔时间内, 前者用CPU工作程序填充,后者用定时/计数器定时控制。注意 定时时间不能太长,否则会影响对键输入响应的及时性。
⑶ 中断控制方式
中断控制方式是利用外部中断源,响应键输入信号。
显示与键盘接口技术
显示与键盘接口技术
显示与键盘接口技术
(三)、绘制电路原理图并仿真
1、用Keil编译器编译连接产生调试文件(.hex文件)
2、打开Proteus Professional软件。 3、从Proteus元件库中选取元器件。
[AT89C51(单片机) , CAP(电容) , CRYSTAL(晶振), RES(电 阻), 7406, CAP-ELEC(电解电容), RESPACK-8 (排阻), 7SEGMPX4-CA (共阳极数码管) ,BUTTON(按键)]。 4、放置元器件、电源和地并连线。 5、设置元器件属性。按电路所需设置元器件的属性值。 6、加载目标代码文件。注意将Clock Frequency栏中的频率设为 12MHz。 7、单击仿真启动按钮,全速运行程序。 8、观察并记录LED显示的数字,注意观察按下按键,LED上是 否能显示相应按键的键号,即完成键盘输入及按键识别功能。
7406 、7SEG-MPX4-CA (4位共阳极数码管) ]。
4、放置元器件、电源和地并连线。
5、设置元器件属性。按电路所需设置元器件的属性值。
6、加载目标代码文件。注意将Clock Frequency栏中的频率设
为12MHz。
7、单击仿真启动按钮,全速运行程序。
8、观察并记录4位数码管的计时现象,注意观察是否能实现所

第九章 常见输入输出设备

第九章 常见输入输出设备
• • • • • • • • 打印分辨率 打印速度 打印成本 打印幅面 打印接口 最大输出速度 预热时间 首页输出时间
第九章 常见输入/输出设备
9.4 扫描仪
扫描仪(Scanner)是一种高精度的光电一体 化的高科技产品,它是将各种形式的图像信息输 入计算机的重要工具。
平板扫描仪
第九章 常见输入/输出设备
第九章 常见输入/输出设备
图9-3 多媒体键盘
第九章 常见输入/输出设备
图9-4 人体工程学键盘
第九章 常见输入/输出设备
• 9.1.2 键盘的选购
• • • • • 键位布局 键盘做工 操作手感 舒适度 接口类型
图9-5 107键盘局部
第九章 常见输入/输出设备
9.2 鼠标
9.2.1 鼠标的分类
第九章 常见输入/输出设备
• 打印机
• • • • • • • • (1)打印机的使用与维护 1)喷墨打印机的保养与维护 2)激光打印机的保养与维护 (2)常见打印机故障排除 1)打印文字字体出现乱码 2)打印时要空走一张纸 3)打印机打印字符错位 4)喷墨打印机打印时走纸不正
第九章 常见输入/输出设备
第九章 常见输入/输出设备
• 9.3.2 常见打印机
• • • • • • • • • 针式打印机 (1)阵式打印机的分类 (2)针式打印机的特点 喷墨打印机 (1)喷墨打印机的分类 (2)喷墨打印机的特点 激光打印机 (1)激光打印机的分类 (2)激光打印机的特点
第九章 常见输入/输出设备
• 9.3.3 主要技术参数
9.6 数码相机
所谓数码相 机,是一种能够 进行拍摄,并通 过内部处理把拍 摄到的景物转换 成以数字格式存 放的图像的特殊 照相机。

第9章 MCS-51与键盘、显示器的接口设计

第9章  MCS-51与键盘、显示器的接口设计

MCS-51与键盘、显示器的接口设计9.1LED显示器接口原理9.2 键盘接口原理9.1 LED显示器接口原理单片机应用系统中使用的显示器主要有:⏹发光二极管显示器,简称LED(Light Emitting Diode);⏹液晶显示器,简称LCD(Liquid Crystal Display);⏹CRT显示器LED 数码管的结构:①共阳与共阴@单片机系统扩展LED 数码管时多用共阳LED:0”)点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电平(“0”)点亮的,要求驱动功率较大。

公共阳极h g f e d c b aa b c dg ef h公共阴极h g f e d c b aa b c dg ef hh g f …… a h g f …… a高电平点亮低电平点亮接高电平LED 显示器结构和字段码关系D7D6D5D4D3D2D1D0dp g f e d c b a当LED 显示器与单片机连接时,一般是将LED 各发光二极管的引脚a 、b 、…g 、dp 顺序接到单片机的一个并行I/O 口上。

共阳LEDa b cdg ef hP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5VAT89C51显示字形dp g f e d c b a共阳极段选码共阴极段选码0 1 2 3 4 5 6 7 8 9 A B C D E F “灭”1100000011111001101001001011000010011010100100101000001011111000100000001001000010001000100000111100011010100001100001101000111011111111C0HF9HA4HB0H99H92H82HF8H80H90H88H83HC6HA1H86H8EHFFH3FH06H5BH4FH06H6DH7DH07H7FH6FH77H7CH39H5EH79H71H00H 共阴极和共阳极7段LED段选码(字型码)二、LED显示器工作原理⏹在微机应用系统中使用LED显示块构成N位LED显示器。

第9章键盘显示器接口

第9章键盘显示器接口

共阳极 C0H F9H A4H B0H 99H 88H 8CH 7FH
0 1 1 1 0 1 1 1 77H 0 1 1 1 0 0 1 1 73H 1 0 0 0 0 0 0 0 80H
共阴极
共阳极
共阴极
共阳极
9.1.2 显示器工作原理 静态显示:当显示器显示某一个字符时, 静态显示:当显示器显示某一个字符时,相应的 发光二极管恒定的导通或截止。 发光二极管恒定的导通或截止。 静态显示时较小的电流可以得到较高的亮度且字 符不闪烁。 符不闪烁。 适用于显示器位数较少的情况。 适用于显示器位数较少的情况。
DL1 DL1: JNB
;输出段码,查询TI状态,1个字节 输出段码,查询TI状态, TI状态 的段码输出完否? ;的段码输出完否? 个字节的段码输出完, TI标志 CLR TI ;1个字节的段码输出完,清TI标志 DEC R0 ;指向下一个显示数据单元 ,DL0 段码个数计数器R 是否为0 DJNZ R7,DL0 ;段码个数计数器R7是否为0, 如不 ; 为0,继续送段码 个段码输出完毕, CLR P3.3 ;8个段码输出完毕,关显示器输出 RET ;返回 SEGTAB: H,0 H,0 H,0 H,99 99H 共阳极段码表, SEGTAB:DB 0C0H,0F9H,0A4H,0B0H,99H ;共阳极段码表, ;0,1,2,3,4 DB 92H,82H,0F8H,90H 92H,82H,0 H,90H ;5,6,7,8,9 H,82H, 90 88H,83H, H,83H,0 H,0 H,86 86H DB 88H,83H,0C6H,0A1H,86H ;A,B,C,D,E F,-,P,暗 DB 8FH,0BFH,8CH,0FFH,0FFH ;F,-,P,暗
PK3 AJMP PK3

人机交互设备接口技术

人机交互设备接口技术
24 P23 23 P22 22 P21 21 P20
+5V VCC
P10
未使用
Vdd
SS
PROG
P13
未使用
P14
RAM SEL
VSS
P15
跨接器开关
EA
P16
显示器类型开关
双向数据
D0
P17
键盘锁定开关
D7
SYNC
未使用
A2 IOR
01 A0 8042
P20
RD
P21
系统复位 A20 选通
IOW
WR
键盘
P22
未使用
CS
CS
控制器 P23
未使用
RESET
图 9 - 7 AT 机 键 盘 接 口 RESET
P24
OPT BUF FULL (IRQ1)
PCLK
OC
XTALT1
Work
R e v Pi2e5 w
未使用
PCLK
OC XTALT2
P26
OC 1 键盘时钟
TEST0
P27
TEST1
OC 2 键盘数据
+5V
16 ×8 Y0 键盘 阵列
Y15

4/16 译 码 器
选通
VCC VDD VSS INT
EA XX1
RES
P2121
PP1010
XX2 8048
P20
DB6~3
PP22

检析测测器器
X0 3/8 译
X7
码 器
DB2~0
P11 1
T1
双向时钟(CLOCK)
13 4 25
+5V 双向数据(DATA)

9 键盘和显示器接口设计83437讲义资料

9 键盘和显示器接口设计83437讲义资料

2020/8/26
3
三、键盘的特点
• 机械触点的弹性作用抖动,一般为5~10ms。 • 按键稳定闭合时间的长短一般为零点几秒到几秒
的时间。 • CPU确认一次按键动作(不重复、不遗漏),必
须消除抖动的影响。 消除抖动方法:
软件消除抖动: 1.调用一段延时(约20ms)子程序 2.判断该按键的电平是否仍保持在闭合状态
,如果是,则确认有键按下。
2020/8/26
5
四、键盘的硬件接口
1.独立式按键
各个按键相互独立,分别接一条输入线。 通过检测输入线的电平状态,判断哪个按 键被按下。 优点:电路配置灵活,软件设计简单 缺点:在按键数量较多时,占用大量的输入 口资源 适用范围:按键较少或操作速度较高的场合。
2020/8/26
第9章 键盘和显示器接口设计
本章主要内容 • 键盘接口技术 • 显示器接口技术
2020/8/26
1
一、概述 I/O接口电路的功能
1. 对外设的选择 2. 数据传送速度的匹配 3. 数据的缓冲和锁存 4. 信息转换
2020/8/26
2
I/O数据传送的控制方式
1. 无条件传送方式 2. 查询方式 3. 中断方式 4. DMA方式
LJMP KEY3
;K3按下,转键3处理
TO_4: CJNE A, #07H, EXIT ;K4键未按下,返回
LJMP KEY4
;K4键按下,转键4处理
EXIT: RET
;重键或无键按下,返回
2020/8/26
16
例2 设计矩阵式键盘接口设计
• 矩阵式键盘中的行、列线为多键共用,各按 键状态的变化都会影响该键所在行和列的电 平。
⑵列线编程为输入线, ⑶行线输出为低电平, ⑷则列线中电平由高到低所在列为按键所在列 特点:不需要对键盘逐列检测,简单实用。

第九章 键盘显示器接口技术(1)PPT课件

第九章 键盘显示器接口技术(1)PPT课件

8051
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
列0 列1 列2 列3
+5V
0 12 3 4 56 7 8 9 10 11 12 13 14 15
5KΩ´4 行0
行1 行2 行3
2)按键的编码
每个按键都有一个固定的编号,4×4键盘的16个键编号为0~15,对 按键进行的编码称为键值。
(1)编程扫描方式
在CPU循环执行主控程序中,调用键盘扫描子程序。看是否有键按下, 有,则转键盘功能处理程序;无,则退出。
键盘扫描子程序的功能:
① 判别有无键按下。方法是送全扫描字,无键按下不处理,有键按下继续。 ② 按键去抖动。方法是调用软件延时10ms左右的延时子程序。 ③ 键盘列扫描,得到键值。逐列送列扫描字,用计算法或查表法得到键值。 ④ 判断闭合键是否释放,没释放则继续等待。 ⑤ 保存闭合键键值,同时转去执行该键的键处理程序。
按键的识别采用扫描法
(1)第一步,判断有无键按下
从列线输出口输出全扫描字 0000,读入行线输入口的状 态。
没键按下,行线全为1 有键按下,行线必有为0的
8051
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
列0 列1 列2 列3
+5V
0 12 3 4 56 7 8 9 10 11 12 13 14 15
5KΩ´4 行0
行1 行2 行3
按键识别
(2)第二步,判断是哪个键按下 有键按下,进行列扫描,输出列扫描字。
列扫描是对要扫描的列送0,其它列送1,依次为0111、1011、1101、 1110。每扫描一列读入行线状态,全1则不在该列,有0则必在该列。

第九章 显示器及键盘接口

第九章 显示器及键盘接口

第十章显示器及键盘接口§10.1 显示器接口一.LED原理简述LED显示块是用发光二极管显示字段,单片机应用系统常用的是七段LED,如下图,它有其阴极和共阳极两种:acefg共阴极共阳极例如,要显示‘0’字符,对于共阴极管应输出段码:h g f e d c b a a0 0 1 1 1 1 1 13 F H f bge c对于共阳极管则应输出段码: d h.h g f e d c b a1 1 0 0 0 0 0 0 C 0 H共阳极管和共阴极管的段码是互为补码的。

二.动态显示的七段LED基本用法:1.动态显示的七段LED与单片机的硬件接口扩展显示器接口实质是输出口的扩展,例如设计一个6位的数码管显示系统,它需要扩充两个8位输出口,一个输出8段码,一个输出位选码。

如下图:由图可知,要显示哪个字符,该字符的段码从1#377输出,要使1#377输出只要A0 = 0即可,因此1#377的地址为FEH。

该段码输出到6个数码管上是相同的,要哪个管亮,必须使该管的相应段二极管导通,则由2#377输出的位码控制,对应哪个管为0,则该管可以亮。

要使2#377输出只要A1 = 0,2#377的地址为FDH。

在软件设计上将6个LED管轮流点亮,每管延时约1Ms,利用人的视觉残留,则可以看成持续点亮。

2.动态显示的软件设计:要点:①代码转换:直接驱动7段LED发光的是段码,而我们习惯的是字符0、1、2、…F等,因此软件中必须将待显示的字符转换成段码。

②每次只能输出同样的段码,因此要使某管亮,必须用软件保证逐位轮流点亮并适当延时,给人的眼睛产生持续发光的效果。

程序中使用的显示缓冲区示意图:显示缓冲区共6个单元,自左至右一一对应6个数码管,其中存放待显示字符在段码表中的查表偏移量。

程序如下:ORG 8100HDISUP: MOV R0 , #79H ;置显示缓冲区首地址MOV R2 , #0DFH ;11011111 位码初值,最左面管亮DSP1: MOV A , @R0MOV DPTR , #TABLMOVC A , @A+DPTR ;查表求段码MOV R1 , #0FEH ;选1#377MOVX @R1 , A ;送段码MOV R1 , #0FDH ;选2#377MOV A , R2MOVX @R1 , A ;输出位码,最左面管亮LCALL D1ms ;延时1NC R0 ;指向显示缓冲区的下一地址MOV A , R2RR A ;位码右移一位MOV R2 , AXRL A , #7FH ;位码右移6次后为7FH时6管全显示完JNZ DSP1 ;不为7FH则未显示完,返回送下一个LEDRETTABL: 段码转换表略D1ms: 延时子程序略三.LED静态显示在静态显示方式中,数码管的共阴极或共阳极接地或十5V,每一个数码管的8段码需扩展一个8位输出口与之相连接,输出口可将令该管显示某字符的段码锁存,同一时间里,每一位的段码均可不同,即显示不同字符。

9第九章键盘显示器接口

9第九章键盘显示器接口

第9章 单片机与键盘显示器接口技术
思考:编程在4个七段LED数码管上显示30H,31H,32H,33H单元中存 MOV A,33H UP: MOV A,31H 放的1位BCD码的内容 。
SWAP A ORL A,30H MOV P1,A SWAP A ORL A,32H MOV P2,A SJMP UP
第9章 单片机与键盘显示器接口技术
“米”字段结构及外型图
第9章 单片机与键盘显示器接口技术
“米”字段LED字型码
第9章 单片机与键盘显示器接口技术
9.1.2 LED显示器原理
LED显示器有两种方式: (1)LED静态显示方式(如图9-2所示) (2)LED动态显示方式(如图9-3所示) ⑴ 静态显示: 显示器显示某一个字符时,相应 的发光二极管恒定的导通或截止。 特点:编程较简单,但占用I/O口线多,一般 适用于显示位数较少的场合。
a b c d e fg COM a b c d e fg COM a b c d e fg 3 COM
e
b c
+5V
LT RBO RBI
a b c d e f g
Dp
R0
MOV A,R2
ab e RL c dA f g 4 COMR2,A MOV
P2.4 P2.5 P2.6 P2.7
a g d
b c D
89C51
a b c d COM e f g Dp P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
共阴极LED
a b c d e f g Dp a b c d e f g Dp
第9章 单片机与键盘显示器接口技术

9 键盘和显示器接口设计 .ppt

9 键盘和显示器接口设计 .ppt

第一种是对行号和列号分别进行二进制编
码,然后将两值合成一个字节,高4位是 行号,低4位是列号;
第二种是依次排列键号,对按键进行连续 编码。
2020/10/21
10
键盘特殊情况处理方法
• 重复键:在按键操作中,可能会出现同时按下 两个以上键的情况,需要软件确定有效键。
处理方法是:
a. 多键均视为有效,按扫描顺序,将按键依 次存入缓冲区中等待处理。
2020/10/21
7
键盘接口的软件设计
• 通过键盘扫描,监视键盘的输入; • 确定具体按键,完成按键编码; • 执行与按键相应的功能模块。
2020/10/21
8
键盘的扫描方式
①查询扫描方式:CPU对键盘的扫描采取程序 控制方式,一旦进入键扫描状态,就反复扫 描键盘,等待键盘上输入命令或数据。
②定时扫描方式:这种方式是利用单片机内部 定时器产生定时中断(例如20ms),CPU在 中断服务程序中对键盘进行扫描,并在有键 按下时识别出该键并执行相应键功能程序。
非编码键盘:仅提供键的开关状态,键代码 的产生等需要由软件来完成
2020/10/21
4
键盘的特点
• 由于机械触点的弹性作用,在闭合及断开的瞬间 ,电压信号伴随有一定时间的抖动,抖动时间与 按键的机械特性有关,一般为5~10ms。
• 按键稳定闭合时间的长短则由操作者的按键动作 决定,一般为零点几秒到几秒的时间。
第9章 键盘和显示器接口设计
• 键盘接口技术 • 显示器接口技术
2020/10/21
1
I/O接口电路的功能
1. 对外设的选择 2. 数据传送速度的匹配 3. 数据的缓冲和锁存 4. 信息转换
2020/10/21

3-1_第9章 显示、键盘接口

3-1_第9章 显示、键盘接口

作抖动处理。
单片机一般使用非编码式键盘,它 分为两种: 1.独立式键盘
电路与编程都简单,但占用IO引脚较多 2.矩阵式键盘。
按键较多时能够节省IO口线,但编 程较复杂
I
89C51
/ O
9.2.1.2 矩阵式键盘接口 矩阵式键盘由行线和列线组成,按键位于行、列的交叉点上,行线与列线分别
连接到按键的两端。见图9-49所示。矩阵式键盘适用于按键数量较多的场合。
24 1111135768
11112222AAAAAAAA21314432
74LS244
11112222YYYYYYYY12342341
1168 119742 5 3
abcdef Dgp
1 19
8255
C5
PC PC
5 4
PC 3
PPCC PC
21 0
ULN2803
21 3 4 5 6
I1 I2 I3 I4 I5 I6
图9-49 键盘结构
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块 的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字 符地址,也就是告诉模块在哪里显示字符,表9-8是1602的内部显示地址。例如 第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第 二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为 高电平1所以实际写入的数据应该是01000000B(40H) +10000000B(80H)=11000000B(C0H)。在对液晶模块的初始化中要先设置其显 示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指 令前都要判断液晶模块是否处于忙的状态。

第9章_显示器、键盘、打印机接口--打印机

第9章_显示器、键盘、打印机接口--打印机
1、测试有无键按下; 检查输入端,是否有端口为低电平。
2、去抖动 软件方法:采用延时躲过抖动,时间一
般为10~20ms。(也有硬件去抖动电路 P233) 3、确定键的物理位置(行、列),计算键 码。
4、等待键释放,通过时间延迟实现。
• 如键码编排为:
00H 01H 02H 03H
04H 05H 06H 07H
• 显示缓冲区在RAM中
7EH 7DH 7CH 7BH 7AH 79H
LED6
LED2 LED1
存放要显示的数据和字符的段码
程序清单:
DIR: MOV R0,#79H;置缓冲器指针初值 MOV R3,#01H;置扫描位初值 MOV A, R3
LD0: MOV DPTR ,#7F01H;A口地址 MOVX @DPTR,A INC DPTR ; B口地址 MOV A,@R0 ;取显示数据 ADD A,0DH ;加偏移量 MOVC A,@A+PC;查表取段码
第9章 显示器、键盘、打印机接口
• 9.1 显示器接口电路 • 9.2 键盘接口电路 • 9.3 打印机接口电路
9.1.1 LED显示器
1.LED显示器结构与原理 • LED显示器是由发光二极管显示字段的显
示器件。 • 在微机应用系统中通常使用的是七段LED。
这种显示块有共阴极与共阳极两种,如图 9-1所示。七段显示器与微机接口非常容易。 如表9-1所示。
08H 09H 0AH 0BH
0CH 0DH 0EH 0FH
键码计算公式:
键码= 行首键号+列号
00
04
+(0,1,2,3)
08
0C
单片机的键盘接口处理
单片机的键盘接口处理的内容包括以下几个方面: 1、键扫描 2、去抖动
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第十章显示器及键盘接口
§10.1 显示器接口
一.LED原理简述
LED显示块是用发光二极管显示字段,单片机应用系统常用的是七段LED,如下图,它有其阴极和共阳极两种:
a
c
e
f
g
共阴极共阳极例如,要显示‘0’字符,对于共阴极管应输出段码:
h g f e d c b a a
0 0 1 1 1 1 1 1
3 F H f b
g
e c
对于共阳极管则应输出段码: d h.
h g f e d c b a
1 1 0 0 0 0 0 0 C 0 H
共阳极管和共阴极管的段码是互为补码的。

二.动态显示的七段LED基本用法:
1.动态显示的七段LED与单片机的硬件接口
扩展显示器接口实质是输出口的扩展,例如设计一个6位的数码管显示系统,它需要扩充两个8位输出口,一个输出8段码,一个输出位选码。

如下图:
由图可知,要显示哪个字符,该字符的段码从1#377输出,要使1#377输出只要A0 = 0即可,因此1#377的地址为FEH。

该段码输出到6个数码管上是相同的,要哪个管亮,必须使该管的相应段二极管导通,则由2#377输出的位码控制,对应哪个管为0,则该管可以亮。

要使2#377输出只要A1 = 0,2#377的地址为FDH。

在软件设计上将6个LED管轮流点亮,每管延时约1Ms,利用人的视觉残留,则可以看成持续点亮。

2.动态显示的软件设计:
要点:①代码转换:直接驱动7段LED发光的是段码,而我们习惯的是字符0、1、2、…F等,因此软件中必须将待显示
的字符转换成段码。

②每次只能输出同样的段码,因此要使某管亮,必须用软
件保证逐位轮流点亮并适当延时,给人的眼睛产生持续
发光的效果。

程序中使用的显示缓冲区示意图:
显示缓冲区共6个单元,自左至右一一对应6个数码管,其中存放待显示字符在段码表中的查表偏移量。

程序如下:
ORG 8100H
DISUP: MOV R0 , #79H ;置显示缓冲区首地址
MOV R2 , #0DFH ;11011111 位码初值,最左面管亮DSP1: MOV A , @R0
MOV DPTR , #TABL
MOVC A , @A+DPTR ;查表求段码
MOV R1 , #0FEH ;选1#377
MOVX @R1 , A ;送段码
MOV R1 , #0FDH ;选2#377
MOV A , R2
MOVX @R1 , A ;输出位码,最左面管亮
LCALL D1ms ;延时
1NC R0 ;指向显示缓冲区的下一地址
MOV A , R2
RR A ;位码右移一位
MOV R2 , A
XRL A , #7FH ;位码右移6次后为7FH时6
管全显示完
JNZ DSP1 ;不为7FH则未显示完,返回
送下一个LED
RET
TABL: 段码转换表略
D1ms: 延时子程序略
三.LED静态显示
在静态显示方式中,数码管的共阴极或共阳极接地或十5V,每一个数码管的8段码需扩展一个8位输出口与之相连接,输出口可将令该管显示某字符的段码锁存,同一时间里,每一位的段码均可不同,即显示不同字符。

如图:
静态显示方式中,有N位数码管则需扩展N个8位输出口,占用I/O资源较多。

它的优点是软件不必动态扫描,送出段码后可锁存,直到需更改显示字符,软件简单,同时由于始终保持显示而亮度较好。

P160页中的串行口扩展也可用于静态显示的扩展。

§10.2 按键、键盘及其接口
在单片机应用系统中,为了控制系统的工作状态,或向系统内部输入数据,常设有按键或键盘,使用这些键的开关状态来设置控制功能或输入数据。

键盘的扩展实质是输入口的扩展。

一.键输入过程及软件结构:
当所设置的数字键或功能键按下的时候,单片机应用系统应能完成该键所设定的功能。

因此,键输入的信息与软件结构密切相关。

不少应用系统键扫描程序是应用程序的核心部分。

键输入程序的软件框图大致如下:
CPU通过查讯或中断方式扫描有无键按下及哪一键按下,将键号送入A,根据A的内容跳转到该键所应完成的功能的程序中去,键处理完毕后再回到键扫描程序,查找有无另一键按下。

二.键输入接口与软件应解决的问题:
1.保证键开关状态的可靠输入
键是一种常开式按钮开关,按键和键盘都是利用机械触点的闭合和断开来输入电平信号的,在键的闭合和断开的瞬间的有抖动过程,会出现一系列负脉冲,一般为5~10ms ,为了保证CPU 对键的一次闭合只进行一次键处理,必须消除抖动的影响。

通常去抖动措施可分别采用硬件和软件两种方法来解决,硬件的方法是在按键的硬件电路上增加RS触发器或单稳态电路,这需要增加硬件开销。

较为方便的软件去抖措施是当检测到有键按下时,执行一个延时10ms的子程序,而后再检测该键是否仍保持闭合状态,若仍闭合才确认为该键按下。

2.对所有按键进行编码,确定键值或直接确定键号。

给每一按键确定一个键值或编号,当CPU扫描键盘时,可根据接收到的键输入信息确定是哪一个键按下。

3.选择键盘监测方法:
在应用系统软件中,键扫描程序、键处理程序只是应用程序的一部分,在程序运行过程中什么时候查询键输入的情况,可有查询方式和中断方式两种:
①查询方式
在程序中以一定的时间间隔扫描键盘输入的情况,无键按下则可执行其它程序,有键按下则执行键处理程序。

②中断方式
中断方式是当有键按下时引起中断,在中断服务程序中进行键处理,无键按下时CPU不必顾及键盘的工作情况。

一般在键盘使用不多的情况采用中断方式。

4.编制好键盘处理程序:
它应解决如下问题:
①扫描有无键按下。

②有键按下时,若无硬件去抖措施应以软件延时去抖动。

③有可靠的逻辑处理,保证一次只处理一个键,一次键按下
只进行一次键处理。

④输出确定的键号,一个键按下后能准确跳转到该键的处理
程序,处理结束后再返回键扫描。

三.独立式按键结构:
指直接用I/O线构成的单个按键电路。

每一键互相独立地各自接通一条输入线,每根I/O线上的按键工作状态不影响其它I/O线的工作状态,此亦称非编码键盘结构。

如下图:
即为0者该线上键闭合地
+5V
在中断服务程序中查询哪一键按下
独立式按键结构的优点是配置灵活,软件简单,缺点是使用I/O 口线多,适于按键数量不多时使用。

独立式按键的软件结构:
STRAT:MOV A,#0FFH
MOV P1 ,A ;置P1口输入方式
MOV A ,P1 ;键状态输入
JNB ACC.0 , P0 ;0号键按下转
JNB ACC.1 , P1
JNB ACC.2 , P2
JNB ACC.3 , P3
LJMP START
键处理程序略
注:该程序中未包括软件去抖措施,实际应用中应考虑去抖动处理。

四.行列式键盘结构:
1.键盘工作原理:如图
用I/O口线组成行列式结构,按键设置在行列的交叉点上,2×2的键盘结构可构成4个键的键盘,4×4的键盘结构可构成16个键的键盘。

键扫描的过程:
①判断有无键按下
列线输出全0码(D0~D3),将行线状态读入累加器A(D4~D7),若读入状态不全为1则有键按下,否则无键按下。

②当有键按下时,判断哪一键按下:
由列线逐列置0,检查行输入状态。

例如列线输出D3~D0为1110,即D0=0,读入行线状态D7~D4,若为0111,即D7=0,则可判断为0键按下,若此时读出行线状态为全1,则本列无键按下,即
0、4、8、C均未按下。

接着再将下一列线置0输出,检查下一列
键是否有键按下……,直到每一列均查完为止。

键盘上每一个键均有一个唯一的键值,一般用直接赋值方法定义键值,每个键的键值为当它按下时,键扫描程序的列码和行码按一定顺序由二进制数排列。

例如当0键按下时,键扫描程序输出的列码为1110,读入的行码为0111,将它们按D7~D0的顺序排列为:01111110,则0键的键值定义为7EH。

类似的方法可得到:
1键的键值为7DH
4键的键值为BEH
F键的键值为E7H
键扫描程序中只要将列码输出,再读入行码,然后将行列码拼接,与键值比较,即可确定为哪一键按下。

键扫描的方式可采取编程扫描、定时扫描或中断方式。

2.行列式键盘接口:
典型用法是用8155或8255。

见140页例。

相关文档
最新文档