第七章(新)并行输入输出接口_第1页
第七章(新)并行输入输出接口_第2页
第七章(新)并行输入输出接口_第3页
第七章(新)并行输入输出接口_第4页
第七章(新)并行输入输出接口_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、.,第七章 并行I/O接口技术,主要内容 1、接口技术概述 2、MCS-51内部并行I/O端口 3、简单并行I/O口的扩展 4、8155可编程外围并行接口芯片的扩展 5、LED/键盘接口的扩展,.,7. 1 系统扩展、接口概述,1、系统扩展 单片机虽然各功能部件齐全,但容量较小,如:片内ROM、RAM、I/O口,不够用时需要扩展,扩展三总线、ROM、RAM、I/O口。 2 、系统接口 微机与外设连接因速度不匹配、信号类型不同(脉冲、模拟)、传输方式不同(串、并),需要有接口电路实现电路连接和逻辑联接。 接口是计算机与外设信息交换的桥梁。 3、接口电路应具备的功能 (1) 输入有缓冲、输出有锁存

2、; (2)有应答联络信号; (3)有片选、控制信号; (4)有编程选择工作方式功能。,.,7. 1 系统扩展、接口概述,4、单片机系统的扩展与接口原理结构(如下图),.,7.1 扩展三总线的产生,一、三总线 地址、数据、控制总线 二、三总线的扩展 用74LS373作为地址锁存器,使数据和地址信号分开。 74LS373是三态8D触发器。,.,7.1 扩展三总线的产生,地址总线扩展电路及地址锁存器74LS373,.,7.2MCS-51内部并行I/O端口,MCS-51单片机有4个双向并行的8位I/O端口,即P0P3。P0口为三态双向口,可驱动8个TTL电路,P1、P2、P3口为准双向口(作为输入时,

3、口线被拉成高电平,故称为准双向口),其负载能力为4个TTL电路。,.,1P0口的结构,图2-3 P0口的一位结构图,下图为P0口的某位P0.n(n=07)结构图,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路及控制电路组成。从图中可以看出,P0口既可以作为I/O用,也可以作为地址/数据线用。,.,1)P0口作为普通I/O口,输出时 CPU发出控制电平“0”封锁“与”门,将输出上拉场效 应管T1截止,同时使多路开关MUX把锁存器与输出,.,驱动场效应管T2栅极接通。故内部总线与P0口同相。由于输出驱动级是漏极开路电路,若驱动NMOS或其 它拉流负载时,需要外接上拉电阻。P0的输出级可驱动8

4、个LSTTL负载。,., 输入时-分读引脚或读锁存器 读引脚:由传送指令(MOV)实现; 下面一个缓冲器用于读端口引脚数据,当执行一条由端口输入的指令时,读脉冲把该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。,., 输入时-分读引脚或读锁存器 读锁存器:有些指令 如:ANL P0,A称为“读-改-写” 指令,需要读锁存器。 上面一个缓冲器用于读端口锁存器数据。,.,*原因:如果此时该端口的负载恰是一个晶体管基极,且原端口输出值为1,那么导通了的PN结会把端口引脚高电平拉低;若此时直接读端口引脚信号,将会把原输出的“1”电平误读为“0”电平。现采用读输出锁存器代替读引脚,图中,

5、上面的三态缓冲器就为读锁存器Q端信号而设,读输出锁存器可避免上述可能发生的错误。*,.,P0口必须接上拉电阻; 三态输入缓冲器的作用:,.,准双向口: 从图中可以看出,在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。所以在端口进行输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗输入。这就是所谓的准双向口。,在读信号之前数据之前,先要向相应的锁存器做写1操作的I/O口称为准双向口;,.,2)P0作为地址/数据总线,在系统扩展时,P0端口作为地址/数据总线使用时,分为: P0引脚输出地址/数据信息。,.,CPU发

6、出控制电平“1”,打开“与”门,又使多路开关MUX把CPU的地址/数据总线与T2栅极反相接通,输出地址或数据。由图上可以看出,上下两个FET处于反相,构成了推拉式的输出电路,其负载能力大大增强。,2)P0作为地址/数据总线,.,P0引脚输出地址/输入数据 输入信号是从引脚通过输入缓冲器进入内部总线。 此时,CPU自动使MUX向下,并向P0口写“1”,“读引脚”控制信号有效,下面的缓冲器打开,外部数据读入内部总线。,2)P0作为地址/数据总线,-真正的双向口,.,2、P2的内部结构,1)P2口作为普通I/O口,CPU发出控制电平“0” ,使多路开关MUX倒向锁存器 输出Q端,构成一个准双向口。其

7、功能与P1相同。,.,2.P2口作为地址总线 在系统扩展片外程序存储器扩展数据存储器且容量超过256B (用MOVX DPTR指令)时,CPU发出控制电平“1”,使多路开关MUX倒内部地址线。此时,P2输出高8位地址。,.,3. P1口、P3口的内部结构,P1口的一位的结构 它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成-准双向口。,.,P3的内部结构,D Q CLK Q,P3.n,读锁存器,内部总线,写锁存器,读引脚,VCC,R,T,P3口引脚,第二输入功能,第二输出功能,一、作为通用I/O口与P1口类似-准双向口(W=1),W,.,P3的内部结构,二、P3第二功能(Q=1) 此时

