第七章--基本输入输出接口分析课件

上传人:陈** 文档编号:188957173 上传时间:2023-02-20 格式:PPT 页数:92 大小:791.50KB
返回 下载 相关 举报
第七章--基本输入输出接口分析课件_第1页
第1页 / 共92页
第七章--基本输入输出接口分析课件_第2页
第2页 / 共92页
第七章--基本输入输出接口分析课件_第3页
第3页 / 共92页
点击查看更多>>
资源描述
第七章第七章 基本输入输出接口基本输入输出接口 本章学习内容:本章学习内容:1、理解外设与接口之间的关系;、理解外设与接口之间的关系;2、计算机系统引入、计算机系统引入I/O接口电路的原因;接口电路的原因;3、8086CPU的的I/O指令与指令与I/O空间编址;空间编址;4、I/O接口与接口与CPU的数据交换方式;的数据交换方式;5、82C55接口芯片的基本功能及用法;接口芯片的基本功能及用法;6、8253/8254计数器计数器/定时器芯片;定时器芯片;7、8259A可编程中断控制器。可编程中断控制器。第一节第一节 微型计算机接口概述微型计算机接口概述 对于一个计算机系统,通常包括多个外部设备,因而有对于一个计算机系统,通常包括多个外部设备,因而有多个相配套的接口电路,多个相配套的接口电路,CPU采用与存储器管理相类似采用与存储器管理相类似的方法管理接口;的方法管理接口;存储器存储器I/O接接口口微微处处理理器器CPU输出设备输出设备输入设备输入设备地 址 总 线地 址 总 线AB数据总线数据总线DB控 制 总 线控 制 总 线CB接口电路的基本功能是接口电路的基本功能是在在CPU与外部设备之间与外部设备之间建立信息交换通道;建立信息交换通道;一、输入输出接口功能描述一、输入输出接口功能描述(1)(1)数据缓冲功能;数据缓冲功能;(CPUCPU与外设工作速度匹配与外设工作速度匹配)(2)(2)接受和执行接受和执行CPUCPU命令的功能;命令的功能;(3)(3)信号转换功能信号转换功能;(用一组逻辑电平编码信息用一组逻辑电平编码信息)(4)(4)设备选择功能;设备选择功能;(5)(5)中断管理功能中断管理功能;(提高系统效率与事件响应速度提高系统效率与事件响应速度)(6)(6)数据格式变换功能;数据格式变换功能;(串串并转换并转换)(7)(7)可编程功能。可编程功能。(增加硬件电路灵活性增加硬件电路灵活性)二、二、I/OI/O指令及其执行过程指令及其执行过程1 1、I/OI/O指令指令IN AL,PORTIN AX,PORTIN AL,DXIN AX,DXOUT PORT,ALOUT PORT,AXOUT DX,ALOUT DX,AX其中PORT为直接端口地址;8086CPU能寻址216个I/O端口。2、I/O指令的执行过程指令的执行过程 IN指令执行时序;指令执行时序;OUT指令执行时序。指令执行时序。浮空数据输入地址输出总线周期T1T2T4T3,TwM/IOCLKALEAD15AD0RDIN指令执行时序示意图由由DX或指令给或指令给出的端口地址出的端口地址数据由接口电路准数据由接口电路准备好并送上系统数备好并送上系统数据总线据总线CPU采样数采样数据总线据总线数据输出地址输出总线周期T1T2T4T3,TwM/IOCLKALEAD15AD0WROUT指令执行时序示意图由由DX或指令给或指令给出的端口地址出的端口地址AL或或AX中数中数据输出到系统据输出到系统数据总线数据总线此时接口电此时接口电路应捕获数路应捕获数据总线上数据总线上数据据2、I/OI/O接口编址方式接口编址方式(1 1)独立编址输入输出)独立编址输入输出 I/OI/O空间与存储器空间分开编址;空间与存储器空间分开编址;设置专用的输入输出指令;设置专用的输入输出指令;设置专用的控制信号设置专用的控制信号M/M/(2 2)存储器映像输入输出)存储器映像输入输出 I/OI/O操作与存储器操作指令相同;操作与存储器操作指令相同;I/OI/O接口占用存储空间;接口占用存储空间;IO端口:外设接口中可被主机直接访问的寄存器。端口:外设接口中可被主机直接访问的寄存器。端口编址:便于访存,为端口编译地址。端口编址:便于访存,为端口编译地址。三、输入输出端口地址译码三、输入输出端口地址译码 I/OI/O端口地址译码与存储器地址译码非常相似;端口地址译码与存储器地址译码非常相似;考虑考虑M/M/0 0为为I/OI/O操作;操作;长格式长格式I/OI/O指令可只译码指令可只译码A A7 7A A0 0,短格式,短格式 I/OI/O指令必须译码指令必须译码A A1515A A0 0地址线;地址线;如同存储器一样,如同存储器一样,8086CPU8086CPU的的I/OI/O系统包含两系统包含两个个8 8位位I/OI/O体,如下图所示。体,如下图所示。8088CPU8088CPU只有一个只有一个I/OI/O体,执行体,执行1616位位I/OI/O指令时,需要两次总线指令时,需要两次总线操作,分别读操作,分别读/写高写高/低字节;低字节;IOFFFFFFFDFFFB00030001BHE=0对应D15D8FFFEFFFCFFFA00020000A0=0对应D7D08086中的I/O体 8086CPU中8位与16位I/O端口的译码。例:设两个输出端口地址为0FEH0FFH,设计其输出电路。执行:OUT 0FEH,AL 时,AL内容送74LS3741执行:OUT 0FFH,AL 时,AL内容送74LS3742执行:OUT 0FEH,AX 时,AL内容送74LS741,AH内 容送74LS742。需要注意的是,执行OUT 0FFH,AL指令时,AL内容是由CPU数据总线的D15D8送出。74LS3741DI7DI0Q7Q0OECLK74LS3742DI7DI0Q7Q0OECLKD7D0D15D8&A7A6A5A4A3A2A11M/IOWR11A0BHE0FEH0FFH8位或16位输出电路原理图第二节第二节 8086/8088 CPU与与外设间数据交换方式外设间数据交换方式无条件传送无条件传送查询传送查询传送中断控制方式中断控制方式存储器直接存取控制方式存储器直接存取控制方式第二节第二节 8086/8088 CPU与与外设间数据交换方式外设间数据交换方式一、程序控制方式一、程序控制方式程序控制方式是指程序控制方式是指CPUCPU与外设间的数据交换在程序与外设间的数据交换在程序控制下进行控制下进行 无条件传送方式无条件传送方式 条件传送方式条件传送方式1.1.无条件传送方式无条件传送方式 无条件无条件输入输入不管外设状态,不管外设状态,CPUCPU执行执行ININ指令直接从端口输指令直接从端口输入即为无条件输入。入即为无条件输入。无条件无条件输出输出不管外设状态,不管外设状态,CPUCPU执行执行OUTOUT指令直接将数据输指令直接将数据输出到端口即为无条件输出。出到端口即为无条件输出。无条件输入输出要求外设在任何时候都能与无条件输入输出要求外设在任何时候都能与CPUCPU交换信息;交换信息;输入端口只需输入端口只需缓冲缓冲,而输出端口,而输出端口一般都需要加一般都需要加入锁存器。入锁存器。外设已经准备好,外设已经准备好,外部控制过程的动外部控制过程的动作时间固定作时间固定无条件传送方式的输入输出原理无条件传送方式的输入输出原理Q Q7 7Q Q0 0D D7 7D D0 0OECLKCPU数据总线数据总线G数据输出数据输出至外设至外设来自外设数据来自外设数据D7D0三态缓冲三态缓冲器器端口端口译码器译码器1WR地址地址输入输入1RD端口译码信号端口译码信号M/IO2.2.条件传送方式(查询方式)条件传送方式(查询方式)条件传送即程序查询方式,是指条件传送即程序查询方式,是指CPUCPU在传送数据前,首先通在传送数据前,首先通过查询确认外设准备好了才传送数据,否则,过查询确认外设准备好了才传送数据,否则,CPUCPU等待。从等待。从而较好地解决了而较好地解决了CPUCPU与外设传送与外设传送数据时不同步数据时不同步的问题。的问题。查询的一般步骤:查询的一般步骤:从从/端口读入设备状态信息并确定外设是否准备好交换端口读入设备状态信息并确定外设是否准备好交换数据;数据;若外设没有准备好,则重复执行第直到设备准备好为止;若外设没有准备好,则重复执行第直到设备准备好为止;CPUCPU执行执行I/OI/O指令,从指令,从/端口读端口读/写入数据,同时复位写入数据,同时复位/端口的状态字。端口的状态字。(1)查询式输入当外设有数据要传送到CPU时,应将数据送上外设数据总线并发出选通信号(STB)选通信选通信号号STB查询方式输入原理查询方式输入原理RDCPU数据总线数据总线数据端口译码信号数据端口译码信号数据数据输输入入设设备备1状态信息状态信息READY锁存器锁存器8D Q QDQCLR5V8状态端口译码信号状态端口译码信号1RD查询输入方式的基本程序查询输入方式的基本程序设外设状态信息接到系统数据总线的设外设状态信息接到系统数据总线的D7位。位。IN AL IN AL,STATUS_PORT STATUS_PORT;读状态端口;读状态端口 TEST ALTEST AL,80H 80H ;检查;检查READYREADY是否是是否是1 1 JE POLL JE POLL ;未准备好,循环再查;未准备好,循环再查 IN ALIN AL,DATA_PORT DATA_PORT ;从数据端口输入数据;从数据端口输入数据POLL:POLL:(2 2)查询式输出)查询式输出5V查询式输出接口电路原理查询式输出接口电路原理WRCPU数据总线数据总线数据端口译码数据端口译码数据数据输输出出设设备备1状态信息状态信息BUSYACK状态端口译码状态端口译码1RD锁存器锁存器8DQDQCLR选通信号选通信号外设接收完数据后应给出应答信号ACK,表示数据已接收到,BUF为数据准备好信号,用于通知外设CPU已输出新的数据。查询式I/O的实质是软硬件配合完成外设与CPU之间的状态“握手”与数据交换。BUF查询输出方式的基本程序查询输出方式的基本程序设外设状态信息接到系统数据总线的设外设状态信息接到系统数据总线的D7位。位。IN AL IN AL,STATUS_PORT STATUS_PORT;读状态端口;读状态端口 TEST ALTEST AL,80H 80H ;检查;检查BUSYBUSY是否是是否是1 1 J JNE NE POLL POLL ;未准备好,循环再查;未准备好,循环再查 MOV AL MOV AL,DATA_OUTDATA_OUT OUT DATA_PORT,AL OUT DATA_PORT,AL ;从数据端口输入数据;从数据端口输入数据POLL:POLL:三三 DMADMA(直接存储器存取)方式(直接存储器存取)方式外部设备利用专用的接口电路直接和存储器直接和存储器进行高高速传送速传送;不经过CPU数据的传输速度基本上决定于外设和存储器的速度适用于高速I/O设备和成批数据交换,总线占用二、中断控制二、中断控制I/OI/O方式方式 中断控制中断控制I/OI/O方式能方式能及时及时处理系统中多个外处理系统中多个外设的数据传输过程。设的数据传输过程。中断控制方式的输入接口电路原理中断控制方式的输入接口电路原理RDCPU数据总线数据总线端口译码信号端口译码信号数据数据输输入入设设备备1锁存器锁存器8DQ QDQCLR+5V8选通信选通信号号STB中断请求触发器中断请求触发器INTAINT第三节第三节 82C55并行并行I/O接口接口(1)使用可编程芯片的原因使用可编程芯片的原因简化应用电路设计,增加硬件电路灵活性。简化应用电路设计,增加硬件电路灵活性。(2)可编程芯片内部的一般结构可编程芯片内部的一般结构通常芯片内部有通常芯片内部有多个端口多个端口,包括,包括命令口命令口、状态口状态口和和数据口数据口 多个内部端口由内总线连接。多个内部端口由内总线连接。(3)外部特性外部特性 引脚大致分为两部分引脚大致分为两部分 与与CPU连接引脚连接引脚 与外设连接引脚;与外设连接引脚;片选、内部端口选择线(寻址内部端口)、读片选、内部端口选择线(寻址内部端口)、读/写控制等;写控制等;数据线、控制输出与外设状态输入等引脚;数据线、控制输出与外设状态输入等引脚;(4)命令字与初始化编程命令字与初始化编程 将命令字写入命令口,芯片将命令字写入命令口,芯片内部逻辑解释内部逻辑解释命令字命令字后即可规定芯片功能;后即可规定芯片功能;正常操作芯片前一般要求正常操作芯片前一般要求初始化芯片初始化芯片。一、一、82C55内部结构内部结构 82C5582C55内部共有内部共有四个独立编址端口四个独立编址端口一个命令口一个命令口三个相互独立的输入输出数据端口(端口三个相互独立的输入输出数据端口(端口A A、B B和和C C)数据口具有可编程选择的多种功能数据口具有可编程选择的多种功能端口端口AC口口高四位高四位C口口低四位低四位A组组控制控制端口端口BB组组控制控制数据总数据总线缓冲线缓冲读读/写写控制控制逻辑逻辑8位内部位内部数据总线数据总线I/OPA7PA0I/OPC7PC4I/OPC3PC0I/OPB7PB0D7D0数据总线数据总线RDWRA0CSA1RESET外设接口外设接口内部控制逻辑内部控制逻辑CPU接口接口一、一、82C55内部结构内部结构一、一、82C55内部结构内部结构外设接口外设接口端口端口A A、B B和和C C可与外部设备相连接可与外部设备相连接用于数据用于数据输出输出时具有时具有锁存缓冲器功能锁存缓冲器功能数据数据输入输入时时A A口、口、B B口具有锁存功能,口具有锁存功能,C C口具有缓冲功能口具有缓冲功能。端口端口C C可作为可作为外设控制和状态信息的端口外设控制和状态信息的端口。它可以分成。它可以分成为两个为两个4 4位的端口,每个端口包含一个位的端口,每个端口包含一个4 4位的输入输出位的输入输出引脚。引脚。2.2.内部逻辑内部逻辑内部逻辑包括内部逻辑包括A A组和组和B B组控制电路。这是两组根据组控制电路。这是两组根据CPUCPU的命的命令字控制令字控制82C5582C55工作方式的电路。每组控制电路从读写工作方式的电路。每组控制电路从读写控制逻辑接受各种命令,从内部数据总线接收控制字并控制逻辑接受各种命令,从内部数据总线接收控制字并发出适当的命令到各自相应的端口发出适当的命令到各自相应的端口3.3.与与CPUCPU接口接口(1 1)数据总线缓冲器;)数据总线缓冲器;(2 2)读写控制逻辑。)读写控制逻辑。二、二、82C5582C55外部特性外部特性1.1.与外设连接的引脚与外设连接的引脚分为分为PAPA7 7PAPA0 0、PBPB7 7PBPB0 0和和PCPC7 7PCPC0 0三组,分别对三组,分别对应于应于A A、B B、C C三个端口,全为双向、三态引脚。三个端口,全为双向、三态引脚。2.2.与与CPUCPU连接的引脚连接的引脚 RESETRESET复位输入信号,高电平有效。复位时复位输入信号,高电平有效。复位时清零所有内部寄存器,置清零所有内部寄存器,置A A、B B、C C三个端口为输三个端口为输入方式,对应的入方式,对应的PAPA7 7PAPA0 0、PBPB7 7PBPB0 0、PCPC7 7PCPC0 0引引脚均为高阻状态。脚均为高阻状态。芯片选择信号输入、低电平有效。只有芯片选择信号输入、低电平有效。只有当它为低电平时,当它为低电平时,82C5582C55才才能被才才能被CPUCPU操作。操作。CS A A0 0和和A A1 1芯片内部寄存器地址选择信号,芯片内部寄存器地址选择信号,当当 有效时,有效时,82C5582C55被选中,再由被选中,再由A A0 0、A A1 1的的编码决定是选端口编码决定是选端口A A、B B、C C还是控制寄存器。还是控制寄存器。读信号,输入,低电平有效。为低读信号,输入,低电平有效。为低电平时,电平时,82C5582C55内部内部A A、B B和和C C可输出到数据可输出到数据引脚引脚D D7 7D D0 0。写信号,输入,低电平有效。为低写信号,输入,低电平有效。为低电平时,数据引脚电平时,数据引脚D D7 7D D0 0上的数据或命令被上的数据或命令被82C5582C55读入。读入。82C5582C55的操作逻辑。如下表。的操作逻辑。如下表。RDCSWRCSA A1 1A A0 0RDWR操作说明操作说明1 1 芯片未选中,数据总线为高阻态芯片未选中,数据总线为高阻态1 11 1数据总线为高阻态数据总线为高阻态0 01 11 10 01 1非法操作,读控制寄存器无意义非法操作,读控制寄存器无意义0 00 00 00 01 1读读 A A 口数据口数据0 00 01 10 01 1读读 B B 口数据口数据0 01 10 00 01 1读读 C C 口数据口数据0 00 00 01 10 0写写 A A 口数据口数据0 00 01 11 10 0写写 B B 口数据口数据0 01 10 01 10 0写写 C C 口数据口数据0 01 11 11 10 0命令写入控制口寄存器命令写入控制口寄存器82C55操作逻辑真值表三、三、82C5582C55的控制字的控制字1.82C551.82C55方式选择控制字格式方式选择控制字格式标识位标识位D7=1A组方式选择位组方式选择位00方式方式001方式方式11方式方式2A口:口:0输出输出1输入输入PC3PC0:0输出输出1输入输入B口:口:0输出输出1输入输入B组方式选择位组方式选择位0方式方式01方式方式1PC7PC4:0输出输出1输入输入D7D6D5D4D3D2D1D0A组控制B组控制控制标识2.82C552.82C55按位置位复位的控制字按位置位复位的控制字 端口端口C置位置位/复位控制字格式复位控制字格式选中位操作:选中位操作:1置置10清清0标识位标识位D7=0未使用未使用位选择位选择000bit0001bit1010bit2011bit3100bit4101bit5110bit6111bit7端口端口C置位置位/复位控制字复位控制字D7D6D5D4D3D2D1D03.82C55的初始化编程举例的初始化编程举例例例1:要求:要求82C55端口端口A以方式以方式0输出,端口输出,端口B以方式以方式1输入,输入,C口以方式口以方式0输入,设计其初始化程序。输入,设计其初始化程序。设控制口地址为设控制口地址为PORT_CONMOV DX,PORT_CONMOV AL,1 OUT DX,AL10000110B初始化后,如要从初始化后,如要从A口输出数据口输出数据MOV DX,PORT_AMOV AL,DATAOUT DX,AL例例2 2:端口:端口C C的的PCPC0 0位要求清位要求清0 0,则控制字为,则控制字为00000000B00000000B,即,即00H00H;而端口而端口C C的的PCPC7 7位要求置位要求置1 1,则控制字为,则控制字为00001111B00001111B(0FH0FH)。)。设设82C5582C55的控制寄存器的端口地址为的控制寄存器的端口地址为PORT_CONPORT_CON,则下面的程,则下面的程序段可实现序段可实现PCPC7 7输出高电平,输出高电平,PCPC0 0输出低电平。输出低电平。MOV DXMOV DX,PORT_CON PORT_CON ;控制口地址送;控制口地址送DXDXMOV ALMOV AL,0FH 0FH ;PCPC7 7置置1 1控制字控制字OUT DXOUT DX,AL AL ;PCPC7 7置置1 1操作操作MOV ALMOV AL,00H 00H ;PCPC0 0清清0 0控制字控制字OUT DXOUT DX,AL AL ;PCPC0 0清清0 0操作操作四、四、82C5582C55工作方式工作方式0 0 方式方式0 0下,各端口实际上工作于下,各端口实际上工作于无条件传输方式无条件传输方式。方式方式0 0的工作特点的工作特点两个两个8 8位端口:端口位端口:端口A A和端口和端口B B。两个四位端口:。两个四位端口:端口端口C C的高的高4 4位和低位和低4 4位;位;任何一个端口都可以作为输入输出(由程序设任何一个端口都可以作为输入输出(由程序设定);定);输出锁存;输出锁存;输入只是缓冲;输入只是缓冲;在方式在方式0 0时各个端口的输入输出可以有时各个端口的输入输出可以有1616种组种组合方式。合方式。五、方式五、方式0 0输入时的等效模型输入时的等效模型PC7PC0PA7PA0A组组控制控制B组组控制控制数据总数据总线缓冲线缓冲读读/写写控制控制逻辑逻辑8位内部位内部数据总线数据总线PB7PB0D7D0数据总线数据总线RDWRA0CSA1RESET外设接口外设接口内部控制逻辑内部控制逻辑CPU接口接口NOTE:假定三个端口都被设定为方式:假定三个端口都被设定为方式0输入输入六、方式六、方式0 0输出时的等效模型输出时的等效模型PC7PC0PA7PA0A组组控制控制D QB组组控制控制数据总数据总线缓冲线缓冲读读/写写控制控制逻辑逻辑8位内部位内部数据总线数据总线PB7PB0D7D0数据总线数据总线RDWRA0CSA1RESET外设接口外设接口内部控制逻辑内部控制逻辑CPU接口接口NOTE:假定三个端口都被设定为方式:假定三个端口都被设定为方式0输出输出D QD Q方式方式0应用举例应用举例例:某例:某8086最小系统中用最小系统中用82C55扩展扩展8位位LED显示器,设显示器,设82C55占用占用I/O端口地址端口地址0FFF8H0FFFFH,编程显示数字,编程显示数字“76543210”。解题分析:解题分析:82C55内部有四个端口,为何在内部有四个端口,为何在8086系统中要占用系统中要占用 0FFF8H0FFFFH共共8个端口地址?个端口地址?8位位LED显示器采用动态显示方式;显示器采用动态显示方式;LED数码管的功率驱动问题;数码管的功率驱动问题;82C55与与 8086的连接电路的连接电路&A15A14A13A12A11A10A9A8A7A6A5A4A31 M/IO82C55D7D0CSRDWRRESET接系统复位接系统复位A1A0A2A1RDWRPA口PB口PC口D7D0PA7PA0PB7PB0PC7PC0A0数码管显示器驱动电路(选共阴极数码管)数码管显示器驱动电路(选共阴极数码管)COMCOMaaggPA6PA0PB7PB0VCCVCCa七段七段LEDLED及其接法及其接法共阴极接法段选择码:共阴极接法段选择码:共阳极接法段选择码:共阳极接法段选择码:g f e d c b a g f e d c b ag f e d c b a g f e d c b a0 1 1 1 1 1 10 1 0 0 0 0 0 000 1 1 1 1 1 10 1 0 0 0 0 0 000 0 0 0 1 1 01 1 1 1 1 0 0 110 0 0 0 1 1 01 1 1 1 1 0 0 111 0 1 1 0 1 12 0 1 0 0 1 0 021 0 1 1 0 1 12 0 1 0 0 1 0 02 1 1 0 1 1 1 19 0 0 1 0 0 0 091 1 0 1 1 1 19 0 0 1 0 0 0 09bcdefgagag5VR七段七段LEDLED共阴极接法共阴极接法共阳极接法共阳极接法COM显示控制程序显示控制程序Datasegmenttabledb 40H,79H,24H,40H,79H,24H,;定义段显示码表定义段显示码表posposdb 0fehdb 0feh,0fdh,0fch,0fdh,0fch,;显示位置码;显示位置码DataDataendsendscodecodesegmentsegmentassume cs:code,ds,dataassume cs:code,ds,datadisdisproc farproc farstart:push dsstart:push dsxor ax,axxor ax,axpush axpush axmov ax,datamov ax,datamov ds,axmov ds,ax ret retdisdisendpendpcodecodeendsendsend startend start.mov al,mov al,10000000B10000000B;初始化字;初始化字mov dx,mov dx,0fffeh0fffehout dx,alout dx,al;输出初始化字;输出初始化字la0:la0:mov cx,8mov cx,8;显示;显示8 8位位lea si,tablelea si,table;表首址;表首址mov bl,posmov bl,posla1:la1:mov al,simov al,simov dx,mov dx,0fff8h0fff8hout dx,alout dx,al;A A口输出段选码口输出段选码mov dx,mov dx,0fffah0fffahmov al,blmov al,blout dx,alout dx,al;B B口输出位选码口输出位选码inc siinc sirol bl,1rol bl,1call delaycall delay;显示延时;显示延时loop la1loop la1Datasegmenttabledb 40H,79H,24H,40H,79H,24H,;定义段显示码表定义段显示码表posposdb 0fehdb 0feh;显示位置码;显示位置码DataDataendsendscodecodesegmentsegmentassume cs:code,ds,dataassume cs:code,ds,datadisdisproc farproc farstart:push dsstart:push dsxor ax,axxor ax,axpush axpush axmov ax,datamov ax,datamov ds,axmov ds,axmov al,mov al,10000000B10000000B;初始化字;初始化字mov dx,mov dx,0fffeh0fffehout dx,alout dx,al;输出初始化字;输出初始化字la0:la0:mov cx,8mov cx,8;显示;显示8 8位位lea si,tablelea si,table;表首址;表首址mov bl,posmov bl,posla1:la1:mov al,simov al,simov dx,0fff8hmov dx,0fff8hout dx,alout dx,al;A A口输出段选码口输出段选码mov dx,0fffahmov dx,0fffahmov al,blmov al,blout dx,alout dx,al;B B口输出位选码口输出位选码inc siinc sirol bl,1rol bl,1call delaycall delay;显示延时;显示延时loop la1loop la1retretdisdisendpendpcodecodeendsendsend startend start工作方式工作方式1工作方式工作方式1 1的特点的特点 方式方式l l是一种选通是一种选通I IO O方式方式(需使用需使用“握手握手”控制信号);控制信号);只有只有A A和和B B口能够工作于方式口能够工作于方式1 1,此时此时C口的口的部分引脚作为部分引脚作为A、B口的口的“握手握手”信号,其信号,其余引脚可工作于方式余引脚可工作于方式0输入或输出;输入或输出;1)A、B端口设定为方式端口设定为方式1时,其工作过程类时,其工作过程类似查询式数据传输,似查询式数据传输,C口有关位表征口有关位表征A、B口的状态。口的状态。方式方式1输入的有关控制信号输入的有关控制信号端口端口A方式方式1输入结构图输入结构图INTRAPA7PA0PC4PC5PC3INTEA&STBAIBFAI/OPC7PC6(PC4)RD锁存缓冲D7D0方式方式1输入的有关控制信号输入的有关控制信号STB#(Strobe)STB#(Strobe)选通输入。应由外设产生选通输入。应由外设产生的数据选通信号,低电平有效。送入端口的数据选通信号,低电平有效。送入端口C C的的PC4PC4或或PC2PC2。当为有效低电平时,将端口。当为有效低电平时,将端口A A或或B B引脚上的数据选通并锁存入相应的输入引脚上的数据选通并锁存入相应的输入锁存器中。锁存器中。IBF(Input Buffer Full)IBF(Input Buffer Full)输入缓冲器满。输入缓冲器满。由由82C5582C55的的PCPC5 5或或PCPC1 1位发出的应答信号,高位发出的应答信号,高电平有效。电平有效。表明表明82C5582C55在在其其输入缓冲区中存输入缓冲区中存放了一个新的数据,以备放了一个新的数据,以备CPUCPU读取读取 。方式方式1输入的有关控制信号输入的有关控制信号INTR(Interrupt Request)INTR(Interrupt Request)中断请求信号。中断请求信号。当当82C5582C55的输入端口有新数据时,的输入端口有新数据时,INTRINTR信号信号将变为高电平。在系统中,通常作为将变为高电平。在系统中,通常作为CPUCPU的查的查询信号或询信号或82C5582C55向向CPUCPU发出的中断请求信号。发出的中断请求信号。高电平有效。高电平有效。INTE(Interrupt Enable)INTE(Interrupt Enable)中断允许。只中断允许。只有当有当INTEINTE1 1时,端口时,端口A A或或B B才可能向才可能向CPUCPU发出发出中断请求中断请求INTRINTR。INTEINTE由软件通过对由软件通过对C C口的置位口的置位或复位指令来实现对中断的控制,或复位指令来实现对中断的控制,PCPC4 4和和PCPC2 2的的置位复位操作分别用于控制端口置位复位操作分别用于控制端口A A和端口和端口B B的的INTEINTE信号,这完全是信号,这完全是82C5582C55的内部操作。操的内部操作。操作时对作时对PCPC4 4和和PCPC2 2引脚的逻辑状态完全没有影响。引脚的逻辑状态完全没有影响。方式方式1输入时的状态字输入时的状态字 端口端口A A和端口和端口B B工作于方式工作于方式1 1输入时,端口输入时,端口C C的内的内容容表征表征A A、B B口的状态口的状态,其各位的意义如下:,其各位的意义如下:程序可通过读入程序可通过读入C C口内容查询方式口内容查询方式1 1时时A A、B B口的口的状态。状态。D7D6D5D4D3D2D1D0I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB方式方式1输入的工作时序输入的工作时序tSIBTPHTRITSTBtSTIBFINTRRDTSITTRIB来自外设的数据来自外设的数据TPS方式方式1输入过程由外设发起,到输入过程由外设发起,到CPU读出数据结束读出数据结束方式方式1输出的有关控制信号输出的有关控制信号端口端口A方式方式1输出结构示意图输出结构示意图PA7PA0PC6PC7PC3INTEA&ACKAOBFAI/OPC4PC5(PC6)WRINTRA锁存缓冲方式方式1输出的有关控制信号输出的有关控制信号OBF#(Output Buffer Full)OBF#(Output Buffer Full)输出缓冲器输出缓冲器满满。表明表明CPUCPU已将待输出的数据写入指定端已将待输出的数据写入指定端口的数据寄存器中,通知外设可从指定端口的数据寄存器中,通知外设可从指定端口读取数据。低电平有效。口读取数据。低电平有效。该信号该信号由由82C5582C55送给外设,送给外设,外设的应答外设的应答ACKACK信号信号有效时有效时使使它恢复为高电平。它恢复为高电平。ACK#(Acknowledge)ACK#(Acknowledge)响应输入响应输入。外设给外设给出的响应信号,外设收到数据后应送出,出的响应信号,外设收到数据后应送出,作为对作为对82C5582C55的响应的响应。低电平有效。低电平有效。方式方式1输出的有关控制信号输出的有关控制信号 INTR INTR用于向用于向CPUCPU发出中断请求信号,通知发出中断请求信号,通知CPUCPU外外设已将数据取走,可输出新数据。设已将数据取走,可输出新数据。INTEINTE82C5582C55中断允许信号,用于控制是否能向中断允许信号,用于控制是否能向CPUCPU发发INTRINTR信号。信号。方式方式1输出时的状态字输出时的状态字端口端口C C的内容表征端口的内容表征端口A A和端口和端口B B工作于方式工作于方式1 1输出输出时的状态,其各位的意义如下:时的状态,其各位的意义如下:D D7 7D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0OBFOBFA AINTEINTEA AI/OI/OI/OI/OINTRINTRA AINTEINTEB BOBFBOBFBINTINTRBRB方式方式1输出的工作时序输出的工作时序送外设的数据送外设的数据WRTAOBTAKINTRACKTAITTWITTWBOBF端口数据有效端口数据有效方式方式1输出由输出由CPU执行输出指令开始,至外设读走数据结执行输出指令开始,至外设读走数据结束束工作方式工作方式2工作方式工作方式2 2的特点的特点 方式方式2 2是一种双向选通是一种双向选通I IO O方式方式(需使用需使用“握手握手”控制信号控制信号),82C55A82C55A口能自动转换为输入或输出,口能自动转换为输入或输出,无需象方式无需象方式1 1时需初始化设置;时需初始化设置;只有只有A A口能够工作于方式口能够工作于方式2 2,此时此时C口的部分引脚口的部分引脚作为作为A口的口的“握手握手”信号,其余引脚可工作于方信号,其余引脚可工作于方式式0输入或输出;输入或输出;B口可工作于方式口可工作于方式0或方式或方式1;方式方式2可近似看作是可近似看作是A口工作于方式口工作于方式1时输入与输时输入与输出的组合;出的组合;1)方式方式2的工作状态可由的工作状态可由C口读出,具体含义参考教口读出,具体含义参考教材材P266表格。表格。应用举例应用举例 例例 设计双机并行通信接口。要求在设计双机并行通信接口。要求在A A、B B两台微机两台微机之间并行传送之间并行传送1K1K字节数据,字节数据,A A机发送,机发送,B B机接收。机接收。A A机一侧的机一侧的82C5582C55采用方式采用方式1 1工作,工作,B B机一侧的机一侧的82C5582C55采用方式采用方式0 0工作。两机的工作。两机的CPUCPU与与82C5582C55之间都之间都采用查询方式工作。采用查询方式工作。解解:(1)(1)硬件连接(如图示)硬件连接(如图示)A A机的机的82C5582C55工作于方式工作于方式1 1,选,选A A口输出,口输出,PCPC7 7和和PCPC4 4引脚固定作为联络控制线引脚固定作为联络控制线OBF#OBF#和和ACK#ACK#。B B机的机的82C5582C55工作于方式工作于方式0 0,选,选A A口输入,引脚口输入,引脚PCPC4 4和和PCPC0 0作作联络控制线。虽然两侧的联络控制线。虽然两侧的82C5582C55都设置了联络控都设置了联络控制线,但有本质的区别,前者的联络控制线是固制线,但有本质的区别,前者的联络控制线是固定的,没有选择余地,后者的联络控制线并不固定的,没有选择余地,后者的联络控制线并不固定,实际上有多种选择方式,如可选定,实际上有多种选择方式,如可选PCPC4 4和和PCPC2 2或或PCPC5 5和和PCPC3 3等等。等等。82C55PA07PC4PC0PC57PC13PB07OBF82C55PA07PC7PC6PC3PC05PB07未使用CPU数据总线CPU数据总线ACKA机B机双机并行通信接口电路示意图双机并行通信接口电路示意图 软件设计软件设计 假定假定A A、B B两机中两机中82C5582C55的端口地址都为的端口地址都为300H300H303H303H,程序如下,程序如下:(1 1)A A机发送程序机发送程序(1 1)A A机发送程序机发送程序MOV DXMOV DX,303H 303H ;82C5582C55命令口命令口MOV ALMOV AL,10100000B10100000BOUT DXOUT DX,AL AL ;写工作方式字;写工作方式字MOV AXMOV AX,030H030HMOV ESMOV ES,AX AX ;建立数据块的段基址;建立数据块的段基址MOV BXMOV BX,00 00 ;数据块的偏移地址;数据块的偏移地址MOV CXMOV CX,3FFH 3FFH ;发送数据块长度;发送数据块长度MOV DXMOV DX,300H 300H ;82C5582C55的的A A口口MOV ALMOV AL,ES:BX ES:BX ;取第一个数据;取第一个数据OUT DXOUT DX,AL AL ;输出第一个数据;输出第一个数据INC BX INC BX ;数据块地址指针调整;数据块地址指针调整L:MOV DXL:MOV DX,302H 302H ;82C5582C55的的C C口口IN ALIN AL,DX DX ;输入;输入C C口状态字口状态字TEST ALTEST AL,80H 80H ;查询状态;查询状态JNZ L JNZ L ;1 1,表明输出数据未被取走,继续查询,表明输出数据未被取走,继续查询MOV DXMOV DX,300H 300H ;数据已被取走,准备输出下一个数据;数据已被取走,准备输出下一个数据MOV ALMOV AL,ES:BXES:BXOUT DXOUT DX,AL AL ;再输出一个数据;再输出一个数据INC BX INC BX ;数据块地址指针调整;数据块地址指针调整DEC CX DEC CX ;数据块长度减;数据块长度减1 1JNZ L JNZ L ;传送未完,继续;传送未完,继续MOV AXMOV AX,4C00H 4C00H ;INT 21H INT 21H ;传送完毕,退回;传送完毕,退回DOSDOS(2 2)B B机接收程序机接收程序MOV DXMOV DX,303H 303H ;82C5582C55命令口命令口MOV ALMOV AL,10011000B10011000BOUT DXOUT DX,AL AL ;写工作方式字;写工作方式字MOC ALMOC AL,00000001B 00000001B ;C C口置位复位控制字口置位复位控制字OUT DXOUT DX,AL AL ;置;置1 1(PCPC0 01 1)MOV AXMOV AX,040H040HMOV ESMOV ES,AX AX ;建立数据块的段基址;建立数据块的段基址MOV BXMOV BX,00 00 ;数据块的偏移地址;数据块的偏移地址MOV CXMOV CX,400H 400H ;接收数据块长度;接收数据块长度L:MOV DXL:MOV DX,302H 302H ;82C5582C55的的C C口口地址地址IN ALIN AL,DX DX ;输入;输入C C口状态字口状态字TEST ALTEST AL,10H 10H ;查询;查询A A机状态机状态JNZ L JNZ L ;1 1,表明没有输出新数据,继续查询,表明没有输出新数据,继续查询MOV DXMOV DX,300H 300H ;有新数据,本机准备输入数据;有新数据,本机准备输入数据IN DXIN DX,AL AL ;输入一个数据;输入一个数据MOV ES:BXMOV ES:BX,AL AL ;存数据;存数据MOV DXMOV DX,303H303HMOV ALMOV AL,00000000B 00000000B ;C C口置位复位控制字,使口置位复位控制字,使PC0PC00 0OUT DXOUT DX,AL AL ;清除;清除0 0(PCPC0 00 0)NOPNOPMOV ALMOV AL,00000001B00000001BOUT DXOUT DX,AL AL ;置;置PC0PC01 1,信号产生低电平脉冲,信号产生低电平脉冲INC BX INC BX ;数据块地址指针调整;数据块地址指针调整DEC CX DEC CX ;数据块长度减;数据块长度减1 1JNZ L JNZ L ;接收未完,继续;接收未完,继续MOV AXMOV AX,4C00H 4C00H ;INT 21H INT 21H ;接收完毕,退回;接收完毕,退回DOSDOS82C55接口芯片小结接口芯片小结可编程可编程I/O接口芯片,意味着芯片功能可接口芯片,意味着芯片功能可程控,或者说芯片的功能组态可由软件程控,或者说芯片的功能组态可由软件改变;改变;理解两个控制字各位的含义(方式控制理解两个控制字各位的含义(方式控制字、字、C口置位口置位/复位控制字),会按端口复位控制字),会按端口A、B、C的功能要求编写控制字;的功能要求编写控制字;82C55三种工作方式:三种工作方式:方式方式0类似无条件数据传输接口;类似无条件数据传输接口;方式方式1类似查询式数据传输接口,类似查询式数据传输接口,82C5582C55接口芯片小结接口芯片小结 通过选通方式与外设交换数据通过选通方式与外设交换数据(由由82C55硬件完成),随后由硬件完成),随后由82C55通知通知CPU进行进行必要的处理(必要的处理(INTR信号,信号,CPU可采用中可采用中断或查询程序进行处理);断或查询程序进行处理);方式方式2可近似认为是可近似认为是A口方式口方式1输入与输出输入与输出的组合。的组合。4.掌握掌握82C55与与8086最小系统的连接方法,最小系统的连接方法,注意由于注意由于82C55数据总线为数据总线为8位,与位,与16位位数据总线的数据总线的CPU简单连接简单连接时占用多时占用多1倍的倍的端口资源;端口资源;82C55接口芯片小结接口芯片小结选用工作方式的依据是外设的数据接口选用工作方式的依据是外设的数据接口特性;特性;多思考多思考82C55的使用方法。的使用方法。可编程计数器可编程计数器/定时器定时器8253/8254 70一、8253/8254功能概述 可编程硬件定时器可编程硬件定时器/计数器芯片;计数器芯片;内部集成了三个独立的计数器;内部集成了三个独立的计数器;每个计数器都有自己的时钟输入每个计数器都有自己的时钟输入CLKCLK、计数输出计数输出OUTOUT和控制信号和控制信号GATEGATE ;每个计数器有每个计数器有6 6种工作方式,可程控选种工作方式,可程控选择。择。二、结构框图RDWR数据总线缓冲器读/写逻辑控制字寄存器计数器通道0计数器通道1计数器通道2CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2A0A1CSD0 D7三、8253/8254引脚及其功能 与与CPU连接的引脚功能连接的引脚功能D D7 7D D0 0三态数据输入输出总线,用于将三态数据输入输出总线,用于将82538253与系统数据总线相连,是芯片与与系统数据总线相连,是芯片与CPUCPU接口接口的数据线,的数据线,CPUCPU通过它们向通过它们向82538253读写数据、命读写数据、命令和状态信息;令和状态信息;RD#RD#读控制输入信号,低电平有效。它由读控制输入信号,低电平有效。它由CPUCPU发出,用于控制发出,用于控制82538253寄存器的读操作寄存器的读操作;WR#WR#写控制输入信号,低电平有效。它由写控制输入信号,低电平有效。它由CPUCPU发出,用于控制发出,用于控制82538253寄存器的写操作寄存器的写操作;8253/8254引脚及其功能 CS#CS#片选,输入信号,低电平有效。片选,输入信号,低电平有效。当为低电平时当为低电平时CPUCPU选中选中82538253,可以向,可以向82538253进行读写操作;进行读写操作;A A1 1A A0 0端口选择输入线端口选择输入线,用于选择用于选择82538253内部寄存器,以便对它们进行读写内部寄存器,以便对它们进行读写操作操作。8253/8254引脚及其功能 计数器引脚功能计数器引脚功能CLKCLK时钟输入信号时钟输入信号(CLK(CLK0 0、CLKCLK1 1、CLKCLK2 2)。CLKCLK引脚引脚每输入一个时钟脉冲,便使计数值每输入一个时钟脉冲,便使计数值减减1 1,它是计量的基本时钟它是计量的基本时钟信号信号。GATEGATE门选通输入信号门选通输入信号(GATE(GATE0 0、GATEGATE1 1、GATEGATE2 2)。GATEGATE信号的作用是用来禁止、允信号的作用是用来禁止、允许或开始计数过程的。许或开始计数过程的。OUTOUT计数器输出信号计数器输出信号(OUT(OUT0 0、OUTOUT1 1、OUTOUT2 2)。OUTOUT是是82538253向外输出定时或计数结果的信号。向外输出定时或计数结果的信号。8253/8254控制逻辑CS#A1A1A0A0寄存器选择及操作寄存器选择及操作0 00 00 01 10 0向计数器向计数器0 0写入写入“计数初值计数初值”0 00 01 11 10 0向计数器向计数器l l写入写入“计数初值计数初值”0 01 10 01 10 0向计数器向计数器2 2写入写入“计数初值计数初值“0 01 11 11 10 0向控制寄存器写向控制寄存器写“方式控制字方式控制字”0 00 00 00 01 1从计数器从计数器0 0读出读出“当前计数初当前计数初值值”0 00 01 10 01 1从计数器从计数器1 1读出读出“当前计数初当前计数初值值”0 01 10 00 01 1从计数器从计数器2 2读出读出“当前计数初当前计数初值值”0 01 11 10 01 1无操作三态无操作三态1 1禁止禁止0 01 11 1无操作三态无操作三态RD#WR#四、内部计数器的结构 16位当前计数值锁存器16位减1计数值16位计数初值锁存器CLKGATEOUT内部数据总线锁存后读出可随时访问五、8253/8254的控制字格式 D7D6D5D4D3D2D1D0SC1SC0RL1RL0M2M1M0BCD计数器选择位工作方式选择位读写字节数码制选择 六、8253/8254的初始化操作 每个计数器需要单独初始化;每个计数器需要单独初始化;各计数器的控制字都写入同一控制字寄存器;各计数器的控制字都写入同一控制字寄存器;8 8位计数初值只写一次到计数器端口;位计数初值只写一次到计数器端口;1616位计数初值应连续两次写入同一计数器端口位计数初值应连续两次写入同一计数器端口(先低后高先低后高)例:例:选择选择2 2号计数器,工作在方式号计数器,工作在方式2 2,计数初值为,计数初值为10001000(3E8H3E8H,2 2个字节),采用二进制计数,个字节),采用二进制计数,82538253定时计数器通道定时计数器通道0 0的端的端口地址为口地址为TIMERTIMER,则其程序段为,则其程序段为(系统系统CPUCPU为为8088)8088)。TIMER EQU 040HTIMER EQU 040HMOV ALMOV AL,10110100B 10110100B;2 2号计数器的方式控制字号计数器的方式控制字OUT TIMER+3OUT TIMER+3,AL AL ;写入控制寄存器;写入控制寄存器MOV AXMOV AX,3E8H 3E8H ;计数初值;计数初值OUT TIMER+2OUT TIMER+2,AL AL ;先送低字节到;先送低字节到2 2号计数器号计数器MOV ALMOV AL,AH AH ;取高字节;取高字节 OUT TIMER+2OUT TIMER+2,AL AL ;后送高字节到;后送高字节到2 2号计数号计数 七、读当前计数值操作(锁存后读操作)先写锁存控制字;先写锁存控制字;执行读操作执行读操作例:例:读出读出1 1号计数器的当前计数值号计
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!