并行IO口扩展控制讲义课件_第1页
并行IO口扩展控制讲义课件_第2页
并行IO口扩展控制讲义课件_第3页
并行IO口扩展控制讲义课件_第4页
并行IO口扩展控制讲义课件_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

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

文档简介

并行IO口扩展控制讲义课件1项目8并行I/O口扩展控制知识与能力目标理解单片机三总线结构及其扩展使用方法1理解并掌握单片机外部扩展单元地址的分析与确定2学会I/O口扩展控制程序的分析与设计3掌握串口与PC通信的接口电路及程序的分析与设计4熟练使用Proteus进行单片机应用程序开发与调试5项目8并行I/O口扩展控制知识与能力目标理解单片机三总2项目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并行I/O口扩展控制8.1.151单片机三总38.1.151单片机三总线分析总线就是连接系统中各扩展部件的一组公共信号线。按照功能可分为地址总线AB、数据总线DB和控制总线CB。

1、51单片机的三总线8.1.151单片机三总线分析总线就是连接系统48.1.151单片机三总线分析

整个扩展系统以单片机为核心,因为扩展部件是在单片机芯片之外进行的,通常称扩展的ROM为外部ROM,称扩展RAM为外部RAM。注意:MCS-51系列单片机外部扩展I/O接口时,其地址与外部RAM统一编址的。换句话说,外部扩展的I/O接口要占用外部RAM的地址。1、51单片机的三总线8.1.151单片机三总线分析整个扩展系统以单58.1.151单片机三总线分析◆地址总线的数目决定着可以直接访问的存储单元的数目。N位地址可以产生2个连续地址编码,可访问2个存储单元。◆MCS-51单元有16根地址线,存储器或I/O接口扩展最多可达64KB,即2个地址单元。◆地址总线用于传送单片机送出的地址信号,以便进行存储单元和I/O端口的选择。◆地址总线是单向的,只能由单片机向外发出。(1)地址总线AB(AddressBus)8.1.151单片机三总线分析◆地址总线的数目决定着可68.1.151单片机三总线分析◆数据总线用于在单片机与存储器之间或单片机与I/O端口之间传送数据。◆数据总线是双向的,可以进行两个方向的数据传送。◆数据总线的位数与单片机处理数据的字长一致。MCS-51单片机字长8位,所以它的数据总线位数也是8位。(2)数据总线DB(DataBus)

8.1.151单片机三总线分析◆数据总线用于在单片机与78.1.151单片机三总线分析◆控制总线实际上就是一组控制信号线,包括由单片机发出的控制信号以及从其他部件送给单片机的请求信号和状态信号。◆每一条控制信号线的传送方向是单向的固定的,但由不同方向的控制信号线组合的控制总线则表示为双向。(3)控制总线CB(ControlBus)8.1.151单片机三总线分析◆控制总线实际上就是一组88.1.151单片机三总线分析2、MCS-51系列单片机三总线的形成8.1.151单片机三总线分析2、MCS-51系列单片98.1.151单片机三总线分析

P0口线的第二功能是地址线/数据线分时复用功能。在访问片外存储器时,自动进入第二功能,不需要进行设置。在一个片外存储器读写周期中,首先P0口输出低8位地址,然后以ALE为所锁存控制信号,确保低8位地址信息在消失前被送入锁存器暂存起来并输出,作为地址总线的低8位,直到访问周期结束。地址信号被锁存之后,P0口转换为数据线,以便传输数据,直到访问周期结束。从而实现了对地址和数据的分离。

(1)P0口线用作数据线/低8位地址线8.1.151单片机三总线分析P0口线的第二功108.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单片机三总线分析◆在访问片外存储器时,自118.1.151单片机三总线分析构成系统的控制总线的控制信号包括:1)ALE(30)是锁存信号,用于进行P0口地址线和数据线的分离。2)(29)是程序存储器读选通控制信号。3)(17)、(16)分别是外部数据存储器的读、写选通控制信号。4)(31)是程序存储器访问控制信号。(3)控制信号8.1.151单片机三总线分析构成系统的控制总线的控制128.1.2并行I/O接口扩展认知所有扩展的I/O口或相当于I/O口的外设以及通过I/O口连接的外设,均与片外数据存储器统一编址,访问I/O口的指令就是访问外部数据存储器的指令(MOVX)。

