MCS-51单片机的键盘扩展
第4章MCS-51单片机系统功能扩展

74LS373结构示意图
74LS373的引脚
引脚说明如下: D7~D0: 8位数据输入端。 Q7~Q0: 8位数据输出端。 G:数据输入锁存控制端:当G为“1” 时,锁存器 输出端与输入端数据相同;当G由“1” 变“0” 时,数据输入锁存器中。 OE#: 输出允许端。
P0口与地址锁存器74LS373的连接
4.1 系统扩展概述
4.1.1 最小应用系统
图4.1 MCS–51单片机最小化系统 (a) 8051/8751最小系统结构图;(b) 8031最小系统结构图
4.1.2 单片机系统扩展的内容与方法
1.单片机的三总线结构
图4.2 MCS–51单片机的三总线结构形式
(1)以P0口作为低8位地址/数据总线。 (2)以P2口的口线作高位地址线。 (3)控制信号线。 *使用ALE信号作为低8位地址的锁存控制信号。 *以PSEN#信号作为扩展程序存储器的读选通信号。 *以EA#信号作为内外程序存储器的选择控制信号。 *由RD#和WR#信号作为扩展数据存储器和I/O口的 读选通、写选通信号。 尽管MCS-51有4个并行I/O口,共32条口线,但由于系 统扩展需要,真正作为数据I/O使用的,就剩下P1 口和P3口的部分口线。
锁存器8282 功能及内部结构与74LS373完全一样,只是其引脚的排 列与74LS373不同 ,8282的引脚如下图。
4.2.2 74LS244和74LS245芯片
在单片机应用系统中, 扩展的三总线上挂接
很多负载, 如存储器、并行接口、A/D接口、显
示接口等, 但总线接口的负载能力有限, 因此常
3) 采用地址译码器的多片程序存储器的扩展
例3 要求用2764芯片扩展8031的片外程序存储器,分配的 地址范围为0000H~3FFFH。
51单片机的外围电路

数码管(二)
共阴与共阳的内部电路如下图所示:
数码管(三)
由图可以看出,共阳和共阴结构的LED 显 示器各笔划段名的安排位置是相同的,当 二极管导通时,相应的笔划段就发亮,由 发亮的笔划段组合而显示出各种字符(a~g 是7个笔段电极,DP为小数点) 需要注意的是:对于同一个字符的编码, 共阴和共阳接法对应的编码是不一样的, 两者互为反码。
MCS-51单片机的系统扩展及应用
通过地址总线、数据总线和控制总线实现系统 的扩展 介绍外围电路的扩展
3.1:程序存储器的扩展 3.2:数据存储器的扩展 3.3:指示小灯 3.4:按键扩展 3.5:数码管应用 3.6:A/D转换器接口 3.7:温度传感器接口 3.8:IIC电路扩展 3.9:液晶电路
静态LED数码显示电路(共阳极)
Vcc
七段译码器 七段译码器 七段译码器 七段译码器 七段译码器
BCD码 0000
0001
0010
0011
0100
返回
数码管(五)
由于静态显示占用的I/O 口线较多,CPU 的开销很大,所以为了节省单片机的I/O 口线,常采用动态扫描方式来作为LED 数 码管的接口电路。 动态显示的接口电路是把所有LED的8 个笔 划段a~g,dp 同名端连在一起,而每一个 显示器的公共极COM 端与各自独立的I/O 口连接。当CPU 向字段输出口送出字形码 时,所有显示器接收到相同的字形码,但 究竟是那个显示器亮,则取决于COM 端, 而这一端是由I/O 口控制的,所以我们就 可以自行决定何时显示哪一位了。
最小系统板
外扩
AD转换
数码管显示
程序存储器 温度传感器 51单片机 IIC总线
第7章MCS-51单片机的常用外设扩展

(2)数据线
2732的8位数据线直接与单片机的P0口相连。P0口作 为地址/数据线分时复用。
(3)控制线
CPU执行2732中存放的程序指令时,取指阶段就是对 2732进行读操作。注意,CPU对EPROM只能进行读操作, 不能进行写操作。CPU对2732的读操作控制都是通过控制线 实现的。2732控制线的连接有以下几条:
2.硬件电路 单片机与6116的硬件连接如图7-4所示。
3.连线说明
• 地址线:A0~A10连接单片机地址总线P0.0~P0.7、P2.0、P2.1、P2.2 共11根;
• 数据线:I/O0~I/O7连接单片机的数据线,即P0.0~P0.7;
• 控制线:片选端连接单片机的P2.7,即单片机地址总线的最高位A15; 读允许线连接单片机的读数据存储器控制线;
• 对于没有内部ROM的单片机或者程序较长、片内ROM容 量不够时,用户必须在单片机外部扩展程序存储器。 MCS-51单片机片外有16条地址线,即P0口和P2口,因此 最大寻址范围为64K字节(0000H—FFFFH)。
• 这里要注意的是,MCS-51单片机有一个管脚 EA跟程序存 储器的扩展有关。如果接高电平,那么片内存储器地址范 围是0000H—0FFFH(4K字节),片外程序存储器地址范 围是1000H—FFFFH(60K字节)。如果接低电平,不使 用片内程序存储器,片外程序存储器地址范围为0000H— FFFFH(64K字节)。
1. 芯片选择
单片机扩展数据存储器常用的静态RAM芯片有6116(2K×8 位)、6264(8K×8位)、62256(32K×8位)等。
根据题目容量的要求我们选用SRAM6116,采 用单一+5V供电,输入输出电平均于TTL兼容,具有 低功耗操作方式,管脚如图7-3所示。
MCS-51单片机存储器的扩展

