{项目管理项目报告}的汇编和C语言版项目8并行IO口扩展控制

上传人:精****库 文档编号:141416975 上传时间:2020-08-07 格式:PPTX 页数:47 大小:2.61MB
返回 下载 相关 举报
{项目管理项目报告}的汇编和C语言版项目8并行IO口扩展控制_第1页
第1页 / 共47页
{项目管理项目报告}的汇编和C语言版项目8并行IO口扩展控制_第2页
第2页 / 共47页
{项目管理项目报告}的汇编和C语言版项目8并行IO口扩展控制_第3页
第3页 / 共47页
{项目管理项目报告}的汇编和C语言版项目8并行IO口扩展控制_第4页
第4页 / 共47页
{项目管理项目报告}的汇编和C语言版项目8并行IO口扩展控制_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《{项目管理项目报告}的汇编和C语言版项目8并行IO口扩展控制》由会员分享,可在线阅读,更多相关《{项目管理项目报告}的汇编和C语言版项目8并行IO口扩展控制(47页珍藏版)》请在金锄头文库上搜索。

1、,项目8 并行I/O口扩展控制,知识与能力目标,理解单片机三总线结构及其扩展使用方法,1,理解并掌握单片机外部扩展单元地址的分析与确定,2,学会I/O口扩展控制程序的分析与设计,3,掌握串口与PC通信的接口电路及程序的分析与设计,4,熟练使用Proteus进行单片机应用程序开发与调试,5,项目8 并行I/O口扩展控制,8.1.1 51单片机三总线分析,8.1.2 并行I/O接口扩展认知,8.2.2 硬件系统与控制流程分析,8.2.1 控制要求与功能展示,8.2.3 汇编语言程序分析与设计,8.2.4 C语言程序分析与设计,2,任务8.2 简单并行I/O口扩展控制,8.2.5 基于Proteus

2、的调试与仿真,任务8.1 单片机并行扩展分析,8.1.1 51单片机三总线分析,总线就是连接系统中各扩展部件的一组公共信号线。按照功能可分为地址总线AB、数据总线DB和控制总线CB。,8.1.1 51单片机三总线分析,整个扩展系统以单片机为核心,因为扩展部件是在单片机芯片之外进行的,通常称扩展的ROM为外部ROM,称扩展RAM为外部RAM。,注意:MCS-51系列单片机外部扩展I/O接口时,其地址与外部RAM统一编址的。换句话说,外部扩展的I/O接口要占用外部RAM的地址。,8.1.1 51单片机三总线分析,地址总线的数目决定着可以直接访问的存储单元的数目。N位地址可以产生2 个连续地址编码,

3、可访问2 个存储单元。 MCS-51单元有16根地址线,存储器或I/O接口扩展最多可达64KB,即2 个地址单元。,地址总线用于传送单片机送出的地址信号,以便进行存储单元和I/O端口的选择。 地址总线是单向的,只能由单片机向外发出。,(1) 地址总线AB(Address Bus),8.1.1 51单片机三总线分析,数据总线用于在单片机与存储器之间或单片机与I/O端口之间传送数据。 数据总线是双向的,可以进行两个方向的数据传送。 数据总线的位数与单片机处理数据的字长一致。MCS-51单片机字长8位,所以它的数据总线位数也是8位。,(2)数据总线DB(Data Bus),8.1.1 51单片机三总

4、线分析,控制总线实际上就是一组控制信号线,包括由单片机发出的控制信号以及从其他部件送给单片机的请求信号和状态信号。 每一条控制信号线的传送方向是单向的固定的,但由不同方向的控制信号线组合的控制总线则表示为双向。,(3)控制总线CB(Control Bus),8.1.1 51单片机三总线分析,8.1.1 51单片机三总线分析,P0口线的第二功能是地址线/数据线分时复用功能。在访问片外存储器时,自动进入第二功能,不需要进行设置。 在一个片外存储器读写周期中,首先P0口输出低8位地址,然后以ALE为所锁存控制信号,确保低8位地址信息在消失前被送入锁存器暂存起来并输出,作为地址总线的低8位,直到访问周

