第八章 并行口扩展技术
周期中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输入/控制端.