对于数据存储器来说,或者是单片机读取存储器的数据,或者是单片机将数据写入存储器,而单片机与外设所能进行的无非是数据的输入或输出,也就是说,单片机与外设进行的只是数据的传输,所以,外设或I/O口可当作数据存储器进行扩展。8.1.2并行I/O接口扩展认知所有扩展的I/O138.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接口扩展认知(1)总线扩展方法1、单14

8.1.2并行I/O接口扩展认知MCS-51单片机串行口工作方式0时,提供一种I/O扩展方法。串行口方式0是移位寄存器工作方式,可借助外接串入并出的移位寄存器扩展并行输出口,也可通过外接并入串出的移位寄存器扩展并行输入口。由于采用串行输入输出的方法,所以数据传输速度较慢。1、单片机I/O口扩展方法(2)串行口扩展方法8.1.2并行I/O接口扩展认知158.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接口扩展认知2、并行I/O扩展常用芯168.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扩展中应注意的178.1.2并行I/O接口扩展认知3、I/O扩展中应注意的几个问题

在软件设计时,I/O口对应初始状态设置、工作方式选择要与外接设备相匹配。I/O扩展时必须考虑与之相连的外设硬件特性,如驱动器功率、电平、干扰抑制及隔离等。458.1.2并行I/O接口扩展认知3、I/O扩展中应注意的18任务8.2简单并行I/O口扩展控制8.2.1控制要求与功能展示实物运行视频74HC32芯片74LS374芯片按键指示灯

按键

单片机74LS245芯片

任务8.2简单并行I/O口扩展控制8.2.1控制要19简单并行I/O口扩展控制电路原理图任务8.2简单并行I/O口扩展控制8.2.1控制要求与功能展示简单并行I/O口扩展控制电路原理图任务8.2简单并行I208.2.2硬件系统与控制流程分析

1、任务硬件系统分析

如电路原理图所示,该电路实际上是通过单片机的三总线结构,外扩单片机的输入输出接口电路。输入采用三态门74LS245,输出采用8D触发器(锁存器)74LS374,因此,要分析理解以上的电路设计,必须先学习74LS245与74LS374芯片的部分知识。8.2.2硬件系统与控制流程分析1、任务硬件系统分析218.2.2硬件系统与控制流程分析

(1)74LS245扩展芯片的介绍表8-274LS245功能特性输入功能DIR00B端数据→A端数据01A端数据→B端数据1×高阻8.2.2硬件系统与控制流程分析(1)74LS245扩228.2.2硬件系统与控制流程分析表8-374LS374功能特性DnCLKQnHLHLLL××HZ

(1)74LS245扩展芯片的介绍8.2.2硬件系统与控制流程分析表8-374LS37238.2.2硬件系统与控制流程分析保证每次读或写时,只选中某一片存储器芯片或I/O接口芯片。片选方法线选法地址译码法常用

(3)单片机的片选方法

8.2.2硬件系统与控制流程分析保证每次读或写时,只选中248.2.2硬件系统与控制流程分析◆线选法

(3)单片机的片选方法

一般是利用单片机的最高几位空余的地址线中一根作为某一片存储器芯片或I/O接口芯片的“片选”控制线。线选法常用于应用系统中扩展芯片较少的场合。8.2.2硬件系统与控制流程分析◆线选法(3)单片机258.2.2硬件系统与控制流程分析◆译码法当应用系统中扩展芯片较多时,单片机空余的高位地址线不够用。这时常用译码器对空余的高位地址线进行译码,而译码器的输出作为“片选”控制线。常用的译码器有3/8译码器74LS138、4/16译码器74LS154等。

(3)单片机的片选方法

8.2.2硬件系统与控制流程分析◆译码法(3)单片机268.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硬件系统与控制流程分析(4)并行扩展输入/输278.2.2硬件系统与控制流程分析

如果与芯片地址无关的地址线引脚都取0,那么74LS245与74LS374的地址都是0000H。如果与芯片地址无关的地址线引脚都取1,那么74LS245与74LS374的地址分别是FDFFH、FEFFH。

(4)并行扩展输入/输出口电路地址的确定及使用8.2.2硬件系统与控制流程分析如果与芯片地址无288.2.2硬件系统与控制流程分析◆扩展芯片地址的使用在确定好每片芯片的地址后,单片机就可对其进行读写操作,读写时先发送芯片地址,选通芯片,接着进行读写数据。

