并行口的设计键盘讲课讲稿
8 并行IO接口与键盘接口技术
程控扫描法
程控扫描方法
判断是否有键按下
• 通过 PC口 使所有的行输出均为低电平,从端口A 读入列值。 • 如果读入值为 FFH, 无键按下。
• 如果读入值不为 FFH, 有键按下。
去除键抖动
• 若有键按下,延时 10~20ms,再一次判断有无键按下, • 如果此时仍有键按下,则认为键盘上确有一个键被按下。
程控扫描方法
求闭合键的键值
• 对键盘逐行扫描 • 使PC0=0,读入列值,若等于FFH,说明该行无键按下
• 再对下一行进行扫描(即令PC1=0)„„
• 直至发现列值不等于FFH,则说明该行有键按下。
求出其键值
• 键值= 8键×行值 +列值
定时扫描法
CPU 每隔一定的时间(如10ms)对键盘扫描一遍
• 编码键盘
• 需专用硬件电路支持
• 能自动识别按下的键并产生相应代码,以并行/串行方式送给CPU
• 使用方便,接口简单,响应速度快,但较贵
• 非编码键盘
• 无需专用硬件支持
• 通过软件来确定按键并计算键值 • 价格便宜,得到了广泛的应用
键盘设计需解决的几个问题
按键的确认
• 通过电平状态检测确定键的闭合与否
I/O数据的四种传送方式
并行I/O接口芯片—Intel 8255A
并行I/O接口芯片—Intel 8255A
并行I/O接口芯片—Intel 8255A
并行I/O接口芯片—Intel 8155
并行I/O接口芯片——Intel 8155
键盘接口技术
键盘的分类:
发现有键被按下时,读入键盘操作,以求出键值。 定时时间间隔
第八章并行接口与串行接口课件
中断服务程序
识别与判优)。 及接口方法
从通道C读 方式1状态字
通道B? Y 通道B服务程序
N 通道A?
N
返回 Y
通道A服务程序
其他中断?
N
Y
返回
非法中断进 行出错处理
服务程序
返回
返回
8255方式1中断查询流程图
工作特点 C口各位与A口、 B口的挂靠关系 程序查询式接口 中断驱动式接口
back
27
8.2.3 三种工作方式及接口方法
D7 D0
D7 D0
PA7 PA
HGFE 显示
Ai-1 译 码
A2 器 A 1A0
IOR
4PA3
CS
8255
PA0
A1
PB7
A0
PB4
RD
DCBA 显示
DCBAB74IN93RRA00IN12
IOW
WR PB3
1 RESET
&
RESET
PB0 PPCC07
DCBA7B4I 93RRA00IN12
&
N
输出
数据总线 控制寄存器
端口输出为“高阻”
非法
禁止
端口输出为“高阻”
back 8
8.2.1 内部结构与引脚功能 8255与MPU总线的接口方法
DB7 - DB0
IOR/MEMR
IOW/MEMW
高电平有效
MPU
A0
A1
AB
A2
| Ai-1
地址译码
D7 - D0
RD 8255 WR RESET A0 A1
举例:
INTRA
PC3PA0-7 PC4 PC7
并行接口优秀课件
D0~D7
RD WR
A引脚
A组 控制
A组 端口A
PA0~PA7
数据 总线 缓冲器
内部数据线
读写 控制 逻辑
B组 控制
内部控制线
A组 端口C 上部
B组 端口B
B组 端口C 下部
PC4~PC7 PB0~PB7 PC0~PC3
1. 外设数据端口
• 端口A:PA端0口~APA:7PA0~PA7
适用于对简单的I/O设备(如开关、LED显示器、 继电器等)的操作,或者I/O设备的定时固定或已 知的场合。 二、查询状态传送(异步传送)
效率低。
三、中断传送方式
效率大大提高。
四、直接存储器存取(DMA)方式
适于高速外设以及成组交换数据的场合 。
I/0接口的类型
• 串行I/0接口 • 并行I/0接口
中断请求信号 请求CPU接收数据
方式1输入引脚:B端口
PB7~PB0
数据选通信号 表示外设已经准备好数据
INTEB PC2
STBB
同方时式P还1需C1具借有用中端IB断F口B 请C用求输做和入联屏缓冲络蔽器信功满信号能号
表示A口已经接收数据
PC0
INTRB
中断允许触发器
中断请求信号 请求CPU接收数据
– A组,支持工常作作方数式据0端、口1、,2功能最强大
• 端口B:PB端0口~BP:B7PB0~PB7
– B组,支持工常作作方数式据0端、口1
• 端口C:P端C0口~CP:C7PC0~PC7
– 仅支持工作 可方作式数0 据、状态和控制端口 – A组控制高4分位两PC个44~位P,C7每位可独立操作 – B组控制低4控位制PC最0灵~活PC,3最难掌握
并行IO口ppt课件
T
引脚
读引脚
单片机原理与应用
16
②P3的内部结构
一、作为通用I/O口与P1口类似----准双向口(W=1)
读锁存器
内部总线 写锁存器
读引脚
第二输出功能 VCC
W
DQ CLK Q
R
P3.n P3口
T
引脚
第二输入功能
单片机原理与应用
17
②P3的内部结构
二、P3第二功能(Q=1) 此时引脚部分输入(Q=1、W=1) , 输出(Q=1、W输出) 。
脚处于悬浮状态,变为高阻抗输入。这就是所谓的
准双向口。
地址/数据 VCC
读锁存器
控制
内部总线 写锁存器
DQ CLK Q
T1
P0.n P0口
T2
引脚
MUX
读引脚
单片机原理与应用
10
2、P0作为地址/数据总线
在系统扩展时,P0端口作为地址/数据总线使用时, 分为:
▪ P0引脚输出地址/输出数据信息。
读锁存器
delay();
/*延时*/
P1=0xB6; /*置P1口状态10110110*/
delay();
/*延时*/
}while(1);
}
单片机原理与应用
20
void delay() {
int x=20000; do {
x=x-1; } while(x>1); }
单片机原理与应用
21
问题:
1.MCS-51单片机的哪些端口,有两种功能?分别是什 么功能?
T1
P0.n P0口
T2
引脚
MUX
读引脚
单片机原理与应用
第9章并行接口ppt课件
方式控制字的格式如图9-4所示。
在对8255A进展初始化时,应向控制存放器写入方式控制 字,确定各端口的任务方式及功能。在系统复位时,复位信
假设将此控制字内容写入8255A的控制存放器,即实现了 对8255A任务方式的设定,就是完成了对8255A的初始化。 设控制口地址为303H,初始化的程序段为:
MOV DX,303H
;8255A的控制口地址
MOV AL,OAAH
;控制字
OUT DX,AL ;控制字写入控制端口
2.端口C按位置位/复位控制字 按位置位/复位控制字的作用是使端口C的某一位输出为高电 平或低电平,以用于控制或应对信号。
与CPU的接口信号:
D7~D0——数据线、双向、三态,可衔接CPU的数据总线。
CS ——片选信号、输入、低电平有效。只需当 为“0〞时, 8255A芯片才任务。通常, 接地址译码信号。
A1、A0——片内存放器选择CS 信号〔端口选择〕,输入。8255A 内部有3个数据端口和1个控制端口。规定当A1,A0为00时, 选中端口PA;为01时,选中端口PB;为10时,选中端口PC; 为11时,选中控制端口。
〔1〕方式1的输入
1〕方式1的输入组态。方式控制字选择A组、B组任务于方 式1输入时,其端口组态如图9-8所示。
2〕联络信号的定义
STB ——选通讯号,低电平有效。这是由外部设备提供的输
入信号,当其有效时,将输入设备送来的数据锁存输入锁存 器。
IBF——输入缓冲器满信号,高电平有效。这是8255A输出 的联络信号。当其有效时,表示数据己锁存在输入锁存器中。 它由前沿置高、信号的后沿置低。
第七章 单片机并行接口技术PPT课件
键按下
前沿抖动
后沿抖动
闭合 稳定
图7.2 按键触点的机械抖动
在触点抖动期间检测按键的通与断状态,可能导致 判断出错,即按键一次按下或释放被错误地认为是多次 操作,这种情况是不允许出现的。为了克服按键触点机 械抖动所致的检测误判,必须采取去抖动措施。这一点 可从硬件、软件两方面予以考虑。在键数较少时,可采 用硬件去抖,而当键数较多时,采用软件去抖。
第七章 单片机并行接口技术
7.1 单片机与键盘接口 7.2 单片机与显示器接口 7.3 D/A转换器接口 7.4 A/D转换器接口
7.1 键盘接口
7.1.1 键盘工作原理
1.按键的分类
按键按照结构原理可分为两类,一类是触点式开关按 键,如机械式开关、导电橡胶式开关等;另一类是无触点 式开关按键,如电气式按键,磁感应按键等。前者造价低, 后者寿命长。目前,微机系统中最常见的是触点式开关按 键。
按键按照接口原理可分为编码键盘与非编码键盘两类, 这两类键盘的主要区别是识别键符及给出相应键码的方法。 编码键盘主要是用硬件来实现对键的识别,非编码键盘主要 是由软件来实现键盘的定义与识别。
全编码键盘能够由硬件逻辑自动提供与键对应的编码, 此外,一般还具有去抖动和多键、窜键保护电路。这种键盘 使用方便,但需要较多的硬件,价格较贵,一般的单片机应 用系统较少采用。非编码键盘只简单地提供行和列的矩阵, 其它工作均由软件完成。由于其经济实用,较多地应用于单 片机系统中。下面将重点介绍非编码键盘接口。
(2) 有可靠的逻辑处理办法。每次只处理一个按键, 其间对任何按键的操作对系统不产生影响,且无论一次按 键时间有多长,系统仅执行一次按键功能程序。
(3) 准确输出按键值(或键号),以满足跳转指令要 求。
键盘接口技术讲稿
键盘接口技术♦线反转连接方式♠电路特点:列线和行线都通过上拉电阻连接到VCC♠使用特点:先令行线作为输出口线,列线作为输入口线再令列线作为输出口线,行线作为输入口线♠编程特点:①行线输出全“0”,查列线是否有“0”,若有进入②②列线输出全“0”,查行线是否有“0”,找到对应按键。
3. 键盘接口功能●键扫描,判定是否有键按下●键识别,判定按键位置●产生闭合按键键码(键值)●去抖动♦开关动作示意前后沿抖动时间<20ms稳定时间>100ms♦去抖动硬件电路双稳态消抖电路4. 独立按键接口设计♠并行口扩展三个独立按键●硬件设计●软件设计(按键识别及处理子程序)ORG 2000HKEYS:MOV P1, # 0FFH ; 置P1口为输入态MOV A , P1; 读键值CPL A ; 取反ANL A , # 00000111B ; 屏蔽高5位JZ GORET ; A=0, 说明无键闭合,返回LCALL DELAY ; 有键闭合,延时去抖JB ACC.0, KEY0; (ACC.0 = 1) S0 按下JB ACC.1, KEY1; (ACC.1 = 1) S1 按下JB ACC.2, KEY2; (ACC.2 = 1) S2 按下GORET:RETKEY0:LCALL S0AJMP GORETKEY1: LCALL S1AJMP GORETKEY2:LCALL S2AJMP GORETEND●关键语句分析若没有任何键按下,则P1口及读进累加器A的内容为:取反后的结果为:同数据00000111B相与后的结果为:●8个独立按键连接的通用软件结构-分支结构START:MOV P1, #0FFHMOV A, P1CPL AJZ STARTJB ACC.0, KEY0JB ACC.1, KEY1JB ACC.2, KEY2JB ACC.3, KEY3JB ACC.4, KEY4JB ACC.5, KEY5JB ACC.6, KEY6SJPM KEY7KEY0 :…LJMP STARTKEY1 :…LJMP STARTKEY7 :…LJMP STARTEND● 8独立按键连接的通用软件结构—子程序嵌套结构 KEYS: MOV P1, #0FFH MOV A, P1CPL AJZ GORETJB ACC.0, KEY0 JB ACC.1, KEY1 JB ACC.2, KEY2 JB ACC.3, KEY3 JB ACC.4, KEY4 JB ACC.5, KEY5 JB ACC.6, KEY6JB ACC.7, KEY7GORET: RETKEY0 : LCALL SUB0 AJMP GORET KEY1 : LCALL SUB1 AJMP GORET KEY7 : LCALL SUB7 AJMP GORET SUB0 : …RETSUB1 : …SUB7 : RETEND♠利用外中断信号输入口线扩展两个独立按键A8H88HB8H主程序中的设置MAIN:SETB EA ; 开放中断总开关SETB EX0 ;INT0开放中断SETB EX1 ;INT1开放中断CLR IT0 ;设INT0电平触发,低有效CLR IT1 ;设INT1电平触发,低有效SETB PX0 ; 设INT0中断优先级为高优先级SETB PX1 ;设INT1中断优先级为高优先级这种方法的特点是: 不需进行键扫描,速度快,但由于外中断源个数有限,只适合于按键极少且外中断源无它用的情况下使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
5
6
7
ED DD DD 7D
8
9
A
B
EB DB BB 7B
C
D
E
F
E7 D7 B7 77
行扫描法
0 00
4 10
8 20
C 30
1Байду номын сангаас
2
3
01
02
03
5
6
7
21
22
23
9
A
B
21
22
23
D
E
F
31
32
33
行反转法
定义符 键值
定义符 键值
表5-1 可能的元件清单
元件名称
所属类
AT89C51
Microprocessor ICs
(1)行扫描法 按上图的接法可以得出键值 表,如下图。键值可以通过 扫描法获得,由键值通过查 表法编程得到定义值。
(2)行反转法 用反转法识别闭合键,分别 对行列进行输入,当一个键 被按下时,必定可读得一对 唯一的行值和列值。根据这 一对行值和列值就可判断是 哪一行哪一列的键被按下。
0
1
2
3
EE DE BE 7E
此课件下载可自行编辑修改,仅供参考! 感谢您的支持,我们努力做得更好!谢谢
有两个或两个以上按键同时处于闭合状态的处理问题。在软件 上,处理重键问题通常有连锁法与巡回法。
4×4键盘与单片机接法示例
VDD 单片机 内部上拉电阻
行线m1 m2 m3 m4
0
1
23
4
5
67
8
9
AB
CD
EF
列线 n1
n2
n3
n4
单片机P口引脚 Px.0
Px.1
Px.2
Px.3 Px.7 Px.6 Px.5 Px.4
RES
Resistor
CAP
Capacitors
CAP-ELEC
Capacitors
BUTTON
Switch & Relays
7SEG-COM-CATGRN
74LS164
Optoelectronics TTL 74LS Series
所属子类 8051 family
Generic Generic Generic Switches 7-Segment Displays Registers
并行口的设计键盘
键盘的基本问题
(1)键的识别 如何知道键盘上哪个键被按下就是键盘识别问题。键盘识别主
要有行扫描法与行反转法。 (2)抖动问题
当按下一个键时,会出现所按的键在闭合位置和断开位置之间 跳几下才稳定到闭合状态的情况,当释放一个按键时也会出现类似 的情况,这就是抖动问题。解决抖动的方法通常是延迟等待抖动的 消失或多次识别判定。 (3)重键问题