MCS-51单片机的人机界面接口技术知识讲解
MCS-51单片机接口技术_百度文库

第七章 MCS-51单片机接口技术本章重难点:1. 用8279芯片扩展键盘接口技术的工作原理及方法2. 单片机LED显示接口技术的原理3. A/D转换、D/A转换的工作原理4. 通过各种芯片扩展后的程序编制教学基本要求:通过学习本章内容,让同学基本掌握各种芯片扩展后的基本原理,能够读懂扩展后的程序,对程序的结构有一定的了解;了解A/D转换、D/A转换的工作原理。
教学内容:§7-1 MCS-51单片机键盘接口技术从按一个键到键的功能被执行主要应包括两项工作:一项是键的识别,即在键盘中找出被按的是哪个键,另一项是键功能的实现。
第一项工作是使用接口电路实现的,而第二项工作则是通过执行中断服务程序来完成。
我们只讨论其中的第一项,即键盘接口问题。
具体来说,键盘接口应完成以下操作功能:①键盘扫描,以判定是否有键被按下(称之为“闭合键”)。
②键识别,以确定闭合键的行列位置。
③产生闭合键的键码。
④排除多键、串键(复按)及去抖动。
以为MCS-51单片机实现键盘接口的方法和接口芯片有:①使用单片机芯片本身的并行口;②使用单片机芯片本身的串行口;③使用通用接口芯片(例如8255、8155等);④使用专用接口芯片8279。
一、单片机键盘接口和键功能的实现(一)键盘接口处理的内容1.键扫描键盘上的键按行列组成矩阵,在行列的交点上都对应有一个键。
为判定有无键被按下(闭合键)以及被按键的位置,可使用两种方法:扫描法和翻转法。
现以图7-1所示的4行×8列键盘为例,对键扫描进行说明。
图7-1 键行列扫描法示意图首先是判定有没有键被按下。
如图7-2所示,键盘的行线一端经电阻接+5V电源,另一端接单片机的输入口线。
各列线的一端接单片机的输出口线,另一端悬空。
若行线状态皆为高电平,则表明无键按下;若行线状态中有低电平,则表明有键被按下。
然后再判定被按键的位置。
因为在键盘矩阵中有键被按下时,被按键处的行线、列线被接通,使穿过闭合键的那条行线变为低电平。
第7章 MCS-51单片机常用接口技术

图7.3 用8031的P1口设计的4×4键盘
第7章 MCS-51单片机常用接口技术
7.1.2 键盘按键识别方法
首先在键处理程序中将P1.3~P1.0依次按位变低, P1.3~P1.0在某一时刻只有一个为低。在某一位为低时读行线, 根据行线的状态即可判断出哪一个按键被按下。 如9号键按下时,当列线P1.2为低时,读回的行线状态中 P1.4被拉低,由此可知2号键被按下。 一般在扫描法中分两步处理按键,首先是判断有无键按下, 即使列线(P1.3~P1.0)全部为低,读行线,如行线 (P1.4~P1.7)全为高,则无键按下,如行线有一个为低,则 有键按下。当判断有键按下时,使列线依次变低,读行线,进 而判断出具体哪个键按下。
第7章 MCS-51单片机常用接口技术
7.2.2 LED显示器接口及显示方式
表7.2 段选码、位选码及显示状态表
段选码 (字型) F9H A4H B0H 99H 92H 位选码 P2.4~P2.0 11110 11101 11011 10111 01111 1 2 3 4 5 显示器显示状态
第7章 MCS-51单片机常用接口技术
7.2.1 LED显示器原理
图7.6为LED显示器的内部结构及外形。
(a)共阴极 (b)共阳极 (c)LED实物 图7.6 LED显示结构及实物
第7章 MCS-51单片机常用接口技术
7.2.1 LED显示器原理
7段LED显示数字0~F,符号等字型见表7.1,其中a段为最 低位,dp为最高位。
第7章 MCS-51单片机常用接口技术
单片机原理及应用教程
第 7章 MCS-51单片机常用接口技术
主 编 范立南 谢子殿 副主编 刘 彤 尹授远 李雪飞
第7章 MCS-51单片机常用接口技术
第五章 5.4节5.5节 MCS-51单片人机界面接口技术