(4)并行扩展输入/输出口电路地址的确定及使用8.2.2硬件系统与控制流程分析◆扩展芯片地址的使用298.2.2硬件系统与控制流程分析图8-7简单并行I/O口扩展控制流程2、任务控制流程分析8.2.2硬件系统与控制流程分析图8-7简单并行I308.2.3汇编语言程序分析与设计使用说明:MOVX是CPU与外部数据存储器的数据传送操作指令,其中x为external(外部)的第二字母。这组指令的功能是外部数据存储器或扩展I/O口与累加器A之间的数据传送。

累加器A与外部RAM(或外部接口)数据传送指令:MOVX使用格式:MOVXA,@DPTR或MOVX@DPTR,AMOVXA,@Ri或MOVX@Ri,A1、任务相关汇编指令8.2.3汇编语言程序分析与设计使用说明:MOVX是318.2.3汇编语言程序分析与设计1、任务相关汇编指令(2)由于MOVX类指令是专访外部数据存储器和外部接口的指令,因此它的操作数地址(DPTR或Ri的值),即外部数据存储器16位地址是由P0口和P2口向外部地址总线发出的。(1)在以上4条格式指令中,DPTR的取值范围是:0000H~0FFFFH;Ri的取值范围是XX00H~XXFFH。8.2.3汇编语言程序分析与设计1、任务相关汇编指令32(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、任务相关汇编指令(4)当执行指令MOVXA,@Ri和MOVX@Ri,338.2.3汇编语言程序分析与设计方法一MOVDPTR,#7E02H;建立外部地址指针7E02HMOVXA,@DPTR;外存7E02H单元内容送AMOV35H,A;A内容送内部存储单元35H方法二:MOVP2,#7EHMOVR1,#02HMOVXA,@R1MOV35H,A使用示例:用两种方法将外部数据寄存器7E02H单元的内容送入内部数据存储器35H单元。1、任务相关汇编指令8.2.3汇编语言程序分析与设计方法一MOVDP348.2.3汇编语言程序分析与设计

汇编程序程序初始部分

汇编程序主程序MAIN8.2.3汇编语言程序分析与设计汇编程序程序358.2.4C语言程序分析与设计例如:XBYTE[0XFD3F]XBYTE是一个地址指针,它在文件absacc.h中由系统定义,指向外部RAM的0000H单元,XBYTE后面中括号[]中的数值是指偏离0000H的偏移量,例中XBYTE[0XFD3F]表明访问外部地址为0XFD3F的外部RAM。1.绝对地址访问宏定义头文件absacc.h

8.2.4C语言程序分析与设计例如:XBYTE[0368.2.4C语言程序分析与设计1.绝对地址访问宏定义头文件absacc.h

例如:XBYTE[0XFD3F]XBYTE是一个地址指针,它在文件absacc.h中由系统定义,指向外部RAM的0000H单元,XBYTE后面中括号[]中的数值是指偏离0000H的偏移量,例中XBYTE[0XFD3F]表明访问外部地址为0XFD3F的外部RAM。

8.2.4C语言程序分析与设计1.绝对地址访问宏定义378.2.4C语言程序分析与设计当执行XBYTE[0X0400]=0X77时,将0X77写入外部RAM的0X0400单元中。事实上“XBYTE[0X0400]=0X77”等价于汇编语言“MOVDPTR,#0400H,MOVX@DPTR,#77H”。当XBYTE[0XFD3F]应用于P0、P2口做外部扩展时,P2对应高8位地址,P0对应低8位地址。XBYTE[0X0400],其中除了P2.2为高电平其余全为低电平。例如:1.绝对地址访问宏定义头文件absacc.h

8.2.4C语言程序分析与设计当执行XBYTE[0X0388.2.4C语言程序分析与设计C程序程序初始部分C语言程序主函数main()2、C语言程序设计8.2.4C语言程序分析与设计C程序程序初始部分C语言391、创建Proteus仿真电路图

(1)列出元器件表;(2)绘制仿真电路图8.2.5基于Proteus的调试与仿真1、创建Proteus仿真电路图8.2.5基于Prote408.2.5基于Proteus的调试与仿真)(1)(2)(3)安装插件vdmagdi.exe(注意:应把插件安装在Keil3的安装目录下)。将Keil安装目录\C51\BIN中的VDM51.dll文件复制到Proteus软件的安装目录Proteus\MODELS目录下。

修改Keil安装目录下的Tools.ini文件,在C51字段中加入TDRV11=BIN\VDM51.DLL(“PROTEUS6EMULATOR”)并保存。2、Proteus与Keil联调8.2.5基于Proteus的调试与仿真)(1)(2)(418.2.5基于Proteus的调试与仿真)(4)(5)(6)打开“简单并行I/O口扩展控制.DSN”文件,在Proteus的“Debug”菜单中选中“UseRemoteDebugMonitor(远程监控)”。右键选中STC89C51单片机,在弹出的对话框“ProgramFile”项中,导入在Keil中生成的HEX文件。Keil打开“简单并行I/O口扩展控制.UV2”,打开窗口“OptionforTarget‘工程名’”。在Debug选项中右栏上部的下拉菜单选中ProteusVSMSimulator。点击进入Settings窗口,设置IP为127.0.0.1,端口号为8000。在Keil中点击,使用单步执行来调试程序,同时在Proteus中查看直观的仿真结果。8.2.5基于Proteus的调试与仿真)(4)(5)(428.2.5基于Proteus的调试与仿真扩展口输入状态A=0xfd2、Proteus与Keil联调8.2.5基于Proteus的调试与仿真扩展口输入状态438.2.5基于Proteus的调试与仿真扩展口输出状态

输出0xfd,点亮对应LED2、Proteus与Keil联调8.2.5基于Proteus的调试与仿真扩展口输出状态448.2.5基于Proteus的调试与仿真仿真运行视频3、Proteus仿真运行

8.2.5基于Proteus的调试与仿真仿真运行视频3、45技能训练1:简单I/O口扩展控制进一步理解单片机三总线结构及其扩展使用方法1进一步掌握单片机外部扩展单元地址的分析与确定2学会单片机简单I/O口扩展应用电路分析与设计3学会进行单片机简单I/O口扩展应用程序分析与编写4熟练使用Proteus进行单片机应用程序开发与调试5训练目的技能训练1:简单I/O口扩展控制进一步理解单片机三总线结构46运行视频技能训练1:简易I/O口扩展控制运行视频技能训练1:简易I/O口扩展控制47并行IO口扩展控制讲义课件48项目8并行I/O口扩展控制知识与能力目标理解单片机三总线结构及其扩展使用方法1理解并掌握单片机外部扩展单元地址的分析与确定2学会I/O口扩展控制程序的分析与设计3掌握串口与PC通信的接口电路及程序的分析与设计4熟练使用Proteus进行单片机应用程序开发与调试5项目8并行I/O口扩展控制知识与能力目标理解单片机三总49项目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并行I/O口扩展控制8.1.151单片机三总508.1.151单片机三总线分析总线就是连接系统中各扩展部件的一组公共信号线。按照功能可分为地址总线AB、数据总线DB和控制总线CB。

1、51单片机的三总线8.1.151单片机三总线分析总线就是连接系统518.1.151单片机三总线分析

整个扩展系统以单片机为核心,因为扩展部件是在单片机芯片之外进行的,通常称扩展的ROM为外部ROM,称扩展RAM为外部RAM。注意:MCS-51系列单片机外部扩展I/O接口时,其地址与外部RAM统一编址的。换句话说,外部扩展的I/O接口要占用外部RAM的地址。1、51单片机的三总线8.1.151单片机三总线分析整个扩展系统以单528.1.151单片机三总线分析◆地址总线的数目决定着可以直接访问的存储单元的数目。N位地址可以产生2个连续地址编码,可访问2个存储单元。◆MCS-51单元有16根地址线,存储器或I/O接口扩展最多可达64KB,即2个地址单元。◆地址总线用于传送单片机送出的地址信号,以便进行存储单元和I/O端口的选择。◆地址总线是单向的,只能由单片机向外发出。(1)地址总线AB(AddressBus)8.1.151单片机三总线分析◆地址总线的数目决定着可538.1.151单片机三总线分析◆数据总线用于在单片机与存储器之间或单片机与I/O端口之间传送数据。◆数据总线是双向的,可以进行两个方向的数据传送。◆数据总线的位数与单片机处理数据的字长一致。MCS-51单片机字长8位,所以它的数据总线位数也是8位。(2)数据总线DB(DataBus)

8.1.151单片机三总线分析◆数据总线用于在单片机与548.1.151单片机三总线分析◆控制总线实际上就是一组控制信号线,包括由单片机发出的控制信号以及从其他部件送给单片机的请求信号和状态信号。◆每一条控制信号线的传送方向是单向的固定的,但由不同方向的控制信号线组合的控制总线则表示为双向。(3)控制总线CB(ControlBus)8.1.151单片机三总线分析◆控制总线实际上就是一组558.1.151单片机三总线分析2、MCS-51系列单片机三总线的形成8.1.151单片机三总线分析2、MCS-51系列单片568.1.151单片机三总线分析

P0口线的第二功能是地址线/数据线分时复用功能。在访问片外存储器时,自动进入第二功能,不需要进行设置。在一个片外存储器读写周期中,首先P0口输出低8位地址,然后以ALE为所锁存控制信号,确保低8位地址信息在消失前被送入锁存器暂存起来并输出,作为地址总线的低8位,直到访问周期结束。地址信号被锁存之后,P0口转换为数据线,以便传输数据,直到访问周期结束。从而实现了对地址和数据的分离。

(1)P0口线用作数据线/低8位地址线8.1.151单片机三总线分析P0口线的第二功578.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单片机三总线分析◆在访问片外存储器时,自588.1.151单片机三总线分析构成系统的控制总线的控制信号包括:1)ALE(30)是锁存信号,用于进行P0口地址线和数据线的分离。2)(29)是程序存储器读选通控制信号。3)(17)、(16)分别是外部数据存储器的读、写选通控制信号。4)(31)是程序存储器访问控制信号。(3)控制信号8.1.151单片机三总线分析构成系统的控制总线的控制598.1.2并行I/O接口扩展认知所有扩展的I/O口或相当于I/O口的外设以及通过I/O口连接的外设,均与片外数据存储器统一编址,访问I/O口的指令就是访问外部数据存储器的指令(MOVX)。

