并行IO口扩展控制讲义(PPT 47页).ppt_第1页
并行IO口扩展控制讲义(PPT 47页).ppt_第2页
并行IO口扩展控制讲义(PPT 47页).ppt_第3页
并行IO口扩展控制讲义(PPT 47页).ppt_第4页
并行IO口扩展控制讲义(PPT 47页).ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目8并行I/O口扩展控制,知识与能力目标,理解单片机三总线结构及其扩展使用方法,1,理解并掌握单片机外部扩展单元地址的分析与确定,2,学会I/O口扩展控制程序的分析与设计,3,掌握串口与PC通信的接口电路及程序的分析与设计,4,熟练使用Proteus进行单片机应用程序开发与调试,5,项目8并行I/O口扩展控制,8.1.151单片机三总线分析,8.1.2并行I/O接口扩展认知,8.2.2硬件系统与控制流程分析,8.2.1控制要求与功能展示,8.2.3汇编语言程序分析与设计,8.2.4C语言程序分析与设计,2,任务8.2简单并行I/O口扩展控制,8.2.5基于Proteus的调试与仿真,任务8.1单片机并行扩展分析,8.1.151单片机三总线分析,总线就是连接系统中各扩展部件的一组公共信号线。按照功能可分为地址总线AB、数据总线DB和控制总线CB。,8.1.151单片机三总线分析,整个扩展系统以单片机为核心,因为扩展部件是在单片机芯片之外进行的,通常称扩展的ROM为外部ROM,称扩展RAM为外部RAM。,注意:MCS-51系列单片机外部扩展I/O接口时,其地址与外部RAM统一编址的。换句话说,外部扩展的I/O接口要占用外部RAM的地址。,8.1.151单片机三总线分析,地址总线的数目决定着可以直接访问的存储单元的数目。N位地址可以产生2个连续地址编码,可访问2个存储单元。MCS-51单元有16根地址线,存储器或I/O接口扩展最多可达64KB,即2个地址单元。,地址总线用于传送单片机送出的地址信号,以便进行存储单元和I/O端口的选择。地址总线是单向的,只能由单片机向外发出。,8.1.151单片机三总线分析,8.1.151单片机三总线分析,控制总线实际上就是一组控制信号线,包括由单片机发出的控制信号以及从其他部件送给单片机的请求信号和状态信号。每一条控制信号线的传送方向是单向的固定的,但由不同方向的控制信号线组合的控制总线则表示为双向。,8.1.151单片机三总线分析,8.1.151单片机三总线分析,P0口线的第二功能是地址线/数据线分时复用功能。在访问片外存储器时,自动进入第二功能,不需要进行设置。在一个片外存储器读写周期中,首先P0口输出低8位地址,然后以ALE为所锁存控制信号,确保低8位地址信息在消失前被送入锁存器暂存起来并输出,作为地址总线的低8位,直到访问周期结束。地址信号被锁存之后,P0口转换为数据线,以便传输数据,直到访问周期结束。从而实现了对地址和数据的分离。,8.1.151单片机三总线分析,在访问片外存储器时,自动进入第二功能,不需要进行设置。在一个片外存储器读写周期中,P2口线始终输出地址总线的高8位,可直接与存储器或接口芯片的地址线相连,无需锁存。P2与P0共同提供了16根地址线,实现了MCS-51单片机系统64KB的寻址范围。,8.1.151单片机三总线分析,构成系统的控制总线的控制信号包括:1)ALE(30)是锁存信号,用于进行P0口地址线和数据线的分离。2)(29)是程序存储器读选通控制信号。3)(17)、(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口芯片连接到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接口扩展认知,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设备时,注意总线驱动器的能力问题。,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、任务硬件系统分析,如电路原理图所示,该电路实际上是通过单片机的三总线结构,外扩单片机的输入输出接口电路。输入采用三态门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硬件系统与控制流程分析,译码法当应用系统中扩展芯片较多时,单片机空余的高位地址线不够用。这时常用译码器对空余的高位地址线进行译码,而译码器的输出作为“片选”控制线。常用的译码器有3/8译码器74LS138、4/16译码器74LS154等。,(3)单片机的片选方法,8.2.2硬件系统与控制流程分析,扩展芯片地址的确定如图8-4所示为单片机与74LS245、74LS374接口电路,该电路采用线选法进行I/O口扩展。,表8-474LS245与74LS374的片地址,其中“X”表示与芯片地址无关的地址位,简称无关位,取0或1都可以。,8.2.2硬件系统与控制流程分析,如果与芯片地址无关的地址线引脚都取0,那么74LS245与74LS374的地址都是0000H。如果与芯片地址无关的地址线引脚都取1,那么74LS245与74LS374的地址分别是FDFFH、FEFFH。,8.2.2硬件系统与控制流程分析,扩展芯片地址的使用在确定好每片芯片的地址后,单片机就可对其进行读写操作,读写时先发送芯片地址,选通芯片,接着进行读写数据。,8.2.2硬件系统与控制流程分析,图8-7简单并行I/O口扩展控制流程,8.2.3汇编语言程序分析与设计,使用说明:MOVX是CPU与外部数据存储器的数据传送操作指令,其中x为external(外部)的第二字母。这组指令的功能是外部数据存储器或扩展I/O口与累加器A之间的数据传送。,累加器A与外部RAM(或外部接口)数据传送指令:MOVX使用格式:MOVXA,DPTR或MOVXDPTR,AMOVXA,Ri或MOVXRi,A,8.2.3汇编语言程序分析与设计,(2)由于MOVX类指令是专访外部数据存储器和外部接口的指令,因此它的操作数地址(DPTR或Ri的值),即外部数据存储器16位地址是由P0口和P2口向外部地址总线发出的。,(1)在以上4条格式指令中,DPTR的取值范围是:0000H0FFFFH;Ri的取值范围是XX00HXXFFH。,(4)当执行指令MOVXA,Ri和MOVXRi,A时,寄存器Ri的内容操作数地址的低8位,将自动写入P0口并锁存,操作数地址的高8位必须事先通过MOVP2,#data指令写入P2口。,(3)当执行指令MOVXA,DPTR和MOVXDPTR,A时,寄存器DPH(DPTR的高8位)的内容自动写入P2口,寄存器DPL(DPTR的低8位)的内容自动写入P0口并锁存。,8.2.3汇编语言程序分析与设计,8.2.3汇编语言程序分析与设计,方法一,MOVDPTR,#7E02H;建立外部地址指针7E02HMOVXA,DPTR;外存7E02H单元内容送AMOV35H,A;A内容送内部存储单元35H方法二:MOVP2,#7EHMOVR1,#02HMOVXA,R1MOV35H,A,使用示例:用两种方法将外部数据寄存器7E02H单元的内容送入内部数据存储器35H单元。,8.2.3汇编语言程序分析与设计,汇编程序,程序初始部分,汇编程序,主程序MAIN,8.2.4C语言程序分析与设计,例如:XBYTE0XFD3FXBYTE是一个地址指针,它在文件absacc.h中由系统定义,指向外部RAM的0000H单元,XBYTE后面中括号中的数值是指偏离0000H的偏移量,例中XBYTE0XFD3F表明访问外部地址为0XFD3F的外部RAM。,1.绝对地址访问宏定义头文件absacc.h,8.2.4C语言程序分析与设计,1.绝对地址访问宏定义头文件absacc.h,例如:XBYTE0XFD3FXBYTE是一个地址指针,它在文件absacc.h中由系统定义,指向外部RAM的0000H单元,XBYTE后面中括号中的数值是指偏离0000H的偏移量,例中XBYTE0XFD3F表明访问外部地址为0XFD3F的外部RAM。,8.2.4C语言程序分析与设计,当执行XBYTE0X0400=0X77时,将0X77写入外部RAM的0X0400单元中。事实上“XBYTE0X0400=0X77”等价于汇编语言“MOVDPTR,#0400H,MOVXDPTR,#77H”。,当XBYTE0XFD3F应用于P0、P2口做外部扩展时,P2对应高8位地址,P0对应低8位地址。,1.绝对地址访问宏定义头文件absacc.h,8.2.4C语言程序分析与设计,C程序,程序初始部分,C语言程序,主函数main(),1、创建Proteus仿真电路图(1)列出元器件表;(2)绘制仿真电路图,8.2.5基于Proteus的调试与仿真,8.2.5基于Proteus的调试与仿真,),(1),(2),(3),安装插件vdmagdi.exe(注意:应把插件安装在Keil3的安装目录下)。,将Keil安装目录C51BIN中的VDM51.dll文件复制到Proteus软件的安装目录ProteusMODELS目录下。,修改Keil安装目录下的Tools.ini文件,在C51字段中加入TDRV11=BINVDM51.DLL(“PROTEUS6EMULATOR”)并保存。,2、Proteus与Keil联调,8.2.5基于Proteus的调试与仿真,),(4),(5),(6),打开“简单并行I/O口扩展控制.DSN”文件,在Proteus的“Debug”菜单中选中“UseRemoteDebugMonitor(远程监控)”。右键选中STC89C51单片机,在弹出的对话框“ProgramFile”项中,导入在Keil中生成的HEX文件。,Keil打开“简单并行I/O口扩展控制.UV2”,打开窗口“OptionforTarget工程名”。在Debug选项中右栏上部的下拉菜单选中ProteusVSMSim

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论