5.5.1 独立式键盘接口
1.独立式按键结构 独立式按键是指直接用I/O口线构成的单 独立式按键 个按键电路。每根I/O口线上按键的工作 状态不会影响其他I/O口线的工作状态。 独立式按键电路如图5-11所示。 2.独立式按键的软件结构 包括按键查询、键功能程序转移。 图5-12为使用扩展I/O的独立式按键电路, 按键数量可多可少。
SUB3: MOV A,@R0 ;显示 显示 ANL A,#0FH ORL A,#40H MOV P1,A RET 百位
延时子程序(1ms或2ms) 延时子程序 或
5.5 键盘及其接口
5.5.1 独立式键盘接口 5.5.2 行列式键盘
在设计键盘接口时,解决以下几个问题:
1)开关状态的可靠输入 开关状态的可靠输入——可设计硬件去抖动电路 硬件去抖动电路 开关状态的可靠输入 硬件去抖动 (RS触发器或单稳态电路)或软件去抖动 触发器或单稳态电路) 去抖动。 触发器或单稳态电路 去抖动 2)键盘状态的监测方法 键盘状态的监测方法——中断方式还是查询方 键盘状态的监测方法 式,不要漏检。 3)键盘编码方法:查出键号 键盘编码方法 4)键盘控制程序的编制 :快速可靠的转向键处理程序 键盘控制程序的编制
1 2 3 4 5 6 7
1K
10µF +5V
使用8255扩展 的独立式键盘 扩展I/O的独立式键盘 图5-12 使用 扩展
5.5.2 行列式键盘
1.键盘工作原理
行列式键盘电路原理如图5-13所示。按键设置 行列式键盘 在行列式交点上,行列线分别连接到按键开 关的两端。当行线通过上拉电阻接+5伏时, 被钳位在高电平状态。 键盘中有无按键按下是由列线送入全扫描字、 行线读入行线状态来判断的。键盘中哪一个 键盘中哪一个 键按下可由列线逐列置低电平后, 键按下可由列线逐列置低电平后 , 检查行输 入状态来判断。 入状态来判断。
第5章 MCS–51单片机的接口与应用 99页 5.8M

(1) 用键盘连接的I/O线的二进制组合表示键码。例如用4行、
4列线构成的16个键的键盘,可使用一个8位I/O口线的高、低4 位口线的二进制数的组合表示16个键的编码,如图5.4(a)所示。 各键相应的键值为88H、84H、82H、81H、48H、44H、42H、 41H、28H、24H、22H、21H、18H、14H、12H、11H。这种键 值编码软件较为简单直观,但离散性大,不便安排散转程序的 入口地址。
第5章 MCS–51单片机的接口与应用 JNB ACC.2,K2 JNB ACC.3,K3 JNB ACC.4,K4 JNB ACC.5,K5 JNB ACC.6,K6 ;检测2号键是否按下,按下转 ;检测3号键是否按下,按下转 ;检测4号键是否按下,按下转 ;检测5号键是否按下,按下转 ;检测6号键是否按下,按下转
;0号键功能程序
;0号键功能程序执行完返回 ;0号键功能程序
JMP START
……………………… PROM7: ……………………… JMP START …
;1号键功能程序执行完返回
;7号键功能程序 ;7号键功能程序执行完返回
第5章 MCS–51单片机的接口与应用
5.1.4 行列式键盘
行列式键盘又叫矩阵式键盘。用I/O口线组成行、列结构, 按键设置在行列的交点上。例如4×4的行列结构可组成16个键 的键盘。因此,在按键数量较多时,可以节省I/O口线。 1.行列式键盘的接口 行列式键盘的接口方法有许多,例如直接接口于单片机的 I/O口上;利用扩展的并行I/O接口;用串行口扩展并行I/O口接 口;利用一种可编程的键盘、显示接口芯片8279进行接口等。 其中,利用扩展的并行I/O接口方法方便灵活,在单片机应用系
MOVX @DPTR,A
MCS-51单片机的人机接口

