第八章 并行口扩展技术
第八章并行接口与串行接口课件

中断服务程序
识别与判优)。 及接口方法
从通道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
并行IO扩展芯片8255

1
1
1
PC7
8255与单片机的连接
74LS373
AT89C51
P0.0-P0.7 ALE P2.7 WR RD RESET 8D G Q0 Q1 OE
D0-D7
PA
A0 A1
8255
CS WR RD RESET
PC
PB
EA
+5V
接片选/CS端,8255的(一组)寄存器地址可以是:
PA口:7000H PB口:7001H PC口:7002H 命令口:7003H
8255与单片机的连接
74LS373
AT89C51
P0.0-P0.7 ALE 8D G Q0 Q1 Q7 OE WR RD RESET
D0-D7 PA A0 A1 CS PC7 PC0
微型 打印机
8255
WR RD RESET
EA
+5V
Q7接片选/CS端,8255的(一组)寄存器地址可以是:
PA口:0000H PB口:0001H PC口:0002H 命令口:0003H
CPU向PA口输出数据
CPU向PB口输出数据 CPU向PC口输出数据 对控制寄存器写控制字 初始化8255时必须做的工作 没有选中,8255不工作 非法状态 非法状态 8255对系统总线呈高阻态 控制寄存器只能写不能读 8255对系统总线呈高阻态 向8255的I/O口写有效
注意:对PA,PB,PC三个口的任何读/写操作,就是对 PA,PB,PC这三个寄存器进行I/O操作.第4个寄存器是 控制字寄存器(命令字寄存器)
K0 K1 K2 K3 K4 K5 K6 K7
图8.5 简单I/O接口扩展电路
74HC244
简单并行I/O扩展(锁存器扩展) 在单片机的I/O口线不够用的情况下,可以借助 外部器件对I/O口进行扩展。可资选用的器件很 多,方案也有多种。
并行IO口扩展

PA0-PA7 PB0-PB7 PC0-PC5 AD0-AD7 IO/ M TIMER IN TIMER OUT RD、WR ALE CE RESET
端口A的I/O线(8位,接外设) 端口B的I/O线(8位,接外设) 端口C的I/O线(6位,接外设) 三态地址/数据复用线(8位,一般接单片机P0 口,CPU与8155之间的地址、数据、命令、状 态等信号都通过它来传送) 端口/存储器 选择控制 “0”选择片内RAM “1”选择片内I/O口 8155片内定时器/计数器的计数脉冲输入引脚 8155片内定时器/计数器的计满回零输出引脚 分别是对8155片内的RAM或I/O口的的读、写控 制信号 地址锁存引脚 选片 复位引脚
2、8255A内部结构 8255A内部结构由以下四部分组成: 数据端口A、B、C;A组控制和B组控制;读/写控制逻 辑电路;数据总线缓冲器。结构如图所示
端口A:包括一个 8 位的数据输出锁存/缓冲器和一个 8位的数 据输入锁存器,可作为数据输入或输出端口, 并工作于三种 方式中的任何一种。 端口B: 包括一个 8 位的数据输出锁存/缓冲器和一个 8位的 数据输入缓冲器,可作为数据输入或输出端口, 但不能工作 于方式2。 端口C: 包括一个 8 位的数据输出锁存/缓冲器和一个 8位的 数据输入缓冲器, 可在方式字控制下分为两个4位的端口(C 端口上和下),每个4位端口都有4位的锁存器, 用来配合端 口A与端口B锁存输出控制信号和输入状态信号,不能工作于 方式1或2。 A组和B组控制的作用如下: A组控制逻辑控制端口A及端口C的上半部; B组控制逻辑控制端口B及端口C的下半部。
Y2 Y1 Y0
ALE AD0~AD7 RD WE CE PA PB
8155 PC
+5V
第8章 单片机系统基本并行扩展技术