第八章MCS-51单片机存储器的扩展第一节MCS-51单片机存储器的概述(一)学习要求1、熟悉MCS-51 单片机的系统总线及系统总线扩展结构2、掌握常用的片选方法:线选法和全地址译码法。
(二)内容提要1、三总线的扩展方法单片机内资源少,容量小,在进行较复杂过程的控制时,它自身的功能远远不能满足需要。
为此,应扩展其功能。
MCS-51单片机的扩展性能较强,根据需要,可扩展。
三总线是指地址总线、数据总线、控制总线。
1)地址总线MCS-51 单片机地址总线宽度为16 位,寻址范围为64K。
地址信号:P0 作为地址线低8 位,P2 口作为地址线高8 位。
2)数据总线MCS-51 单片机的数据总线宽度为8 位。
数据信号:P0 口作为8 位数据口,P0 口在系统进行外部扩展时与低8 位地址总线分时复用。
3)控制总线主要的控制信号有/WR 、/RD 、ALE 、/PSEN 、/EA 等。
2、系统的扩展能力MCS-51 单片机地址总线宽度为16 位,因此它可扩展的程序存储器和数据存储器的最大容量是64K(216)。
1)线选法线选法就是将多余的地址总线(即除去存储容量所占用的地址总线外)中的某一根地址线作为选择某一片存储或某一个功能部件接口芯片的片选信号线。
一定会有一些这样的地址线,否则就不存在所谓的“选片”的问题了。
每一块芯片均需占用一根地址线,这种方法适用于存储容量较小,外扩芯片较少的小系统,其优点是不需地址译码器,硬件节省,成本低。
缺点是外扩器件的数量有限,而且地址空间是不连续的。
2)全地址译码法由于线选法中一根高位地址线只能选通一个部件,每个部件占用了很多重复的地址空间,从而限制了外部扩展部件的数量。
采用译码法的目的是减少各部件所占用的地址空间,以增加扩展部件的数量。
3)译码器级连当组成存储器的芯片较多,不能用线选法片选,又没有大位数译码器时,可采用多个小位数译码器级连的方式进行译码片选.4)译码法与线选法的混合使用译码法与线选法的混合使用时,凡用于译码的地址线就不应再用于线选,反之,已用于线选的地址线就不应再用于译码器的译码输入信号.(三)习题与思考题1. 简要说明MCS-51 单片机的扩展原理。
MCS-51单片机大容量数据存储器扩展板设计

Ke y wor d s: MCS一51 , da t a memOr V, F 2 9C51 00 4, ex pa ns i on bo ar d
F 2 9 C5 1 0 0 4作 为 扩展 存 储 体 。将 数 据 线 和 地 址 线 合 并使 用 , 对 F 2 9 C 5 1 0 0 4进 行 分 页访 问 , 解 决 了单 片 机 存储 单 元 及 端 口
不 足 的 问题 , 释放 了 I / 0 口。 文 中 以扩 展 8 MB的 数 据 存储 器 为例 , 给 出 了单 片机 扩展 板 的硬 件 电路 和软 件 程 序 。 关键词 : M C S 一 5 1 , 数据存储器 , F 2 9 C 5 1 0 0 4 , 扩 展 板
Байду номын сангаас
MC S 一 5 1单 片 机 对 数 据存 储 器 的 扩 展通 常采 用 数 据 总线 和 地址 总线 , 即P 0口和 P 2 口来 完 成 , 最大寻址空间可达 6 4 K B。 随 着单片机应用领域的推广和不断扩大 , 特 别 是 在 GP S数 据 采集
输 出 并 存 放 在 锁 存 器 中备 用 。 A 1 8 将 锁 存 器 直 接挂 在 数 据 总 线 上 ,并 为其 安 排 一 个 l / O 口地 A 1 6 A 1 5
《 工 业 控 制 计算 机 》 2 0 1 3年 第 2 6卷 第 1 期
MC S 一 5 1 单片机大容量数据存储器扩展板设计
De s i gn o f L a r ge — c a p a c i t y Da t a Me mo r y E x p a n s i o n B o a r d Ba s e d o n MCS- 5 1 MCU
MCS51单片机总线系统与IO口扩展

