(本科)V3第8章单片机的并行接口扩展技术.ppt
《(本科)V3第8章单片机的并行接口扩展技术.ppt》由会员分享,可在线阅读,更多相关《(本科)V3第8章单片机的并行接口扩展技术.ppt(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、v课程主讲人:vV3V3第第8 8章单片机的并行接口扩展技术章单片机的并行接口扩展技术2022-5-132022-5-132单片机的扩展总线及地址分配单片机的扩展总线及地址分配8.1存储器的扩展存储器的扩展8.2简单并行简单并行I/OI/O接口的扩展接口的扩展8.3可编程可编程I/O接口的扩展接口的扩展8.4第第8 8章章 单片机的并行接口扩展技术单片机的并行接口扩展技术应用案例应用案例单片机扩展多并行单片机扩展多并行I/OI/O口及口及SRAMSRAM8.52022-5-132022-5-1338.1 单片机的扩展总线及地址分配单片机的扩展总线及地址分配n 80C51单片机的三总线构造单片机
2、的三总线构造l 数据总线数据总线l 地址总线地址总线l 控制总线控制总线v8.1.1 单片机的扩展总线单片机的扩展总线2022-5-132022-5-134l 地址锁存器地址锁存器一般选用带三态一般选用带三态缓冲输出的缓冲输出的8D锁锁存器存器74LS373由于由于P0口是数据、口是数据、地址分时复用的,地址分时复用的,所以所以P0口输出的口输出的低低8位地址必须用位地址必须用地址锁存器进行地址锁存器进行锁存锁存。2022-5-132022-5-135v74LS373是具有输出三态门的电平允许8D锁存器,当使能端G为高电平时,锁存器选通状态;当G端从高电平返回到低电平时(下降沿后),锁存器锁存
3、状态。2022-5-132022-5-1368.1.2 8.1.2 地址分配地址分配l 80C51系列单片机的地址总线有16位,最大寻址空间为64KB,地址范围:0000HFFFFHl 芯片常用的片选方法有两种:线选法和地址译码法。v1 1线选法线选法l 线选法是直接利用单片机的某一高位地址线作为存储器芯片(或I/O接口芯片)的片选控制信号。l 对于80C51单片机,一般使用P2口高位地址线作为片选信号。l 线选法对地址空间的使用不是连续的,地址空间利用率不高,适合少量存储器芯片扩展。v2. 2. 译码法译码法l 译码法就是使用译码器对单片机的若干高位地址线进译码法就是使用译码器对单片机的若干
4、高位地址线进行译码行译码。常用的译码器芯片有常用的译码器芯片有74LS13874LS138(3 38 8译码器)、译码器)、74LS13974LS139(双(双2 24 4译码器)、译码器)、74LS15474LS154(4 41616译码器)。译码器)。2022-5-132022-5-1382022-5-132022-5-139l 根据译码法的逻辑关系和存储器片内寻址范围,可以得到图8.5所示扩展芯片的地址空间,见表8.1。l 译码法能够连续的分配地址空间,有效地利用存储器空间,适合多个存储器芯片扩展。2022-5-132022-5-13108.2.1 8.2.1 程序存储器的扩展程序存储器
5、的扩展8 82 2 存储器的扩展存储器的扩展v一、一、EPROMEPROM芯片及扩展方法芯片及扩展方法l 常用的常用的EPROMEPROM芯片有芯片有27C6427C64、27C12827C128、27C25627C256、27C51227C512等等l 芯片引脚芯片引脚2022-5-132022-5-1312l 程序存储器与单片机接口电路程序存储器与单片机接口电路l 在满足容量要求的前提下,尽可能选择大容量的芯片,以减少芯片数量,减轻总线的负担,提高系统可靠性。2022-5-132022-5-1313二、多片二、多片EPROMEPROM扩展方法扩展方法图8.8为4片27128(16KB)程序
6、存储器扩展方法,片选信号由74LS139译码器产生。l 4片程序存储器的统一编址可参见表8.1图图8.88.82022-5-132022-5-1314l 80C51单片机访问(只读)程序存储器的指令为单片机访问(只读)程序存储器的指令为 MOVC A, A+PC 或或MOVC A, A+DPTR,如读取程序存如读取程序存储器地储器地 址址2000H单元内容的指令为:单元内容的指令为: MOV DPTR, #2000H MOV A, #00H MOVC A, A+DPTRl 采用采用C51语言编程对程序存储器进行访问时,要把变量的语言编程对程序存储器进行访问时,要把变量的存储器类型定义为存储器类
7、型定义为code,该变量只能进行只读操作。例如:,该变量只能进行只读操作。例如:unsigned char code SegCode = 0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90 ; 将数组定义在程序存储器空间,程序运行时,对该数组只能将数组定义在程序存储器空间,程序运行时,对该数组只能进行读操作,不能改写数组内容。进行读操作,不能改写数组内容。2022-5-132022-5-13158.2.2 8.2.2 数据存储器的扩展数据存储器的扩展l 单片机系统扩展数据存储器一般使用SRAM。l 80C51单片机外部扩展的数
8、据存储器空间最大为64KB,单片机的外部数据存储器和I/O口的地址空间是统一编址的。v一、一、RAMRAM芯片及扩展方法芯片及扩展方法v单片机系统扩展常用的SRAM芯片有6264(8KB8位),62128(16KB8位),62256(32KB8位),其主要技术特性见表8.3、表8.4。2022-5-132022-5-1316存储器芯片引脚图:存储器芯片引脚图:2022-5-132022-5-1317芯片的片选端用P2.7线选控制,当P2.7为低电平时,62C64被选中,因此片外RAM的地址为0000H1FFFH。二、数据存储器扩展电路二、数据存储器扩展电路2022-5-132022-5-131
9、8三、多片数据存储器扩展电路三、多片数据存储器扩展电路 当需要扩展多片SRAM时,可以采用前述的线选法和译码法作为SRAM芯片的片选信号。线选法扩展多片线选法扩展多片62C6462C64接口电路接口电路2022-5-132022-5-1319l 从表中可以看出,三个RAM芯片的地址是不连续的,地址空间利用率不高,但片选连线较译码法简单。2022-5-132022-5-1320【例【例8-1】将单片机内部】将单片机内部RAM 30H4FH单元的内容传送到外部单元的内容传送到外部RAM地址为地址为C000HC01FH单元中。单元中。解:解:C51语言程序如下:语言程序如下:#include#def
10、ine uchar unsigned chardata uchar a32 _at_ 0 x30;xdata uchar b32 _at_ 0 xc000; void main( ) uchar i; for(i=0;i32;i+) bi=ai;2022-5-132022-5-13218.2.3 8.2.3 程序存储器和数据存储器的综合扩展程序存储器和数据存储器的综合扩展2022-5-132022-5-1322l 4个存储器芯片总共占用了32KB的地址空间,并且每个芯片之间的地址是连续的,0000H3FFFH为程序存储器地址空间,4000H7FFFH为数据存储器地址空间。2022-5-1320
11、22-5-13238 83 3 简单并行简单并行I/OI/O接口的扩展接口的扩展v8.3.1 8.3.1 输入输入/ /输出接口的功能输出接口的功能(1)对单片机输出的数据锁存(2)对输入设备的三态缓冲(3)信号转换(4)时序协调2022-5-132022-5-13248.3.2 8.3.2 单片机与单片机与I/OI/O设备的数据传送方式设备的数据传送方式(1)无条件传送)无条件传送 适用于对简单的I/O设备(如开关、LED显示器、继电器等)的操作。(2)查询状态传送)查询状态传送 输入数据时,查询输入的数据是否已“准备就绪”;数据输出时,查询输出设备是否“空闲”。(3)中断传送方式)中断传送
12、方式 I/O设备处于主动申请中断的地位,CPU响应中断完成数据传输。(4 4)直接存储器存取()直接存储器存取(DMADMA)方式)方式 采用专用硬件电路执行输入/输出的传送方式,它使I/O设备可直接与内存进行高速的数据传送,而不必经过CPU执行传送程序。2022-5-132022-5-13258.3.3 8.3.3 用用TTLTTL芯片扩展芯片扩展I/OI/O接口接口v图8.14为一个利用74LS273锁存器和74LS244缓冲器构成的并行I/O接口电路。2022-5-132022-5-13268.3.4 8.3.4 用串行口扩展用串行口扩展I/OI/O接口接口v【例8-3】利用单片机串行口
13、扩展16位并行输入口,如图8.15所示。编写程序,读入5组并行I/O口输入的16位数据,并存储到内部RAM缓冲区。l 80C5180C51单片机的串行口的方式单片机的串行口的方式0 0可以用于并行可以用于并行I/OI/O口扩展口扩展。2022-5-132022-5-1327解:解:C51语言程序如下:语言程序如下:#include#include#define uchar unsigned charuchar inData10;uchar n;sbit P10=P10;void receive2B(void) /读入读入2个字节数据个字节数据 uchar i; P10=0; /74LS165装
14、入数据装入数据 _nop()_; P10=1; /启动移位输入启动移位输入 ES=0; /关闭串行口中断关闭串行口中断2022-5-132022-5-1328 for(i=0;i2;i+) while(RI=0) /查询方式读入数据查询方式读入数据 RI=0; inDatai+2*n=SBUF; ES=1; /开放串行口中断开放串行口中断void main( ) SCON=0 x10; /串行口方式串行口方式0,允许输入,允许输入 for(n=0;n5;n+) receive2B( );2022-5-132022-5-1329【例8-4】单片机串行口外接两片74LS164,扩展16位并行输出口
15、,如图8.16所示。编写程序,将内部RAM 40H和41H单元的数据输出到0#74LS164和1#74LS164。2022-5-132022-5-1330解:解:C51语言程序如下:语言程序如下:#include#include#define uchar unsigned char#define byte1 DBYTE0 x40;#define byte2 DBYTE0 x41;sbit P10=P10;void main(void ) SCON=0 x00; P10=0; /74LS164输出端清输出端清0 _nop()_; P10=1; SBUF=byte1; /输出输出40H单元数据单元
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 V3 单片机 并行 接口 扩展 技术
限制150内