对于数据存储器来说,或者是单片机读取存储器的数据,或者是单片机将数据写入存储器,而单片机与外设所能进行的无非是数据的输入或输出,也就是说,单片机与外设进行的只是数据的传输,所以,外设或I/O口可当作数据存储器进行扩展。8.1.2并行I/O接口扩展认知所有扩展的I/O608.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接口扩展认知(1)总线扩展方法1、单61

8.1.2并行I/O接口扩展认知MCS-51单片机串行口工作方式0时,提供一种I/O扩展方法。串行口方式0是移位寄存器工作方式,可借助外接串入并出的移位寄存器扩展并行输出口,也可通过外接并入串出的移位寄存器扩展并行输入口。由于采用串行输入输出的方法,所以数据传输速度较慢。1、单片机I/O口扩展方法(2)串行口扩展方法8.1.2并行I/O接口扩展认知628.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接口扩展认知2、并行I/O扩展常用芯638.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扩展中应注意的648.1.2并行I/O接口扩展认知3、I/O扩展中应注意的几个问题

在软件设计时,I/O口对应初始状态设置、工作方式选择要与外接设备相匹配。I/O扩展时必须考虑与之相连的外设硬件特性,如驱动器功率、电平、干扰抑制及隔离等。458.1.2并行I/O接口扩展认知3、I/O扩展中应注意的65任务8.2简单并行I/O口扩展控制8.2.1控制要求与功能展示实物运行视频74HC32芯片74LS374芯片按键指示灯

