IO接口电路及其扩展.ppt_第1页
IO接口电路及其扩展.ppt_第2页
IO接口电路及其扩展.ppt_第3页
IO接口电路及其扩展.ppt_第4页
IO接口电路及其扩展.ppt_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1,扩展方法 (1)总线扩展方法 采用总线扩展的方法是将扩展的并行i/o口芯片连接到 mcs-51单片机的总线上,即数据总线使用p0口,地址总线使用p2和p0口。 这种扩展方法不影响总线上其他扩展芯片的连接,在mcs-51单片机应用系统的i/o扩展中被广泛采用。 (2)串行口扩展方法 mcs-51单片机串行口工作在方式0时,提供一种i/o扩展方法。,13.1 简单并行口扩展,这种扩展方法不占用并行总线且可以扩展多个并行i/o。由于采用串行输入输出的方法,故数据传输速度较慢,2,用通用芯片扩展i/o口时,要把输入口、输出口分别进行扩展。 当构成输出口,接口芯片应具有锁存功能,以使输出数据能在输出口上保留,便于外部设备读取; 构成输入口时,接口芯片要具有总线缓冲功能。,3,典型芯片74ls244,图13-2 74ls244引脚排列、内部结构及封装,13.1.1 扩展并行口输入,4,+5v,图13-3 74ls244构成的简单输入端口(a),5,p2.7决定了74ls244的地址为: 0 b 其中“”代表任意电平。由于地址线中有无关位,且无关位可组成多种状态,则会出现“地址重叠”问题。所谓“地址重叠”,是指一个扩展芯片占有多个额定地址空间。在进行i/o扩展情况下,一般无关位取“1”。确定了地址以后,就可以读入扩展输入口的内容。程序如下: mov dptr, #0bfffh ;确定扩展芯片地址 movx a,dptr ;将扩展输入口内容读入累加器a 当与74ls244相连的按键都没有按下时,输入全为1,若按下某键,则所在线输入为0。,6,典型芯片74ls245,7,图13-3 74ls244构成的简单输入端口(b),8,13.1.3 简单的并行口输出,典型8d锁存器芯片 74ls273 74ls373 74ls377,9,图13-8 各种简单输出端口的扩展,10,图13-8 各种简单输出端口的扩展,11,图13-8 各种简单输出端口的扩展,12,p2.6决定了74ls377的地址为: 0 b 确定74ls377的口地址为0bfffh,就可以往扩展输出口内写入内容了。程序如下: mov dptr, #0bfffh ;确定扩展芯片地址 mov a, #data ;8位数据 movx dptr, a ;将扩展输入口内容读入累加器a,13,13.2 8255通用可编程并行接口芯片,13.2.1 8255简介,8255a是intel公司生产的通用可编程并行接口电路,广泛应用于单片机扩展并行i/o 口。,8255内部结构,14,8255内部结构,a和b口是一个独立的8位i/o口,它的内部有对数据输入/输出的锁存功能,a口可选择工作方式0、1、2,b口有方式0和1可选。,15,8255内部结构,c口可以看作是一个独立的8位i/o口,也可以看作是两个独立的4位i/o口,对输出的数据具有锁存功能,对输入数据不具有锁存功能,不能独立设置工作方式。,16,8255内部结构,数据总线缓冲器是一个8位的双向的三态缓冲器,17,8255内部结构,读/写控制逻辑电路负责管理8255a的数据传输过程。,18,8255/引脚图,d0d7:8位,双向,三态数据线,用来与单片机的数据总线相连。,reset:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清0,所有i/o端口的初始状态被置成输入。,cs:片选信号线,低电平有效。,rd:读信号,控制8255a将数据或状态信息送给cpu。,wr:写信号,控制cpu将数据或控制信息到8255a。,a1,a0:地址线,这两个引脚上的信号组合绝对对8255a内部的哪一个口或寄存器进行操作。,19,8255的操作表,表13-1 8255的操作,20,8255共有三种工作方式,这些工作方式可用软件编程来指定。 (1)工作方式0:基本输入输出方式 (2)工作方式1:选通输入输出方式 (3)工作方式2:双向总线方式 8255a端口a有三种方式可供选择,端口b有两种工作方式可供选择。具体的方式选择由工作方式控制字来确定,其格式如图13-11所示。,13.2.2 8255的工作方式,21,图13-11 8255工作方式控制字格式,22,(1)方式0:基本输入输出方式,这种方式不需要任何选通信号。a 口、b口及c 口的两个4位口中任何一个端口都可以被设定为输入或输出。作为输出口时,输出数据锁存;作为输入口时,输入数据缓冲。,23,(2)方式1 :选通输入输出方式,方式1是一种选通i/o方式,在这种方式下,a口和b口仍作为两个独立的8位i/o通道,可单独连接外设,通过编程分别设置它们作为输入或输出。而c口则要有6位(分成两个3位)分别作为a口和b口的应答联络线,其余两位仍可工作在方式0,可通过编程设置为输入或输出。,24,a口和b口工作在方式1,当数据输入时,c口的引脚信号定义如图13-13所示。pc3, pc4和pc5定义为a口的联络信号线intra, 和ibfa, pc0, pc1和pc2定义为b口的联络信号线intrb, ibfb和 ,剩余的pc6和pc7仍可以作为基本i/o线,工作在方式0。,图13-13 8255方式1的信号组态,25,:选通信号,输入,低电平有效。此信号由外设产生输入,当 有效时,选通a口或b口的输入数据锁存器,锁存由外设输入的数据,供cpu读取。,ibf:输入缓冲器满信号,输出,高电平信号。当a口或b口的输入数据锁存器接收到外设输入的数据时,ibf变为高电平,作为对外设 信号的响应,cpu读取数据信号后ibf被清除。,intr:中断请求信号,输出,高电平有效,用于请求以中断方式传送数据。,方式1输入联络信号功能,26,为了能实现用中断方式传送数据,在8255a内部设有一个中断允许触发器inte,当触发器为“1”时允许中断,为“0”时禁止中断。触发器置“1”或置“0”是通过端口c置位/复位命令字设置的。,图13-12 端口c置位/复位命令字格式,a口的触发器由pc4置位或复位;,b口的触发器由pc2置位或复位。,27,方式1输出联络信号功能,:输出缓冲器满指示信号,输出,低电平有效。此信号由8255a发送给外设,当cpu将数据写入数据端口时,该信号变为低电平,用于通知外设读取数据端口中的数据。,:应答信号,输入,低电平有效。该信号由外设发送给8255a,作为对 信号的响应信号,表示输出的数据已经被外设接收,同时清除 信号。,intr:中断请求信号,输出,高电平有效,用于请求以中断方式传送数据。,28,设8255a的a口工作在方式0,数据输出,b口工作在方式1,数据输入,编写初始化程序(设8255a的端口地址为ff80hff83h)。,例1,分析: 8255初始化就是向控制寄存器写入工作方式控制字。,mov dptr,#0ff83h mov a, #10000110b movx dptr,a,29,8255的扩展电路如下图7所示,对8255各口作如下设置:a口方式0输入,b口方式1输出,c口高位部分为输出,低位部分为输入。试完成对8255的初始化编程。,mov dptr, #7fffh mov a, #95h movx dptr, a,例2,30,应用举例1,下图为某mcs-51应用系统的3位led 8段共阳极静态显示器的接口电路,(1)写出显示字符“3”、“8”、“5”的段码,注意:段码的最低位为“a” 段,段码的最高位为“dp” 段(2)已知8255的pa口、pb口和pc口的地址分别为ff7ch、ff7dh、ff7eh。请编写出使3位led共阳极显示器从左至右显示“3.85”的程序段。,31,具体要求: 6个led采用共阳极连接 79h7eh分别存放6位显示器的显示数据(09) 8255的a口接led显示器位控 8255的b口接led显示器段控,应用举例2,32,分析:8255的a口、b口、c口、控制寄存器的地址分别为7ffch、7ffdh、7ffeh、7fffh。工作方式控制字为80h。,33,编写程序,m_mian segment code rsg m_main,34,35,13.3.1 8253的内部结构,三个计数器内部结构完全相同。每个计数器都由一个16位计数初值寄存器、一个16位减法计数器和一个16位计数值锁存器组成。,36,13.3.1 8253的内部结构,在写计数初值到计数通道或cpu读取计数通道到当前计数值时,各计数通道都有各自的端口地址。3个计数通道功能完全相同。,37,13.3.1 8253的内部结构,数据总线缓冲器有三个基本功能: (1)通过编程向8253写入确定8253工作方式的命令; (2)向计数寄存器装入计数初值; (3)读出当前计数值。,38,数据线:写控制字,读写计数器的计数值,计数器0的时钟输入端,计数器0的输出端,为低电平的时候,cpu将计数值写入计数器或将控制字写入控制字寄存器,为低电平的时候,cpu读取所选计数器的内容,计数器0的门控信号脉冲输入端,控制计数,8253的引脚功能,39,8253的操作,40,13.3.2 8253的控制字和工作方式,41,1)控制字写入控制寄存器时,所有的控制逻辑电路立即复位,输出端out进入初始状态。初始状态对不同的模式来说不一定相同。 2)在任何方式下,向8253写入的计数初值将于下一个clk被装入计数单元。 3)通常,在每个时钟脉冲clk的上升沿,采样门控信号gate。不同的工作方式下,门控信号的触发方式是有具体规定的,即或者是电平触发,或者是边沿触发,在有的模式中,两种触发方式都是允许的。其中0、3、4是电平触发方式,1、2、3、5是上升沿触发。,几条基本原则,42,方式0计数结束中断 方式1可编程单稳态触发器 方式2分频器方式 方式3方波信号发生器方式 方式4软件选通方式 方式5硬件选通方式,8253的工作方式,43,工作方式0:计数结束产生中断,在gate=1时 写入控制字,out端输出低电平为起始电平,装入计数初值n,开始计数。 写信号后沿( )经一个clk( )将n值装入计数器。 每经过一个clk,在clk下降沿,计数器减1。 n=0时,计数结束,out由低电平变为高电平(可利用该电平变化向cpu发出中断请求),并保持,不开始重新计数。只有写入另一个计数值时,开始新的计数。 在gate=0时 停止计数,直至gate恢复高电平,再继续计数,44,工作方式0:计数结束产生中断,特点:写入控制字寄存器后,输出out就变低,gate为高计数,为低停止计数;不自动重新计数,需要重新将计数值写入计数器后开始计数;计数到0时,可利用out 产生中断信号。,45,工作方式1:可编程单稳态触发器,写入控制字,out端输出高电平为起始电平。装入计数初值n后,必须等待gate的上升沿来后才转入计数,这时out变低,开始计数,每一个计数脉冲,计数器值减1。 计数到0,out变成高电平,负脉冲结束,脉冲宽度=tcn(tc为时钟周期)。 在计数过程中,若gate变低,不影响计数。,方式1的时序图(计数过程中gate仅有一个上升沿),46,方式1的时序图(计数过程中gate不止产生一个上升沿),特点:写入控制字寄存器后,输出out就变高;gate的上升沿触发计数,同时out变低,直到计数到0 ;在计数过程中,若gate变低,不影响计数;遇到gate的上升沿时,自动重新计数。,47,工作方式2:分频器,写入控制字,out端输出高电平为起始电平,装入计数初值n,开始计数。 每一个计数脉冲下降沿n减1,当n减至1时,out变低,n减为0时,out变高,产生一个与时钟脉冲周期一样宽的负脉冲。 接着自动装入n连续计数,输出频率为:fclk/n。 计数过程中,允许重新装入新的n值,下一个计数周期按新的n值计数。,在gate=1时:,方式2的时序图,48,计数过程中,若gate0,停止计数,并强迫out输出高电平,在gate变为高电平后,重新装入n值,开始计数。,49,工作方式2:分频器,方式2的时序图,特点:写入控制字寄存器后,输出out就变高;gate为高计数;计数到1时, out变低,计数到0时, out变高,并自动重新计数。 gate为低时,禁止计数,直到gate变高,重新自动写入计数值计数。一般作为分频器使用。,50,工作方式3:方波频率发生器,输出频率为:fclk/n的方波。 写入控制字后,out端输出低电平作为起始电平,装入计数值n后,变为高电平。 n为偶数,每个时钟脉冲下降沿n值减1,至n/2后,电平变为低电平,并继续减1计数至0,然后改变out电平,重新装入n,开始计数。 n为奇数,输出高电平宽度为(n+1)/2,低电平宽度为(n-1)/2的方波。 gate=0 停止计数,并强迫out输出高电平,在gate变高后,重新将n装入,开始计数。 注:gate功能同方式2,gate=1,51,工作方式3:方波频率发生器,软、硬件启动,自动重复计数。 装入初值后out端变高电平,然后out连续输出对称方波: 前 n/2或(n+1)/2 个clk,out为高 后n/2或(n-1)/2 个clk, out为低。 计数过程中修改初值不影响本半轮计数过程。 其余的与方式2 类似。,特点:,52,工作方式4:软件触发选通脉冲,写入控制字后,out端变为高电平,写入初始值后,计数器作减1计数,out电平保持不变。 计数器减至0时,out端输出一个脉冲周期的负脉冲,然后停止计数,只有输入新的计数值后,才能开始新的计数。 计数过程中,若gate变低电平,停止计数,在其变高后,重新将n装入,开始计数。,53,工作方式5:硬件触发选通脉冲,写入控制字后,out端变为高电平,写入初始值n后,必须等待gate的上升沿触发才转入计数。 计数器减至0时,out端输出一个脉冲周期的负脉冲。然后n值自动装入计数器,但要等gate的上升沿来后才再次开始计数。 计数过程中,若gate变低电平,不影响计数,但其上升沿将使得n重新装入计数器,开始计数。,54,54,总结性应用举例,1. 8253定时功能的应用,在计算机应用中,经常会遇到隔一定时间重复某一个动作的应用。,设某应用系统中,系统提供一个频率为10khz的时钟信号,要求每隔100ms采集一次数据。已知8253的端口地址为7ff0h7ff3h,试完成8253的初始化编程。,55,55,8253用于定时中断,7ff07ff3h,56,56,(1) 选择

温馨提示

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

评论

0/150

提交评论