8、引脚部分输入(Q=1、W=1) ,部分输出(Q=1、W输出) 。,D Q CLK Q,P3.n,读锁存器,内部总线,写锁存器,读引脚,VCC,R,T,P3口引脚,第二输入功能,第二输出功能,W,.,.,综上所述:当P0作为I/O口使用时,特别是作为输出时,输出级属于开漏电路,必须外接上拉电阻才会有高电平输出;如果作为输入,必须先向相应的锁存器写“1”,才不会影响输入电平。 当CPU内部控制信号为“1”时,P0口作为地址/数据总线使用,这时,P0口就无法再作为I/O口使用了。,.,P1、P2 和P3 口为准双向口, 在内部差别不大, 但使用功能有所不同。 P1口是用户专用 8 位准双向I/O口,

9、 具有通用输入/输出功能, 每一位都能独立地设定为输入或输出。当有输出方式变为输入方式时, 该位的锁存器必须写入“1”, 然后才能进入输入操作。 P2口是 8 位准双向I/O口。外接I/O设备时, 可作为扩展系统的地址总线, 输出高8位地址, 与P0 口一起组成 16 位地址总线。 对于 8031 而言, P2 口一般只作为地址总线使用, 而不作为I/O线直接与外部设备相连。 I/O口的直接输入输出:即P0、P1、P2、P3作为输入输出口使用(见P244,例7.1),.,4. 简单并行I/O口的扩展,在稍微大的系统,单片机片的并行口便不够用,需要扩展。 所谓简单扩展,就是使用通用的74系列的T

10、TL或4000系列的CMOS芯片扩展,在此再次声明:扩展的输出接口必须具备锁存功能;输入接口必须具备缓冲功能。,.,7.4 简单并行I/O口的扩展,简单I/O接口的扩展方法 常用74LS244作输入接口芯片,起缓冲作用,/G有效,244直通,否则高阻;用74LS273作输出接口芯片,起锁存作用,CLK下降沿锁存。,.,扩展的输入输出口地址均为: P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 0 除了P2.0以外均取1,则扩展的输入输出口地址写成 16进制数均为: FEFFH 上面电

11、路的功能是:按下某键,对应的LED发光。 其程序为: MOV DPTR,#0FEFFH LP:MOVX A,DPTR MOVX DPTR,A SJMP LP,.,7.4 扩展8155可编程外围并行接口芯片,关于Intel的8155/8156:是一多功能的可编程外围接口芯片,内部资源有256B的RAM,2个8位、1个6位的I/O口和1个14位的“减1”计数器。40脚双列直插封装。,.,7. 4. 1 8155的结构与引脚,.,7. 4. 2 8155的RAM和I/O口地址 其地址按片外RAM统一编址(16位)。CE、IO/M接单片机的高8位地址。 一、I/O口(即片内寄存器)地址 CE=0、IO

12、/M=1,低3位选择寄存器,.,二、256B RAM的地址 CE=0、IO/M=0,由高8位地址控制;低8位选择RAM的256个存储单元。 7. 4. 3 8155的寄存器(6个),.,一、命令寄存器 地址:*000B,.,二、状态寄存器 1、地址:*000B 2、格式及各位的意义,.,三、PA寄存器 是PA口引脚PA0PA7的映射 地址:*001B 四、PB寄存器 是PB口引脚PB0PB7的映射 地址:*010B 五、PC寄存器 是PC口引脚PC0PC7的映射 地址:*011B,.,六、定时器/计数器寄存器 是一14位计数器,对应有两个寄存器,最高两位设定输出波形。 1、地址:两个寄存器的地

13、址分别为:*100B 2、寄存器格式 *101B,.,M2M1的意义(决定输出波形):,计数器减1回零时自动装入初值,所以能输出连续波形,.,7. 4. 4 8155芯片的使用 一、作片外256B RAM用 低8位地址范围为:00HFFH 二、作扩展I/O口用 PA口、PB 口、PC 口 注意:工作方式、地址 三、作定时器扩展用 一般先写计数常数,再写命令字。,.,7. 4. 5 8031与8155的接口及简单编程 一、8031与8155的连接方法,.,7.4 扩展8155可编程外围并行接口芯片,8155的具体地址,.,7.4 扩展8155可编程外围并行接口芯片,二、8155的基本操作程序段

14、1、对8155中的RAM进行操作 例1 (1)向8155RAM中的5FH单元写入数据32H; (2)从8155RAM中的98H单元读取数据。 程序段如下: (1)写数据: MOV DPTR,#7E5FH MOV A,#32H MOVX DPTR,A (2) 读数据: MOV DPTR,#7E98H MOVX A ,DPTR,.,7.4 扩展8155可编程外围并行接口芯片,2、对8155中的I/O口和定时器进行操作 例2 设置8155,使用I/O口和定时器:使A口为基本输入方式,B口为基本输出方式;定时器作方波发生器,对输入的脉冲进行24分频。试编程实现之。 思路:先对定时器赋初值和设定输出波形,向定时器/计数器寄存器中写;再设定A、B口的工作方式和传输方向,并启动定时器工作,向命令寄存器中写。 程序段如下:,.,

温馨提示

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

评论

0/150

提交评论