![第8章输入输出接口_第1页](http://file4.renrendoc.com/view/4a98d1a041970e7465dfe7c81a89f7bc/4a98d1a041970e7465dfe7c81a89f7bc1.gif)
![第8章输入输出接口_第2页](http://file4.renrendoc.com/view/4a98d1a041970e7465dfe7c81a89f7bc/4a98d1a041970e7465dfe7c81a89f7bc2.gif)
![第8章输入输出接口_第3页](http://file4.renrendoc.com/view/4a98d1a041970e7465dfe7c81a89f7bc/4a98d1a041970e7465dfe7c81a89f7bc3.gif)
![第8章输入输出接口_第4页](http://file4.renrendoc.com/view/4a98d1a041970e7465dfe7c81a89f7bc/4a98d1a041970e7465dfe7c81a89f7bc4.gif)
![第8章输入输出接口_第5页](http://file4.renrendoc.com/view/4a98d1a041970e7465dfe7c81a89f7bc/4a98d1a041970e7465dfe7c81a89f7bc5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章输入输出接口第8章并行接口与串行接口
概述
可编程并行接口8255A主要内容教学重点
本章介绍两种通信方式与两种接口芯片,以此构建并行与串行通信系统。重点:通信的基本概念;
8255A的功能、结构与编程;难点:8255A与设备、系统的连接;
第8章教学要求1.掌握并行通信和串行通信的基本概念,2.掌握并行接口芯片8255A的基本结构和特点3.熟悉8255A的三种工作方式及其应用4.掌握8255A的控制字的含义一、CPU与外设通信特点需要有接口作为CPU与外设通讯的桥梁;需要有数据信息传送之前的“联络”;要传递的信息有三方面内容:状态、数据及控制信息。概述CPUI/O接口外设地址数据控制控制数据状态概述
接口电路通常包含一组能够与处理器交换信息的寄存器或缓冲器,称为I/O端口
数据端口——存放数据信息
状态端口——存放状态信息,即反映外设当前工作状态的信息
控制端口——存放控制信息概述
1.数据信息
(1)数字量:数字量是使用二进制形式表示的数据、图形、文字等信息。
(2)模拟量:连续变化的物理量,如温度、压力等。由传感器先将其变为电压或电流信号,通过模/数转换器变成数字量,送入计算机处理。
(3)开关量:用开关量可表示两种状态,如开关的闭与合、电机的转与停、三极管的通与断等,这样的量用一位二进制数表示即可。概述
2.状态信息
状态信息反映了外部设备当前所处的工作状态,是外部设备发送给CPU的,用来协调CPU和外部设备间的操作。对于输入设备通常用准备好(READY)信号表示输入数据是否准备好;对于输出设备常用忙(BUSY)信号表示输出设备是否处于空闲状态。若有空闲,则可接收CPU送来的信息,否则CPU将等待。概述
3.控制信息
控制信息是CPU发送给外部设备的,以控制外部设备的工作。如对外部设备的初始化、外部设备的启动和停止等控制信息。概述二、接口的功能1.对输入/输出数据进行缓冲与暂存2.实现信号形式和数据类型的转换3.缓解外部设备与CPU工作速度的差异概述三、I/O端口的寻址
微机系统中会有许多外部设备,一个外部设备的接口电路中又可能占用多个I/O端口(PORT),每个端口用来保存和交换不同的信息。每个端口必须有各自的端口地址供CPU访问。所以接口电路中包含有地址译码电路使CPU能够寻址到每个端口。概述
1.通用接口芯片
支持通用的数据输入输出和控制的接口芯片;如单向三态缓冲器74LS244,基本输出接口芯片,如锁存器74LS273和74LS373等。
2.专用接口芯片
针对某种外设设计、与该种外设接口;如并行接口8255、串行接口8250等。概述
3.面向微机系统的专用接口芯片
与CPU和系统配套使用,以增强其总体功能;如中断控制接口8259、DMA接口等。有的接口电路具有可编程性,有的接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种接口。
接口软件有两类:一是初始化程序段,用于设定芯片工作方式等;二是数据交换程序段,用于管理、控制、驱动外部设备。概述CPU与外部设备的数据交换,是通过I/O接口进行的。为了区分每一个接口,我们采用对每一个I/O接口进行编号,即称其为I/O接口的地址。利用I/O接口的地址可以很方便的确定外部设备使用的I/O接口,这就是对I/O接口的寻址。对I/O接口的编号,也称为编址,可以有两种方式。概述1.I/O接口的统一编址概述I/O端口存储单元I/O地址空间存储器地址空间整个地址空间
如图所示,在这种方式中,把外部设备接口与内存统一进行编址,故每一个外部设备端口占有存储器的一个地址。
这种编址方式的优点:可以用访向存储器的指令来访问I/O端口,而访问存储器的指令功能比较强,不仅有一般的传送指令,还有算术、逻辑运算指令,以及各种移位、比较指令等,并且可以实现直接对I/O端口内的数据进行处理。缺点是:由于I/O端口占用了一部分存储器地址空间,因而使用户的存储地址空间相对减小。另外不利于程序阅读。
在80X86系列微机系统中采用这种工作方式,外设地址空间和内存地址空间相互独立。CPU有专门的I/O指令和相应的控制电路、控制信号,用地址来区分不同的外设。2.I/O端口独立编址概述存储单元存储地址空间I/O端口I/O地址空间概述这种编址方式的优点:可以用访向存储器的指令来访问I/O端口,而访问存储器的指令功能比较强,不仅有一般的传送指令,还有算术、逻辑运算指令,以及各种移位、比较指令等,并且可以实现直接对I/O端口内的数据进行处理。缺点是:由于I/O端口占用了一部分存储器地址空间,因而使用户的存储地址空间相对减小。另外不利于程序阅读。
四、输入/输出方式1、同步传送方式2、异步查询方式程序控制传送方式3、中断方式4、直接存储器存取方式
概述一、程序控制传送方式(一)、同步传送方式(无条件方式)
CPU直接与外设传送数据并不需要了解外设状态,认为外设已经准备就绪,直接与外设传送数据
概述CPU译码数据线M/IOWR或门地址线
接口外设输出概述CPU译码数据线M/IORD或门地址线
接口外设输入概述(二)、异步查询方式
在执行输入输出前,要先查询接口中状态寄存器的状态。
概述
输入时,状态寄存器的状态指示要输入的数据是否已经准备就绪;
准备好?读取状态信息输入数据是否概述常用的状态线有IBF,READY功能:1、输入设备准备好数据,状态线有效;2、CPU读数据端口,取走数据后,状态 线转换为无效概述输出时,状态寄存器的状态指示输出设备是否空闲。忙?读取状态信息输出数据否是概述常用的状态线有empty,busy功能:1、输出设备空闲,BUSY无效;2、CPU写数据端口,输出设备输出数据, 状态线转换为有效概述(三)、中断方式
当外设作好传送准备后,主动向CPU请求中断,CPU响应中断后在中断处理程序中与外设交换数据。在中断未发生时,CPU可以执行其他程序,这样可以提高CPU的利用率。概述主程序中断服务子程序中断信号概述与程序查询方式相比,中断控制方式的数据交换具有如下特点:(1)提高了CPU的工作效率;(2)CPU具有控制外围设备服务的主动权;(3)CPU可以和外设并行工作;(4)可适合实时系统对I/O处理的要求。概述二、直接存储器存取方式(DMA)(DirectMemoryAccess)。
在高速的外设或成块交换数据的情况,采用程序控制方式进行数据的传输,是无法满足要求的。在这种情况下,采用DMA方式。概述
DMA方式是在外设与内存间建立起直接的通道,CPU不再直接参加外设和内存间的数据传输。当系统需要进行DMA传输时,将CPU对地址和数据及控制线的管理权交由DMA控制器进行控制,当完成了一次DMA数据传输后,再将这个控制权还给CPU,这些工作都是由硬件自动实现的,并不需要程序进行控制。概述CPU外设存储器总线:执行程序指令的数据传送路径;:DMA方式的数据传送路径概述内存外设DMAC输出输入外设外设DMAC内存内存DMACDMA传送的几种形式概述五、8086CPU的输入/输出1、I/O寻址64K2、8086CPU的I/O指令(1)直接寻址输入/输出指令(八位端口地址) INAL,n(字节输入) INAX,n(字输入) OUTn,AL(字节输出) OUTn,AX(字输出)概述
(2)DX寄存器间接寻址输入(十六位端口地址)
INAL,DX(字节输入) INAX,DX(字输入) OUTDX,AL(字节输出) OUTDX,AX(字输出)概述六、有关端口地址问题
a、8086CPU与外设交换数据可以字或字节进行,
b、当以字节进行时,偶地址端口的字节数据由低8位数据线D7~D0位传送,奇地址端口的字节数据由高8位数据线D15~D8传送,
c、当用户在安排外设的端口地址时,如果外设是以8位的方式与CPU连接,就只能将其数据线或者与CPU的低八位或者与高八位连接,这样同一台外设的所有寄存器端口地址都只能是偶地址或是奇地址,这时设备的端口地址就会是不连续的。概述一、并行接口的特点并行接口是在多根数据线上,以字节/字为单位与I/O设备交换数据8.1.1并行通信二、可编程并行通信接口芯片82558255芯片引脚定义与功能Intel系列的8位并行接口芯片通用性强,使用灵活可用程序设置和改变芯片的工作方式是一种典型的可编程并行接口芯片40个引脚,双列直插式8255APA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB3二、可编程并行通信接口芯片8255resetD7~D0A9~A2A1A0IORIOW片选译码数据缓冲器读写控制片内译码CSRESETA1A0RDWRPC7~PC0PB7~PB0PA7~PA0控制口D端口A端口C端口B+5VGNDD7~D0外设8255A总线二、可编程并行通信接口芯片82558255芯片引脚定义与功能1.数据端口A、B、C每个端口8位,通过编程设定其为输入口或输出口可用来和外设传送信息
端口A有3种工作方式(方式0、方式1、方式2)对外8根引脚PA7~PA0
二、可编程并行通信接口芯片82558255芯片引脚定义与功能1.数据端口A、B、C端口B
有2种工作方式:方式0、方式1对外8根引脚PB7~PB0端口C对外引脚PC0~PC7二、可编程并行通信接口芯片82558255芯片引脚定义与功能1.数据端口A、B、C
★当端口A在方式1或方式2、端口B在方式1时,端口C的某些位用于传送联络信号,以适应CPU与外设间的各种数据传送方式的要求,如查询传送的应答信号、中断传送的中断申请信号等;★C口未被用作联络信号的其它位可工作在方式0下。二、可编程并行通信接口芯片82558255芯片引脚定义与功能2.控制端口D(A组和B组控制电路)
8位端口,无对外引脚可用来和外设传送信息控制端口的内容决定A口、B口、C口的工作状态(输入或输出)
和工作方式(方式0、1、2),起控制作用。二、可编程并行通信接口芯片82558255芯片引脚定义与功能3.数据总线缓冲器(引脚D0~D7)由1个8位双向三态缓冲器构成8255A内各端口通过数据缓冲器与系统总线相连。
CPU与端口A、B、C间传送的数据,以及CPU写入控制端口D中的控制字均通过数据缓冲器传送。二、可编程并行通信接口芯片82558255芯片引脚定义与功能4.读写控制电路(引脚CS、RD、WR)控制数据总线缓冲器的状态。数据总线缓冲器有3种状态:输入、输出、高阻态二、可编程并行通信接口芯片82558255芯片引脚定义与功能5.片内译码电路(引脚A1、A0)选择被操作的端口二、可编程并行通信接口芯片82558255芯片引脚定义与功能由CS、A1、A0、RD、WR引脚的不同组合,实现各种不同的功能。
在8255A内部硬件结构中:
A口和B口之间没有硬件关系,即可分别作为独立的输入或输出端口;
C口和A口,C口和B口之间有硬件联系,通过向控制口设置控制字可以改变这种联系。三、三种工作方式三、三种工作方式根据A口和C口、B口和C口之间硬件关系的不同,可以有三种不同的工作方式,
分别称为方式0、方式1、方式2。A口或B口工作在方式0:与C口之间没有硬件联系。
A口或B口工作在方式1:C口的某3根引脚作为端口与外设的联络信号。A口工作在方式2:C口的某5根引脚作为端口与外设的联络信号。
三、三种工作方式1.方式0(基本输入输出方式)
A口工作在方式0
时,A口和C口之间没有硬件联系
B口工作在方式0
时,B口和C口之间没有硬件联系三、三种工作方式1.方式0(基本输入输出方式)
工作在方式0的端口,为单向传送端口,输入或输出
作为输入口相当于普通的三态门作为输出口相当于普通的锁存器
CPU可利用工作在方式0的端口,直接对端口进行读写操作,实现CPU与外设间的数据传送。三、三种工作方式
2.方式1(选通输入输出方式)
A口工作在方式1时,C口的某3根引脚作为A口的联络信号。
B口工作在方式1时,C口的某3根引脚作为B口的联络信号。工作在方式1的端口,为单向传送端口。在方式1下,C口作为A口、B口联络信号的引脚,其动作关系在芯片设计和制造时已固定,
不由用户自己安排,也不能编程改变。三、三种工作方式3.方式2(双向传送方式)端口工作在方式2时,C口的某5根引脚作为端口的联络信号
8255A只有A口可以工作在方式2下。与方式0和方式1不同的是:工作在方式2的端口,为双向传送端口,既可输入又可输出。方式选择控制字四、8255A的控制字10001/0011/0D7D6D5D4D3D2D1D0特征位A口方式0A口输出PC7~PC4I/OB口方式0B口输入PC3~PC0I/O所以,方式控制字为1000
0010B,即82H由于对
C口无要求,控制C口的相应位D4,D0可为任意值,假设取0例假设8255A控制端口的地址为203h,编程设置控制字,使A口方式0输出;B口方式0输入设置控制字的程序段如下:
MOVDX,203h;置DX为控制口地址
MOVAL,82h;置控制字于AL中
OUTDX,AL;将控制字写入控制口例假设8255A控制端口的地址为203h,编程设置控制字,使A口方式0输出;B口方式0输入端口C置位/复位控制字注意:C口控制字虽然是对端口C操作,但应写入到控制口地址,而不是写入到C数据口例
假设8255A的控制口地址为203h,通过控制口置PC2为0,置PC4为1
MOVDX,203H
;置DX为控制口地址MOVAL,00000100B;置PC2为0OUTDX,ALMOVAL,00001001B;置PC4为1OUTDX,AL
例:设A、B、C数据口地址分别位60H、61H、62H、控制口端口地址63H1:A口方式0,输出、B口方式0,输入,C口高4位输出,C口低4位入MOVAL,10000011BOUT63H,AL2:PC7置1,PC3置0MOVDX,63HMOVAL,0000,1111B;PC7置1OUTDX,ALMOVAL,0000,0110B;PC3置0OUTDX,AL8255的工作方式08255作为打印机接口,工作于方式01.方式0(基本输入输出方式,单向传送端口,输入或输出)程序设计:设PA、PB、PC口地址分别为0D0H、0D2H、0D4H控制口地址:0D6HMOVAL,81H;OUT0D6H,ALMOVAL,0DH;①PC6置1,0DH=0000,1101OUT0D6H,ALLPST:INAL,0D4H;读PC口ANDAL,04D;②打印机忙否(PC2=BUSY=?)JNZLPST;PC2=1,打印机忙,等待MOVAL,CLOUT0D0H,AL;③CL中的字符送PA口MOVAL,0CHOUT0D6H,AL;④置PC6=0,即=0;00001100=0CHINCALOUT0D6H,AL;置PC6=1,即=1,00001101=0DH┆8255的工作方式1——选通输入输出方式A口工作在方式1时,C口的某3根引脚作为A口的联络信号
B口工作在方式1时,C口的某3根引脚作为B口的联络信号。工作在方式1的端口,为单向传送端口。由方式控制字决定是输入还是输出。
C口作为联络信号的引脚,不受方式控制字的控制。该出则出,该入则入,不受C口按位置位/复位控制字控制。8255的工作方式1——选通输入输出方式
利用方式1下的联络信号,可方便地实现查询或中断方式的硬件设计,使CPU能够有效、可靠地与外设进行数据传送。
A口、B口在输入或输出不同的工作状态时,C口联络信号的引脚和意义也不同。8255的工作方式1——选通输入输出方式8255的工作方式1——选通输入输出方式对方式1输入的端口,C口提供与外部联络的信号有:①
STB选通信号(低电平有效)由外设发出,送给8255A,作用是将外设送来的数据锁存到8255A的输入端口。②
IBF输入缓冲器满信号(高电平有效)
8255A发出,表示外设送来的数据已进入输入端口。当外设送来的数据送入输入端口后,8255A自动发出。③
INTR中断申请信号(高电平或上升沿有效)8255A发出,用来向CPU发出中断申请。STB、IBF、INTE均为1时,8255A自动发出INTR。8255的工作方式1——选通输入输出方式对方式1输入的端口,8255A内部的控制信号有:
INTE中断允许控制信号,作用是控制是否允许8255A的中断申请信号INTR发出。
此信号无引出,通过控制口对C口相应位的置位/复位设置允许或不允许。
A口,对PC4置位,使INTEA=1,允许中断
对PC4复位,使INTEA=0,不允许中断
B口,对PC2置位,使INTEB=1,允许中断
对PC2复位,使INTEB=0,不允许中断8255的工作方式1——选通输入输出方式方式1的输入时序:从工作在方式1下的输入端口输入数据时,有关信号的变化关系。外设送来数据PB7~PB0PA7~PA0STBIBFINTRRD②③当INTE=1时
①8255的工作方式1——选通输入输出方式①当外设准备好数据,将数据送至端口线PA7~PA0或PB7~PB0②
外设发出选通信号STB:(1)将数据锁存在输入端口内。(2)使IBF变高,表示输入端口满,可用于阻止外设输入新数据。(3)如果INTE=1,STB的上升沿使INTR变高,发出中断请求。③转中断处理程序,执行IN指令,CPU读取数据,发出RD信号:(1)RD的下降沿清除INTR(2)RD的上升沿清除IBF(3)端口内的数据进入CPU8255的工作方式1——选通输入输出方式8255的工作方式1——选通输入输出方式对方式1输出的端口,C口提供与外部联络的信号有:①
OBF输出缓冲器满信号(低电平有效)当数据送至8255A输出缓冲器后,8255A自动发出。表示CPU送来的数据已进入8255A输出端口,可用来通知外设把数据取走。②
ACK外设响应信号(低电平有效)由外设发出,送给8255A。作用是通知8255A输出端口的数据已被外设取走,可以传送下一个数据。8255的工作方式1——选通输入输出方式③
INTR中断申请信号(高电平或上升沿有效)
8255A发出,用来向CPU发出中断申请。当OBF、ACK、INTE均为1时,8255A自动发出INTR。8255的工作方式1——选通输入输出方式对方式1输出的端口,8255A内部的控制信号有:
INTE中断允许控制信号,作用是控制是否允许中断申请信号INTR发出。
此信号无引出,通过控制口对C口相应位的置位/复位设置允许或不允许。
A口,对PC6置位,使INTEA=1,允许中断
对PC6复位,使INTEA=0,不允许中断
B口,对PC2置位,使INTEB=1,允许中断
对PC2复位,使INTEB=0,不允许中断8255的工作方式1——选通输入输出方式方式1的输出时序:向工作在方式1下的输出端口输出数据时,有关信号的变化关系。8255的工作方式1——选通输入输出方式①CPU执行OUT指令,输出数据②CPU发出WR(1)数据写到8255A的端口(2)使OBF有效(OBF=0),表示输出端口满,可作为外设的选通信号,通知外设取数据。(3)
清除中断请求信号INTR③
外设接受到数据后,发出ACK信号
(1)ACK的下降沿使OBF变高,
(2)当INTE=1,ACK的上降沿使INTR变高,发出中断请求,请求CPU输出新的数据。8255的工作方式1——选通输入输出方式主程序:MAIN:MOVAL,0A0H;方式选择控制字OUT0C6H,ALMOVAL,01H;OUT0C6H,ALCLI;替换中断向量前关中断MOVAH,25H;替换中断向量的典型方式MOVAL,0BH;IR3的类型码为0BHMOVDX,OFFSETROUTINTRPUSHDSMOVAX,SEGROUTINTRMOVDS,AXINT21HPOPDSMOVAL,0DH;PA方式1输出,“置PC6=1的操作”OUT0C6H,AL;使8255允许中断(INTEA=1)STI;CPU开中断┆假 设:A口地址0C0HB口地址0C2HC口地址0C4H控制口0C6H中断处理程序ROUTINTR:MOVAL,[DI];DI为打印字符缓冲区地址OUT0C0H,ALMOVAL,00H;置PC0=0OUT0C6H,ALINCAL;置PC0=1┆IRET8255的工作方式2——选通双向传输方式
端口工作在方式2时,C口的某5根引脚作为端口的联络信号
8255A只有A口可以工作在方式2下。与方式0、方式1的单向传送不同,工作在方式2下的端口,具有双向传送功能。
A口工作在方式2下,C口未做联络信号的3条引脚可作为B口在方式1下的联络线,也可和B口一样工作在方式0下。由方式控制字决定其输入/输出。8255的工作方式2——选通双向传输方式工作在方式2时,C口有5根引脚作为A口的联络信号,是方式1下A口输入、输出联络信号的组合。8255A在IBMPC/XT主板上的应用键盘接口键盘键盘中断申请8259AIR1INTAINT8088INTRINTA60H端口61H端口8255A应答信号扫描码辅助电路IR018.2Hz方波扬声器8255A与系统的连接8255A在IBMPC/XT主板上的应用各端口的地址分别为:
A口:60HB口:61HC口:62H控制口:63H正常工作时,A、B、C三个端口均工作在方式0,A口输入、B口输出、C口输入,方式控制字为:1001
1001B(99H)(8255A的控制字在系统初始化中已设置)
8255A在IBMPC/XT主板上的应用
8255A在IBMPC/XT主板上的应用发声程序中通过61H端口控制发声键盘中断子程中通过60H端口读入键盘扫描码执行:OUT61H,AL执行:OUT61H,AL8255A在IBMPC/XT主板上的应用87例8.1某系统要求使用8255的A口工作于方式1作输入,B口工作于方式0作输出,C口上半部输入,下半部输出。8255端口地址为60H-63H。控制字为:10111000B=0B8H初始化程序为:
MOV AL,0B8HOUT 63H,AL882.C口按位置/复位控制字(写,A1A0=11)C口按位置/复位控制字例8.2 如上例,若A口工作于方式1作输入,要使用中断传送方式,则应当写PC4的按位置位字:
MOV AL,00001001BOUT 63H,AL89
方式1下8255状态字中INTE位的置位和复位⊙若禁止PA口输入中断请求MOVDX,303H;8255命令口MOVAL,00001000B;置PC4=0,禁止中断请求OUTDX,AL⊙若允许PA口输入中断请求MOVDX,303H;8255命令口MOVAL,00001001B;置PC4=1,允许中断请求OUTDX,AL⊙若允许PA口输出中断请求MOVDX,303H;8255命令口MOVAL,00001101B;置PC6=1,允许中断请求OUTDX,AL90⊙若允许PB口输入中断请求MOVDX,303H;8255命令口MOVAL,00000101B;置PC2=1,允许中断请求OUTDX,AL⊙若禁止PB口输入中断请求MOVDX,303H;8255命令口MOVAL,00000100B;置PC2=0,禁止中断请求OUTDX,AL⊙若允许PB口输出中断请求MOVDX,303H ;8255命令口MOVAL,00000101B;置PC2=1,允许中断请求OUTDX,AL例8.3:CPU通过8255A控制8个开关和发光二极管,要求发光二极管的亮灭和开关状态一致,设计电路并编写程序。解析:可以认为,处于方式0输出工作状态的PA、PB、PC端口实际上等同一个锁存器,而处于方式0输入工作状态的PA、PB、PC端口实际上等同一个缓冲器。电路如图所示。图18255控制开关、发光二极管电路
首先根据电路确定8255A4个端口的地址。确定端口地址用下述方法进行,为了能够访问8255A,必须使8255A的片选信号CS=0,A9~A4的信号必须如下:A9A8A7A6A5A4A3A2
10011000PA端口
01PB端口
10PC端口
11控制端口
而A3、A2
的组合和各个端口地址的关系也如上所示,由于A1、A0没有参与译码,其值对访问端口没有影响。综合以上讨论可以得出,PA、PB、PC和控制端口的地址分别是260H、264H、268H和26CH。在确定工作方式控制字时必须知道,PA端口为方式0输出,PB端口为方式0输入,而PC端口没有参与电路工作,其输入输出方式随意,由此可确定控制字为82H。
10000010
控制电路工作并使其保证开关状态和发光二极管亮灭一致的程序如下:
MOVDX,26CHMOVAL,82HOUTDX,ALMOVDX,264HINAL,DXNOTALMOVDX,260HOUTDX,AL例8.4:
用一片8255A连接8个7段数码显示管,规定8255A的端口地址范围为340H~34FH,用74LS138译码器实现8255A的片选电路,并根据电路编写在8个7段数码管上显示数字0~7的程序。解:在设计电路前,首先要了解7段数码管,掌握数码管显示数字的原理。图2-1给出了共阴极7段数码管逻辑结构图。
bcadfegabcdefgcomabcdefgcom(a)7段发光二极管标号(b)对应电路图(c)引脚分布图2-1共阴极7段数码管逻辑结构
从图2-1可以看出。当com端接低电平,a~g端接高电平,对应的发光二极管就发亮。如果想在7段数码管上显示数字0,需要在com端接低电平,a、b、c、d、e、f端接高电平,g端接低电平。七段数码管的字形代码表如下:显示字形g f edc b a段码
0 0 1 1 11 1 13fh1 0 1 1 00 0 0 30h2 1 0 1 10 1 1 5bh3 1 0 0 11 1 1 4fh4 1 1 0 01 1 0 66h5 1 1 0 11 0 1 6dh61 1 1 11 0 1 7dh7 0 0 0 01 1 1 07h
一片8255A只需4个端口地址,而题中给出的地址范围由16个地址,这意味着低4位地址中有些地址可以不参加地址译码。设计电路的第一部还需要设计出片选电路。必须用指定地址范围内状态不变的地址信号作为片选电路的输入信号。
A9A8A7A6A5A4
A3A2A1A0110100
0000
340H110100
1111
34FH
从上述分析中可以看出,指定地址范围内状态不变的地址信号是A9A8A7A6A5A4
它们的状态分别是110100,这意味着A9~A4上出现的信号状态为110100,8255A的CS必须为低电平。下面讨论如何用74LS138译码器实现这一功能。设计片选电路的基本原则是:用A9~A4作为74LS138的输入,用74LS138其中一个输出Yi去连接8255的CS,当且仅当A9~A4=110100时,Yi才能变为低电平。图2-2中,用A6、A5、A4
分别连接74LS138的
G、G2A、G2B,只有当A6A5A4=100时74LS138才能进行译码操作,用A9
、A8、A7分别连接74LS138的C、B、A,而用Y6输出连接8255的CS,这样,只有当A9A8A7=110时,Y6输出为低电平。图2-2用74LS138译码器实现8255的片选电路
用一片8255A连接8个7段数码管。且使8个7段数码管显示8个不同的数字。开始,似乎感到有点困难。实际上,任何时刻只显示一个7段数码管,其余7个7段数码管都没有显示状态,CPU通过8255A逐个显示7段数码管,并在不同的7段数码管上显示不同的数字。在逐个显示完8个数码管后,又开始新一轮的逐个显示过程,当这个循环周期间隔足够短时,由于人的眼睛有滞后效应,使得人们发现每一个数码管都出于显示状态,且显示不同的数字。
从电路中可以得出,8255A4个端口的地址分别是:
340H(PA端口)、344H(PB端口)348H(PC端口)、34CH(控制口)程序的设计思路是先通过PB端口选中某个数码管(使其公共端为低电平),然后再从PA端口输出选中的数码管所对应的显示码,在完成当前数码管显示后,显示下一个数码管,在完成一轮显示后,开始下一轮的显示。datasegmentorg100hbuff1db3fh,30h,5bh,4fh,66h,6dh,7dh,07h;定义0~7的显示码
buff2db0feh,0fdh,0fbh,0f7h,0efh,0dfh,0bfh,7fh;定义位码dataendscodesegmentassumecs:code,ds:datastart:movdx,34Ch;设置8255控制端口地址
moval,80h;使8255的A口、B口、C口为方式0输出
outdx,alyyy1:movsi,offsetbuff1;设置显示码指针
movdi,offsetbuff2;设置控制码指针
movcx,8;每一轮循环中显示的数码管的数目
yyy2:
movdx,340h
;先使所有数码管变黑
moval,0
outdx,al
movdx,344h
;选中一个数码管
moval,[di]
outdx,al
movdx,340h
;输出该数码管对应的显示码
moval,[si]
outdx,al
incsi
;选择下一个数码管所对应的显示码
incdi
;选择下一个数码管
loopyyy2;显示下一个数码管
jmpyyy1;开始新的一轮的显示
movah,4chint21hcodeends
endstart
8255A作为开关K0~K3及七段LED显示器接口。要求开关设置的二进制信息,由PC0~PC3输入,经程序转换为对应的七段LED显示器的字形代码后,由A口输出显示。8255APA7PA0~驱动器+5V+5VK0K1K2K3PC3PC2PC1PC0D7~D0RDWRA1A2ABCG2AG2BG1Y0Y1Y2OOOD7~D0RDWRA0A1CSA0A3A4A78086系统总线LS138接口电路M/IO&A5A6各端口地址为:E8H~EEH8255A各端口地址确定:由图可知: A7A6A5A4A3A2A1A011101
08255A方式选择控制字:LED显示器的字形代码表存放在TABLE单元开始的内存中.TABLEDB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB80H,98H,88H,83H,0C6H,0A1H,86H,8EHCSABCG2AG2BG1Y0Y1Y2A0A3A4A7LS138M/IO&A5A6按题意设置端口A方式0输出,下C口输入.10000××181H实现操作的具体程序如下:MOV DX,0E8H ;指向端口A OUT DX,AL ;输出字形码显示 HLTMOV DX,0EEH;设置8255A工作方式 MOV AL,81H OUT DX,ALMOV DX,0ECH;指向端口C,读开关状态 IN AL,DX AND AL,0FH LEA BX,TABLE;显示代码表首地址送BX XLAT ;查表,取出相应的字形码送ALLED显示器的结构abdcefgdpLED显示器的外形abcdefgdp共阳极LED显示器的结构abcdefgdp共阴极LED显示器的结构LED显示器的工作原理软件译码法PA0PA1PA2PA3PA4PA5PA6PA78255DB7--DB0abcdefgdp方案1共阳极LED显示器与同相驱动器接口abdcefgdpabdcefgdpD7D6D5D4D3D2D1D0dpgfedcba0(C0H)11000000abdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdp9(90H)100100001(F9H)111110012(A4H)101001003(B0H)101100004(99H)100110015(92H)100100106(82H)1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度页岩多孔砖家居装饰材料销售合同3篇
- 烹饪工艺学(第2版) 课件 单元3干货原料的涨发加工
- 第1课《邓稼先》【知识精研】统编版语文七年级下册
- 二零二五年度牛乳品牌代理销售合同
- 《口译技巧速记》课件
- Revision of the tense【知识精研】译林版(三起)英语六年级下册
- 测量力的大小课件(上课用)
- 《青少年性健康教育》课件
- 二零二五年度房屋买卖合同标的及合同属性详细描述
- 小学主题班会课件小学生食品安
- 物联网协议与标准化
- 员工提前辞工管理制度
- 环卫一体化运营方案
- 《基于PPT课件的高中英语阅读策略探究》
- DTⅡ型固定式带式输送机(托辊)
- 居间协议书-五金工具销售服务
- 工程项目居间合同协议书居间合同协议书
- 普通话测试培训课件2:读单音节字词
- 电梯维保竞争性磋商文件
- 不同课型的课堂教学基本范式
- 一年级语文《端午粽》说课课件
评论
0/150
提交评论