1.2 LED显示接口
显示接口是应用系统实时自动地向操作人员提供必要状态信息 的手段和途径之一,能使操作人员及时地观察到系统的运行情 况和对操作命令的响应结果
基于运行环境、可靠性、体积、功耗、成本等综合因素考虑, 发光二极管LED和数码管使用最为广泛,LCD以其显示信息丰 富也有较多应用
1.2.1 单个LED接口
所有情况
行反转法
可加快按键的识别速度 行线和列线所连接的并行端口都应是双向端口 先让连接行线的并行口工作在输出方式,让连接列线的并行口
工作在输入方式。通过程序向行线上全部送0,然后读入所有列 线的值。若有某键按下,必定某位列线值为0 之后,程序重新设置两个并行口的数据传输方向,并将刚才读 得的列线数据从列线所接并行口输出,然后读入所有行线的值
会自动增1或减1
状态标志位:指示LCD是否忙 光标/闪烁控制:用于控制光标是否显示和闪烁频率
1.3.2 LCD模块的CPU接口
LCD模块引线定义
引线号
符号
1 2 3 4 5 6 7~14
VSS VDD VEE RS R/W# E DB0~DB7
名称
功能
地 电源 液晶驱动电压 寄存器选择 读/写选择 片选
单片机原理与应用
人机接口
要了解系统的运行状态、适时干预系统处理过程 最常见的人机接口是键盘和显示器
键盘和显示电路通常由开发人员自行设计
1.1 键盘接口
利用按键可以向单片机输入数据和命令、选择系统功能 是人工操作介入单片机程序运行的主要手段 一组按键称为键盘 硬件上需要解决键盘与单片机的接口电路 软件则要实现对不同按键输入的识别解释功能
动态显示
将所有的段选线并联在一起,由一个8位输出口控制,而每位的 共阴极或共阳极点分别由单独的I/O口线控制
单片机第7章 MCS-51单片机接口技术1

8D
LE OE
8Q
A0-A7
OE A8-A12
CE
单ቤተ መጻሕፍቲ ባይዱ机
锁存器 74LS373
E2PROM 2864A
51单片机能提供16条地址线,可扩展64K字节的 ROM。可以用一片E2PROM,也可以用多片E2PROM
1、地址锁存器的使用 一般要用P0口输出地址的低8位,而P0又承 担输出、输入数据的任务,因此要根据需要在 P0口和外接芯片地址线引脚之间加一个地址锁 存器。
/RD、/WR:信号在执行MOVX指令时自动产生(“0”电 平)
系统扩展的主要方面:
外部程序存储器(ROM)扩展:
外部数据存储器(RAM)的扩展:
外部中断源的扩展:(已讲过) I/O接口的扩展:
程序存储器 2864A 的扩展:
D0-D7
P0.0-P0.7
ALE EA PSEN P2.0-P2.4
U3
D0 D1 D2 D3 D4 D5 D6 D7 OE LE 74LS373 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 2 5 6 9 12 15 16 19 9 10 11 12 13 10 9 8 7 6 5 4 3 25 24 21 23 2 20 26 27 22
U2
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 CE CS WE OE 6264 D0 D1 D2 D3 D4 D5 D6 D7 11 12 13 15 16 17 18 19 1 2 3 4 5 6 7 8
/EA: 引脚的电平高低由用户决定(/EA =1:自内而外 地访问ROM; /EA =0:仅访问外部ROM) ALE: 信号自动产生(晶振频率的1/6)。在访问外部存 储器时:ALE高电平期间,P0口→地址信息;在 低电平期间,P0口→数据信息。 /PSEN:在用MOVC指令访问外部程序存储器时自动产生 (外部程序存储器读信号,从片外程序存储器读 取指令或常数时,用于命令外部程序存储器做 输出动作,即:存储器输出允许信号)
第八章MCS-51单片机的人机界面接口技术