必须接地。将单片机的引脚连接到 2764 的端,控制
EPROM 中 数 据 的 读 出 。 图 中 2764 的 地 址 范 围 是
0000~1FFFH。
13:55
12
8.3.1 外部程序存储器扩展
3.EEPROM程序 存储器扩展
EEPROM 是 电 可 擦写的只读存储器, 可以实现在线写入, 并具有 EPROM 的数据 保持功能,可以如同
29
8.4.2 8155可编程并行I/O接口扩展
----8155控制字
PAB1和PAB2:定义A口、B口和C口的工作方式。 00:A口和B口为基本输入/输出口,C口为输入口。 11:A口和B口为基本输入/输出口,C口为输出口。 01:A口工作在选通方式, B口为基本输入输出口, PC5, PC4, PC3为输出方式,PC0~PC2提供A口选通方式的握手联 络信号(PC0=INTRA,PC1=BFA,PC2=STBA)。 10:A口和B口均为选通方式,PC0~PC5提供它们所需握手 联络信号(PC0=INTRA,PC1=BFA,PC2=STBA, PC3=INTRB,PC4=BFB,PC5=STBB)。 其中,INTRA为A口中断请求输出标志,INTRB为B口中断请求 输出标志,BFA为A口缓冲器/空输出信号,BFB为B口缓冲器/空 输出信号,STBA为A口数据选通输入信号,STBB为B口数据选 通输入信号。
13:55
28
8.4.2 8155可编程并行I/O接口扩展
1) 8155的控制字 8155的控制字格式如下:
----8155控制字
控制字各位定义如下:
PA:定义A口的输入/输出 PA=0,定义A口输入 PA=1,定义A口输出 PB:定义B口的输入/输出
bxjk

第八章并行接口与应用8-1并行接口的基本概念接口是连接单片机与外设的通道,其功能和作用在第五章已经介绍。
并行接口(简称并行口)在同一时刻,以字节或字为单位,与I/O设备进行数据交换。
为了保证数据正确传送,并行口应具有锁存功能,隔离功能和联络功能。
因此,并行口中包括输入缓冲寄存器、输出缓冲寄存器、控制寄存器和状态寄存器。
输入/输出缓冲寄存器实现数据的输入和输出;状态寄存器提供外设的各种状态,供单片机查询;控制寄存器接收单片机对接口的控制命令。
单片机有四个并行I/O口,能实现简单的数据I/O操作,但其功能毕竟有限。
因为在单片机的口电路中,只有数据锁存和缓冲功能,而没有状态寄存器和控制寄存器,因此难以满足复杂的I/O 的操作要求。
除此之外,还有数量上的原因。
单片机虽然号称四个8位双向I/O口,但实际应用中,特别是系统需要扩展外部程序存储器和数据存储器时,这些口往往不能全部用于I/O的目的,其中大部分被用来构造系统总线使用(P0分时为低八位地址总线和数据总线、P2为高八位地址总线、P3为第二功能的控制线则更为重要),真正能使用的只有P1口。
鉴于单片机的I/O资源有限,所以实际上不得不使用扩展的办法。
由于单片机的外部RAM和I/O接口是统一编址的,用户可把外部RAM (数据存储器)单元的一部分作为扩展I/O接口的地址空间,每一个接口相当于一个数据存储器存贮单元,CPU可象访问外部数据存储器那样访问外接口,进行I/O 操作。
8-2可编程并行接口芯片8255A一、8255A的内部结构及引脚8255A是Intel公司8088/8086微机外围接口芯片,由于51系列单片机与其总线结构相同,因此可以直接通用。
与其类似的有Motorola公司的MC6820,Zilog公司的Z80-PIO芯片等等。
8255A的最大特点在于其工作方式的确定和改变是用程序编程以软件的方法实现,因而称之为可编程接口芯片。
它的结构与引脚如图:(一)内部结构8255A内部有A口、B口和C口3个8位的数据口;A组和B组两组控制电路;数据总线缓冲器和读/写控制逻辑电路三大部分组成。
单片机并行口扩展和存储器扩展