5、期结束。地址信号被锁存之后,P0口转换为数据线,以便传输数据,直到访问周期结束。从而实现了对地址和数据的分离。,8.1.1 51单片机三总线分析,在访问片外存储器时,自动进入第二功能,不需要进行设置。 在一个片外存储器读写周期中,P2口线始终输出地址总线的高8位,可直接与存储器或接口芯片的地址线相连,无需锁存。 P2与P0共同提供了16根地址线,实现了MCS-51单片机系统64KB的寻址范围。,8.1.1 51单片机三总线分析,构成系统的控制总线的控制信号包括: 1)ALE(30)是锁存信号,用于进行P0口地址线和数据线的分离。 2) (29)是程序存储器读选通控制信号。 3) (17)、 (

6、16)分别是外部数据存储器的读、写选通控制信号。 4) (31)是程序存储器访问控制信号。,8.1.2 并行I/O接口扩展认知,所有扩展的I/O口或相当于I/O口的外设以及通过I/O口连接的外设,均与片外数据存储器统一编址,访问I/O口的指令就是访问外部数据存储器的指令(MOVX)。,对于数据存储器来说,或者是单片机读取存储器的数据,或者是单片机将数据写入存储器,而单片机与外设所能进行的无非是数据的输入或输出,也就是说,单片机与外设进行的只是数据的传输,所以,外设或I/O口可当作数据存储器进行扩展。,8.1.2 并行I/O接口扩展认知,(1)总线扩展方法 总线扩展的方法是将扩展的并行I/O口芯

7、片连接到MCS-51单片机的总线上,即数据总线使用P0口,地址总线使用P2和P0口,控制总线使用部分P3口。这种扩展方法基本上不影响总线上其他扩展芯片的连接,在MCS-51系列单片机应用系统的I/O扩展中被广泛应用。,1、单片机I/O口扩展方法,8.1.2 并行I/O接口扩展认知,MCS-51单片机串行口工作方式0时,提供一种I/O扩展方法。串行口方式0是移位寄存器工作方式,可借助外接串入并出的移位寄存器扩展并行输出口,也可通过外接并入串出的移位寄存器扩展并行输入口。由于采用串行输入输出的方法,所以数据传输速度较慢。,1、单片机I/O口扩展方法,(2)串行口扩展方法,8.1.2 并行I/O接口

8、扩展认知,2、并行I/O扩展常用芯片,1,2,3,TTL/CMOS锁存器/缓冲器芯片:如74LS377、74LS374、74LS373、74LS273、74LS244、74LS245等。,通用可编程I/O接口芯片:如8255、8279等。,可编程阵列:如GAL16V8、GAL20V8等。,8.1.2 并行I/O接口扩展认知,3、I/O扩展中应注意的几个问题,扩展的I/O与片外数据存储器统一编址,分配给I/O端口的地址不能再分配给片外数据存储单元,且与程序存储器无关。,访问扩展I/O的方法与访问外部数据存储器完全相同,使用相同的指令。,1,2,展多片I/O芯片或多个I/O设备时,注意总线驱动器的

9、能力问题。,3,8.1.2 并行I/O接口扩展认知,3、I/O扩展中应注意的几个问题,在软件设计时,I/O口对应初始状态设置、工作方式选择要与外接设备相匹配。,I/O扩展时必须考虑与之相连的外设硬件特性,如驱动器功率、电平、干扰抑制及隔离等。,4,5,任务8.2 简单并行I/O口扩展控制,8.2.1 控制要求与功能展示,实物运行视频,简单并行I/O口扩展控制电路原理图,任务8.2 简单并行I/O口扩展控制,8.2.1 控制要求与功能展示,8.2.2 硬件系统与控制流程分析,1、任务硬件系统分析,如电路原理图所示,该电路实际上是通过单片机的三总线结构,外扩单片机的输入输出接口电路。输入采用三态门

10、74LS245,输出采用8D触发器(锁存器)74LS374,因此,要分析理解以上的电路设计,必须先学习74LS245与74LS374芯片的部分知识。,8.2.2 硬件系统与控制流程分析,(1)74LS245扩展芯片的介绍,8.2.2 硬件系统与控制流程分析,8.2.2 硬件系统与控制流程分析,常用,(3)单片机的片选方法,8.2.2 硬件系统与控制流程分析, 线选法,(3)单片机的片选方法,一般是利用单片机的最高几位空余的地址线中一根作为某一片存储器芯片或I/O接口芯片的“片选”控制线。,线选法常用于应用系统中扩展芯片较少的场合。,8.2.2 硬件系统与控制流程分析,译码法 当应用系统中扩展芯