6.2.2 单片机总线扩展的编址技术
OE
LE
Dn
Qn
L
H
H
H
L
H
L
L
L
L
L
Qn-1
L
L
H
Qn-1
H
×
×
Z
地址锁存器74LS373
CLR D0-D7Q0-Q7 4 6 2 6 74LS24474LS273 E 0123456789E GG 12Q0-Q7CLKD0-D7AAAAAAAAAAA10A11A12I/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7OWCE1CE2 56? UUU P0.0-P0.7P0.0-P0.7 +5V 11 01234567 E >> QQQQQQQQ O 01234567 E DDDDDDDDL 2 U74LS373 012 YYY ABC 3 U74LS138 R AD E R P20P07P21P06P22P05P23P04P24P03P25P02P26P01P27P00 W ALE 89C51 1 U
MOV
DPTR,#0FEFFH ;确定扩展芯片地址
MOVX
A,@DPTR
;将扩展输入口内容读入累加器A
当与74LS244相连的按键都没有按下时,输入全为1,若按下某键,则所在线 输入为0。
6.2.1 单片机I/O口扩展
输出控制信号由P2.0和相“或”后形成。当二者都为0后,74LS273的控制端 有效,选通74LS273, P0上的数据锁存到74LS273的输出端,控制发光二极管 LED , 芯 片 地 址 与 74LS244 的 选 通 地 址 相 同 ( 都 是 ×××× ×××0 ×××× ××××B,通常取为FEFFH)。当某线输出为0时,相应的LED发 光。
MCS-51单片机内部资源的应用扩展

