文档介绍:2.MCS-51系列单片机系统的扩展能力
片外扩展存储器:
数据存储器:为216=64KB,地址范围为0000H~FFFFH;
程序存储器:为216=64KB,地址范围为0000H~FFFFH;
允许片外程序存储器和数据存储器的地址重叠。; 判断数据是否传送完成
SJMP $
END
整理课件
MCS-51对外部存储器的扩展
8031 单片机外扩16KB程序存储器和8KB数据存储器。
16KB程序存储器:两片2764芯片
8KB数据存储器:一片6264芯片
编址方法:采用全地址译码方式,―4译码器的工作,, ,且无悬空地址线,无地址重叠现象。
1# 2764, 2# 2764,
3# 6264的
地址范围分别为:
0000H~1FFFH,
2000H~3FFFH,
4000~5FFFH。
MCS-51单片机扩展外部存储器
整理课件
(4)接口与编程方法
数据线: 8255A内部已有数据总线驱动器,可以直接与单片机的数据总线相连接( P0口——D0~D7 )。
地址线:片选采用先选法, ——;片内寻址的A1,A0
—— 单片机的地址线最低2位。
控制线: , ,RESET直接与单片机的相应线相连。
MCS-51单片机扩展扩展8255电路
PA, PB, PC口及控制寄存器的地址分别为:
7FFCH, 7FFDH, 7FFEH和7FFFH。
整理课件
[例题]如图上页所示,8255A芯片的PA接一组8只状态指示灯,PB接一组8个开关,设计完成将开关闭合的状态输入到片内60H单元保存,将70H单元的内容送状态指示灯显示,并置位PC7引脚,编写相应程序。
解:设置8255A的A口方式0输出,B口方式0输入,C口高四位输出,8255A的方式字为82H(10000010B),C口置位/复位字为0FH(00001111B),8255A的方式字及置位/复位控制字地址为7FFFH。
程序如下:
ORG 0000H
LJMP START
ORG 0030H
DSP8255: MOV DPTR, #7FFFH ; 数据指针指向8255A控制口
MOV A, #82H
MOVX ***@DPTR, A ; 工作方式字送8255A控制口
MOV A, #0FH
MOVX ***@DPTR, A ; C口置位/复位字送8255A控制口
MOV DPTR, #7FFDH ; 数据指针指向8255A 的B口
MOVX A, ***@DPTR
MOV 60H, A ; 将B口开关状态送入60H单元
MOV DPTR, #7FFCH ; 数据指针指向8255A 的A口
MOV A, 70H
MOVX ***@DPTR, A ; 70H单元内容A口指示灯显示
SJMP $
END
整理课件
8255A采用方式0,由PC0模拟产生STB信号。因PC7输入,PC0输出,则方式选择命令字为:10001110B=8EH。 自内部RAM 20H单元开始向打印机输出80个数据的程序如下:
整理课件
LP: MOV DPTR, #7FFEH ; R0指向C口
LP1: MOVX A, @ DPTR ; 读PC7连接BUSY状态
JB , LP1 ; 查询等待打印机
MOV DPTR, #7FFCH ; 指向A口
MOV A, ***@R1 ; 取RAM 数据
MOVX @ DPTR, A ; 数据输出到8255A口锁存
INC R1 ; RAM地址加1
MOV DPTR, #7FFFH ; R0指向控制口
MOV A, #01H ; PC0复位控制字
MOVX @ DPTR, A ; PC0=0, 产生STB的下降沿
MOV A,