下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 第9章 MCS-51扩展IO接口的设计

第9章 MCS-51扩展IO接口的设计.ppt

第9章 MCS-51扩展IO接口的设计

snake
2012-09-17 0人阅读 举报 0 0 暂无简介

简介:本文档为《第9章 MCS-51扩展IO接口的设计ppt》,可适用于其他资料领域

第章MCS扩展IO接口的设计第章MCS扩展IO接口的设计IO接口扩展概述IO(输入输出)接口是MCS与外设交换数字信息的桥梁。IO扩展也属于系统扩展的一部分。真正用作IO口线的只有P口的位IO线和P口的某些位线。在多数应用系统中MCS单片机都需要外扩IO接口电路。IO接口的功能IO接口电路应满足以下要求:实现和不同外设的速度匹配大多数的外设的速度很慢无法和µs量级的单片机速度相比。单片机只有在确认外设已为数据传送做好准备的前提下才能进行IO操作。想知道外设是否准备好需IO接口电路与外设之间传送状态信息。输出数据锁存由于单片机工作速度快数据在数据总线上保留的时间十分短暂无法满足慢速外设的数据接收。IO电路应具有数据锁存器以保证接收设备接收。输入数据三态缓冲输入设备向单片机输入数据时但数据总线上面可能“挂”有多个数据源为不发生冲突只允许当前正在进行数据传送的数据源使用数据总线其余的应处于隔离状态。IO端口的编址首先清楚IO接口(Interface)和IO端口(Port)的概念。IO端口:简称IO口指具有端口地址的寄存器或缓冲器。IO接口:是指单片机与外设间的IO接口芯片。一个IO接口芯片可以有多个IO端口()数据口()命令口()状态口IO端口编址是给所有IO接口中的寄存器编址。IO端口编址两种方式:独立编址与统一编址。.独立编址方式IO寄存器地址空间和存储器地址空间分开编址但需专门读写IO的指令和控制信号。.统一编址方式IO寄存器与数据存储器单元同等对待统一编址。不需要专门的IO指令直接使用访问数据存储器的指令进行IO操作简单、方便且功能强。MCS使用统一编址的方式每一接口芯片中的一个功能寄存器(端口)的地址就相当于一个RAM单元。IO数据的几种传送方式为实现和不同的外设的速度匹配IO接口必须根据不同外设选择恰当的IO数据传送方式。IO数据传送的几种传送方式是:()同步传送()异步传送()中断传送。同步传送方式(无条件传送)当外设速度和单片机的速度相比拟时常采用同步传送方式最典型的同步传送就是单片机和外部数据存储器之间的数据传送。查询传送方式(条件传送异步式传送)查询外设“准备好”后再进行数据传送。优点:通用性好硬件连线和查询程序十分简单缺点:效率不高。为提高效率通常采用中断传送方式。中断传送方式外设准备好后发中断请求单片机进入与外设数据传送的中断服务程序进行数据的传送。中断服务完成后又返回主程序继续执行。工作效率高。IO接口电路如何实现IO接口的扩展。Intel公司的配套可编程IO接口芯片的种类齐全为扩展IO接口提供了很大的方便。常用的外围IO接口芯片有:()A:可编程的通用并行接口电路(个位IO口)。()H:可编程的IORAM扩展接口电路(个位IO口,个位IO口,个RAM字节单元个位的减法定时器计数器)。可与MCS单片机直接连接接口逻辑十分简单此外LS系列的TTL电路也可以作为MCS的扩展IO口如LS、LS等。最后介绍利用串行口来扩展并行IO口。MCS与可编程并行IO芯片A的接口A芯片介绍A是Intel公司生产的可编程并行IO接口芯片具有个位的并行IO口种工作方式可通过编程改变其功能因而使用灵活方便通用性强。引脚说明只引脚双列直插式封装引脚功能如下:D~D:三态双向数据线与单片机数据总线连接CS*:片选信号线低电平有效表示本芯片被选中RD*:读出信号线控制A中数据的读出高WR*:写入信号线控制向A数据的写入。Vcc:V电源。PA~PA:A口输入输出线。PB~PB:B口输入输出线。PC~PC:C口输入输出线。A、A:地址线用来选择A内部的个端口。内部结构()端口A、B、C功能和结构上有些差异PA口:输出锁存和缓冲输入锁存PB口:输出锁存和缓冲输入缓冲PC口:输出锁存数据输入缓冲PC口可在软件的控制下分为两个位端口作为PA口、PB口选通方式操作时的状态控制信号。()A组和B组控制电路A组:PA口和PC口的上半部(PC~PC)B组:PB口和PC口的下半部(PC~PC),可根据“命令字”对PC口按位“置”或“清”。()数据总线缓冲器线线三态双向作为A与单片机数据线之间接口传送数据、指令、控制命令及外部状态信息。()读写控制逻辑电路线该电路接收CPU发来的控制信号、RESET、地址信号A、A等。对端口进行读写。各端口的工作状态与控制信号的关系如表所示。表A端口工作状态选择表A端口工作状态选择工作方式选择控制字及C口置位复位控制字A有三种工作方式:()方式:基本输入输出()方式:选通输入输出()方式:双向传送(仅A口有)。工作方式选择控制字三种工作方式由方式控制字来决定。控制字格式如下。C口上半部分(PC~PC)随A口称为A组C口下半部分(PC~PC)随B口称为B组。其中A口可工作于方式、、和而B口只能工作在方式和。例如:写入工作方式控制字H可将A编程为:A口方式输入B口方式输出C口的上半部分(PC~PC)输出C口的下半部分(PC~PC)输入。C口按位置位复位控制字可对C口位中的任一位置“”或清“”。用于位控。例如:控制字H写入控制口置“”PCH写入控制口清“”PC。A的三种工作方式方式基本的输入输出方式。外设的IO数据可在A的各端口得到锁存和缓冲MCS可对A进行数据的无条件传送例如:从口线读入一组开关状态向端口输出数字量控制一组指示灯的亮、灭。不需要联络信号基本功能为:()具有两个位端口(A、B)和两个位端口(C的上半部分和下半部分)。()任一个端口都可以设定为输入或输出各端口的输入、输出可构成种组合。()数据输出锁存输入不锁存。例假设A的控制字寄存器地址为FFFH则令A口和C口的高位工作在方式输出B口和C口的低位工作于方式输入初始化程序:MOVDPTR#FFFH控制字寄存器地址送DPTRMOVA#H方式控制字H送AMOVXDPTRAH送控制字寄存器方式选通输入输出工作方式。A口和B口通常用于IO数据传送C口用作A口和B口的联络线以中断方式传送数据。()方式输入控制联络信号如图所示STB*与IBF构成了一对应答联络信号联络信号的功能如下图:STB*:选通输入是由输入外设送来的输入信号。IBF:输入缓冲器满高电平有效。表示数据已送入A的输入锁存器它由STB*信号的下降沿置位由信号的上升沿使其复位INTR:中断请求信号高电平有效。由A输出向单片机发中断请求。INTEA:A口中断允许由PC控制INTEB:B口中断允许由PC控制。A口的方式输入工作方式见图。()方式输出如图所示。OBF*与ACK*构成了一对应答联络信号各信号的功能如下:OBF*:输出缓冲器满信号A给外设的联络信号外设可以将数据取走。ACK*:外设的响应信号外设已将数据取走。INTR*:中断请求信号。表示该数据已被外设取走请求单片机继续输出下一个数据。INTEA:中断允许由PC控制。INTEB:中断允许由PC控制。B口的方式输出如图所示:方式只有A口才能设定为方式。图为方式工作示意图。在方式下PA~PA为双向IO总线。当输入时PA~PA受STBA*和IBFA控制其工作过程和方式输入时相同当输出时PA~PA受OBFA*、ACKA*控制其工作过程和方式输出时相同。MCS单片机和A的接口硬件接口电路如图是扩展片A的电路图。LS是地址锁存器P、P经LS与A的地址线A、A连接P经LS与片选端相连其他地址线悬空。端口地址确定图中A各端口寄存器的地址为:A口:FFCHB口:FFDHC口:FFEH控制寄存器:FFFH软件编程例要求A工作在方式且A口作为输入B口、C口作为输出程序如下:MOVA,#HA口方式输入B口、C口输出的控制字送AMOVDPTR,#FFFH控制寄存器地址→DPTRMOVXDPTR,A方式控制字→控制寄存器MOVDPTR,#FFCHA口地址→DPTRMOVXA,DPTR从A口读数据MOVDPTR,#FFDHB口地址→DPTRMOVA,#DATA要输出的数据DATA→AMOVXDPTR,A将DATA送B口输出MOVDPTR,#FFEHC口地址→DPTRMOVA,#DATADATA→AMOVXDPTR,A将数据DATA送C口输出例对端口C的置位复位。把PC置位控制字为BHMOVR,#FH控制口地址→RMOVA,#BH控制字→AMOVXR,A控制字→控制口PC=把PC复位控制字为AHMOVR,#FH控制口地址→RMOVA,#AH控制字→AMOVXR,A控制字→控制口PC=MCS单片机与H的接口H芯片介绍H的逻辑结构如图所示。H的引脚功能H的引脚功能H的引脚功能H的引脚功能()AD~AD(条)()IO总线(条)()控制总线(条)RESET:复位输入线CE*和IOM*RD*和WR*ALE:地址锁存允许TIMERIN和TIMEROUT*:()电源线(条)Vcc:V电源Vss:地CPU对HIO端口的控制()H各端口地址分配()H的命令字()H的状态字H的工作方式存储器方式对片内RAM单元进行读写若IOM*=和CE*=则通过AD~AD上的地址对RAM存储器任一单元读写。IO方式H的IO方式分为基本IO和选通IO两种工作方式如表所示。可对片内任一寄存器读写端口地址由A、A、A三位决定(见表)。表C口在两种IO工作方式下各位定义()基本IO方式()选通IO方式(见右图)a选通IO输入b选通IO输出内部定时器计数器及使用位的减定时器计数器计数长度和计数方式由写入计数寄存器的控制字来确定。计数器的两个寄存器的格式如图。T~T:计数器长度M、M:设置定时器的种工作方式种工作方式及相应输出波形如图。MCS与H接口及软件编程MCS与H的硬件接口电路H的编程举例H()初始化程序设计例若A口定义为基本输入方式B口定义为基本输出方式对输入脉冲进行分频初始化程序如下:START:MOVDPTR,#FH指针指向定时器低位MOVA,#H计数初值送A,MOVXDPTR,A计数初值低位装入定时器INCDPTR指针指向定时器高位MOVA,#H设定时器连续方波输出MOVXDPTR,A计数初值高位装入定时器MOVDPTR,#FH指向命令状态口MOVA,#CH设定命令控制字MOVXDPTR,AA口输入B口输出,开定时器用LSTTL电路扩展并行IO口利用LS和LS将P口扩展成简单的输入、输出口的电路。LS输出端接个LED发光二极管以显示个按钮开关状态某位低电平时二极管发光。LS是缓冲驱动器扩展输入口接个按钮开关。LS和LS的工作受的P、RD*、WR*三条控制线控制。电路的工作原理如下:当P=,WR*=(RD*=1)选中写LS通过P口输出数据到LS当P=,RD*=(WR*=)时选中读LS,某开关按下时则对应位输入为“”。输出程序段:MOVA,#data数据→AMOVDPTR,#FEFFHIO地址→DPTRMOVXDPTR,AWR*为低数据经LS口输出输入程序段:MOVDPTR,#FEFFHIO地址→DPTRMOVXA,DPTRRD*为低LS口数据读入内部RAM例编写程序把按钮开关状态通过图中的发光二极管显示出来。程序如下:DDIS:MOVDPTR,#FEFFH输入口地址→DPTRLP:MOVXA,DPTR按钮开关状态读入A中MOVXDPTR,AA中数据送输出口SJMPLP反复连续执行用MCS的串行口扩展并行口用LS扩展并行输入口例从位扩展口读入组数据(每组二个字节)并把它们转存到内部RAMH开始的单元中。MOVR,#H设置读入组数MOVR,#H设置内部RAM数据区首址START:CLRP并行置入数据SL*=SETBP允许串行移位SL*=MOVR,#H设置每组字节数即外扩LS的个数RXDAT:MOVSCON,#H设串口方式允许接收启动WAIT:JNBRI,WAIT未接收完一帧循环等待CLRRI清RI标志准备下次接收MOVA,SBUF读入数据MOVR,A送至RAM缓冲区INCR指向下一个地址DJNZR,RXDATA未读完一组数据继续DJNZR,START组数据未读完重新并行置入……对数据进行处理用LS扩展并行输出口LS:位串入并出移位寄存器。图是利用LS扩展二个位并行输出口的接口电路。例编写将内部RAM单元H、H的内容经串行口由LS并行输出子程序。START:MOVR,#H设置要发送的字节个数MOVR,#H设置地址指针MOVSCON,#H设置串行口为方式SEND:MOVA,RMOVSBUF,A启动串行口发送过程WAIT:JNBTI,WAIT帧数据未发完循环等待CLRTIINCR取下一个数DJNZR,SEND未完发完从子程序返回RET

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/55

第9章 MCS-51扩展IO接口的设计

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利