按键

单片机74LS245芯片

任务8.2简单并行I/O口扩展控制8.2.1控制要66简单并行I/O口扩展控制电路原理图任务8.2简单并行I/O口扩展控制8.2.1控制要求与功能展示简单并行I/O口扩展控制电路原理图任务8.2简单并行I678.2.2硬件系统与控制流程分析

1、任务硬件系统分析

如电路原理图所示,该电路实际上是通过单片机的三总线结构,外扩单片机的输入输出接口电路。输入采用三态门74LS245,输出采用8D触发器(锁存器)74LS374,因此,要分析理解以上的电路设计,必须先学习74LS245与74LS374芯片的部分知识。8.2.2硬件系统与控制流程分析1、任务硬件系统分析688.2.2硬件系统与控制流程分析

(1)74LS245扩展芯片的介绍表8-274LS245功能特性输入功能DIR00B端数据→A端数据01A端数据→B端数据1×高阻8.2.2硬件系统与控制流程分析(1)74LS245扩698.2.2硬件系统与控制流程分析表8-374LS374功能特性DnCLKQnHLHLLL××HZ

(1)74LS245扩展芯片的介绍8.2.2硬件系统与控制流程分析表8-374LS37708.2.2硬件系统与控制流程分析保证每次读或写时,只选中某一片存储器芯片或I/O接口芯片。片选方法线选法地址译码法常用

(3)单片机的片选方法

8.2.2硬件系统与控制流程分析保证每次读或写时,只选中718.2.2硬件系统与控制流程分析◆线选法