单片机应用技术
8.1.1 LED显示器接口
I/O口段选控制
a b c d e f R dpa b c d e f R dp a b c d e f R dp a b c d e f Rdp
编码键盘主要是用硬件来实现对按键的识别,键 盘接口电路能够由硬件逻辑自动提供与键对应的编码。 此外,编码键盘一般还具有去抖动和多键、窜键保护 电路。 这种键盘使用方便,但需要较多的硬件,价格 较贵,一般的单片机应用系统较少采用。
单片机应用技术
8.2 键盘及其接口 1. 按键的分类 非编码键盘的接口电路只是简单地提供按键的 行列矩阵,对按键的识别、编码、去抖动等工作均 由软件完成。由于其经济实用,因此常应用于单片 机系统中。下面将重点介绍非编码键盘。
单片机应用技术
3)动态扫描程序 设DISBUF中的信息为“P89C51”,可由下列程 序在显示器上显示“P89C51”: LOOP1: LCALL DISPLAY ;调用显示子程序 LJMP LOOP1 ; 循环 DISPLAY: MOV R0,#70H ;R0指向DISBUF首 ;地址 MOV R3,#01H ; 右起第1个LED ;的选择字 NEXT: MOV A,#00H ; 取位选控制字为全灭 MOV DPTR,#0EFFFH ;取位选控制口 ;地址 MOVX @DPTR,A ; 瞬时关显示器 MOV A,@R0 ;从DISBUF中取出字符
?硬件译码器led显示器接口如图86所示?软件译码led显示器接口如图8788所示单片机应用技术图86利用硬件译码器的七段led接口电路单片机应用技术图87通过8155扩展io口控制的8位led动态显示接口单片机应用技术图88动态显示子程序流程图返回本节单片机应用技术82键盘及其接口1
MCS-51单片机IO口详解