个1 6位定时针 数器 。其工作模 式有 三种方式 :捕 获、 自
动重新装 载和波特率 发生器 。 2 O 地址= C H) T C N( 0 8 是用于 控制 优 2的特殊功 能寄存器 , 其格 式定义 如下
T 2 TC F : /2溢 出标志 : E F : / 2外部 标志 ; X 2 TC
T 2 R A 2 = 'c E = C P L0d; x
E S=I ;
EA=I ;‘ -
效时 , 7 L 0 冲后做线与 。 经 4S 7缓 同时, 这些外 中断源信 号经 编码 ( 4 S 4 ) 送 到单 片机 的某 I 7 L 18 后 / O端 口, 样可 达 到 这
既提 供外中断源 识别 信息 ,又 尽量减 少 I / O端 口资源 占用
收稿 日期 :0 10—8 2 1—4 1 十 吉鹤 长春理工大学光 电信息学院讲师 ( 吉林 , 长春 1 0 1 ) 302 。
・ 16 ・ 2
【 2 】张素 卿, 王洁渝 , 张颖. l h 画制作实例教 程. Fa 动 s 北京 : 清华大 学 出版社 , 9 2 , 1, 1.  ̄ y / f 3 】胡明.F s C 3多媒 体专项 设计实例精选.北京 : l h S a 电子工业 出
图 1行 列式键盘与 L D总线复用 C 变量 , 通过对 短定 时中断次数 计数的方 式, 一个 TC实现 用 I 多个定 时, 在多数情况下可 以满足实 这 际应用 的需求 。 应用 系 统 有 串行 通信 时 ,/ 1专用 于 产 生 串行 通 信 的 时 钟 信 TC
号。
P1 - 0 f; I x0
R L 接收 时钟 标志 ; C K: T L 发送时钟标 志 ; C K:
单片机并行I-O口的扩展方法

单片机并行I/O口的扩展方法摘要:由于在MCS-51单片机开发中P0口经常作为地址/数据复用总线使用,P2口作为高8位地址线使用,P3口用作第二功能(定时计数器、中断等)使用,所以对于51单片机的4个I/O口,其可以作为基本并行输入/输出口使用的只有P1口。
因此在单片机的开发中,对于并行I/O口的扩展十分重要,主要分析3种扩展并行I/O口的方法。
关键词: MCS-51单片机; 并行I/O口; 扩展MCS-51单片机有4个并行的I/O口,分别为P0口、P1口、P2口和P3口,4个并行I/O 口在单片机的使用中非常重要,可以说对单片机的使用就是对这4个口的使用。
这4个并行I/O口除了作为基本的并行I/O口使用,还常作为其他功能使用,如P0口经常作为地址/数据复用总线使用[1], P2口作为高8位地址线使用,P3口用作第二功能(定时计数器、中断等等)使用。
这样,单片机只有P1口作为基本的并行I/O口使用,如果在单片机的使用中对并行I/O口需求较多,对于并行I/O口的扩展就非常重要了。
下面通过具体的实例(8位流水灯设计)来给出几种不同的并行I/O口扩展方法。
为了更好地说明以下几种不同的并行I/O口扩展方法,假设利用单片机实现流水灯的设计。
采用单片机的P1口设计流水灯,电路。
由图1可知,8只LED直接连接在单片机的P1口上,通过对单片机进行编程即可以实现8只发光二极管产生流水灯。
1 使用单片机的串行口扩展并行I/O口单片机有一个全双工的串行口[2],这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为移位寄存器使用。
当单片机的串行口工作在模式0时,若外接一个串入/并出的移位寄存器(74LS164),就可以扩展一个8 bit并行输出口;若外接一个并入/串出的移位寄存器(74LS165),就可以扩展一个8 bit并行输入口。
,单片机外接一个串入/并出的移位寄存器(74LS164),这样就可以扩展8 bit并行输出口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编程较为复 1.判别有无键按下; 2.扫描获取闭合键的行、列值; 3.用计算法或查表法得到键值; 4.判断闭合键释放否,如没释放则继续等待; 5.保存闭合键号。
按键识别——扫描法
原理: 在某一时刻只让一条列线处于低电平,其余列线均
处于高电平,则当这一列有键按下时,该键所在的行 电平将会由高电平变为低电平,可判定该列相应的行 有键按下。
矩阵键盘的中断扫描方式
80 31
&
IN T0
P 1.0 P 1.1 P 1.2 P 1.3
P 1.4 P 1.5 P 1.6 P 1.7
流程图:
键分析
读P1口
N 有键按下?
Y 延时10ms
P1.0=0?
Y
N
P1.1=0? Y
N
P1.2=0? Y
N
P1.3=0? Y
N
S0键处理 S1键处理 S2键处理 S3键处理
编程:按四个按键中 的任一键都对应一个 特定功能。
若判断键释 放应如何修 改?
ORG 00H LJMP MAIN ORG 0030H
SETB P1.6
J3: JB P1.3,J4
SETB P1.7
J4: SJMP SCAN
END
中断扫描方式
为提高CPU工作效率,可采用中断扫描工作方式。其工作过程如 下:当无键按下时,CPU处理自己的工作,当有键按下时,产生中断 请求,CPU转去执行键盘扫描子程序,并识别键号。
V cc
8031
INT0
特点:一线一键,按键识别(编程)简单;但占用 较多口线,适合8键以下使用。
课堂练习
+5V
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
8031
试编制程序,要求当其中某一按键压下时与 其对应的二极管将被点亮。
分析:用P1口的低4 位检测4个按键的输 入,为1则表示按键 没有按下,为0则表 示相应按键被按下。
键盘接口
按键的特点及输入原理 独立式按键 矩阵式按键
按键的特点及输入原理
❖ 按键的分类: 触点式:机械;无触点式:电气
❖ 键输入原理: 通过按键的接通与断开,产生两种相反的逻辑
状态 低电平“0”与高电平“1”。 ❖ 键功能的实现:
对于一组键或一个键盘,需通过接口电路与单 片机相连。可采用查询或中断方式测试有无键按下, 再确定是哪一个键按下,将该键号送入累加器ACC, 然后判断是数字键还是功能键,并进行相应的处理。
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
接口电路:
矩
关键:如何 判断键号?
阵
式 按 键
P1.7
P1.6
P1.5
+5V
P1.4
0123
P1.3
P1.2
45 67
8 9 10 11
P1.1
P1.0
12 13 14 15
MCS-51
特点:按键识别应采用扫描法或线路反转法
流程:
当第0列处于低电平时,逐行查找是否有行线变低, 若有,则第0列与该行的交叉点按键按下;若无,则表示 第0列无键按下,再让下一列处在低电平,依此循环,这 种方式称为键盘扫描。
键号=行首键号(0、4、8、12)+列号(0、1、2、3)
定时扫描方式
定时扫描方式就是每隔一段时间对键 盘扫描一次,它利用单片机内部的定时器 产生一定时间(例如10 ms)的定时,当定 时时间到就产生定时器溢出中断。CPU响应 中断后对键盘进行扫描,并在有键按下时 识别出该键,再执行该键的功能程序。
MAIN: SCAN:
MOV P1,#0FFH MOV A, P1 ORL A, #0F0H CPL A JZ SCAN
;led is off
SCAN: JB
P1.0,J1 ;P1.0被按下,
则点亮P1.4,否则检测P1.1
SETB P1.4
J1: JB P1.1,J2
SETB P1.5
J2: JB P1.2,J3
键盘接口需要解决的问题
按键识别: 是否有键按下 求键号
键抖动及消除: 机械按键抖动时间在 5ms~10ms之间 消除方法: 硬件方案——双稳态去抖电路
软件方案——延时10ms~20ms后再次判断
独立式按键
接口电路: V cc
8031
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7