11、片较多时,单片机空余的高位地址线不够用。这时常用译码器对空余的高位地址线进行译码,而译码器的输出作为“片选”控制线。 常用的译码器有3/8译码器74LS138、4/16译码器74LS154等。,(3)单片机的片选方法,8.2.2 硬件系统与控制流程分析,(4)并行扩展输入/输出口电路地址的确定及使用, 扩展芯片地址的确定 如图8-4所示为单片机与74LS245、74LS374接口电路,该电路采用线选法进行I/O口扩展。,表8-4 74LS245与74LS374的片地址,其中“X”表示与芯片地址无关的地址位,简称无关位,取0或1都可以。,8.2.2 硬件系统与控制流程分析,如果与芯片地址无关的地

12、址线引脚都取0,那么74LS245与74LS374的地址都是0000H。 如果与芯片地址无关的地址线引脚都取1,那么74LS245与74LS374的地址分别是FDFFH、FEFFH。,(4)并行扩展输入/输出口电路地址的确定及使用,8.2.2 硬件系统与控制流程分析, 扩展芯片地址的使用 在确定好每片芯片的地址后,单片机就可对其进行读写操作,读写时先发送芯片地址,选通芯片,接着进行读写数据。,(4)并行扩展输入/输出口电路地址的确定及使用,8.2.2 硬件系统与控制流程分析,图8-7 简单并行I/O口扩展控制流程,2、任务控制流程分析,8.2.3 汇编语言程序分析与设计,使用说明:MOVX是C

13、PU与外部数据存储器的数据传送操作指令,其中x为external(外部)的第二字母。这组指令的功能是外部数据存储器或扩展I/O口与累加器A之间的数据传送。,累加器A与外部RAM(或外部接口)数据传送指令:MOVX 使用格式:MOVX A,DPTR 或 MOVX DPTR,A MOVX A,Ri 或 MOVX Ri,A,1、任务相关汇编指令,8.2.3 汇编语言程序分析与设计,1、任务相关汇编指令,(2)由于MOVX类指令是专访外部数据存储器和外部接口的指令,因此它的操作数地址(DPTR或Ri的值),即外部数据存储器16位地址是由P0口和P2口向外部地址总线发出的。,(1)在以上4条格式指令中,

14、DPTR的取值范围是:0000H0FFFFH;Ri的取值范围是XX00HXXFFH。,(4)当执行指令MOVX A,Ri和MOVX Ri,A时,寄存器Ri的内容操作数地址的低8位,将自动写入P0口并锁存,操作数地址的高8位必须事先通过MOV P2,#data指令写入P2口。,(3)当执行指令MOVX A,DPTR和MOVX DPTR,A时,寄存器DPH(DPTR的高8位)的内容自动写入P2口,寄存器DPL(DPTR的低8位)的内容自动写入P0口并锁存。,8.2.3 汇编语言程序分析与设计,1、任务相关汇编指令,8.2.3 汇编语言程序分析与设计,方法一,MOV DPTR , #7E02H ;建

15、立外部地址指针7E02H MOVX A , DPTR ;外存7E02H单元内容送A MOV 35H , A ;A内容送内部存储单元35H 方法二: MOV P2 , #7EH MOV R1 , #02H MOVX A , R1 MOV 35H , A,使用示例:用两种方法将外部数据寄存器7E02H单元的内容送入内部数据存储器35H单元。,1、任务相关汇编指令,8.2.3 汇编语言程序分析与设计,汇编程序,程序初始部分,汇编程序,主程序MAIN,8.2.4 C语言程序分析与设计,例如: XBYTE0XFD3F XBYTE是一个地址指针,它在文件absacc.h中由系统定义,指向外部RAM的0000H单元,XBYTE后面中括号 中的数值是指偏离0000H的偏移量,例中XBYTE0XFD3F表明访问外部地址为0XFD3F的外部RAM。,1. 绝对地址访问宏定义头文件absacc.h,8.2.4 C语言程序分析与设计,1. 绝对地址访问宏定义头文件absacc.h,例如: XBYTE0XFD3F XBYTE是一个地址指针,它在文件absacc.h中由系统定义,指向外部RAM的0000H单元,XBYTE后面中括号 中的数值是指偏离0000H的偏移量,例中XBYTE0XFD3F表明访问外部地址为

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号