单片机并行口扩展和存储器扩展
单片机并行口扩展和存储器扩展
1、单片机并行口扩展,扩展I/O口采用和数据存储器相同的寻址方式。
其方法有三种:
1)总线扩展,通过锁存器对P0口扩展,这一扩展方法只分时占用P0口,而不会影响P0口与其他扩展电路的连接作用。
2)串口扩展,通过串口的工作方式完成I/O口的扩展,多通过移位寄存器164/165实现,缺点明显,占用了串口,采用移位方式,速度较慢。
3)通过片内I/O口扩展,也就是不通过P0口而通过其他片内I/O口扩展,例如8255等。
2、单片机存储器扩展,包括程序存储器的扩展和数据存储器的扩展。
由于单片机中的程序存储器和数据存储器严格分开了,因此程序存储器扩展的操作时序有所不同,可分为执行MOVX命令和不执行两种,而数据存储器的扩展相对较为简单,扩展方法也很多。
此处不再赘述。
扩展阅读:51单片机模拟串口的三种方法。
单片机系统基本并行扩展技术

单片机系统基本并行扩展技术一、并行扩展的概念与意义并行扩展是指在单片机系统中,通过增加外部的硬件设备,如存储器、输入输出接口等,来扩展单片机的功能和资源。
这样可以使单片机系统能够处理更多的数据、实现更复杂的控制逻辑,并与更多的外部设备进行交互。
例如,在一些数据采集和处理系统中,单片机内部的存储器可能无法存储大量的采集数据,此时就需要通过并行扩展外部存储器来解决这一问题。
又如,在需要控制多个外部设备的系统中,单片机本身的输入输出端口可能不够用,通过并行扩展输入输出接口可以实现对更多设备的有效控制。
二、常见的并行扩展技术1、存储器扩展存储器扩展是单片机系统并行扩展中最常见的一种。
常见的存储器包括随机存取存储器(RAM)和只读存储器(ROM)。
(1)RAM 扩展RAM 用于存储程序运行时产生的临时数据。
扩展 RAM 时,需要考虑存储器的容量、速度和接口类型等因素。
常见的 RAM 扩展芯片有静态 RAM(SRAM)和动态 RAM(DRAM)。
(2)ROM 扩展ROM 用于存储程序和固定的数据。
常见的 ROM 扩展芯片有可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)和电可擦除可编程只读存储器(EEPROM)等。
2、输入输出接口扩展当单片机本身的输入输出端口不能满足系统需求时,可以通过并行扩展输入输出接口来增加可用的端口数量。
常见的输入输出接口扩展芯片有 8255 并行接口芯片、8155 多功能接口芯片等。
3、并行通信接口扩展在需要与其他设备进行高速数据通信的情况下,可以扩展并行通信接口,如并行打印机接口、并行 A/D 和 D/A 转换接口等。
三、并行扩展的硬件连接在进行并行扩展时,硬件连接是至关重要的。
需要正确连接单片机与扩展芯片的地址线、数据线、控制线等。
地址线用于选择扩展芯片的存储单元或端口地址,数据线用于传输数据,控制线用于控制扩展芯片的读写操作等。
以存储器扩展为例,通常需要使用地址锁存器来锁存地址信号,以确保地址的稳定。
并行IO接口的扩展实验报告

