单片机系统扩展总线
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单片机存储器系统扩展
74LS373引脚
1、控制位OE: OE=0时,输出导通 2、控制位G: 接ALE 3、Vcc=+5V 4、GND接地
1 74LS373为8D锁存器,其主要特点在于:
控制端G为高电平时,输出Q0~Q7复现输入D0~ D7的状态;G为下跳沿时D0~D7的状态被锁存在Q0 ~Q7上。
MOV DPTR, #0BFFFH ;指向74LS373口地址
MOVX A, @DPTR ;读入
MOV @R0, A
;送数据缓冲区
INC R0
;修改R0指针
RETI
;返回
用74LS273和74LS244扩展输入输出接口
地址允许信号ALE与外部地址锁存信号G相连;
单片机端的EA与单片机的型号有关;
存储器端的CE与地址信号线有关。
P... 2.7 P2.0
ALE 8031
P... 0.7 P0.0
EA
PSEN
外部地址
G
锁存器
I...7
O... 7
I0 O0
A... 15
CE
A8
外部程序
存储器
A... 7 A0
D7. . . D0 OE
6264的扩展电路图
图中CS(CE2)和CE引脚均为6264的片选信号,由于该扩展电路 中只有一片6264,故可以使它们常有效,即CS(CE2)接+5V ,CE接地。6264的一组地址为0000H~1FFFH。
存储器地址编码
SRAM6264:“64”—— 8K×8b = 8KB 6264有13根地址线。 地址空间: A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 最低地址: 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H 最高地址: 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFFH MCS-51单片机寻址范围:64KB 26×210 = 216即16位地址线 地址空间: A15A14A13A12A11A10A9A8A7······A0 单片机
单片机系统扩展总线
6.4 单片机系统扩展总线1. MCS-51单片机扩展结构特点扩展都是通过接口来扩展,需要注意I/O口的结构特点。
⑴ I/O口的复用和多用① I/O口的复用:由于受到引脚数限制,P0口复用,既作低8位地址线,又作数据线,但分时使用,用ALE信号锁存切换。
② I/O口的多用:P3口可作通用I/O口,在扩展时,具有“第二功能”。
P3.0 RXD P3.2 INT0 P3.4 T0 P3.6 WRP3.1 TXD P3.3 INT1 P3.5 T1 P3.7 RD⑵产生接口控制信号的指令MCS-51无I/O专用指令,把I/O寄存器看成存储器的一部分,所以对I/O 寄存器的操作都用数据传输指令。
①输入指令MOV A,P1MOV @Ri,P1 MOV Rn,P1 MOV direct,P1MOVX A,@RiMOVX A,@DPTR②输出指令MOV P1,AMOV P1,@Ri MOV P1,Rn MOV P1,directMOVX @Ri,AMOVX @DPTR,A2. 扩展总线由于数据线与低8位地址线复用P0口,为了把它们分离与片外芯片相连,通常要加锁存器才能构成总线结构。
6.5 存储器扩展1. EPROM扩展(1) 程序存储器有独立的地址空间(0000H~FFFFH),可寻址范围64 kB。
程序存储器与数据存储器共用地址总线和数据总线(2) 对片内有ROM/EPROM 的单片机,片内ROM 与片外ROM采用相同的操作指令,片内与片外程序存储器的选择靠硬件结构实现,即由EA的高低电平来选择。
(3) 虽然程序存储器与数据存储器地址重叠,但不会发生冲突。
因为程序存储器使用单独的控制信号和指令,用PSEN作为读操作信号,读取数据用MOVC查表指令。
而读取数据存储器用RD信号和MOVX指令,(4) 随着大规模集成电路的发展,单片程序存储器的容量越来越大,构成系统时所使用的EPROM芯片数量越来越少,因此地址选择大多采用线选法,而不用地址译码法。
第6章 80C51单片机的系统扩展
80C51单片机的系统扩展 第6章 80C51单片机的系统扩展
6.1.2 常用程序存储器芯片
1、Flash(闪速 、 闪速)ROM 闪速
FlashROM是一种新型的电擦除式存储器,它是在EPROM工艺的基础上 增添了芯片整体电擦除和可再编程功能。它即可作数据存储器用,又可作程序 存储器用,其主要性能特点为: (1)电可擦除、可改写、数据保持时间长。 (2)可重复擦写/编程大于1万次。 (3)有些芯片具有在系统可编程ISP功能。 (4)读出时间为ns级,写入和擦除时间为ms级。 (5)低功耗、单一电源供电、价格低、可靠性高,性能比EEPROM优越。 FlashROM型号很多,常用的有29系列和28F系列。29系列有29C256 (32K×8)、29C512(64K×8)、29C010(128K×8)、29C020 (256K×8)、29040(512K×8)等,28F系列有28F512(64K×8)、 28F010(128K×8)、28F020(256K×8)、28F040(512K×8)等。
80C51单片机的系统扩展 第6章 80C51单片机的系统扩展
6.2.1 常用数据存储器芯片
静态存储器(SRAM)具有存取速度快、使用方便和价 格低等优点。但它的缺点是,一旦掉电,内部所有数据信 息都会丢失。常用的SRAM有6116(2KB×8)、6264 (8KB×8)、62128(16KB×8)、62256(32KB×8) 等芯片。常用SRAM芯片管脚和封装如图6-8所示,引脚功 能如下。 ① A0~A15:地址输入线。 ② D0~D7:双向三态数据总线,有时也用I/O0~I/O7表示。 ③CE:片选线,低电平有效。6264的26脚(CS)必须接高 电平,并且CE为低电平时才选中该芯片。 ④OE:读选通线,低电平有效。 ⑤WE:写选通线,低电平有效。 ⑥ VCC:电源线,接+5V电源。 ⑦ NC:空。 ⑧ GND:接地。
基于单片机三总线结构的系统扩展研究与应用
序 状态 字 寄存 器 ( S 、 P W) 寄存 器 B和暂 存 器组 成 : 低 8位 T 0两 个 特殊 功 能寄 存 器 组 成 . 1由高 8 L T 控 制 器 由程 序 计 数 器 ( C) 堆 栈 指 针 (P 、 据 位 T 和低 8 T 1 P 、 S )数 H1 位 L 两个 特 殊 功能 寄存 器组 成 . 指 针 ( P R) 指令 寄存 器 和指 令 译码 器组 成 . DT 、 21 .. 4中断 系统
分 圳 为 l 、 】P 、3口 , 个 端 n都 是 8位 片 机 各 单 元 和 功 能模 块 能 自动 协 洲 下 有 顺 作 . P 、2 P 0 每 u r 的 , 8根 f脚 线 , 有 J 1 4个 并 行 端 口共 有 3 2根 线 . 每 控 制信 号 是 通过 控 制线 负 责传 送 .单 片机 对 外呈 个 端 i 的 输 入 或 输 出 可 以 按 字 节 操 作 . 也 可 以按 现 的控 制总 线是 由它相关 控 制引 脚 线组 成 .控制 - 1
时, 采用 8 数据 总线形 式 , 1 1 成. 位 由 7 F完 ' 0 223控 制 总 线 .. MC 一 l 片 机 有 4个 8位 准 双 向 并 行 I S 5 / O 单 片机 C U的控 制器 发 出控 制 信 号 . P 指挥 单
2I ._ 入 / 出 (/ 端 口 5输 输 I O)
21 0 2年第 7期
福 建 电
脑
13 5
基 于 单 片机 三 总 线 结构 的 系统 扩展 研 究 与 应 用
龙诺 春
(广 东 白 云 学 院 电 气 与 信 息 工 程 学 院 广 东 广 州 5 0 5 1 4 0)
【 摘 要 】 单 片机 虽 已集成 了许 多应 用单 元和 功 能模 块 , : 但在 实际应 用 中还 不 能 满足 需要 , 还 应进 行 系统 扩展 .本 文在介 绍 M C 一 l单 片机 基 本 结构 的基 础上 介 绍 它的地 址 总 线 、数据 总 脑
第6章 89c51系列单片机的扩展
74LS373,直接从P0口送到数据总线上。
2. 最小系统工作时序
如下图所示:
一个机器周期 S1 ALE
一个机器周期
S2 S3
S4
S5
S6
S1
S2 S3
S4
S5
S6
PSEN
P2 PCH输出
PCH输出
PCH输出
PCH输出
PCH输出
PCH输出
输入
PCL
输出
指令 输入
PCL
输出
指令 输入
PCL
输出
指令 输入
PCL
输出
PCL输出有效
PCL输出有效
PCL输出有效
PCL输出有效
最小系统的工作时序
PCL 输出 有效
P2口送PCH 信息,P0口送PCL 信息和输 入指令。在每一个Tcy中,ALE两次有效, PSEN两次有效。ALE第一次发生在S1P2和 S2P1期间,在S2状态周期内,ALE下降沿将P0 口低8位地址信息PCL锁入74LS373。在S4状 态周内,PSEN上升沿将指令读入CPU。
VppVccCE GND
A7 A8 23 22 A10 19
I/O
74LS373 8Q 8D
GND G OE
A0
2716
28 39 O0 . . O7 OE 20
32
P0口具有分时传送低8位地址和8位数据 信息的复用功能。通过ALE信号与地址锁存
器配合使用,从而使得地址信息和数据信息
区分开。
工作原理如下:
2. 具体应用
使用单片E2PROM扩展外部程序存储器
一 片 2864E2PROM 和 地 址 锁 存 器
74LS373构成MCS-51系列单片机中8031
单片机扩展外部ROM或RAM读写时序
10
19
11
18
12
17
13
16
14
15
2764 27128 27256 27512
Vcc Vcc Vcc
Vcc
PGM PGM A14
A14
NC
A13 A13
A13
A8
A8
A8
A8
A9
A9
A9
A9
A11 A11 A11
A11
OE
OE
OE
OE/Vpp
A10 A10 A10
A10
CE
CE
CE
CE
Q7
Q7
Q7
Q7
Q6
Q6
Q6
Q6
Q5
Q5
Q5
Q5
Q4
Q4
Q4
Q4
Q3
Q3
Q3
Q3
EPROM存储器扩展电路:
P2.0-P2.4
ALE
P0
80C31
EA
74LS373
G OE
D7 Q7 :: :: D0 Q0
PSEN
A8-A12
A7
: :
2764A
A0
D0~D7
CE OE
2、EEPROM存储器及扩展
常用的EEPROM芯片有2864、2817等 。
由于80C51采用不同的控制信号和指令 ,尽管ROM 与RAM的地址是重叠的,也不会发生混乱。
80C51对片内和片外ROM的访问使用相同的指令,两 者的选择是由硬件实现的。
芯片选择现在多采用线选法,地址译码法用的渐少。 ROM与RAM共享数据总线和地址总线。
访问片外ROM的时序 :
总线的概念
总线的概念所谓总线,就是单片机连接扩展器件的一组公共信号线,按其功能通常把这些总线分为三组,即地址总线、数据总线和控制总线。
每组总线由若干条导线组成,具体数目根据功能决定,一般地址总线的数量最多,数据总线固定为8根。
1 . 地址总线(Address Bus,简称AB)地址总线用于传送单片机发出的地址信号,以便对号入座地对ROM、RAM 及I/O口进行选择,以选中相应的单元(字节),然后才能对它进行操作。
地址总线的传输是单向的,即只能由单片机向外发出地址信号。
地址总线数目决定着可以直接访问的存储单元的数目,例如10条地址线组成的地址总线,可以访问1K的外部ROM和RAM存储单元,每增加一条线,可访问空间翻一番。
MCS-51系列单片机最多可以构造16条地址线,也就访问64K的存储空间,对于单片机来说,64K将是一个很大的数目了。
2 . 数据总线(Data Bus,简称DB)数据总线是用于单片机与外部存储器之间或单片机与外部I/O口之间进行数据传送的一组信号线,单片机系统数据总线的数目,与单片机字长是一致的,都是8位,所以数据总线也就是8条。
数据总线是双向的,既可以由单片机向外部输出数据,也可以由外部向单片机输入数据。
3 . 控制总线(Control Bus,简称CB)控制总线是单片机发出的一组控制命令信号线,是单片机决定对外部器件作什么操作的命令线。
一般说来,控制总线是单向的,是单片机向外部发出的。
总线结构是计算机的主要结构之一,采用了总线结构的形式,大为降低了计算机的复杂程度,提高了计算机的可靠性,增加了系统的灵活性,使的系统规范化,方便了系统其他部件的接入,使扩展变得更加容易。
总线的概念总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束,按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。
总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。
单片机总线扩展实验报告
单片机总线扩展实验报告1. 背景单片机是一种嵌入式微处理器,常用于控制系统和电子设备中。
然而,单片机的输入输出引脚有限,并且常常需要与其他外部设备进行通信。
为了解决这个问题,我们需要进行总线扩展实验。
总线扩展是通过额外的硬件元件来扩展单片机的输入输出能力。
在本实验中,我们使用了I2C总线作为扩展方式。
I2C总线是一种串行通信总线,可以连接多个设备,使它们能够共享信息。
2. 分析在本实验中,我们使用了STM32单片机和一些外部设备,包括温湿度传感器和液晶显示屏。
我们将通过I2C总线来连接这些设备。
首先,我们需要在单片机上启用I2C总线功能。
通过相关的寄存器设置,我们可以配置I2C总线的时钟频率等参数,以确保与外部设备的正常通信。
接下来,我们需要连接温湿度传感器和液晶显示屏到I2C总线上。
这需要通过正确的引脚连接来实现。
我们还需根据设备的数据手册来确定各个设备的I2C地址,以便在通信时正确识别设备。
对于温湿度传感器,我们可以通过I2C总线发送相应的命令,并读取传感器返回的温湿度数据。
这些数据可以通过数值转换和校准得到实际的温度和湿度值。
对于液晶显示屏,我们可以使用I2C总线发送相应的命令和数据来显示信息。
我们可以将温湿度数据以及其他文本信息显示在液晶屏上。
3. 结果在实验中,我们成功地使用I2C总线实现了单片机与温湿度传感器和液晶显示屏的通信。
以下是我们的实验结果:•温湿度传感器能够准确地测量环境的温度和湿度。
•单片机能够通过I2C总线正确地读取并处理传感器的数据。
•液晶显示屏能够正确地显示温湿度数据以及其他文本信息。
4. 建议在进行总线扩展实验时,我们遇到了一些挑战和问题。
以下是我们的一些建议:•在接线和引脚连接时,请仔细阅读设备的数据手册,并按照说明进行正确的连接。
•在使用I2C总线时,需要设置正确的时钟频率和其他参数。
请确保对单片机的寄存器设置正确。
•当与外部设备通信时,可能会遇到一些通信失败或数据错误的情况。
单片机第八章 AT89系列单片机系统的扩展z1
8.2.3 数据存储器的扩展
1.数据存储器概述 数据存储器即随机存取存储器,用于存放可随时修改的
数据信息。它与ROM不同,对RAM可以进行读、写两种操作 。RAM为易失性存储器, 断电后所存信息立即消失。
2
2.片内无程序存储器的最小应用系统 片内无程序存储器的芯片构成最小应用系统时,必须 在片外扩展程序存储器。 由于一般用做程序存储器的 E2PROM芯片不能锁存地址,故扩展时还应加一个地址 锁存器,构成一个三片最小系统,如图8-1b所示。该 图中74LS373为地址锁存器,用于锁存低8位地址。
3
8.1.2 系统扩展的内容与方法
IN改数据指针
DJNZ R7, AGAIN ; 判断数据是否传送完成
RET
END
26
【C51程序】:
#include <AT89X51.h>
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
11
图8-5 74LS138管脚图
图8-6 74LS138的译码关系
12
8.2存储器的扩展
8.2.1 存储器扩展概述 AT89S系列单片机具有64 KB的程序存储器空间, 其中 AT89S51单片机含有4 KB 的片内程序存储器。当单片机程 序超过4 KB时,就需要进行程序存储器的扩展。
AT89S系列单片机的数据存储器与程序存储器的地址空 间是互相独立的,其片外数据存储器的空间可达64 KB, 而片内的数据存储器空间只有128 B。如果片内的数据存 储器不够用时,则需进行数据存储器的扩展。
单片机原理与应用第6章
三、系统扩展及总线结构
80C51
图5.2
P0口分时复用
D0~n ~ P0 ALE R/W 单片机 ALE
锁 存 地 址 地址 采 样 数 据 采 样 数 据 Di Qi G 地址锁存器
A0~n ~
R/W 存储器
锁 存 地 址
P0
地址
R/W
三、系统扩展及总线结构
地址锁存器
MCS-51单片机的P0口是地址线/数据线分时复用的,实现 这一功能需要引入地址锁存器。常用的地址锁存器的芯片一 般有两类:一类是8D触发器,如74LS273、7474LS377等,另 一类是位锁存器,如74LS373、8282等。
74LS373
8031
6264的地址分配表
P2.7 P2.6 1 1 0 1 0 1
P2.5 0 1 1
选中芯片 6264(1) 6264(2) 6264(3)
地 址 范 围 C000--DFFFH A000--BFFFH 6000--7FFFH
存储容量 8K 8K 8K
例3:某微机系统用62128构成64K存储系统,试将其与 8051进行连接
第6章 单片机系统扩展
6-1 系统扩展及总线结构 6-2 数据存储器扩展 6-3 程序存储器扩展 6-4 I/O扩展 I/O扩展
6-1 系统扩展及总线结构 一、单片机内部资源
8位CPU; 位 ; 4KB字节掩膜 字节掩膜ROM程序存贮器(8031无); 程序存贮器( 字节掩膜 程序存贮器 无 128字节内部 字节内部RAM数据存贮器; 数据存贮器; 字节内部 数据存贮器 21个特殊功能寄存器 个特殊功能寄存器(SFR); 个特殊功能寄存器 ; 2个16位的定时器 计数器; 位的定时器/计数器 个 位的定时器 计数器; 1个全双工的异步串行口 个全双工的异步串行口; 个全双工的异步串行口 4个8位并行 口; 位并行I/O口 个 位并行 5个中断源、2级中断优先级的中断控制器; 个中断源、 级中断优先级的中断控制器 级中断优先级的中断控制器; 个中断源
单片机原理及应用 第4章 MCS-51单片机系统的扩展技术
2.数据存储器典型扩展电路
6264的地址范围为:0000H~1FFFH。
[例题] 在上页图的数据存储器扩展电路中,将片内RAM 以50H单 元开始的16个数据,传送片外数据存储器0000H开始的单元中。
程序如下:
ORG 1000H MOV R0, #50H MOV R7, #16 MOV DPTR, #0000H AGAIN: MOV A, @R0 MOVX @DPTR, A INC R0 INC DPTR DJNZ R7, AGAIN RET END ; 数据指针指向片内50H单元 ; 待传送数据个数送计数寄存器 ; 数据指针指向数据存储器6264的0000H单元 ; 片内待输出的数据送累加器A ; 数据输出至数据存储器6264 ; 修改数据指针 ; 判断数据是否传送完成
4.2.1
程序存储器扩展
单片机内部没有ROM,或虽有ROM但容量太小时,必须扩 展外部程序存储器方能工作。最常用的ROM器件是EPROM 1. 常用EPROM程序存储器 EPROM主要是27系列芯片,如:2764(8K)/27128(16K) /27256(32K)/27040(512K)等,一般选择8KB以上的芯片作为 外部程序存储器。
4.2.3 MCS-51对外部存储器的扩展
下图所示的8031扩展系统中,外扩了16KB程序存储器(使用两片 2764芯片)和8KB数据存储器(使用一片6264芯片)。采用全地址译码方 式,P2.7用于控制2―4译码器的工作,P2.6, P2.5参加译码,且无悬空地 址线,无地址重叠现象。 1# 2764, 2# 2764, 3# 6264的地址范围分别为:0000H~1FFFH, 2000H~3FFFH, 4000~5FFFH。
MOV DPTR, #7FFFH ; 数据指针指向74LS377 MOV A, 60H ; 输出的60H单元数据送累加器A MOVX @DPTR, A ; P0口将数据通过74LS377输出
51单片机总线扩展 io口扩展
三:单片机与Flash的其他扩展方式
1:线选法
如图,由P2.4~P2.0和P0口组成14位地址线,用P2.7和P2.6进行存 储器芯片选择。
2:地址译码法译码法
采用译码器的方法选片,能够扩展多片存储器。
二:单片机与Flash扩展的时序
74LS373是三态8位D透明触发器,当锁存允许端 EN为高电平时,输出 OUT随输入数据 D 而变。当 EN为低电平时,输出被锁存在已建立的输 入数据电平 。 (1)指令读取的时序 在指令读取时,P2口输出16位地址的高8位。P0口首先输出地址的低8 位数据,在ALE有效时(低电平),地址的低8位数据被锁存在74LS373 的输出端,与P2口袋8位数据共同组成了完整的16位地地址,
2:数据总线(DB) 数据总线宽度为8位,由P0口提供。 3:控制总线(CB) 控制总线由第二状态下的P3口和4根独立控制线组 成。 四根控制线为: ——/PSEN : 外部取指控制。在访问外部ROM时, /PSEN信号会自动产生。 ——ALE : ALE是地址锁存允许信号。在访问外部存储 器(RAM或ROM)时,通常用它的下降沿来锁存P0口 送出的低8位地址信号。 ——/EA : /EA是访问外部存储器的控制信号。当/EA 无效(高电平)时,访问内部ROM;当/EA有效(低 电平)时,访问外部ROM。 ——RST : RST是复位信号输入端。
Flash简介
Flash介绍:
flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦 写和再编程。 Intel于1988年首先开发出NOR Flash 技术,紧接着,1989年,东芝 公司发表了NAND Flash 结构。 NOR Flash 的特点是芯片内执行,这样应用程序可以直接在Flash闪 存内运行,不必再把代码读到系统RAM中。NOR 的传输效率很高,在 1~4MB的小容量时具有很高的成本效益。NAND的结构能提供极高的 单元密度,可以达到高存储密度。应用NAND的困难在于Flash的管理 和需要特殊的系统接口。通常NOR的速度比NAND稍快一些,而NAND 的写入速度比NOR快很多。闪存只是用来存储少量的代码,这时NOR 闪存更适合一些;而NAND则是高数据存储密度的理想解决方案。 NOR/ NAND Flash 比较 • 1 NOR的读速度比NAND稍快一些。 • 2 NAND的写入速度比NOR快很多。 • 3 NAND擦除速度远比NOR快。 • 4 NOR Flash上数据线和地址线是分开的;NAND Flash上数据线和地址 线是共用的 (所以单片机可以对NOR Flash扩展)。
外部扩展与扩展总线在单片机中的应用
外部扩展与扩展总线在单片机中的应用简介随着科技的快速发展,单片机作为一种重要的嵌入式系统,广泛应用于各个领域。
然而,由于单片机本身资源有限,有些应用需要更多的IO口或者与外部设备进行通讯。
为了满足这些需求,外部扩展和扩展总线技术应运而生。
本文将介绍外部扩展和扩展总线在单片机中的应用和原理。
一、外部扩展硬件1. IO口扩展单片机的IO口是与外部设备通讯的重要接口。
当IO数量不够用时,可以通过外部扩展来增加IO口的数量。
常见的扩展芯片有74595、74HC595等。
这些芯片采用串行输入并行输出的方式,可以将单片机的几个IO口扩展为更多的输出口。
2. AD/DA转换器模拟信号的输入和输出对很多嵌入式系统来说是必不可少的。
单片机内部带有的AD/DA转换器通常数量有限,而某些应用需要更多的模拟信号接口。
这时可以通过外部AD/DA转换器来实现扩展。
常见的外部AD/DA转换芯片有MCP3008、ADS1115等。
3. 存储器扩展单片机内部的闪存或RAM容量有限,有些应用需要更多的存储空间来存储数据或者程序。
可以通过外部存储器扩展来满足这一需求。
常见的外部存储器有EEPROM、SD卡等。
这些外部存储器可以通过SPI、I2C等接口与单片机进行通讯。
二、扩展总线技术1. I2CI2C(Inter-Integrated Circuit)是一种常见的扩展总线技术,广泛应用于单片机系统中。
它通过两根线来实现多个设备的串行通讯,其中一根线是数据线SDA,另一根线是时钟线SCL。
每个设备都有一个独立的7位地址,单片机通过写入或读取这些地址来与相应的设备通讯。
2. SPISPI(Serial Peripheral Interface)是另一种常见的扩展总线技术。
与I2C不同,SPI使用四根线进行通讯,包括一个主时钟线、一个主输出线(MOSI)、一个主输入线(MISO)和一个从机选择线(SS)。
SPI总线可以同时连接多个设备,每个设备有一个从机选择线,通过选择相应的从机选择线来与特定设备通讯。
第五章_MCS-51单片机的系统扩展
8255A的控制字与工作模式
8255A有3种工作方式,即模式0、模式1和模式2,这些工作方式可用软件编程来 指定,其设定格式如图5-21所示,设定指令由单片机根据表5-5所示的地址选择表实 现,其中8255A芯片的三个端口在模式0下被分成两组,在模式1和模式2下PC口为 读写控制信号线,只有PA能工作在模式2下。 此外,PC口还具有位控制功能,可以通过工作方式控制字将其任意一位置“1” 或者清“0”,其控制方式见图5-22所示。
图5-21 8255A方式控制字设置
图5-22 PC口位操作控制字
(1)方式0(基本输入/输出方式) 这种工作方式不需要任何选通信号,A口、B口及C口的高4位和低4位都 可以设定为输入或输出。作为输出口时,输出的数据均被锁存;作为输入口 时,A口的数据能锁存,B口与C口的数据不能锁存。例如,欲设定PA口和PC 口高四位工作在模式0输出以及PB口和PC口低四位工作在模式0输入方式的指 令为: MOV DPTR,#8003H ;控制字的地址为8003H MOV A,#83H ;工作方式控制字为83H MOVX @DPTR,A ;设定工作方式控制字 在这种模式下,单片机可以对8255A的数据端口进行无条件读写,8255A 三个I/O端口数据可得到锁存和缓冲。因此,8255A的模式0属于基本输入输出 模式。
(2)方式1(选通输入/输出方式) 在这种工作方式下,A口可由编程设定为输入口或输出口,C口的3位用来作 为A口输入/输出操作的控制和同步信号;B口同样可由编程设定为输入口或输出口, C口的另3位用来作为B口输入/输出操作的控制和同步信号。在方式1下A口和B口的 输入数据或输出数据都能被锁存。C口的6条线作为控制和状态信号线,其定义如 表5-6所示。
图5-18 利用74LS164扩展并行输出口
单片机系统扩展
第六章单片机系统扩展通常情况下,采用MCS-51单片机的最小系统只能用于一些很简单的应用场合,此情况下直接使用单片机内部程序存储器、数据存储器、定时功能、中断功能,I/O端口;使得应用系统的成本降低。
但在许多应用场合,仅靠单片机的内部资源不能满足要求,因此,系统扩展是单片机应用系统硬件设计中最常遇到的问题。
在很多复杂的应用情况下,单片机内的RAM ,ROM 和 I/O接口数量有限,不够使用,这种情况下就需要进行扩展。
因此单片机的系统扩展主要是指外接数据存贮器、程序存贮器或I/O接口等,以满足应用系统的需要。
6.1 单片机应用系统按照单片机系统扩展与系统配置状况,单片机应用系统可以分为最小应用系统、最小功耗系统、典型应用系统等。
最小应用系统,是指能维持单片机运行的最简单配置的系统。
这种系统成本低廉、结构简单,常用来构成简单的控制系统,如开关状态的输入/输出控制等。
对于片内有ROM/EPROM 的单片机,其最小应用系统即为配有晶振、复位电路和电源的单个单片机。
对于片内无ROM/EPROM的单片机,其最小系统除了外部配置晶振、复位电路和电源外,还应当外接EPROM 或EEPROM作为程序存储器用。
最小应用系统的功能取决于单片机芯片的技术水平。
单片机的最小功耗应用系统是指能正常运行而又功耗力求最小的单片机系统。
单片机的典型应用系统是指单片机要完成工业测控功能所必须具备的硬件结构系统。
6.1.1 8051/8751最小应用系统MCS-51系列单片机的特点就是体积小,功能全,系统结构紧凑,硬件设计灵活。
对于简单的应用,最小系统即能满足要求。
8051/8751是片内有ROM/EPROM的单片机,因此,用这些芯片构成的最小系统简单、可靠。
图6-1 8051/8751最小应用系统用8051/8751单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图6-1所示。
由于集成度的限制,最小应用系统只能用作一些小型的控制单元。
电子教案与课件:《单片微机原理及应用基础教程》 第5章 单片机系统扩展的原理及方法
Micro Control System 51 Series
机械电子工程系
主讲:陈慧
8
2. 总线驱动器74LS244及74LS245
双向三态数据缓冲器。 含16个三态驱动器, 分两组,每方向8个
驱动方向控制端,若
DIR=1,驱动方向左
→右;若DIR=0,驱
该端低电平时三态门打开; 当G=1,输出同输入; 高电平时,输出呈高阻。 当G由1变为0时,输入数据打入锁存器保存。
Micro Control System 51 Series
机械电子工程系
主讲:陈慧
7
5.1.2 常用扩展器件简介
2. 总线驱动器芯片
51单片机的并行总线端口P0~P3的驱动能力很 有限(例如P0用作输出可驱动8个LSTTL负载,其输 出电流约为800μA),因此常常需要进行总线驱动。
机械电子工程系
主讲:陈慧
22
1. EPROM2764主要引脚定义
13位地址线
8位数据线
输出允许 信号端
机械电子工程系
Micro Control System 51 Series 主讲:陈慧
片选端
23
2. 程序存储器与CPU的连接方法
➢ 地址线的连接: 1)字选: 把存储器的地址线与系统地址线对应相连 2)片选线: 线选法或译码法
片选的实现方法
译码法
译码法是系统地址线经过译码器译码后,以其译码输 出作为存储器(或I/O)芯片的片选信号。译码法又分为全 译码和部分译码两种。
➢ 全译码 全译码方式下,每一个片选信号的地址均是唯一的。
➢ 部分译码 部分译码方式下,每一个片选信号的地址不唯一。但
8031单片机各种系统扩展
单片机系统扩展在由单片机构成的实际测控系统中,最小应用系统往往不能满足要求,因此在系统设计时首先要解决系统扩展问题。
单片机的系统扩展主要有程序存储器(ROM)扩展,数据存储器(RAM)扩展以及I/O口的扩展。
MCS-51单片机有很强的扩展功能,外围扩展电路、扩展芯片和扩展方法都非常典型、规范。
本章首先通过实训初步了解扩展的方法及应用,然后详细讨论各种扩展的常见电路、芯片以及使用方法。
实训6 片外RAM对信号灯的控制及可编程I/O口的应用1.实训目的(1) 掌握扩展片外RAM的方法及使用。
(2) 熟悉8155可编程接口芯片的内部组成。
(3) 掌握8155初始化的方法及I/O口的使用。
(4) 了解8155内部定时器和RAM的编程使用。
(5) 认识片外RAM及8155相关地址的确定。
2.实训设备和器件实训设备:单片机开发系统、微机。
实训器件:实训电路板1套。
3.实训电路图下图为实训电路图,与附录1中的电路图连接完全相同。
图6.1 实训6电路图4.实训步骤与要求1)查阅附录实训电路板原理图及芯片手册,初步认识51单片机扩展片外RAM 所使用的芯片6264的管脚排列,以及与单片机的连接关系;初步分析8155与单片机的连接及三个I/O口与外部LED的关系。
2)将电路板与仿真器连接好。
3)输入参考程序1,汇编并调试运行,观察P1口发光二极管的亮灭状态。
4)输入参考程序2,汇编并调试运行,观察电路板中LED(共阴极)的显示情况。
参考程序1:对片外RAM写入数据并输出,控制P1口的亮灭状态。
ORG 0000HMOV DPTR,#1000H ;指向片外RAM的首地址MOV A,#0FEH ;设置第一个要送入的数据MOV R1,#08H ;设循环次数WRITE: MOVX @DPTR,A ;向RAM中写入数据INC DPTR ;片外RAM地址加1CLR CYRL A ;更新数据DJNZ R1,WRITE ;8次未送完,继续写入,否则顺序执行下一条指令MOV R1,#08H ;再次设置循环次数START: MOV DPTR,#1000H ;指向第一个数据单元1000HREAD: MOVX A,@DPTR ;读出数据到A累加器MOV P1,A ;送P1口点亮发光二极管LCALL DELAY ;延时一段时间INC DPTR ;更新地址DJNZ R1,READ ;连续读出8个数据,送P1口显示SJMP START ;8个数据读完,继续从第一个数据单元开始。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.4 单片机系统扩展总线1. MCS-51单片机扩展结构特点扩展都是通过接口来扩展,需要注意I/O口的结构特点。
⑴ I/O口的复用和多用① I/O口的复用:由于受到引脚数限制,P0口复用,既作低8位地址线,又作数据线,但分时使用,用ALE信号锁存切换。
② I/O口的多用:P3口可作通用I/O口,在扩展时,具有“第二功能”。
P3.0 RXD P3.2 INT0 P3.4 T0 P3.6 WRP3.1 TXD P3.3 INT1 P3.5 T1 P3.7 RD⑵产生接口控制信号的指令MCS-51无I/O专用指令,把I/O寄存器看成存储器的一部分,所以对I/O 寄存器的操作都用数据传输指令。
①输入指令MOV A,P1MOV Ri,P1 MOV Rn,P1 MOV direct,P1MOVX A,RiMOVX A,DPTR②输出指令MOV P1,AMOV P1,Ri MOV P1,Rn MOV P1,directMOVX Ri,AMOVX DPTR,A2. 扩展总线由于数据线与低8位地址线复用P0口,为了把它们分离与片外芯片相连,通常要加锁存器才能构成总线结构。
6.5 存储器扩展1. EPROM扩展(1) 程序存储器有独立的地址空间(0000H~FFFFH),可寻址围64 kB。
程序存储器与数据存储器共用地址总线和数据总线(2) 对片有 ROM/EPROM 的单片机,片 ROM 与片外ROM采用相同的操作指令,片与片外程序存储器的选择靠硬件结构实现,即由EA的高低电平来选择。
(3) 虽然程序存储器与数据存储器地址重叠,但不会发生冲突。
因为程序存储器使用单独的控制信号和指令,用PSEN作为读操作信号,读取数据用MOVC查表指令。
而读取数据存储器用RD信号和MOVX指令,(4) 随着大规模集成电路的发展,单片程序存储器的容量越来越大,构成系统时所使用的EPROM芯片数量越来越少,因此地址选择大多采用线选法,而不用地址译码法。
2. RAM扩展MCS-51 系列单片机的片RAM只有 128字节(51型)或256字节 (52型) ,如果还不能满足应用要求,就需要进行RAM扩展,扩展时要注意以下几点:(1) RAM与EPROM地址空间重叠(0000H~FFFFH),寻址围都为64 kB,但由于使用不同的控制信号和指令,RAM使用RD/WR控制线读/写,而 EPROM用PSEN 作为读操作控制线,故共用地址总线和数据总线不会发生冲突。
(2) I/O及外围接口与RAM实行统一编址,即任何扩展的I/O口及外设均占用RAM地址空间。
(3) 访问部RAM和外部RAM,应选用不同的指令。
①当访问部RAM时,使用MOV指令,可用寄存器间接寻址或直接寻址MOV A,@Ri/directMOV @Ri/direct,A ( i=0,1)②当访问外部RAM时,只能使用MOVX指令和寄存器间接寻址。
两种情况·若访问外部RAM的首页,即前256字节,可用下述两条指令:MOVX A,@RiMOVX @Ri,A ( i=0,1)·若访问整个64 k外部RAM ,则应用下述两条指令:MOVX A,@DPTRMOVX @DPTR,A若当前DPTR数据指针另有它用,又需访问整个64 k外部RAM,这时低8位地址仍用Ri ( i=0或1)寄存器间接寻址,而高8位可采用预先通过P2口输出地址码的方法。
例如:MOV P2,#02H ;P2口预置高位字节地址02HMOV R1,#25H ;低8位地址25H送R1MOVX A,@R1 ;将0255H容送A或MOVX @R1,A ;将A容送0255H单元3. 片选方法及其地址空间在一个较复杂的应用系统中,有时需扩展多片存储器。
多片扩展时,各片的数据线、地址线和控制线都并行挂接在系统三总线上,但每片的片选信号CE 要分别处理。
产生片选控制信号的方法有两种,即线选法和译码法。
(1) 线选法所谓线选法,即用所需的低位地址线进行片存储单元寻址,余下的高位地址线可分别作不同芯片的片选信号,当某芯片对应的片选地址线输出有效电平时,该芯片被选中,作选通操作。
下图为采用线选法扩展3片 2764A 的电路原理图。
从图可知,扩展3片2764A除CE片选信号外,其余完全同8031扩展一片2764A的电路设计。
图中三片2764A的三个片选端CE分别与8031的高位地址线P2.5、P2.6和P2.7相连。
当A13、Al4、A15分别为低电平时,选中对应的2764A 芯片。
因此三片存储器各片的地址围是:2764A(1)地址围:C000H~DFFFH2764A(2)地址围:A000H~BFFFH2764A(3)地址围:6000H~ 7FFFH由此可见,该扩展系统的3片2764A,占用了全部16根地址总线,但寻址的围之和却只有24 KB,且地址围不连续。
实际上浪费了较大的地址空间。
因此线选法适用于系统中存储器和接口资源较少的情况。
⑵译码法所谓译码法是指由低位地址线进行片寻址,高位地址线经过译码器译码产生不同芯片的片选信号。
译码法又分为全译码和部分译码两种方式。
全译码方式是将所余的高位地址线全部参与译码,即作为译码器的输入线,译码器的输出作为片选线。
在全译码片选方式下,每个芯片的地址围是唯一的,不存在地址重叠问题。
部分译码方式是取所余高位地址线中的部分线参与译码,译码器的输出作片选线。
这种方式下,由于未参与译码的高位地址线状态是不确定的,使得各芯片的地址不唯一,存在着地址重叠。
在译码法中,常用译码器有74LSL38和74LS139等。
74LS138是“3-8”译码器,有3个选择输入端,对应8种输入状态。
输出端有8个,每个输出端分别对应8种输入状态中的1种,低电平有效,即对应某一种输入状态,仅允许1个输出端为低电平,其余全为 l 。
另外还有3个片选控制引脚 G1、G2A 和 G2B,只有当同时满足G1=1、G2A=0和 G2B=0时,才能选通译码器,否则译码器无输出有效。
74LS139是双“2-4”译码器,每个译码器仅有1个片选端1/2G ,低电平选通;有2个选择输入(A、B),4个译码输出(Y0~Y3 ),输出低电平有效。
这是采用74LS139译码器扩展3片2764A的电路原理图。
6.6 并行接口扩展在应用系统中,通常需要使用较多的键盘和LED数码管显示器,就需要扩展I/O口来实现。
MCS-51单片机有32根I/O线,如果P0~P2口已用于扩展,用户只能用P1和部分P3口作为I/O线,不够用就需要扩展I/O口。
按 MCS-51 的结构,扩展的 I/O 口采取与外部 RAM统一编址方法,即两者合用64 k地址空间。
因此,CPU可以像访问外部RAM那样访问外部I/O口,对I/O口进行输入/输出操作。
I/O口扩展芯片主要有通用可编程并行接口芯片和TTL、CMOS锁存器、缓冲器电路芯片两大类。
常用的可编程并行接口芯片有① 8255 可编程并行接口:含三个8位并行接口PA、PB和PC口。
② 8155/56 (CE/CE)可编程多功能接口:含三个并行接口PA(8)、PB(8)和PC(6)口256个字节SRAM和1个14位定时器/计数器8155可编程并行I/O接口的扩展1.8155的引脚及部结构8155芯片为40引脚双列直插封装,单一的+5V电源,其引脚及部结构如图所示。
AD7~AD0:三态地址/数复用总线。
与单片机的低8位地址/数据总线(P0口)相连。
IO/M:I/O口或RAM选择信号。
当IO/M=1时,选择8155的I/O口,AD7~AD0上的地址为I/O口地址。
当IO/M=0时,则选择8155的片RAM,AD7~AD0上的地址为8155中RAM单元地址 (00H~FFH)。
CE:片选信号,低电平有效。
ALE:地址锁存信号。
8155部设有地址锁存器,在ALE的下降沿将单片机P0口输出的低8位地址信息及CE,IO/M的状态都锁存到8155部锁存器。
因此P0口输出的低8位地址信号不需要外接锁存器。
RD:读选通信号,控制对8155的读操作。
WR:写选通信号,控制对8155的写操作。
PA 7~PA0:8位通用I/O口,其输入输出的流向可由程序控制。
PB7~PB0:8位通用I/O口,功能同A口。
PC5~PC0:既可作6位通用I/O口,也可作为A口和B口的控制信号线,这些可通过程序控制。
RESET:复位信号。
该端施加大于640 n s的正脉冲时,将8155复位,复位后A口、B口、C口均置为输入方式。
TIMER IN:定时/计数器脉冲输入端。
TIMER OUT:定时/计数器输出端。
2. 8155的地址编码及工作方式8155部有7个寄存器,6个寄存器地址。
当CE=0、IO/M=1时,CPU对I/O口进行读写,访问那个寄存器决定于低3位地址A2 A1 A0。
A2 A1 A0 选中的寄存器地址0 0 0 命令(写入)/状态(读出)寄存器 00H0 0 1 PA口 01H0 1 0 PB口 02H0 1 1 PC口 03H1 0 0 定时器低8位 04H1 0 1 定时器高8位 05H命令寄存器与状态寄存器共用一个地址,命令寄存器只能写入,状态寄存器只能读出。
⑴命令寄存器:8位,只能写入用 MOV DPTR, #XXXXXXXXXXXXX000BMOV A, #XXHMOVX DPTR,AD3~D0 规定工作方式D5、D4 分别规定PB口和PA口的中断D7、D6 用于控制计数器8155的A口、B口可工作于基本I/O方式或选通I/O方式。
C 口可工作于基本I/O方式,也可以作为A口、B口在选通工作方式时的状态控制信号线。
当C口作为状态控制信号时,其各位的作用如下:PC0:AINTR (A口中断请求线)PC1:ABF (A口缓冲器满信号)PC2:ASTB (A口选通信号)PC3:BINTR (B口中断请求线)PC4:BBF (B口缓冲器满信号)PC5:BSTB (B口选通信号)在不同方式下,A口、B口及C口工作方式定义如下:PC2 PC1 工作方式0 0 ALT1:C口为输入,A口,B口为基本输入/输出。
1 1 ALT2:C口为输出,A口,B口为基本输入/输出。
0 1 ALT3:A口为选通输入/输出,B口为基本输入/输出。
PC0为AINTR,PC1为ABF,PC2为ASTB,PC3~PC5为输出。
1 0 ALT4: A口、B口为选通输入/输出。
PC0为AINTR,PC1为ABF,PC2为ASTB,PC3为BINTR,PC4为BBF,PC5为BSTB。
⑵状态寄存器:7位,只能读出8155的状态寄存器,用于锁存输入/输出口和定时/计数器的当前状态,供CPU查询用。
状态寄存器端口地址与命令寄存器相同,低8位也是00H,状态寄存器的容只能读出不能写入。