当前位置:文档之家› 《单片机原理及应用教程》第8章:MCS-51单片机的系统扩展

《单片机原理及应用教程》第8章:MCS-51单片机的系统扩展

P2.0 P2.7 ALE RESET WR RD
AD0 PA0~PA7 AD1
AD2
AD3 AD4 PB0~PB7 AD5 AD6 81C55
AD7
CE
P C0 ~P C5
IO/M
ALE
RESET
WR T IMER IN
RD T IMEROUT
设通过8051向81C55中RAM的第30H单元送入数87H,则例程如下。
9
32
10
31
11
30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
VCC P C2 P C1
P C0 P B7 P B6 P B5 P B4 P B3
P B2 P B1 P B0
P A7 P A6 P A5 P A4 P A3
P A2 P A1 P A0
IO/M
AD0~AD7
LOOP: MOVX @DPTR, A INC DPTR INC A DJNZ R2, LOOP END
;((DPTR))←(A) ;外部数据指针地址加1 ;A内的数据加1 ;R2是否为零?否,转向LOOP ;否则程序停止
以上程序段是将数据写入外部数据存储器的例程,如将数据读出单片机外
只需将:
LOOP: MOVX @DPTR, A 改写为:
NC
Vc c
A12
WE
A7
VCC
A7
CE 2
A6
A8
A6
A8
A5
A9
A5
A9
A4
WE
A4
A11
A3
OE
A3
OE
A2
A10
A2
A10
A1
CE
A0
6116
D7
A1
CE 1
A0
6264
D7
D0
D6
D0
D6
D1
D5
D1
D5
D2
D4
D2
D4
Vss
D3
Vss
D3
下面的程序为向6116内写入00~FFH的数据。
MOV A, #8BH
;将数据8BH传送给A
MOVX @DPTR, A ;由A将8BH这个控制字写入82C55的控制单元
MOV DPTR, #0FEFCH ;数据指针指向A端口
MOV A, #3FH
;将3FH这个数传送给A
MOVX @DPTR, A
;由A将数据传送到DPTR制定的字节地址
MOV DPTR, #0FEFDH ;将B口的地址传送给数据指针
PA3 PA2 PA1 PA0 RD CS
GND A1 A0 PC7 PC6
PC5 PC4
PC0 PC1 PC2 PC3 PB0 PB1
PB2
PA4 PA5
PA6 PA7
A组 控制
WR
RESET D0
D0-D7 数据总线
D1
缓冲器
D2
D3 D4 D5
RD
WR A0 A1
读/写 逻辑
A组 控制
D6
RESET
P CL 输出
数据 采样
P CL 输出
数据 采样
P CL 数 据 输出 采样
图8.2 单片机访问外部程序存储器的时序图
8.1.2 地址锁存器及EPROM,EEPROM芯片介绍
1. 地址锁存器
图8.3为几种常用的地址锁存器的管脚图。
图8.4是这几种常用的锁存器与单片机的连接图。
2. EPROM与EEPROM扩展电路
ORG 0000H AJMP MAIN ORG 0040H MAIN: MOV SP, #60H MOV DPTR, #7E30H MOV A, #78H MOVX @DPTR, A END
8.4 思考练习题
(1)简述单片机系统扩展的基本原则和实现方法。 (2)什么是RAM?有什么特点? (3)线选法和全地址译码法有什么区别? (4)在一个8051应用系统中扩展64K EPROM,并扩展两片82C55和一片 6264,试画出其线路原理图,并说明各自的地址范围。 (5)设采用一片8051和一片81C55设计一个24位的定时器/计数器。 (6)某厂生产的酒瓶盖原采用称重装箱的方式,现要改为按数量装箱的 方式,设其每箱要求装满5000只,试应用8051单片机设计其应用系统。 (7)由于8051内部有4K的程序存储器,有人考虑采用控制EA端的方式 来给程序加密,试讨论该办法的可行性。 (8)试讨论在不加其他逻辑芯片的情况下,一片8051和一片81C55可提 供多少输入/输出的端口。
紫外线擦除电可编程只读存储器EPROM,以前常用作MCS-51系列单
片机的外部程序存储器,常见的型号有:2764(8K×8),
27128(16K×8),27256(32K×8),27512(64K×8)等。管脚分布如图
8.5所示 。
Vpp
Vcc
A12
PGM
A7
NC
A6
A8
A5
A9
A4
A11
A3
OE
A2
82C55的三种工作模式: 工作模式0 工作模式1 工作模式2
D7 D6 D5 D4 D3 D2 D1 D0 不用
位:置位/复位 1:置位 0:复位
0 1 234 567 01 01 0 101 00 11 0 011 00 00 1 111
位:置位/复位标志 0:有效
图8.18 82C55 C口位操作控制字
A10
A1
CE
A0
D7
D0
D6
D1
D5
D2
D4
Vss
D3
图8.8 MCS-51单片机与EEPROM 28C17的连接图
8.2 数据存储器的扩展
8.2.1 外部数据存储器的操作时序
如图8.9所示为单片机片外数据存储器的读时序 。
S1
S2
S3
S4
S5
S6
P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
1. 81C55芯片简介
图8.26为81C55芯片的管脚和内部结构示意图。
P C3 P C4 TIMERIN
RESET P C5
TIMEROUT IO/M
CE RD WR ALE
AD0 AD1 AD2 AD3 AD4
AD5 AD6 AD7
VSS
1
40
2
39
3
38
4
37
5
36
6
35
7
34
8 8155 33
PB0~7 8
D0 82C55 D1
D2 D3
PC0~7
8
D4
D5
D6
D7
例程如下:
ORG 0000H
;上电复位程序入口
AJMP MAIN
;转移到以MAIN为标号的程序入口;
ORG 0040H
;主程序存放在以0040H单元开始的空间内
MAIN: MOV SP, #60H
;将堆栈调至60H单元处
MOV DPTR, #0FEFFH ;将82C55的控制字节地址赋给数据指针
2. 8051与82C55的接口举例
在8051单片机的I/O上扩展82C55芯片,其接口逻辑相当简单,如图
8.25所示。
WR
WR
RD
RD
P2.0
CS PA0~7 8
ALEGΒιβλιοθήκη EP0.0 P0.1
8051
P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
74LS373
D0 Q0 D1 Q1
A0 A1
LOOP: MOVX A, @DPTR
8.3 外部I/O的扩展
8.3.1 I/O口扩展概述
常用的单片机外围器件有:82C55、81C55、82C53、82C54、82C52、 8279等芯片。
8.3.2 I/O口地址译码方法
1. 线选法 图8.13为采用线选法的实例。
8051
P2.3 P2.2 P2.4 P2.5 P2.6 P2.7 P2.1
2. 全地址译码法
它将低位地址作为芯片的片内地址,而用译码器对高位地址线进行译码 译出的信号作为片选线。一般采用74LS138(3-8),74LS154(4-16),或 CPLD等来实现译码。下面以74LS138为例来讲述其应用方法。
8051 P2.0
P2.5 P2.6 P2.7
A0 … A10
A B
D7
CS
VCC
PB7 PB6
PB5
PB4
PB3
A组 控制
P A0~P A7
A组 端口C 上半部
P C4~P C7
B组 端口C 上半部
P C0~P C3
A组 控制
P B0~P B7
A1 A0
00 01 10 11
表8.4 82C55内部的单元地址
82C55内部寄存器
端口A 端口B 端口C 控制寄存器
MOVX A, @DPTR
;将B口的数据传送给A
MOV 30H, A
;通过A将B口内的数据传送到30H单元内
MOV DPTR, #0FEFEH ;把端口C的地址赋予数据指针
MOVX A, @DPTR
;把C内的数据传送给A
MOV 31H, A
;通过A把数据传送到31H单元内
END
;整个程序结束
8.3.4 81C55可编程并行I/O口
MCS-51 单片机原理及应用教程
相关主题