并行IO接口的扩展实验报告一、实验目的1、了解并行IO接口的扩展方法2、掌握可编程接口芯片8255A的工作原理、编程方式和使用方法二、实验条件1、DOS操作系统平台2、8255A接口芯片三、实验原理1、并行IO口的扩展方法:(1)通过通用的IO扩展芯片实现(2)通过TTL、CMOS 锁存器、缓冲器芯片实现。
如74LS377、74LS273、74LS244、74LS245 等。
(3)通过串行通信口扩展并行I/O 口。
2、8255A 扩展I/O 端口:(1)8255A 具有三种基本工作方式,即方式0、方式1、方式2。
各端口的工作方式及输入输出方向都由方式控制字设定(通过写入控制寄存器)。
8255A 的控制字有方式控制字和C 口置位/复位控制字两种。
3、8255A 的工作方式:(1)方式0 是一种基本I/O 方式。
在这种工作方式下,三个端口都可由程序设定为输入或输出,这种方式不使用联络信号,其基本功能为:a. 两个8 位端口(A、B) 和两个4 位端口(C)。
b. 任一个端口可以作为输入或输出。
c. 输出锁存,输入不锁存。
d. 在方式0 时,各端口都可以作为数据端口,CPU 用简单的输入或输出指令来进行读或写。
(2)方式1 是一种选通I/O 方式。
在这种方式下,端口A 和B 可作为数据端口,但C 口的某口的其它位仍可工作于方式0。
方式1 的基本功能为:a. 用作一个或两个选通端口。
b. 每个选通端口包含有:8 位数据瑞口,3 条控制线,提供中断逻辑。
c. 任一端口可输入或输出。
d. 若只有一个端口工作于方式1,余下的13 位可以工作于方式0。
e. 若两个端口工作于方式1,C 口余下2 位可以工作于方式0。
(3)方式2 是一种双向I/O 方式,只有端口 A 具有这种工作方式,其基本功能为:a. 一个8 位双向数据端口(A)和一个5 位控制端口(C)。
b. 输入和输出锁存。
c. 5 位控制端口用作端口A 的状态和控制信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
周期中6 表8-2 周期中6个节拍
P1.0 1 1 1 0 0 0
P1.1 0 0 1 1 1 0
P1.2 1 0 0 0 1 1
仍然沿用上例中的定时方式和定时初值, 定时溢出时, 仍然沿用上例中的定时方式和定时初值,在50ms定时溢出时, 定时溢出时 软件改变P1口线的组合输出状态, 软件改变 口线的组合输出状态, 口线的组合输出状态 MOV OUT,#6 ………… _T0 TH0,#3 50ms _T0: MOV TH0,#3CH ; 恢 复 50ms 初 值 TL0,#0 MOV TL0,#0B0H MOV DPTR,#OUTAB ;节拍编码表 DJNZ OUT,STEP OUT,#6 MOV OUT,#6 ; 恢 复 下 一 周 期 节 拍 编 码 STEP: STEP: MOV A,OUT ;1~6 DEC A ;0~5 MOVC A,@A+DPTR MOV P1,A RETN: RETN: RETI ;中断返回 01H 03H 02H 06H 04H 05H OUTAB : DB 01H , 03H , 02H , 06H , 04H , 05H 反置节拍码, ;;反置节拍码,从后往前查表输出
8.4.2并行扩展时片外扩展芯片的地址空间 三总线并行扩展的地址空间由16位地址总线 决定,共为64KB地址空间范围. 若仅仅扩展存储器空间,则最大可以扩展相 互独立的64KB的ROM空间和64KB的RAM空间 (哈佛结构). 利用总线扩展的外围芯片通常也要占用外部 数据存储器的地址空间.也就是说,外部扩展 芯片(设备)与数据存储器统一寻址,共同分 配片外RAM的64KB地址空间.
8. 3单片机的最小系统和扩展系统 1.8051单片机由于配置了片内ROM和片 内RAM,只要加上复位,时钟电路就可 以组成最小系统;
2.无片内ROM的8031单片机,需要通过 并行总线扩展外部ROM之后,加上振荡, 复位电路构成最小系统.
3.实际的单片机系统结构 设计单片机应用系统时,如果单片机自身的 资源无法满足系统要求,就要进行系统扩展. 由于单片机本身的资源有限,实际的单片机 应用系统一般都不是最小系统,而是扩展系统. 1.系统资源的扩展包括:程序存储器ROM (如27C××系列芯片),数据存储器RAM(如 62××系列芯片),I/O口扩展(如8155/8255芯 片等),中断系统扩展(如8259芯片),定时器/ 计数器(如8253/8254芯片),通信口扩展(如 8250芯片). 2.应用系统中经常需要配置的外围电路有: 键盘电路,显示电路(LED,LCD,CRT),打印机, ADC,DAC等.
7404 LED
P1.7 P1.6 P1.5 P1.4 8031 P1.3 P1.2 P1.1 P1.0
R
+
5VBiblioteka R图8-7 LED循环点亮 循环点亮
COUNT EQU 40H OUT EQU 41H ORG 0000H AJMP MAIN ORG 000BH AJMP _T0 ORG 0030H MAIN: MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV COUNT,#20 MOV IE,#82H SETB TR0 MOV OUT,#01H MOV P1,OUT SJMP $ _T0:MOV TH0,#3CH MOV TL0,#0B0H DJNZ COUNT,RETN MOV COUNT,#20 MOV A,OUT RL A MOV OUT,A MOV P1,A RETN: RETI
P0口 P2口
DB(P0.0-P0.7) CB(EA,PSEN,RD,WR) ABH(A8-A15) 图5-3 80C51单片机利用三总线并行扩展示意图
2.利用三总线扩展电路的连线方法或原则: ①数据总线-由P0口直接与各扩展芯片的数 据总线相连; ②地址总线-由P0口分时输出低8位地址,在 ALE信号控制下经74373地址锁存器锁存,输出 低8位地址A0-A7,与P2口输出的高8位地址组 成16位地址总线A0-A15.与扩展芯片的对应地 址线连接. ③控制总线-/EA根据使用片内或片外ROM 接VCC或GND;/PSEN与片外ROM的"读"引脚 /OE连接;ALE接地址锁存器控制端;/WR和 /RD分别与扩展芯片对应的写,读引脚连接. ④外扩芯片的选通线由单片机多余的高位地 址线直接选通或经地址译码器选通.
4. P3口(结构见P158图8-6) 特点:P3是一个多用途的端口.除了用 作通用I/O口外,P3的各位还定义了专用 的控制信号功能,称为第二功能口线.
口线 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD (串行口输入) TXD (串行口输出) INT0(外部中断0输入) INT1(外部中断1输入) T0 (定时器0计数输入) T1 (定时器1计数输入) WR (外部RAM"写"选通) RD (外部RAM"读"选通)
;初始化T0
;1s=20x50ms ;允许T0中断 ;开启T0工作 ;P1最低位点亮
;恢复50ms初值 ;不到1s则直接返回 ;恢复1s计次数 ;移位点亮
;中断返回
实例2. 多路输出控制电路; 实例2. 多路输出控制电路;
例8-2,使P1.0,P1.1,P1.2口线输出如图8-8 P1.0,P1.1,P1.2口线输出如图8 口线输出如图 时序要求的周期性波形. 时序要求的周期性波形
2.输入端口应用举例(自学) 实例:独立键输入端口 实例:简单的键盘显示电路
8. 2 总线型,非总线型单片机概念 8051单片机具有数据总线,地址总线 和控制总线,属于总线型单片机. 在51系列单片机中,后来派生出一种 廉价小型的单片机,如ATMEL公司的 89C1051/2051单片机,只有20引脚,相当 于将51单片机的P0口和P2口去掉,保留P1 和P3口功能.这一类单片机不再具有三总 线,就属于非总线单片机. 本课程后面讨论的内容均以总线型单 片机为介绍对象.
8.4 单片机的并行扩展技术 本节介绍并行扩展电路的连线原则; 并行扩展中,扩展芯片的地址空间分配; 以及并行扩展电路中的地址译码方法.
8.4.1并行扩展电路的连线原则; 1.总线扩展的电路形式:(图) 单片机的资源扩展一般通过数据总线DB, 地址总线AB和控制总线CB来实现.
ALE 80C51 锁 存 器 ABL(A0-A7)
线选法地址空间范围的确定:一般 外围扩展芯片的选通信号为低电平有效, 例如用一根P2.6作某外围芯片的选通线 时,若P2.6输出低电平,就可以选通该 芯片,选通地址范围为0000H-BFFFH. 即16根地址线A0-A15的状态为:
A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0 0 到1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1
8.1.2 单片机并行I/O口的应用举例 1.输出端口应用 实例1. LED驱动控制电路; 例 8-1 , 编程使P1口所接LED发光管循环点 亮,每个LED点亮时间为1S. 解: 设定时器T0工作于方式1,据第7章, 50ms的定时初值为3CBOH,1s需要20次定 时溢出.硬件连接如图8-7,程序每隔1s 改变一次P1口输出状态.
第八章 51单片机的并行扩展技术 8.1 51单片机的并行口特性 8.2总线型和非总线型单片机概念 8.3单片机的最小应用系统和扩展系统 8.4单片机并行扩展技术 8.5并行总线存储器的扩展技术 8.6并行I/O口扩展技术
本章为重要章节,需掌握的知识点: ①51单片机的并行口特性 ②总线型和非总线型单片机概念 ③单片机的最小应用系统和扩展系统 ④单片机的并行扩展技术 ⑤简单并行口的输入,输出扩展接口 ⑥可编程并行I/O芯片8255的扩展接口 ⑦并行总线型存储器的扩展方法
P1.X
读引脚
图8-4 P1口的位结构 口的位结构
3. P2口(结构见P158图8-5) 特点:P2口也是准双向口.P2口有两种 用途:片外地址总线高8位和通用并行 I/O口.
读锁存 地址高8位 控制
内部总线 D 锁存器 Q 1 T2 多路器
P2.X
0
写锁存 CP Q
读引脚
图8-5 P2口的位结构 口的位结构
地址/数据 控制 读锁存器
VCC T2 P0.X
内总线 写入
D CP
锁存器
Q Q MUX
T1
读引脚
P0口的位结构 图8-3 P0口的位结构
2. P1口(结构见P157图8-4) 特点: P1口为准双向口,做输出可直接输出 作输入前先要输出个1
读锁存 VCC Rp
内部总线 D 锁存器 Q T2 写锁存 CP Q
二.线选和片选地址译码方法 在扩展多个外围芯片时, 在扩展多个外围芯片时 , 需要给不同的外 设分配各自独立的地址空间, 设分配各自独立的地址空间,以便分别选通工 每个外扩芯片的地址空间不可交叉或重叠. 作.每个外扩芯片的地址空间不可交叉或重叠. (1)线选法就是利用某一根空余的高位地 线选法就是利用某一根空余的高位地 空余的高位 址线作为外部扩展芯片的选通线. 址线作为外部扩展芯片的选通线.一般扩展芯 片的选通信号都是低电平有效, 片的选通信号都是低电平有效,一旦选通线输 出低电平,就选中该芯片. 出低电平,就选中该芯片. 线选法适合于要扩展的芯片不多且多于的 高位地址线足够用来对外扩芯片进行线选的场 其特点是控制简单, 合,其特点是控制简单,不需要为了选通线而 额外增加硬件电路. 额外增加硬件电路.
5. 单片机端口的应用特性 (1)P0口为数据/低8位地址总线,P1为通用I/O 口,P2为高8位地址总线,P3口为双功能口. (2)P0-P3所有32个端口均带输出锁存器,都可 作普通I/O口用. (3)P0口为双向口,可驱动8个TTL门,P1-P3 为准双向口,只能驱动4个TTL门. (4)P0口作普通I/O口时需外接上拉电阻. (5)所有I/O作输入口用时需"先写1后读". (6)对于52单片机,其P1.0,P1.1的第二功能为 定时器,计数器T2输入/控制端.