欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    [信息与通信]第7章 微型机接口技术上.ppt

    • 资源ID:5615522       资源大小:8.64MB        全文页数:147页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [信息与通信]第7章 微型机接口技术上.ppt

    第7章 微型机接口技术,掌握定时/计数器的使用技术掌握并行与串行接口技术掌握A/D与D/A转换技术,教学目的和要求,7.1 概述,接口的作用与意义,7.2 可编程时间间隔定时器芯片82C54,82C54是一种实现定时和计数功能的外围电路,拥有3个独立的16位计数器,每个计数器都可通过程序设计的方法设定为实现定时功能的各种操作方式。可编程时间间隔定时器芯片82C54有以下几个特点:与所有Intel系列微处理器兼容 可以处理从DC12MHz范围的输入频率信号 3个独立的16位的计数器 最大计数范围为065535 6种可编程的计数模式,状态读返回命令以二进制或BCD计数与TTL完全兼容 单 5V供电电压低功耗的CHMOS 工作温度范围:C82C54 0C+70C I82C54-40C+85C M82C54-55C+125C,7.2.1 82C54内部结构,82C54的内部结构如图9-12所示,该芯片内部由数据总线缓冲器、控制寄存器、读写控制逻辑以及计数器等组成,82C54内部结构,一、数据总线缓冲器 该缓冲器为8位双向三态的缓冲器,可直接挂在数据总线上。通过它,一方面可以向控制寄存器写入控制字,向计数器写入计数初值;另一方面也可由CPU通过该缓冲器读取计数器的当前计数值 二、读写控制逻辑 读写逻辑的功能是接收来自CPU的控制信号,包括读信号、写信号、片选信号 和芯片内部寄存器的寻址信号A1、A0,并完成对82C54各计数器的读写操作,82C54内部结构,三、控制字寄存器 接收来自CPU的控制字,并由控制字D7、D6位的编码决定该控制字写入哪一个计数器的控制寄存器中 四、计数器 82C54有3个独立的计数器通道,每个通道的结构完全相同,如图9-13所示。每一个通道有一个16位减法计数器,还有对应的16位初值寄存器和输出锁存器。计数开始前写入的计数初值存于初值寄存器;计数过程中,减法计数器的值不断递减,而初值寄存器中的初值不变。输出锁存器则用于写入锁存命令时锁定当前计数值,82C54每个计数器的内部逻辑图,7.2.2 82C54的引脚信号,82C54有24条引脚,双列直插式封装,如图9-14所示 一、与CPU一侧的接口信号 D0D7,三态双向数据线。与CPU数据总线相连,用于传递CPU与82C54之间的 数据信息、控制信息和状态信息,82C54的引脚信号,片选信号,输入,低电平有效。有效时,表示82C54被选中,允许CPU 对其进行读写操作。通常连接到I/O端口地址译码电路的输出端,写信号,输入,低电平有效。用于控制CPU对82C54的写操作,可与A1、A0信号配合以决定是写入控制字还是计数初值,,读信号,输入,低电平有效。用于控制CPU对82C54的读操作,可与A1、A0信号配合读取某个计数器的当前计数值 A1、A0,地址输入线。用于寻址82C54内部的4个端口,即3个计数器和一个控制字。一般与CPU低位的地址线相连,82C54的读写操作逻辑如表9-3所示,82C54的引脚信号,表9-2 82C54读/写操作逻辑,82C54的引脚信号,二、与外部设备的接口信号CLK0,1,2,时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号。CLK可以是系统时钟脉冲,也可以由其他脉冲源提供 GATE0,1,2,门控输入端,用于外部控制计数器的启动计数和停止计数的操作。两个或两个以上计数器连用时,可用此信号来同步,也可用于与外部某信号的同步 OUT0,1,2,,计数输出端。在不同方式的计数过程中,OUT引脚上输出相应的信号,7.2.3 82C54的控制字,一、82C54的方式控制字 82C54的方式控制字有4个主要功能:从3个计数器中选择一个 确定计数器数据的读写格式确定计数器的工作方式选择计数器的计数方式 方式控制字的格式如图9-15所示,其中,X表示没有使用位,通常设置为0,82C54的控制字格式,82C54的控制字,计数器选择(D7D6)决定这个控制字是哪一个通道的控制字。由于3个通道的工作是完全独立的,所以需要有3个控制字寄存器分别规定相应通道的工作方式。但它们的地址是同一个,即A1A011(控制字寄存器的地址)。所以,需要由这2位来决定是哪一个通道的控制字,读/写格式(D5D4)CPU向计数通道写入初值和读取它们的当前状态时,有几种不同的格式 若低8位计数,则令D5D401,只写低8位,高8位自动置0;若高8位计数,则令D5D410,只写高8位,低8位自动为0;若16位计数,则令D5D411,先写入低8位,后写入高8位;令D5D400,则把当前计数器中的值锁存到输出寄存器中,以便读取,82C54的控制字,工作方式(D3D2D1)82C54的每个通道可以有6种不同的工作方式,由D3D2D1 三位决定,具体情况在9.2.4节中详细介绍数制选择(D0)82C54的每个通道都有两种计数制:二进制和二十进制(BCD码),由D0位决定。在二进制时,写入初值的范围为0000HFFFFH,其中0000H是最大值,表示65536。在二十进制时,写入初值范围为00009999,其中0000表示最大值l0000。因为计数器是先减1,再判断是否为0,所以写入0实际代表最大计数值,82C54的控制字,例【9-3】选用计数器0计数,计数值为1000,分别用二进 制和二十进制(BCD)方式计数,用方式3计数,假设系统安排82C54计数器0、1、2和控制端口的地址分别为:220H、221H、222H和223H,试对计数器0编程初始化 MOV DX,223H MOV AL,00110110H;二进制方式计数 OUT DX,AL;送计数方式控制字 MOV DX,220H MOV AX,1000;十进制数1000送给AX OUT DX,AL;先送低8位 MOV AL,AH OUT DX,AL;后送高8位,82C54的编程逻辑,二、82C54的编程逻辑 当初始化82C54某个计数通道时,首先把相应的方式控制字写入到控制字寄存器中,再根据控制字中数据读/写格式(D5D4)位的规定,写入计数初值到对应的计数通道。82C54工作过程中,任一通道的计数值,CPU可用输入指令读取。CPU读到的是执行输入指令瞬间计数器的当前值,但82C54的计数器是16位的,所以要分2次读至CPU,因此,若不锁存的话,在前后两次执行输入指令的过程中,计数值可能已经发生变化了,82C54的编程逻辑,锁存当前计数值有下面3种方法:利用GATE信号使计数过程暂停 向82C54写入一个方式控制字,令82C54通道的输出锁存器锁存。82C54的每个通道都有一个16位输出锁存器,平时它的值随着通道计数器的值变化。当向通道写入锁存的控制字时,它把计数器的当前值锁存(计数器可继续计数),于是CPU读取的就是输出锁存器的值。当对计数器重新编程,或读取计数值后,自动解除锁存状态,它的值又随减法计数器变化 写读回命令锁存,82C54的编程逻辑,82C54的编程逻辑,82C54的另一种工作方式,称为读回方式。这种工作方式允许程序用一条命令就可锁存全部3个计数器的当前计数值和状态信息。读回命令的格式如图9-16所示,读回命令时控制字寄存器中的D6和D7位均为1。其中,使D1位(CNT0)、D2位(CNTl)和D3位(CNT2)分别对应3计数器,为1选中计数器,为0不选中计数器,D4位为0,表示将锁存状态信息,D5位为0表示将锁存计数值。这样,3个计数器的当前计数值和状态信息就可以同时锁存,以便分时读出,7.2.4 82C54的六种工作方式,82C54的每一个计数器都可以按照控制字的规定有6种不同的工作方式。下面结合时序波形图介绍各种工作方式的计数过程 一、方式0(计数结束中断方式)时序如图9-17 计数过程 当写入方式0控制字后,OUT立即变为低电平,并且在计数过程中一直维持低电平。若GATE1,写入初值后,CLK第1个下降沿到,计数值装入计数器,随后每一个CLK脉冲下降沿到,计数器减1。计数器减到零时,OUT输出变为高电平,并且一直保持到该通道重新装入计数值或重新设置工作方式为止,GATE信号的影响 门控信号GATE可以用来控制计数过程,GATE为低电平时暂停计数,当GATE重新为高电平时又恢复计数新的初值对计数过程的影响 方式0是写一次计数值,只计数一遍,计数器不会自动重装初值重新开始计数。如果在计数过程中写入新的计数初值,则在写入新值后的下一个时钟下降沿计数器将按新的初值计数,即新的初值是立即有效的,方式0,方式0波形图,方式0波形图,备注:下面的约定适用于所有的工作方式波形图:计数器编程采用二进制方式,只对低字节操作(LSB);计数器的片选信号 一直处于低电平;CW表示控制字(Control Word);CW=10 表示10H写入计数器;LSB表示计数器的低字节;图下的数字表示计数值:上面的数是高字节,下面的数是低字节;N表示一个不确定的计数值,二、方式1(可编程单稳态触发器),方式1的时序如图9-18所示。这种方式由外部门控信号GATE上升沿触发,产生一单拍负脉冲信号,脉冲宽度由计数初值决定计数过程 写入控制字后,OUT输出为高电平。写入计数初值之后,计数器并不立即开始计数,而要等到GATE上升沿后的下一个CLK输入脉冲的下降沿,OUT输出变低,计数才开始。结束时,OUT输出变高,从而产生一个宽度为N个CLK周期的负脉冲,二、方式1,GATE信号的影响 方式1中,GATE信号的作用可从两个方面进行说明第一,在计数结束后,若再来一个GATE信号上升沿,则下一个时钟周期的下降沿又从初值开始计数,而不需要重新写入初值,即门控信号可重新触发计数第二,在计数过程中,若再来一个门控信号的上升沿,也在下一个时钟下降沿从初值起重新计数,即终止原来的计数过程,开始新的一轮计数,新的初值对计数过程的影响 如果在计数过程中写入新的初值,不会立即影响计数过程,只有下一个门控信号到来后的第一个时钟下降沿,才终止原来的计数过程,按新值开始计数。即新的初值下次有效,方式1波形图,方式1波形图,三、方式2(脉冲波发生器、分频器),方式2的工作波形如图9-19所示。这种方式的功能如同一个N分频计数器,输出是输入时钟按照计数值N分频后的一个连续脉冲计数过程 写入控制字后的第一个CLK时钟上升沿,输出端OUT 变成高电平。若GATE1,写入计数初值后的第一个时钟下降沿开始减1计数,三、方式2,减到1时,输出端OUT变为低电平,减到0时,输出OUT又变成高电平,同时从初值开始新的计数过程。因此,方式2能自动重装初值,输出固定频率的脉冲,也称之为分频器GATE信号的影响 方式2中,GATE信号为低电平时终止计数,而由低电平恢复为高电平后的第一个时钟下降沿重新从初值开始计数。由此可见,GATE一直维持高电平时,计数器为一个N分频器,新的初值对计数过程的影响 如果在计数过程中写入新的初值,且GATE信号一直维持高电平,则新的初值不会立即影响当前的计数过程,但在计数结束后的下一个计数周期将按新的初值计数,即新的初值下次有效,方式2波形图,方式2波形图,四、方式3(方波发生器),方式3的工作波形如图9-20所示,方式3波形图,四、方式3,计数过程 方式3的计数过程按计数初值的不同分为两种情况:(1)计数初值为偶数 写入控制字后的第一个时钟上升沿,输出端OUT变成高电平。若GATE1,写入计数初值后的第一个时钟下降沿开始减1计数。减到N/2时,输出端OUT变为低电平;减到0时,输出端OUT又变成高电平,并重新从初值开始新的计数过程。可见,输出端OUT的波形是连续的方波,故称方波发生器,(2)计数初值为奇数 写入控制字后的时钟上升沿,输出端OUT变成高电平。若GATE1,写入计数初值后的第一个时钟下降沿开始减1计数,减到(N+1)/2以后,输出端OUT变为低电平;减到0时,输出端OUT又变成高电平,并重新从初值开始新的计数。这时输出的波形为连续的近似方波,四、方式3,GATE信号的影响 GATEl,允许计数,GATE0,禁止计数;如果在输出端OUT为低电平期间,GATE变低,则OUT将立即变高,并停止计数。当GATE变高以后,计数器重新装入初值并重新开始计数新的初值对计数过程的影响 如果在计数过程中写入新的初值,而GATE信号一直维持高电平,则新的初值不会立即影响当前的计数过程,只有在计数结束后的下一个计数周期,才按新的初值计数。若写入新的初值后,遇到门控信号的上升沿,则终止现行计数过程,从下一个时钟下降沿开始按新的初值进行计数,五、方式4(软件触发选通方式),计数过程 写入方式控制字后,OUT输出高电平 若GATE1,写入初值后的下一个CLK脉冲开始减1计数,计数到达0值(注意:不是减到1),OUT输出为低电平,持续一个CLK脉冲周期后再恢复到高电平门控信号的影响 GATE1时,允许计数;GATE信号变低,禁止计数,输出维持当时的电平。这种方式依赖于装入计数值触发工作,因此,称为软件触发选通方式,新的初值对计数过程的影响 在计数过程中改变计数值,则在写入新值后的下一个时钟下降沿计数器将按新的初值计数,即新值是立即有效的,方式4波形图,方式4波形图,六、方式5(硬件触发选通方式),计数过程 写入控制字后,输出OUT即为高电平。写入计数初值后,计数器并不立即开始计数,而是由门控脉冲的上升沿触发。计数结束(计数器减到0),输 出一个持续时间为一个CLK时钟周期的负脉冲,然后输出恢复为高电平。直到GATE信号再次触发。输出负脉冲可以用作选通脉冲,它是通过硬件电路产生的门控信号上升沿触发得到的,所以叫硬件触发选通方式,六、方式5,门控信号的影响 若在计数过程中,又有一个门控信号的上升沿,则立即终止当前的计数过程,且在下一个时钟下降沿,又从初值开始计数,如果计数过程结束后,来一个门控上升沿,计数器也会在下一个时钟的下降沿,又从初值开始减1 计数,即门控信号的上升沿任何时候到来,都会立即触发一个计数过程,新的初值对计数过程的影响 如果在计数过程中写入新的初值,则新的初值不会立即影响当前的计数过程,只有到下一个门控信号上升沿到来后,才从新的初值开始减1计数。即新的计数初值在下一个门控信号上升沿触发后有效,方式5波形图,7.2.5 82C54几种工作方式的比较,一、计数值N与输入CLK 和输出OUT的关系 82C54在不同工作方式下,计数值N与输入CLK时钟脉冲和输出OUT的关系是不同的,如表9-4所示,表9-4计数值N与输入CLK 和输出OUT的关系,82C54几种工作方式的比较,二、启动计数和重复计数的条件 所有工作方式都必须设置计数值才能够开始工作,但不是所有的方式一经设置计数值就马上开始计数,需要有一定的条件才能工作。有些方式一经启动,计数器就永无休止的工作下去,而有些方式只能计数一次。如果要重复计数同样需要某些条件,这些条件如表9-5所示,表 9-5 启动计数和重复计数的条件,82C54几种工作方式的比较,三、门控信号的作用82C54在不同的工作方式下,门控信号GATE的作用如 表 9-6所示,表 9-6 门控信号的作用,82C54几种工作方式的比较,四、在计数过程中改变计数值 82C54的六种工作方式都可以在计数器计数过程中改变计数值。新的计数值什么时候起作用,随工作方式不同而有差异,具体区别如表9-7所示,表 9-7在计数过程中改变计数值,82C54几种工作方式的比较,五、82C54应用举例例【9-4】设一片82C54接在系统中,如图9-23所示。计数器0、1、2及控制口地址分别为320H、321H、322H以及323H,用计数器0与计数器1级联定时,在OUT1输出对称方波,使LED点亮0.5S,熄灯0.5S,周而复始,试对计数器0和计数器1初始化编程 分析:由于CLK0输入f=1MHz,所以周期t0=1s,而定时时间间隔为1S,那么计数初始值:1000ms1s=1000000,分配为10001000,即计数器0与1分别送初始值1000,均选用二进制计数,并采用方式3计数,编程如下:,82C54应用举例,MOV DX,323H;控制端口地址给DXMOV AL,00110110B;计数器0控制字OUT DX,ALMOV AX,1000MOV DX,320HOUT DX,AL;先送低8位MOV AL,AHOUT DX,AL;后送高8位MOV DX,323HMOV AL,01110110B;计数器1控制字 OUT DX,ALMOV DX,321HMOV AX,1000OUT DX,AL;先送低8位MOV AL,AHOUT DX,AL;后送高8位,82C54应用举例,计数器0输出周期为1ms的方波,计数器1输出周期为1000ms的方波,低电平使LED导通发亮 当每个计数器送完初始值后,要等到下一个完整的CLK时钟到来时,减法计数器才获得计数初始值,并开始作减1计数。只要82C54不掉电,它将不停顿地对外部脉冲进行计数,82C54应用举例,82C54应用举例,例【9-5】假如一片82C54的3个计数器全部级联起来,外部计数脉冲的频率为2MHz,采用二进制方式计数,最长的定时间隔是多少?解:输入f=2MHz,所以周期t=0.5s每个计数器的初值为0时,实际初值相当于65536,则第一级定时间隔为655360.5s=32.768ms3个计数器全部级联,定时间隔为 T=6553665536655360.5s,7.3可编程并行接口,微型计算机与I/O设备的接口按照数据传送格式的不同,可分为并行接口和串行接口两种。实现并行通信的接口就是并行接口,以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据适合于外部设备与微机之间进行近距离、大量和快速的信息交换例如:微机与并行接口打印机、磁盘驱动器微机系统中最基本的信息交换方法例如:系统板上各部件之间,接口电路板上各部件之间,并行通信的特点,7.3.1 可编程并行接口芯片8255A,18255A有两个8位(端口A与端口B)和两个4位(端口C高/低4位)的并行输入/输出端口2端口A有三种工作方式:方式0、方式1、方式2;端口B口有两种工作方式:方式0、方式1;可适应CPU与I/O接口的多种数据传送方式,如无条件传送、查询式传送和中断方式传送等3端口C的使用较特殊,除工作在方式0作为数据端口之外,当工作在方式1和方式2时,它的大部分引脚被用作联络信号,端口C还可以进行按位置位/复位操作,一、8255A的主要特性,二、8255A芯片的引脚信号,8255A的引脚信号如图8-1所示。它为双列直插式封装,除了电源和地线以外,其外部引脚信号可分为两组,一组是面向CPU的信号,一组是面向外设的信号。,1.面向CPU一侧的引脚信号,D7D0,8位,双向,三态数据线 RESET,复位信号 CS*,片选信号RD*,读信号WR*,写信号 A1、A0,端口选择信号,8255A的读/写操作控制,2.面向外设一侧的引脚信号,端口A:PA0PA7A组,支持工作方式0、1、2端口B:PB0PB7B组,支持工作方式0、1端口C:PC0PC7仅支持工作方式0A组控制高4位PC4PC7B组控制低4位PC0PC3,端口A:PA0PA7常作数据端口,功能最强大端口B:PB0PB7常作数据端口端口C:PC0PC7可作数据、状态和控制端口分两个4位,每位可独立操作控制最灵活,最难掌握,功能:,三、8255A的内部结构,四、8255A工作方式字和编程,8255A有两种控制字:工作方式选择控制字 端口C的按位置位/复位控制字,1.工作方式选择控制字D7=1,2.按位置位/复位控制字(D7=0),3.关于两个控制字的讨论,工作方式命令指定8255A的3个端口的工作方式,必须初始化。按位置位/复位命令只对PC口的输出进行控制,可放到初始化程序的任何地方。特征位的设置 D71,为工作方式命令;D70为按位置位/复位命令。按位置位/复位命令代码只能写入命令口。,4.8255A的初始化编程,初始化编程:一个方式控制字采用控制I/O地址:A1A011工作过程中:通过数据端口对外设数据进行读写数据读写利用端口A、B和C的I/O地址,A1A0依次等于00、01、10IBM PC/XT机上,端口A、B、C和控制端口的I/O地址为60H、61H、62H和63H,(1)写入方式控制字:示例,要求:A端口:方式1输入C端口上半部:输出,C口下半部:输入B端口:方式0输出方式控制字:10110001B或B1H初始化的程序段:MOV DX,303H;假设控制端口为303HMOV AL,0B1H;方式控制字OUT DX,AL;送到控制端口,(2)读写数据端口,初始化编程后:当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备8255A具有锁存输出数据的能力对输出方式的端口同样可以输入不是读取外设数据读取的是上次CPU给外设的数据,读写数据端口:示例,利用8255A的输出锁存能力,可实现按位输出控制 对输出端口B的PB7位置位的程序段:MOV DX,301H;B端口假设为301HIN AL,DX;读出B端口原输出内容OR AL,80H;使PB71OUT DX,AL;输出新的内容,(3)读写端口C:归纳1,C端口被分成两个4位端口,两个端口只能以方式0工作,可分别选择输入或输出,在控制上,C端口上半部和A端口编为A组,C端口下半部和B端口编为B组,(3)读写端口C:归纳2,当A和B端口工作在方式1或方式2时,C端口的部分或全部引脚将被征用,其余引脚仍可设定工作在方式0,(3)读写端口C:归纳3,对端口C的数据输出有两种办法通过端口C的I/O地址:向C端口直接写入字节数据。这一数据被写进C端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效通过控制端口:向C端口写入位控字,使C端口的某个引脚输出1或0,或置位复位内部的中断允许触发器,(3)读写端口C:归纳4,读取的C端口数据有两种情况未被A和B端口征用的引脚:将从定义为输入的端口读到引脚输入信息;将从定义为输出的端口读到输出锁存器中的信息被A和B端口征用作为联络线的引脚:将读到反映8255A状态的状态字,五、8255A的工作方式,方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路,1.方式0,方式0的特点,0方式是一种基本输入/输出方式 在0方式下,24根I/O线全部由用户支配 不设置专用的联络信号线 单向I/O,2.方式1,方式1为选通输入输出方式,需要专用的联络信号线,该方式通常用于查询(条件)传送,数据的输入输出均有能力 PA和PB为数据口,而PC口的大部分引脚作专用的联络信号 各联络信号线之间有固定的时序关系,传送时,要严格按时序进行 输入/输出操作过程中,产生固定的状态字,这些状态字可作为查询或中断请求字用。状态字从PC口读取 单向传送,(1)端口A方式1作输入:,数据选通信号表示外设已经准备好数据,输入缓冲器满信号表示A口已经接收数据,中断请求信号请求CPU接收数据,端口B方式1作输入:,方式1输入联络信号定义,STB*选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据INTE 中断允许信号,高电平有效用于控制中断允许或中断屏蔽,8255A方式1作输入时的各联络信号对应关系,(2)8255A工作在方式1下的输入时序,(3)端口A方式1作输出:,外设响应信号表示外设已经接收到数据,输出缓冲器满信号表示CPU已经输出了数据,中断请求信号请求CPU再次输出数据,端口B方式1作输出:,方式1输出联络信号,OBF*输出缓冲器满信号,低有效8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走ACK*响应信号,低有效外设的响应信号,指示8255A的端口数据已由外设接受INTR中断请求信号,高有效当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据,8255A方式1作输出时的各联络信号对应关系,(4)8255A工作在方式1下的输出时序,3.方式2(双向选通方式),方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同方式2的数据输入过程与方式1的输入方式一样方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据,(1)方式2的信号定义,用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号,(2)8255A工作在方式2下的工作时序,六、8255A的应用,1.开关量的检测例【8-3】在工业控制过程中,经常需要检测某些开关的状态。例如,在某一系统中,有8个开关K7K0,要求不断地检测它们的通断状态,并随时在发光二极管上显示。通过8255A的端口A读入开关状态信息,使端口B、端口C连接的发光二极管的状态与端口A开关状态相呼应,并重复执行。假设8255A在系统中端口A、B、C及控制口的地址分别为100H,101H,102H,103H,试设计出硬件电路图,并编写程序。,解:(1)硬件电路如图8-11所示,MOV DX,103H;控制寄存器的地址送给DX MOV AL,90H;控制字 OUT DX,AL;写入控制字L1:MOV DX,100H;端口A 地址的送给DX IN AL,DX;从端口A读入开关状态 MOV DX,101H;指向端口B端口 OUT DX,AL;从端口B输出,控制LED XORAL,0FFH;AL AL取反 MOVDX,102H;端口C 的地址送给DX OUTDX,AL;从端口C输出 JMP L1;循环,(2)相应的8255A初始化程序为:,例【8-4】利用Intel 8255A对四相步进电机进行控制,如图8-12所示。如果对步进电机施加一定规则的连续控制的脉冲电压,它可以连续不断地转动。每相的脉冲信号控制步进电机的某一相绕阻,若按照某一相序改变一次绕组的通电状态,对应转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行。常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A-),双(双绕组通电)四拍(AB-BC-CD-DA-AB-),单双八拍(A-AB-B-BC-C-CD-D-DA-A-)等等。按正,2.步进电机控制,序方向送电则正转,按反序方向送电则反转,本例采用双四拍通电方式控制步进电机正转运行。通过改变脉冲信号的频率,就可改变步进电机的转速。利用Intel 8255A的PA3 PA0各控制一相,端口A工作在方式0的输出。三态缓冲器74LS244的恒接地,该芯片处于直通状态,74LS244用作对三极管TIP122的驱动。步进电机控制的相序和对应的控制字如表8-5所示。假设8255A的端口地址为300H,301H,302H,303H,试编写连续正转的控制程序。,表8-5 步进电机相序和控制编码,工作方式控制字:10000000B=80H(端口A方式0,输出),主要程序段为:MOV AL,80H MOV DX,303H;控制字端口的地址送给DX OUT DX,AL MOV DX,300H;端口A地址 L1:MOV AL,03H;AB相送电 OUT DX,AL CALL DELAY1;调用延迟子程序 MOV AL,06H;BC相送电 OUT DX,AL CALL DELAY1,MOV AL,0CH;CD相送电 OUT DX,AL CALL DELAY1 MOV AL,09H;DA相送电 OUT DX,AL CALL DELAY1 JMP L1DELAY1:MOV CX,03FFFH;延时DELAY2:LOOP DELAY2 RET,3.打印机控制接口(方式0),例【8-5】查询式打印机接口及编程。打印机的工作时序如图8-13所示。当CPU准备输出打印的数据时,先查询打印机忙信号(BUSY),如果打印机正在打印字符时,忙信号为1(BUSY=1),不能接收数据。当打印机不忙后,CPU对打印机接口输出8位二进制数,并使选通信号(简称)为负脉冲时,将数据送入打印机中的数据端口。,分析:8255A的控制字为:10000001B=81H 8255A工作在方式0,端口A,输出;端口C高4位输出,低4位输入。PC6置位:00001101B 0DHPC6复位:00001100B 0CH设待打印字符在内存的首地址为2000H,编写打印机驱动程序如下:MOV DX,247H;8255A控制端口地址;247H送给DX MOV AL,81H;8255A控制字 OUT DX,AL,MOV AL,0DH OUT DX,AL;使PC6置“1”,即STB*1 MOVSI,2000H;数据段内偏移地址送给SI MOVCX,0FFH;打印字节数NEXT:MOVDX,246H;8255A的PC口地址 INAL,DX;读端口C数据,查询PC30?ANDAL,08H JNZ NEXT;打印机忙,则等待 MOVDX,244H;端口A地址送给DXMOVAL,SI;从内存取出一个字节OUTDX,AL,MOVDX,247H;端口C地址送给DX MOV AL,0CH;设置PC6为“0”,OUTDX,AL;使STB*选通信号为低电平NOPNOPNOP;适当延时MOVAL,0DHOUTDX,AL;STB*1INCSI;内存地址加1LOOPNEXT,例【8-6】中断方式打印机接口及编程,将上例中8255A的工作方式改为方式1,即端口A工作在方式1输出,外加一片中断控制器8259A,端口A的中断输出线PC3通过8259A向CPU申请中断,可以构成中断方式打印接口电路,如图8-15所示。设8255A的4个端口地址分别为:244H,245H,246H,247H,试编写打印机驱动程序。,分析:用PC7作为打印机的选通信号,打印机的作为外设给8255A的应答信号(PC6),8255A的中断请求输出信号PC3接至中断控制器8259A的IR38255A的控制字为:10101000B PC6置位:00001101B 即 0DH,允许8255A的端口A方式1输出中断假设8259A初始化时写入ICW2的值为08H,则8255A的端口A的中断类型码是0BH(对应IR3),此中断类型码对应的中断向量应放到中断向量表从002CH开始的4个存储单元中,主程序:MAIN:MOV DX,247H MOV AL,0A8H OUT DX,AL;设置8255A的控制字 XOR AX,AX MOV DS,AX MOV AX,OFFSET RING MOV 002CH,AX MOV AX,SEG RING MOV 002EH,AX MOV DX,247H MOV AL,0DH;PC6为1,允许端口A方式1;输出中断 OUT DX,AL,MOV DI,OFFSET BUFF;设置地址指针 MOV CX,100;设置计数器初值 MOV DX,244H MOV AL,DI OUT DX,AL;输出第一个字符 INC DI STI LOOPNEXT JMPABCNEXT:HLT;等待中断 LOOP NEXT ABC:CLIMOV AH,4CH INT 21H,中断服务子程序如下:RING:MOVDX,244H MOV AL,DI OUT DX,AL;从端口A输出一个字符 INC DI;修改地址指针 STI IRET;中断返回,7.4通用的异步接收发送芯片8250,8250是一种可编程的串行异步通信接口芯片,它支持异步通信规程;芯片内设置时钟发生电路,可通过编程改变传送数据的波特率;它提供MODEM的状态信息,极易通过MODEM实现远程通信;它具有数据回送功能,为调试自检提供方便,1.8250的寄存器及编程方法,8250内部有10个可访问的寄存器,除数寄存器是16位的,占用两个连续的8位端口内部寄存器用引脚A0A2来寻址;同时还要利用通信线路控制寄存器的最高位,即除数寄存器访问位DLAB的0和1两种状态,来区别公用1个端口地址所访问的两个寄存器,8250内部寄存器端口地址,(1)发送保持寄存器THR(3F8H):“写”,包含将要串行发送的并行数据,(1)接收缓冲寄存器RBR(3F8H):“读”,存放串行接收后转换成并行的数据,(2)波特率除数寄存器BRD(3F8H,3F9H),除数寄存器保存设定的分频系数BRD基准时钟频率(16波特率),例【8-11】计算波特率为1200bps的波特率除数。当使用UART的内部时钟为1.8432MHz时(或由外部通过XTAL1引脚输入),BRD=1843200/(161200)=0060H,(3)通信线路控制寄存器LCR(3FBH),指定串行异步通信的字符格式,例【8-13】通信线路控制寄存器(LCR)的编程,设置发送数据字长为8位,2位停止位,偶校验,其程序段为:MOV DX,3FBH;LCR的地址MOV AL,00011111B;LCR内容数;据格式参数 OUT DX,AL,(4)通信线路状态寄存器LSR(3FDH),提供串行异步通信的当前状态供CPU读取和处理,(5)MODEM控制寄存器MCR(3FCH),设置8250与数据通信设备之间联络应答的输出信号,例【8-14】要使MCR的DTR,RTS有效,OUT1,OUT2以及LOOP无效,则编程如下:MOV DX,3FCH;MCR的地址,MOV AL,00000011B;MCR的控制字 OUT DX,AL,例【8-15】要对8250通过自发自收进行诊断,则程序为:MOV DX,3FCH;MCR的地址MOV AL,00010011B;LOOP位置“1”OUT DX,AL,(6)MODEM状态寄存器MSR(3FEH),反映4个控制输入信号的当前状态及其变化MSR高4位中某位为1,说明相应输入信号当前为低有效,否则为高电平MSR低4位中某位为1,则说明从上次CPU读取该状态字后,相应输入信号已发生改变,从高变低或反之MCR低4位任一位置1,均产生调制解调器状态中断,当CPU读取该寄存器或复位后,低4位被清零,(7)中断允许寄存器IER(3F9H),8250设计有2个中断寄存器和4级中断4级中断的优先权,是按照串行通信过程中事件的紧迫程度安排的、是固定不变的用户可利用中断允许或禁止进行控制中断允许寄存器的低4位控制8250这4级中断是否被允许某位为1,则对应的中断被允许否则,被禁止,8.中断识别IIR(3FAH),保存正在请求中断的优先权最高的中断级别编码,2.8250的内部结构,3.8250芯片引脚定义与功能,(1)面向CPU一侧的引脚(1),数据线D7 D0:在CPU与8250之间交换信息地址线A0A2:寻址8250内部寄存器片选线:8250设计了3个片选输入信号CS0、CS1、CS2*和一个片选输出信号CSOUT。3个片选输入都有效时,才选中8250芯片,同时CSOUT输出高电平有效。地址选通信号ADS*:当该信号低有效时,锁存上述地址线和片选线的输入状态,保证读写期间的地址稳定,(1)处理器接口引脚(2),读控制线数据输入选通DISTR(高有效)和DISTR*(低有效)有一个信号有效,CPU从8250内部寄存器读出数据相当于I/O读信号写控制线数据输出选通DOSTR(高有效)和DOSTR*(低有效)有一个有效,CPU就将数据写入8250内部寄存器相当于I/O写信号8250读写控制信号有两对,每对信号作用完全相同,只不过有效电平不同而己,(1)处理器接口引脚(3),驱动器禁止信号DDIS:CPU从8250读取数据时,DD

    注意事项

    本文([信息与通信]第7章 微型机接口技术上.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开