1、第5章数字量输入输出 5.1概述 5.2系统总线及接口 5.3中新控制系统,5.4计数定时接口 5.5并行输入输出接口5.1概述5.1.1 I/O信号的方式1、开关量:只需两种稳定的信号,可以用两 个最根本的逻辑符号表示2、数字量:多位0和1按一定规那么组合所表 示的信号3、脉冲量:两种稳态之间的变化正跳变:由0变到1负跳变:由1变到05.1.2I/O 接口接口的含义:狭义上:衔接计算机和I/0设备的部件;广义上:还包括接口电路的管理驱动程序;1、I/O接口的功能1信号的方式变换:非数字信号变换成二 进制数字信号;12电平转换和放大3锁存及缓冲4I/O定向2、I/O的内容分类 飞、1)数据信息
2、:数据信息可分为数字量、模拟皿开关量。q12)形状信息:形状信息是CPU与外设之间交换丹 据时的联络信息。/3控制信息:控制信息用来设置I/O外设(包括I/O)接口)的任务方式、(命令字等有关信息。如“启动,停顿)信息。口的构成?:看:构成I/O接口的根本单元。)5.1.3工/。编址两种I/O编址方式:存储器映象和I/O端口寻址 V1、存储器映象编址:从存储器地址中分出一部分给DO端口运用,每个I/O端口被看成一个存储器单元,用访问存储器的方法访问I/O端口 优点:无须专门的I/O指令和专门的I/O控制信号也能完成I/O;2、I/O端口单独编址:运用专门的I/O指令和控制信号进展I/O;优点:
3、I/O指令和存储器分别编址,各自都有完好的地址空间;两种方式优缺陷互补;5.1.4 1/0的控制方式i.无条件传送方式 V无条件传送方式是假设输入接口数据曾经预备好,或者输出设备是 空闲的,此时CPU无需查询形状,直接用工N和OUT指令完成与接口之 间的数据传送。2.查询传送方式利用查询方式输入数据之前,CPU要查询输入数据能否预备好;利 用查询方式输出数据之前,CPU要查询输出设备能否空闲。只需确认外 设曾经具备了传送条件后,才干用工N和OUT指令完成数据传送。3、中断控制传送方式中断控制的输入和输出方式,也成中断传送方式。当外设的输入数据预备好或接受数据的锁存器空时,自动向CPU发出中断恳
4、求,使CPU中断原来执行的程序1主程序),转去执行为外设效力的输入或输出操作,效力终了CPU再继续执行原来的程序。4、直接存储器访问方式DMA5、其他方式:如工/O处置机方式5.2系统总线及接口5.2.1 总线概述1、总线的特性1多信号源2被分时运用3由主设备控制2、总线的分级1片内总线系统级总线:计算机机箱内部,插卡与5.2.2 系统总线规范1、PC/XT及ISA总线1总线信号 2总线周期:CPU执行一条指令的时间称为 鱼,)MAC驱动的总线周期 德飞殿蠡器读周期系统的 总线周 去愈为就解腺MAC驱动CPU驱动的总线周期存储器读总线周期存储器写总线周期I/O读总线周期5.3 中断控制系统5.
5、3.1 中断的根本概念1、中断及前往所谓“中断是指CPU在正常执行程 序的过程中,由于内部/外部事件或由程序 的预先安排,引起CPU暂时中断当前程序 的运转而转去执行为内部/外部事件或预 先安排的事件效力的子程序,待中断效力 子程序执行终了后,CPU再前往到暂停处 断点)继续执行原来的程序,这一过程 其表示图如图5-1所示。2、中断系统的功能1)发出中断恳求信号:原始信号、经过管理后输往CPU的信号(2)定向中断效力程序3)主程序的暂停及前往断点的维护和前往现场的维护和前往3、中断技术的优点I)并行操作(CPU与外设)实时处置(测控信号)(3)缺点处置(掉电维护等)(4)分时操作(多义务或多用
6、户系统)4、中断源:能引起中断的设备或事件称为中断源。11)中断源种类设备中断硬中断)指令中断软中断)缺点中断形状中断)实时时钟中断定时中断)CPU内部运算产生的某些错误所引起的中断(2)中断源识别通常有两种方法:查询中断和矢量喷良查询中断查询中断时采用软件或硬件查询技术来确定发出中断,船中断源。Q多个中断源共用一个中断效力入口程序,进入中断效力程又 后查询方式有:(软件查询:首先读取中断源形状并查询检测,然后根据形状检、测情况作相应的中断处置。硬件查询1:经过串行顺序链电路端口读取引起中断的最高优 先级中断源的编码,然后根据该编码(计算出入口地址)转入相应的处置程序。j硬件查询2:中断相应信
7、号-工NTA触发从串行顺序链电路中出 取终端类信号。根据类型号转入相应的处置程序。(硬件)das类似矢量中断(矢量中断 矢量中断又称向量中断,通常是由中断向量来指示中断效力程序 的入口地址。每个中断源都预先指定一个矢量标志,要求外设在提 出中 断恳求时提供该中断矢量标志。当CPU呼应某个中断源的中断恳求 时,控制逻辑就将该中断源的矢量标志送入CPU,CPU根据矢量标志自 动指向相应的中断效力程序的入口地址,转入中断效力程序。每个中断源对应一个中断效力入口程序,CPU呼应中断时,经过中 断电路获取中断矢量1或中断类型号),根据中断矢量转入该中断融型断效力程序。5、中断的分类内部中断也称软件中断,
8、是由处置器检测到异常情执行软件中断指令所引起的一种中断。1)内部中断除法出错中断(除法指令操作结果溢出(除数位0),引起。号中,断);工NTO溢出中断(当OF=1,并且执行工NTO指令,引起4号中断);(INT n中断(执行工NT n中断指令(相当于子程序调用指令),弓I起H断);(断(在程序某断点插入单个字节的工NT3指令代码,当执至以NT3,引发的3号中断类型);12)外部中断一一硬件中断外部中断也称硬件中断,是由CPU的外部中断恳求信号触发 的一种中断,分为不可屏蔽中断NM工和可屏蔽中断工NTR。11)非屏蔽中断恳求NM工(上升沿触发)非屏蔽中断恳求由不受中断允许标志位工F的影响,中断类
9、 型码为2。12)可屏蔽中断工NTR(高电平触发)假设CPU发现有可屏蔽中断恳求,CPU将根据中断允许标志 位工F的形状决议能否呼应。假设工F=0,表示CPU处于关中断形 状,屏蔽工NTR线上的中断,CPU不理睬该中断恳求而继续执行 下一条指令;假设工F=l,表示CPU处于开中断形状,允许 工NTR线上的中断,CPU执行完现行指令后转入中断呼应周期。中断处置顺序中断处置顺序即按中断优先权从高到低的排队顺序对中断 源进展呼应,8086系统的中断处置次序如下:(1)除法错误中断、溢出中断、INTn指令中断、断点中断。非屏蔽中断NMI。可屏蔽中断INTR。14)单步中断。6中断向量表 VA中断向量就
10、是中断效力程序的入口地址表。把系统 一切中断向量集中起来放到存储器的某一区域(03ffH)内心 这个存放中断向量的存储区就叫中断向量表(或中断矢量 表,即每一个中断效力程序与表内的中断向量具有一一对 应关系。中断向量表分为三部分:公用中断、备用中断和用户中 J 断。(1)公用中断:类型0类型4,共有5种类型。公用中断的 中断效力程)序的入口地址由系统担任装入,用户不能随意修正。(2备用中断:类型5类型3FH,这是Intel公司为软、硬 件开发保管的中断类型,普通不允许用户改作其他用途。(3)用户中断:类型40H类型FFH,为用户可用中断,其中断效力程序的入口地址由用户程序担任装入5.3.2可编
11、程中断控制电路Intel 8259A可编程外部中断控制器的功能可对8个中断源实现优先级控制可扩展至对64个中断源实现优先级控制可编程设置不同任务方式根据中断源向x86提供不同中断类型码8259A弓I脚及功能 见P297的图5.19数据线D7D0-8位;片选信号-低电平有效;Ao-地址引脚;读写信号-低电平有效;工NT-中断恳求信号;IR7-IR0-外部中断恳求8个;CAS2-CAS0-多片8259A的级联1.8259A的内部构造-中断恳求存放器工RR保管从工RO工R7来的中断恳求信号,某位E表示对应的工Ri有中断恳求 中断效力存放器工SR保管一切正在效力的中断源,某位=1表示对应的工Ri中断正
12、在被效力中断屏蔽存放器工MR存放中断屏蔽字,某位=1表示对应的工Ri输入被屏蔽中断优先权判别电路确定能否向CPU发出中断恳求,中断呼应时确定工5R的哪位应置位及把相 应中断的类型码放到数据总线上2、8259A的任务过程8259A对中断恳求的处置过程如下:当某工Ri有效时,工RR相应位置1假设有效的工Ri未被屏蔽,那么向CPU发出中断恳求 检测到第1个工NTA#信号后,置工SRi=l,IRRi=O检测到第2个工NTA#信号后,把工SRiE中最高优先级的中断类 型码放到DB上 假设任务在AECH方式,在第2个工NTA#终了时,使工5Ri复位;否那么由CPU发出EO工命令使工5Ri复位3、8259A
13、的任务方式 8259A的任务方式有如下几类:中断优先方式与中断嵌套 中断终了处置方式 屏蔽中断源的方式 中断触发方式 级联任务方式(1)中断优先方式与中断嵌套中断优先方式两类优先级控制方式:固定优先级和循环优先级固定优先级方式一切中断恳求工Ri的中断优先级固定不变优先级陈列顺序可编程改动加电后8259A的默许方式,默许优先级顺序从高到低为工R0工R7优先级可编程改动/V 最高级 最低级IR7IR6IR5 IR4IR3IR2IR1IRO32107654中断优先方式与中断嵌套(续-循环优先级方式、-中断源轮番处于最高优先级,即自动中断优先级循环-初始优先级顺序可用编程改动-某中断恳求工Ri被处置后
14、,其优先级别自动降为最低,原来比它低 级的中断上升为最高级ISRiIR7 IR6 IR5 IR4 IR3 IR2 IR1 IRO010100007654320-ISR内容一IR7 IR6 IR5 IR4 IR3 IR2 IR1 IRO0100000021076543最低级最局级/最高级 最低级IR4的效力终了以前IR4的效力终了以后11中断优先方式与中断嵌套(续 Z 中断嵌套方式 N 在中断处置过程中允许被更高优先级的事件所中断称为中断嵌套。8259A有两种中断嵌套方式:普通全嵌套方式(默许方式)中断正被处置时,只需更高优先级的事件可以打断当前的中断处置过程而被效力。特殊全嵌套方式 中断正被处
15、置时,允许同级或更高优先级的事件可以打断当前的中断处置过程而被效力。注:特殊全嵌套仅用于多个8259A级连时的主8259A,而不能用于从 属8259A或单8259A系统。B|普通嵌套方式:IR4的中断被效力 时,这些不断将 被封锁。A.C.普通嵌套方式:从片的INT被主片封 锁,故更高级别的 IRO-IR2中断也无法 得到呼应假定IR3发生中断,并获得效p特殊嵌套方式:匚因主片不封锁从片的INT,故级别高的IRO-IR2中断可以得到呼应。(但IR3-IR7仍被本从 片封锁)(2中断终了处置方式 当某一工Ri中断被效力时,工5R中的相应位工50二1。当效力终了启 那么必需清零该工5Ri位。使工5
16、闺=0是经过向8259A发出中断终了 令(EO工命令)实现的。三种EO工命令 自动EO工(AEO工)一 自动EO工方式)非指定EO工1NSEO工)一一正常EO工方式)指定EO工(SEO工)一 特殊EO工方式)AEOI:在第2个工NTA#终了时,由8259A使工5Ri自动复位;因不保管当前正在效力的中断的形状,故AEO1:不能用于中断嵌套方 式(2中断终了处置方式-SEOI:由CPU发出一条SEO工 命令,该EO工命令中指出了所 要复位的工5R的位号。-用于特殊屏蔽方式-NSEOI:由CPU发出正常EO工 命令,该E。工命令使5Ri=l的 位中优先级最高的那一位复位。-用于普通全嵌套方式(3)屏
17、蔽中断源的方式工MR屏蔽字决议了允许或制止某位工Ri所对应的中断:工制 止,工Mi=O允许。特殊屏蔽方式:提供了允许较低优先级的中断可以得到呼应的特殊手段。原理:假定当前正在处置工R6,先进入特殊屏蔽方式,然后设置 IM6=lo这时,除工R6外的一切中断恳求均能得到呼应。特殊屏蔽方式中只能用5EO工命令终了中断。特殊屏蔽例:CL工MOV AL,68H 0OUT OCOH,ALIN AL,OC2HOR AL,10HOOOOOUT 0C2H,ALSTI;工R4中断处置程序CLJ:;OCW3:0 110 10;设置特殊屏蔽方式;屏蔽工R4;10H-0001;工R7恳求,呼应,前往CLI IN AND
18、 OUT MOV OUT STIMOV OUT IRETAL,0C2H AL OEFH 0C2H,ALAL,48H OCOH,ALAL,20H 0C0,AL;读出屏蔽字;EFHE110 1111 去除工MR4;OCW3:0 1 0 0 1 0 0 0;取消特殊屏蔽;继续工R4中断效力;OCW2:0 0 1 0 0 0 0 0(EOI)(4)中断触发方式 边沿触发:工Ri出现上升沿表示有中断恳求电平触发:工Ri出现高电平表示有中断恳求 在第1个工NTA#终了前,工Ri必需坚持高电平(5)级联任务方式 单片8259A可支持8个中断源;采用多片8259A级连,可最多支持64个中断源。n片8259A可
19、支持 7n+l个中断源;级连时只能有一片8259A为主片,其他的均为从属片;涉及到的8259A引脚包括:CAS0-CAS2 SP#/EN#IRi INT6,6d级连电路衔接方法系统总线AB、DB、CBINTA Ao CS Do-D7 rd6 68259A(从片1)CAS2INTA Ao CS Do-D7 rd WR INT8259A cas(从片 2)CAS,02SP/EN IR7 lR6 IR5 R4 H3 IR2 IR1 IR0INTACAS(CAS CAS.o2A。tjr-iSP/EN IR7 H6 H5 H4 H3 IR2 IR1 IR0uV vB+6c ccs d0-d7 rd wr
20、 int8259A(主片)SP/EN IR7IR6 IR5 H4 H3 IR2 IR1 IRonVr r4、8259A的编程运用 8259A的控制命令分为:初始化命令字工CW ICW1-ICW4 向8259A写入工CW的过程称为初始化编程 操作命令字OCW OCW1-OCW3向8259A写入OCW的过程称为操作方式编程(I)8259A内部存放器的寻址方法需求CS#、AO、RD#、WR#和D4、D3的酉己合内部存放器的访问方法如下表:CS#RD#WR#AoD4D3读写操作(010000写 OCW2 写 OC W3(写工CW1 写工CW2,工CW3,工CW4,OCW1(网页序写00101X1XX0
21、01XX读出工RR、ISR f读出工MR(2)8259A的初始化顺序 8259的初始化流程如图 留意次序不可颠倒写 ICW1(3)8259A的控制命令字写 ICW2写 ICW3写 ICW4初始化8259A必需从工CW1开场写工CW1意味着重新初始化8259A写入工CW1后,8259A的形状如下:去除工5R和工MR(全0);将中断优先级设成初始形状:工R0最高,工R7最低;设定为普通屏蔽方式;采用非自动中断终了方式;形状读出逻辑预置为读工RR。工CW1一初始化字A0 0D7 D6 D5 D4 D3 D2 x x x 1 LTIM xLTIM:触发方式=1高电平触发=0上升沿触发SNGL:级连控制
22、=1单片=0级连IC4:工CW4控制=1要写工CW4三0不写ICW4(默许工CW4为全0)工CW2中断向量码AO D7 D6 D5 D4 D3 D2 bl 1 T7 T6 T5 T4 T3 x x T7T3:中断向量码的高5位DQxT2-T0:最低3位为中断源的序号工Rn000111分别对应工R0工R7由8259A根据中断源的序号自动填入例如:假设工CW2命令字为48H 那么工R0的中断向量码为48H,工R7的中断向量码为4FH,等等。工CW3级连控制字AO D7 D6 D5 D4 D3 D2 bl 1 S7 S6 S5 54 S3 S2 S1主片的级联控制字 Si=l对应工Ri线上衔接了从片
23、AO D7 D6 D5 D4 D3 D2 bl DO1 0 0 0 0 0 ID2 Ibl IDO从片的级联控制字工D2工DO标识码,阐明本从片衔接到主片的哪个工R引脚上。000 111分另1对应工101工17。工CW3级连控制字(续)工CW3必需与主从片的衔接关系一致:例如,主片的工R4与从片的工NT线衔接,那么主片的ICW3=10H,从片的工CW3=04H。中断呼应时,主片经过级连线CAS2-CAS0送出被允许中断的从 片标识码,各从片用本人的工CW3与CA52-CAS0比较,二者一 致的从片才可发送中断向量码。工CW4AO D7 D6 D5 1OOO SFNM:特殊全嵌套 1特殊全嵌套方
24、式 0普通全嵌套方式 AEOI:自动EO工 1自动E。工方式 0非自动EO工方式中断终了方式字D4 D3 D2 DI DSFNM BUF M/S AEOI 1BUF:缓冲方式M/S:主/从缓冲选择BUF 1 PICM/S 10缓冲方式/主缓冲方式/从PIC 0 正常x非缓冲方式/(4 8259A的操作命令字OCW OCW用于设置8259的任务形状 在初始化后写入 OCW的写入顺序可恣意 写入地址要求:OCW1必需写入奇地址端口(AOE)OCW2,OCW3必需写入偶地址端口(A0=0)OCW1一中断屏蔽字AO D7 D6 D5 D4 D3 D2 1 M7 M6 M5 M4 M3 M2bi Mlb
25、 MO Mi=l中断恳求线工Ri被屏蔽(不允许中断)二0允许该工Ri中断 OCW1将写入工MR存放器。AO=1时读OCW1可读出设置的工MR内容。OCW2中断终了和优先级循环AO D7 D6 0 R SLL2LO:优先级编码R:优先级自动循环 SL:指定优先级EOI:终了中断命令D5 D4EOI 0D3 D20 L2R000SL EOI 0000000非指定EO工命令(NSEOD,全嵌套方式指定EO工命令(SEOD,全嵌套方式,按L2-LO编码复位工5R NSEO工命令,优先级自动循环 自动EO工,设置优先级自动循环 自动EOL取消优先级自动循环(固定优先级)SEO1:命令,按L2-LO编码循
26、环 优先级(L2-LO设为最低优先级)按L2-LO编码循环优先级(L2-U 设为最低优先级)OCW3一屏蔽方式和读出控制字A0 0D7 0D6 D5 D4 D3ESMM SMM 0 1D2 Pbi RR RI ESMM:允许使能特殊屏蔽方式 SMM:特殊屏蔽方式 ESMM SMM特殊屏蔽方式置0特殊屏蔽方式复x非特殊屏蔽方&R:P(Polling):=1=0查询方式 非查询方式读存放器RIS:工5R/工RR选择RRRIS11读工5R10读工RR0X无效 OCW3 1续)查询方式允许8259A不任务于中断方式,而是以查询方式任务。CPU先写一个D2E的OCW3,再对同一地址读入,即可得到如 下形
27、状字节:I x x x x R2 RI R0 工二1表示有中断恳求,中断恳求号为R2-R0 此查询步骤可反复执行,以呼应多个同时发生 的中断。读工RR/工SR:写入此命令后,随后再对同一地址读,即可得到工RR或工5R的内容。5、8259A编程举例 按以下要求初始化8259A:接口地址为20H和21H;中断为上升沿触发;单片8259A;不写工CW4;与工R0-工R3对应的中断向量码为08H-0BH;工R4-工R7不运用。根据要求,各初始化参数及任务参数如下:ICW1=00010010=12H ICW2=08H 中断向量码 OCW1=11110000=0F0H 中断屏蔽字5、8259A编程举例续I
28、NIT8259A:MOV DX,MOV AL,写 ICW4OUT DX,MOV DX,0CW1MOV AL,OUT DX,MOV AL,T DX,20H12HAL 21H08H AL;A0=0,写 ICW1;上升沿触发,单片,不;A0=1,写 ICW2,;ICW2OFOH;0CW1:屏蔽IR44R7 AL6、PC机中断程序设计1)主程序保管原中断向量 设置本人的中断向量初始化堆栈指针设置8259A的中断屏蔽字(其他的已由操作系统设置)STI2)中断效力程序保管所用到的存放器内容中断效力程序主体恢复进入时保管的存放器内容 发EOI命令必要时可提早)STI必要时可提早IRET中断程序举例PC机中主
29、8259A的工/O地址为20H和21H,中断向量码为08H;中断恳求从工R6引入,故中断类型号为0EH;主程序如下:;保管原来的中断向量movah,35hmoval,Oeh;中断类型码int21h;取原中断向量(在es:bx中movsave_ip,bx;保管原来的中断向量movsave_cs,es5.4计数/定时接口5.4.1 根本概念计数定时接口电路需求讨论的问题:1、计数容量2、计数频率3、计数过程4、输出信号2、定时功能的实现方法:11)软件延时利用微处置器执行一个延时程序段实现不用硬件,但占用CPU时间、定时精度不高,随系统时钟频率已 动2)不可编程的硬件定时采用分频器、单稳电路或简易
30、定时电路控制定时时间定时电路简单、定时时间可以在一定范围改动|13)可编程的硬件定时结合、用可编程定时器芯片构成一个方便灵敏的定正5.4.2计数/定时器82531、8253的构造和任务原理口8263c-2D 71o24223D 5322D 442 1D 3520D 261 9D 178 2 5 31 8D o81 7LK091 6U To1 01 11 51 4u A 1 E o-G N D1 21 3图2,-18 2 5 3的引W图V c cO-CTA i A o C L K 2 0 U T2 GATE C L K i GATE)0 U T i1)D0-D7:计算机总线;WR:计算机写命令O
31、UT有效;RD计算机读命令IN有效;CS:由地址总线高位(比如A2A9)经过译码器和与非门等组合而成CS*Al A0工/O地址读操作RD*写操作WR.0 0 00 0 10 1 00 1 140H41H42H43H读计数器0 读计数器1 读计数器2 无操作写计数器0 写计数器1 写计数器2 写控制字2)AO,Al:分别对应3个计数器和控制字存放器;3)三个独立的十六位计数器:CPU可对其进展任务方式设定、计数次数的预置。每当对CLK口的计数终了时,OUT口会有一个终了标志。GATE门控信号,用于控制计数的进展。4)计数启动:8253计数器的计数过程,可以直接用程序来启动,也可以年置成接在GAT
32、E 口外部电路的信号启动,分别称为软件启动和硬件启动。预置存放器CLKGATE减1计数器UQIJT输出锁存器计数器的3个引脚阐明:QCLK时钟输入信号 在计数过程中,此引脚上每输入一个时钟信号下降沿,计数器的、数值减1GATE门控输入信号控制计数器任务,可分成电平控制和上升沿控制两种类型OUT计数器输出信号当一次计数过程终了计数值减为3,05引脚上将产生一个输出信 计数初值存于预置存放器;在计数过程中,减法计数器的值不断递减,而预置存放器中的预置不变。口输出锁存器用于写入锁存命令时,锁定当前计数值2、8253的的编程 门写方式控制字工作方式计数器数制iJUJPb7 D6 D5 d4 d3 d2
33、 bl b读写格式方式0 方式1 方式2 方式3 方式4 方式500011011计数计娄 非000110计数器锁 只读写4 只读写高 先读写偃 后后高000001010011100101进制进制fAlAOll3、8253的任务方式1方式0:计数终了中断 0WR-iJjclk-i-i-i-i-i-GATE4:3:2OUT1 _GATE=1允许计数;GATE=0/下降沿 制止计数CPU写计数器操作写低字节后终止上次计数,写高字节后开场新的计数计数结束(2)方式1:可编程单稳脉冲WRI方式1LT4UCLKGATE432101.启动计数2.下个脉冲后OUT=0 计数结束13方式2:频率发生器分频器方式
34、2 4clk iwuumul叽uauuwrGATE=1允许计数;GATE=O/下降沿 制止计数,0UT=1;GATE=F跳变,启动计数GATE4324 1 032104321403210OUTUJ4方式3:方波发生器方式3 4_wr-LIIJclkGATE4321403210432140320OUTJ)GATE=1允许计数;GATE=O/下降沿 制止计数,0UT=1;GATE=F跳变,启动计数clk16)方式5:硬件触发选通讯号GATE二正品兆变启动计数各种任务方式的输出波形-r方式0 o十七 I N 0 万式1_L_N 1 0/N 方式2!n ni2 o/rT 方式3 II N方式4 j方式
35、5!一N 0io-N/2-oO-1n-(Fi写计数初值 N8253计数初值的1到FFFFH+1或者1到9999+1 o当初A 零时,要重新减到零才算终了,因此零用来表示最大的突 初值。读计数初值(1以普通对计数器端口读的方法获得当前计数值可以用GATE无效或者阻断时钟输入等方法,使计数器 暂停计数,保证CPU读到稳定的数值。2锁存计数器的当前计数值,用一个方式控制字,其D5D4=00,这个命令一写入后,数值锁定存放器,计数器可以继续任务,CPU可以 值。启动计数器中止计数自动重复更新初值OUT波形,方式0软件GATE=0无立即有效N -0方式1硬件/无下一轮有效|N 0|方式2软/硬件GATE
36、=0有下一轮有效N 2 3 N方式3软/硬件GATE=0有下半轮有效_ N/2 N/2方式4软件GATE=0无下一轮有效N 1|_0j方式5硬件/无下一轮有效N 1|_0j通常,对于控制专业运用来说,用于计数时,常用方式0;用于定时那么常用方式2或3。例:8253的运用实例原理:8253的CLK2接至UL19AAHZ的信号 源,CNT2I作于自动反复方式,产生延续600Hz的延 续方波;当8255的PB0=1时CNT2开场任务;PBM,PB0二1时场门翻开,经过滤波发声;8253的地址为:4QH43HSTART:MOV AL,0B7H;CNT2的控制字OUT 43H,AL;043H对应控制字存
37、放器地址MOV AX,1983;计数初值(十进制)OUT 42H,AL;042H对应计数器2的地址IN AL,61H;取8255 的PB 口MOV AH,AL;维护OR AL,03;设PB1=PBO=1OUT 61H,AL;使扬声器发声 SUB CX,CX;使循环计数值最大 L:LOOP L;延时循环MOV AL,AH;恢复8255的PB口UT 61H,AL;实验安排 周二下午 14:3018:00 自动化C061+C062(半)周三下午14:3018:00自动化863+862(半)周日上午08:30 12:00自动化C061+C062(半)周日下午14:3016:00自动化C063+C062
38、(半)5.5可编程并行I/O接口芯片82555.5.1 8255A的组成及功能1、8255A的引脚及构造A1A0端口选择线,共占用4个端口 地址,分别是A、B、C三个数据端口 以及一个控制存放器端口,这四个 口用Al A0的形状组合来进展选择。S 2-12的引朋RESETD oD 1D 2D 3D 4D 5D 6D 7V c cP B 7P B 6P B 5P B 4P B 3表2-3 8255A 端口的读写信号A0WR哥V00001读A 口O0101读B 口01001读C 口00010写A 口00110写B 口01010写C 口01110写翎期存器C5:片选信号,低电平有效;旌=0:从CPU
39、写到8255A;OUT有效天力=0:从8255A读到CPU;IN有效RESET:复位信号,高电平有效。复位后,控制存放器被去除;A、B、CU置成输入方式且锁存器全清零例如:8255A的CS片选为200203H,PA口地址为200H;PB口地址为201H;PC口地址为202H;控制存放器端口地址为203H。麻:计算机写命令OUTW效;例如:MOVDX,203H;:OUT 203H,AL;写控制字RD:计算机读命令工N有效;例如:IN AL 201H;读PB口并行工/O接 口三端口:PA7-PA0,PB7-PB0 及PC7-PC0A 口工/O锁存器和缓冲器;B口工/O锁存器和缓冲器;输入时可以不锁
40、存;会一口输入时只需缓冲无锁存;输出时锁存和缓冲;A、B、C口输出输出锁存器内容由CPU用输入指令读出;用法:1)A、B、C口三个独立的8位数据端口;2)A、B口-8位数据端口;C口-A、B口与外设联络用的形状、控制信号;3)A口、C口高四位-共同组成12位A组数据端口;B口、C口低四位-共同组成12位B组数据端口;2、8255A的任务方式和控制字 物方式0-根本输入或输出方式,既无须联络就可以直接进展的I/O。,在此方式下,A口、B口、C口的高、低4位都可分别设置为输入或输出*方式1-选通I/O。此时接口和外设之间须联络信号进展协调。只需A、B口可任务在方式1;C口某些线规定为A或B口与外设
41、间的信号联络线,余下线只能任务方式0方式2-双向I/O方式。同一端口既可输入也可输出。只需A可任务在方式2;C 口的5条I/O线-A 口与外设间的双向传送联络线,3条I/O线-作为B 口方式1的联络线;也可和B 口一同成为B 口方式0的I/O线。琳普通的控制运用中,常用方式0特0 0方0 1 方1 X方图 2-1 4 8255 A 的方式控制字最高位D7一控制字的特征位,必需为“1;D6D3寸空制A口及C口高四位1A组);D2D0寸空制B口及C口低四位(B组);输输输输方方 o IL O 1 O 1C 口位控字3、8255A的各种任务方式的功能11)方式0A、B、C三口作数据通道;输入时:无锁
42、存只需缓冲;输出时:都有锁存;控制字:8AH=1 0 0 0 1 0 1 0D7-1,特征位;D6 D500,方式0;D4-0,A 口输出;D3-1,C口高四位输入;D2-0,B口任务方式0;bi-1,B口输入;0,C口低四位输出;图5.46附加联络信号的方式0 I/O给输出设备送数前-经过PC7查询 设备形状;假设ready从A口送出数 据;再从PC1发选通讯号使输出设 备接受数据。给输入设备送数前经过PC6查 询设备形状;假设ready从B口送入 数据;再从PCO发去除信号,以便输 入后续字节。(P323)(2)方式1A、B任务于方式1,C口的某些线作形状/控制用方式1输入A 口任务于方式
43、1输入,PC5-PC3控制线;B 口任务于方式1输入,PC2PC0控制线;图5.47方式1输入的控制字及 信号A组方式控制字STBB IBFB1NTRBSTB-选通讯号,输入,低电平有效;STBA 一 PC4,STBB PC2IBF 输入缓冲器满信号,输出,高电平有效。IBFA 一 PC5;IBFB PC1INTR中断恳求信号,输出,高电平有效;在工NTE=1且工BF=1条件下,由选通讯号后沿产生;PC3 INTRA;PCO INTRBINTE-中断允许位;工NTE=1允许中断;工NTE=O制止中断;方式1输入1)A组方式控制字2)B组方式控制字i i i端口 b 端入IXXXXIIX3读入C
44、口形状,各位表现的形状D7D6D5D4D3D2D1DO(I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB1方式输入时任务时序图方式1输出A 口任务于方式1输出,PC7、PC6、PC3控制线;B口任务于方式1输出,PC2PC0控制线;图5.48方式1输出的 控制字及信号(PC2)PB7 0方式11XXXX10X端口 B输出WRINTEBPCoPCi PC?INTRBnOBFB-*-ACKBOBF-输出缓冲器满,输入,低电平有效;OBFA 一 PC7,OBFB f PC1力云-_应对信号,输出,低电平有效。ACKA-PC6;ACKB PC2INTR中断恳求信号,输出,高电平有效
45、;在工NTE=1且 0办条件下,由应对信号后沿产生;PC3-INTRA;PCO-INTRBINTE中断允许位;工NTE=1允许中断;工NTE=O制止中断;方式1输出1)A组方式控制字2)B组方式控制字3)读入C口形状,各位表现的形状D7D6D5D4D3D2D1DOOBFAINTEAI/OI/OINTRAINTEBOBFBINTRBtAOB1方式输出时任务时序(3)方式2只需A口任务于双向的工/O方式;A 口以方式2输出数据时 仅在应对信号有效时出如今PA7PA0,否那么为高阻形状;应对信号的前沿使8255A输出数据,后沿使数据锁存在外设中。A 口方式2的工/O共用一个中断恳求工NTR信号;A
46、口方式2时,B组选择方式0,PC2PC0可独立选择工/O;B组选择方式1,PC2PC0成为B 口的联络线;方式21)控制字D 7 D 5 D 4 D j D 2 D I2)读入C口形状,各位表现的形状A 口双向B 口方式。方式。1方式1D7D6D5D4D3D2D1DO JOBFAINTE1IBFAINTE2INTRA2方式的联络信号线定义数据从外设到8255A数据从8255A到CPU2方式时序关系例:8255A的运用一一打印机接口电路.uz开场CPU8255APC6PC2地打印机插座PAO 7ATA0 7STBBUSY 地N8255A初始化BUSY=021 Y任务过程:当主机要打印机打印字符时
47、,先查询打印机信号BUS/信号,彳 设打印机正在处置一个字符或正在打印一个字符时,那么BUS/E;否 那么busy=Oo当查询BUSY=0时;主机可以经过8255A向打印机输出一个字 符,需给打印机的5TB端一个负脉冲,以便将字符选通到打印机的 输入缓冲器,打印机就可以打印该字符。主机要打印的字符经过8255A的PA 口送给打印札 打印机的信号BUSY经过8255A的PC2传送给主机;驶C6用以输出选通脉冲。S的端口地址:200H-203HSTART:MOVMOVOUTMOVOUTMOVL:INTESTAL,81HDX,203HDX,DX,DX,ObH202Hbx;04H;输入控制字81H=1000 0001;写入C口的位控字ODH=0000 1101读取C 口的形状值;假设Busy=i那么回去继续读取c口形状DX,200H;;假设Busy=0那么将CL中的字符送DX,AL;将字符送到A口MOV AL,OCH;使STB为低电平OCH=OOOO 1100选通OUT DX,203H;OUT DX,AL;MOV AL,ObH;使STB为高电平ODH=OOOO 1101恢复原始形状OUT DX,AL;RET