您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 的汇编和C语言版)项目8并行IO口扩展控制
并行I/O口扩展控制项目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。1、51单片机的三总线8.1.151单片机三总线分析整个扩展系统以单片机为核心,因为扩展部件是在单片机芯片之外进行的,通常称扩展的ROM为外部ROM,称扩展RAM为外部RAM。注意:MCS-51系列单片机外部扩展I/O接口时,其地址与外部RAM统一编址的。换句话说,外部扩展的I/O接口要占用外部RAM的地址。1、51单片机的三总线8.1.151单片机三总线分析◆地址总线的数目决定着可以直接访问的存储单元的数目。N位地址可以产生2个连续地址编码,可访问2个存储单元。◆MCS-51单元有16根地址线,存储器或I/O接口扩展最多可达64KB,即2个地址单元。◆地址总线用于传送单片机送出的地址信号,以便进行存储单元和I/O端口的选择。◆地址总线是单向的,只能由单片机向外发出。16NN(1)地址总线AB(AddressBus)8.1.151单片机三总线分析◆数据总线用于在单片机与存储器之间或单片机与I/O端口之间传送数据。◆数据总线是双向的,可以进行两个方向的数据传送。◆数据总线的位数与单片机处理数据的字长一致。MCS-51单片机字长8位,所以它的数据总线位数也是8位。(2)数据总线DB(DataBus)8.1.151单片机三总线分析◆控制总线实际上就是一组控制信号线,包括由单片机发出的控制信号以及从其他部件送给单片机的请求信号和状态信号。◆每一条控制信号线的传送方向是单向的固定的,但由不同方向的控制信号线组合的控制总线则表示为双向。(3)控制总线CB(ControlBus)8.1.151单片机三总线分析2、MCS-51系列单片机三总线的形成8.1.151单片机三总线分析P0口线的第二功能是地址线/数据线分时复用功能。在访问片外存储器时,自动进入第二功能,不需要进行设置。在一个片外存储器读写周期中,首先P0口输出低8位地址,然后以ALE为所锁存控制信号,确保低8位地址信息在消失前被送入锁存器暂存起来并输出,作为地址总线的低8位,直到访问周期结束。地址信号被锁存之后,P0口转换为数据线,以便传输数据,直到访问周期结束。从而实现了对地址和数据的分离。(1)P0口线用作数据线/低8位地址线8.1.151单片机三总线分析◆在访问片外存储器时,自动进入第二功能,不需要进行设置。◆在一个片外存储器读写周期中,P2口线始终输出地址总线的高8位,可直接与存储器或接口芯片的地址线相连,无需锁存。◆P2与P0共同提供了16根地址线,实现了MCS-51单片机系统64KB的寻址范围。A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0(2)P2口线第二功能用于进行高8位地址线的扩展8.1.151单片机三总线分析构成系统的控制总线的控制信号包括:1)ALE(30)是锁存信号,用于进行P0口地址线和数据线的分离。2)(29)是程序存储器读选通控制信号。3)(17)、(16)分别是外部数据存储器的读、写选通控制信号。4)(31)是程序存储器访问控制信号。EARDWRPSEN(3)控制信号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扩展常用芯片123TTL/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的方法与访问外部数据存储器完全相同,使用相同的指令。12展多片I/O芯片或多个I/O设备时,注意总线驱动器的能力问题。38.1.2并行I/O接口扩展认知3、I/O扩展中应注意的几个问题在软件设计时,I/O口对应初始状态设置、工作方式选择要与外接设备相匹配。I/O扩展时必须考虑与之相连的外设硬件特性,如驱动器功率、电平、干扰抑制及隔离等。45任务8.2简单并行I/O口扩展控制8.2.1控制要求与功能展示实物运行视频74HC32芯片74LS374芯片按键指示灯按键单片机74LS245芯片简单并行I/O口扩展控制电路原理图任务8.2简单并行I/O口扩展控制8.2.1控制要求与功能展示8.2.2硬件系统与控制流程分析1、任务硬件系统分析如电路原理图所示,该电路实际上是通过单片机的三总线结构,外扩单片机的输入输出接口电路。输入采用三态门74LS245,输出采用8D触发器(锁存器)74LS374,因此,要分析理解以上的电路设计,必须先学习74LS245与74LS374芯片的部分知识。8.2.2硬件系统与控制流程分析(1)74LS245扩展芯片的介绍表8-274LS245功能特性输入功能DIR00B端数据→A端数据01A端数据→B端数据1×高阻OE8.2.2硬件系统与控制流程分析表8-374LS374功能特性DnCLKQnHLHLLL××HZOE(1)74LS245扩展芯片的介绍8.2.2硬件系统与控制流程分析保证每次读或写时,只选中某一片存储器芯片或I/O接口芯片。片选方法线选法地址译码法常用(3)单片机的片选方法8.2.2硬件系统与控制流程分析◆线选法(3)单片机的片选方法一般是利用单片机的最高几位空余的地址线中一根作为某一片存储器芯片或I/O接口芯片的“片选”控制线。线选法常用于应用系统中扩展芯片较少的场合。8.2.2硬件系统与控制流程分析◆译码法当应用系统中扩展芯片较多时,单片机空余的高位地址线不够用。这时常用译码器对空余的高位地址线进行译码,而译码器的输出作为“片选”控制线。常用的译码器有3/8译码器74LS138、4/16译码器74LS154等。(3)单片机的片选方法8.2.2硬件系统与控制流程分析(4)并行扩展输入/输出口电路地址的确定及使用◆扩展芯片地址的确定如图8-4所示为单片机与74LS245、74LS374接口电路,该电路采用线选法进行I/O口扩展。表8-474LS245与74LS374的片地址芯片型号P2.7~P2.2P2.1P2.0P0.7~P0.074LS245X0XX74LS374XX0X其中“X”表示与芯片地址无关的地址位,简称无关位,取0或1都可以。8.2.2硬件系统与控制流程分析如果与芯片地址无关的地址线引脚都取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是CPU与外部数据存储器的数据传送操作指令,其中x为external(外部)的第二字母。这组指令的功能是外部数据存储器或扩展I/O口与累加器A之间的数据传送。累加器A与外部RAM(或外部接口)数据传送指令:MOVX使用格式:MOVXA,@DPTR或MOVX@DPTR,AMOVXA,@Ri或MOVX@Ri,A1、任务相关汇编指令8.2.3汇编语言程序分析与设计1、任务相关汇编指令(2)由于MOVX类指令是专访外部数据存储器和外部接口的指令,因此它的操作数地址(DPTR或Ri的值),即外部数据存储器16位地址是由P0口和P2口向外部地址总线发出的。(1)在以上4条格式指令中,DPTR的取值范围是:0000H~0FFFFH;Ri的取值范围是XX00H~XXFFH。(4)当执行指令MOVXA,@Ri和MOVX@Ri,A时,寄存器Ri的内容操作数地址的低8位,将自动写入P0口并锁存,操作数地址的高8位必须事先通过MOVP2,#data指令写入P2口。(3)当执行指令MOVXA,@DPTR和MOVX@DPTR,A时,寄存器DPH(DPTR的高8位)的内容自动写入P2口,寄存器DPL(DPTR的低8位)的内容自动写入P0口并锁存。8.2.3汇编语言程序分析与设计1、任务相关汇编指令8.2.3汇编语言程序分析与设计方法一MOVDPTR,#7E02H;建立外部地址指针7E02HMOVXA,@DPTR;外存7E02H单元内容送AMOV35H,A;A内容送内部存储单元35H方法二:MOVP2,#7EHMOVR1,#02HMOVXA,@R1MOV35H,A使用示例:用两种方法将外部数据寄存器7E02H单元的内容送入内部数据存储器35H单元。1、任务相关汇编指令8.2.3汇编语言程序分析与设计汇编程序程序初始部分汇编程序主程序MAIN8.2.4C语言程序分析与设计例如:XBYTE[0XFD3F]XBYTE是一个地址指针,它在文件absacc.h中由系统定义,指向外部RAM的0000H单元,XBYTE后面中括号[]中的数值是指偏离0000H的偏移量,例中XBYTE[0XFD3F]表明访问外部地址为0XFD3F的外部RAM。1.绝对地址访问宏定义头文件absacc.h8.2.4C语言程序分析与设计1.绝对地址访问宏定义头文件absacc.h例如:XBYTE[0XFD3F]XBYTE是一个地址指针,它在文件absacc.h中由系统定义,指向外部RAM的0000H单元,XBYTE后面中括号[]中的数值是指偏离0000H的偏移量,例中XBYTE[0XFD3F]表明访问外部地址为0XFD3F的外部RAM。8.2.4C语言程序分析与设计当执行XBYTE[0X0
本文标题:的汇编和C语言版)项目8并行IO口扩展控制
链接地址:https://www.777doc.com/doc-780575 .html