MCS-51单片机IO口详解单片机I O口结构及上拉电阻MCS-51有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线。
一、P0口和P2口图1和图2为P0口和P2口其中一位的电路图。
由图可见,电路中包含一个数据输出锁存器(D触发器)和两个三态数据输入缓冲器,另外还有一个数据输出的驱动(T1和T2)和控制电路。
这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。
它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。
图1单片机P0口内部一位结构图图2 单片机P0口内部一位结构图P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE 选通作为地址总线的低8位输出口AB0-AB7。
外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD 读写信号选通,因为2^16=64k,所以MCS-51最大可外接64kB的程序存储器和数据存储器。
二、P1口图3为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。
Newbuff图3 单片机P2口内部一位结构图作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。
需要说明的是,作为输入口使用时,有两种情况:1.首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Y
图
输入键号
A
返回
-
图 8
6 定 时 扫 描 方 式 程 序 框 图
-
图 8
7 中 断 方 式 键 盘 接 口
3.键盘扫描方式 扫描法:在判定有键按下后逐列(或逐行)置 低电平,同时读入行(或列)的状态,如果行 (或列)的状态出现非全1状态,这时0状态的行、 列交点的键就是所按下的键。特点是逐列(或逐 行)扫描查询。这时相应行(或列)应有上拉电 阻接高电平。 反转法:只要经过两个步骤就可获得键值。反 转法原理如图8-8所示。
l 硬件译码器LED显示器接口(如图8-14所示) l 软件译码LED显示器接口(如图8-15 ~8-16所 示)
图8-14 利用硬件译码器的七段LED接口电路
图8-15 通过8155扩展I/O口控制的 8位LED动态显示接口
-
图 8 16 动 态 显 示 子 程 序 流 程 图
返回本节
8.2.2 LCD显示器接口
电路。每根I/O口线上按键的工作状态不会影响 其他I/O口线的工作状态。独立式按键电路如图 8-1所示。 2.独立式按键的软件结构
包括按键查询、键功能程序转移。FP0~FP7 为功能程序入口地址标号,PROM0~PROM7分 别为每个按键的功能程序。
图8-2为使用扩展I/O的独立式按键电路,按键 数量可多可少。
a b c d e f Rdpa b c d e f Rdp a b c d e f Rdp a b c d e f Rdp a b c d e f Rdp
…
3.8
3.8
3.8
3.1 N位LED显示器
I/O(1)
I/O(2)
I/O(3)
I/O(4)
GND/+5V
GND/+5V
GND/+5V
GND/+5V
GND/+5V
图8-12 四位静态LED显示器电路
I/O(1)
D7
D6
D5
D4
D3
I/O(2)
D2
D1
D0
图8-13 八位LED动态显示器电路
3.LED显示器接口实例 从LED显示器的原理可知,为了显示字母与数
字,必须最终转换成相应的段选码。这种转换可 以通过硬件译码器或软件进行译码。
返回本章首页
8.2.1 LED显示器接口
1.LED显示器结构与原理 LED显示块是由发光二极管显示字段的显示器
件。 在微机应用系统中通常使用的是七段LED。这
种显示块有共阴极与共阳极两种,如图8-10所示。 七段显示块与微机接口非常容易。如表8-1所示。
(a)共阴极
(b)共阳极
(c)管脚配置
图8-10 七段LED显示块
表8-1 七段LED的段选码
2.LED显示器与显示方式 在 微 机 应 用 系 统 中 使 用 LED 显 示 块 构 成 N 位
LED显示器。图8-11是N位显示器的构成原理。 LED显示器有两种方式:
(1)LED静态显示方式(如图8-12所示) (2)LED动态显示方式(如图8-13所示)
I/O口段选控制
(a)线反转法第一步
(b)线反转法第二步
图8-8 线反转法原理
4.行列式键盘接口(如图8-9所示) 通用并行扩展I/O口键盘接口 8031串行I/O口扩展的键盘接口
图8-9 8031串行I/O口扩展的行列式键盘接口
返回本节
8.2 显示器接口
8.2.1 LED显示器接口 8.2.2 LCD显示器接口 8.2.3 典型键盘/显示器接口实例
(a)驱动回路;(b)真值表;(c)驱动波形
图8-18 静态驱动回路及波形
3.LCD接口实例 硬件接口电路:图8-19为六位液晶静态显示电
路。 典型显示子程序: 设显示缓冲区为 8031片内
RAM的22H~27H六个单元依次放置六位分离的 BCD码。
图8-19 六位LED静态显示电路
返回本节
8.2.3 典型键盘/显示器接口实例
键盘中有无按键按下是由列线送入全扫描字、 行线读入行线状态来判断的。键盘中哪一个键按 下可由列线逐列置低电平后,检查行输入状态来 判断。
图8-3 行列式键盘原理电路
2.键盘工作方式(如图8-4~8-7所示) 键盘的工作方式: 编程扫描方式、定时扫描方式、中断扫描方式
三种。 在键盘扫描子程序中完成下述几个功能。
8031
+5V
+5V
8031
I/O
I/O
INT0
INT1 (a) 中断方式 图 8-1-1 独立式按键电路
(b)查询方式
图8-1 独立式按键电路
P 2.7 ALE
8031 8 P0 WR RD
74LS 373
8
PA 0
CS PA1
8255 A0 A1
PA 2 PA 3 PA 4
D0 ~D 7
PA 5 PA 6
MCS-51单片机的人机界面接口 技术
在设计键盘接口时,解决以下几个问题: 开关状态的可靠输入——可设计硬件去抖动电 路或设计去抖动软件。 键盘状态的监测方法——中断方式还是查询方 式。 键盘编码方法。 键盘控制程序的编制。
8.1.1 独立式键盘接口
1.独立式按键结构 独立式按键是指直接用I/O口线构成的单个按键
1.LCD的基本结构及工作原理
图8-17 液晶显示器基本结构
2.LCD的驱动方式 静态驱动方式:静态驱动回路及波形如图8-18
所示,图中LCD表示某个液晶显示段。 时分割驱动电压平均化:当显示字段增多时,
为减少引出线和驱动回路数,需要采用时分割驱
动法。时分割驱动方式通常采用电压平均化法,
其占空比有1/2,1/8,1/11,1/16,1/32,1/64等, 偏比有1/2,1/3,1/4,1/5,1/7,1/9等。
WR PA7
RD RESET
GND
1K 10μF +5V
+5V 0
1
2 3 4 5 6
7
图8-2 使用8255扩展I/O的独立式键盘
返回本节
8.1.2 行列式键盘
1.键盘工作原理 行列式键盘电路原理如图8-3所示。按键设置在
行列式交点上,行列线分别连接到按键开关的两 端。当行线通过上拉电阻接+5伏时,被钳位在高 电平状态。
(1)判断键盘上有无键按下 (2)去键的机械抖动影响。 (3)求按下键的键号。 (4)键闭合一次仅进行一次键功能操作。
图8-4 8155扩展I/O口组成的行列式键盘
开始
有键闭合否?
Y
N
图
调用子程序延时6ms
8
-
5
调用子程序延时12ms
键
扫
N
有键闭合否?
描
Y
子
判断闭合键键号
栈
程
序
N
闭合键释放否?
框