(3)单片机的片选方法

一般是利用单片机的最高几位空余的地址线中一根作为某一片存储器芯片或I/O接口芯片的“片选”控制线。线选法常用于应用系统中扩展芯片较少的场合。8.2.2硬件系统与控制流程分析◆线选法(3)单片机728.2.2硬件系统与控制流程分析◆译码法当应用系统中扩展芯片较多时,单片机空余的高位地址线不够用。这时常用译码器对空余的高位地址线进行译码,而译码器的输出作为“片选”控制线。常用的译码器有3/8译码器74LS138、4/16译码器74LS154等。

(3)单片机的片选方法

8.2.2硬件系统与控制流程分析◆译码法(3)单片机738.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硬件系统与控制流程分析(4)并行扩展输入/输748.2.2硬件系统与控制流程分析

如果与芯片地址无关的地址线引脚都取0,那么74LS245与74LS374的地址都是0000H。如果与芯片地址无关的地址线引脚都取1,那么74LS245与74LS374的地址分别是FDFFH、FEFFH。

(4)并行扩展输入/输出口电路地址的确定及使用8.2.2硬件系统与控制流程分析如果与芯片地址无758.2.2硬件系统与控制流程分析◆扩展芯片地址的使用在确定好每片芯片的地址后,单片机就可对其进行读写操作,读写时先发送芯片地址,选通芯片,接着进行读写数据。

(4)并行扩展输入/输出口电路地址的确定及使用8.2.2硬件系统与控制流程分析◆扩展芯片地址的使用768.2.2硬件系统与控制流程分析图8-7简单并行I/O口扩展控制流程2、任务控制流程分析8.2.2硬件系统与控制流程分析图8-7简单并行I778.2.3汇编语言程序分析与设计使用说明:MOVX是CPU与外部数据存储器的数据传送操作指令,其中x为external(外部)的第二字母。这组指令的功能是外部数据存储器或扩展I/O口与累加器A之间的数据传送。

累加器A与外部RAM(或外部接口)数据传送指令:MOVX使用格式:MOVXA,@DPTR或MOVX@DPTR,AMOVXA,@Ri或MOVX@Ri,A1、任务相关汇编指令8.2.3汇编语言程序分析与设计使用说明:MOVX是788.2.3汇编语言程序分析与设计1、任务相关汇编指令(2)由于MOVX类指令是专访外部数据存储器和外部接口的指令,因此它的操作数地址(DPTR或Ri的值),即外部数据存储器16位地址是由P0口和P2口向外部地址总线发出的。(1)在以上4条格式指令中,DPTR的取值范围是:0000H~0FFFFH;Ri的取值范围是XX00H~XXFFH。8.2.3汇编语言程序分析与设计1、任务相关汇编指令79(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、任务相关汇编指令(4)当执行指令MOVXA,@Ri和MOVX@Ri,808.2.3汇编语言程序分析与设计方法一MOVDPTR,#7E02H;建立外部地址指针7E02HMOVXA,@DPTR;外存7E02H单元内容送AMOV35H,A;A内容送内部存储单元35H方法二:MOVP2,#7EHMOVR1,#02HMOVXA,@R1MOV35H,A使用示例:用两种方法将外部数据寄存器7E02H单元的内容送入内部数据存储器35H单元。1、任务相关汇编指令8.2.3汇编语言程序分析与设计方法一MOVDP818.2.3汇编语言程序分析与设计

汇编程序程序初始部分

汇编程序主程序MAIN8.2.3汇编语言程序分析与设计汇编程序程序828.2.4C语言程序分析与设计例如:XBYTE[0XFD3F]XBYTE是一个地址指针,它在文件absacc.h中由系统定义,指向外部RAM的0000H单元,XBYTE后面中括号[]中的数值是指偏离0000H的偏移量,例中XBYTE[0XFD3F]表明访问外部地址为0XFD3F的外部RAM。1.绝对地址访问宏定义头文件absacc.h

8.2.4C语言程序分析与设计例如:XBYTE[0838.2.4C语言程序分析与设计1.绝对地址访问宏定义头文件absacc.h

例如:XBYTE[0XFD3F]XBYTE是一个地址指针,它在文件absacc.h中由系统定义,指向外部RAM的0000H单元,XBYTE后面中括号[]中的数值是指偏离0000H的偏移量,例中XBYTE[0XFD3F]表明访问外部地址为0XFD

温馨提示

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

评论

0/150

提交评论