2022年常用接口电路 .pdf
接口与通讯2009-9-1411第4章 常用接口电路4.1 可编程并行接口 8255A4.2 可编程计数器 /定时器 82534.3 串行接口 82514.4 模拟接口24.1 可编程并行接口 8255Az内部结构z引脚及功能z端口地址分配z工作方式z初始化z应用举例3一、8255A 简介(1)具有三个 8位口(A,B,C口),其中C口还可当作两个 4位口来使用。三个口均可用来输入或输出。(2) 有三种主要工作方式:方式0,方式 1,方式 2方式0:基本输入 /出方式方式1:选通输入 /出方式方式2:双向输入 /出方式(3)C口还具有按位置 0或置 1功能4引脚及功能RESET40PA3PA4139PA2PA5238PA1PA6337PA0PA7436WR535634D0733D1832D2931D31030D41129D51228D61327D71426VCC1525PB71624PB61723PB0PB51822PB1PB41921PB2PB320RDCSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC35二、 8255A 内部结构A 组端口AA 组端口C高四位B 组端口C低四位B 组端口BPA7PA0PC7PC4PC3PC0PB7PB0A组控制逻辑B组控制逻辑数据总线缓冲器读/ 写逻辑控制D7-D0RDWRA1A0RESETCS6三、引脚基本操作A1 A0 RD WR CS 操作0 0 0 1 0 端口A 数据总线0 1 0 1 0 端口B 数据总线1 0 0 1 0 端口C 数据总线0 0 1 0 0 数据总线端口A0 1 1 0 0 数据总线端口B1 0 1 0 0 数据总线端口C1 1 1 0 0 数据总线控制口X X X X X 数据总线三态1 1 0 1 0 非法状态X X 1 1 0 数据总线三态名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 37 页 - - - - - - - - - 接口与通讯2009-9-1427判断正误题:18255A的端口选择信号是由 8255A的A0、A1引脚信号提供。()2现将 8255A的CS、RD、WR、 A1、A0各信号依次按01001配合以实现写 8255A的端口 A 。( )答案: 1.T 2.F8四、 8255A 控制字(1) 方式控制字D7D6D5D4D3D2D1D0PC端口低位(在方式 0时)D0 = 0:输出;D0 = 1:输入PB端口D1 = 0:输出;D1 = 1:输入B组工作方式D2 = 0:方式 0;D2 = 1:方式 1B组PC端口高位D3 = 0:输出; D3 = 1:输入PA端口D4= 0:输出;D4 =1:输入A组工作方式D6D5 = 00:方式 0D6D5 = 01:方式 1D6D5 = 1X:方式 2A组D7 = 1方式字的标志9(2) 按位置位 /复位操作控制字格式:10按位置位 /复位操作特点:(1)D7 必须是 0 (2)D3,D2, D1 为位选择(3)最低位 D0表示该操作是置位(D01)或复位( D00)11PC口置位 /复位字的例子设控制寄存器地址21BHMOV DX,21BHMOV AL,05H ;00000101 置位PC2OUT DX,ALDEC AL ;00000100 复位PC2 OUT DX,AL 12五、方式选择1、方式 0 (基本输入输出)基本功能:(1)C口输出有锁存而输入无锁存(2)8255A 具有两个 8位端口(端口 A和B)以及两个 4位的端口(端口 C) ,均可作为输入输出PAPCPB8255AD7 D0PA7 PA0PB7 PB0PC7 PC4PC3 PC0名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 37 页 - - - - - - - - - 接口与通讯2009-9-14313例:在8086系统中,要求在 8255的端口C 的PC3 上产生一个正跳变,8255的端口地址为 0F0H 、0F1H 、0F2H 和0F3H ,试写出程序段。方法 1:利用对 C端口的置/复位命令MOV DX ,0F3HMOV AL ,06H;PC3复位字OUT DX ,ALCALL DELAY;延时MOV AL ,07H;PC3置位字OUT DX ,AL方法2:直接在端口 C输出数据MOV AL ,80H;命令字 PC输出OUT 0F3H ,ALMOV AL ,00H;PC3=0OUT 0F2H ,ALCALL DELAY ;延时MOV AL ,08H;PC3=1,上升沿OUT 0F2H ,AL142、方式 1(选通的输入 /输出方式 )基本功能:(1)拥有两个数据端口(端口A和B) ,每个端口都可以用作输入或者输出(2)每个端口包含 8位的数据端口和三条控制线(3)若仅端口 A工作于方式 1,则余下的 13位可工作于方式 0。若仅端口 B工作于方式 1,端口A可工作于方式 2或方式 015控制字与 C口引脚(输入):方式 1- 选通单向输入时序外部设备将数据送到 A端口上,同时向 8255发出/STB选通信号宽度至少为500ns。8255A 收到数据后将 IBF信号置为高电平,然后发出INTR信号。CPU 响应中断,从 8255A 口读取数据。/RD信号使 INTR请求撤消并使IBF恢复为低电平。17控制字与 C口引脚(输出):方式1的输出时序WROBFINTRACK数据有效tWITtWOBtAOBtAKtAITtWBPA当8255可以接收一个数据时就向 CPU 发INTR信号。中断请求被响应后,中断处理程序向端口写入数据,当 CPU 用/WR 信号将数据送到8255A 的PA 后,使INTR变为低电平,并使/OBF 有效,通知外设可以把数据取走。外设接收数据后,以/ACK 响应8255,8255升高/OBF 。外设收到数据后,其/ACK 信号的后沿(上升沿)使 8255的INTR信号再次有效。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 37 页 - - - - - - - - - 接口与通讯2009-9-144193、方式 2(选通的双向 I/O方式 )基本功能:(1)仅适用于端口 A,作为双向的数据总线(2)端口 C有5条引脚用作为端口 A的握手信号线和中断请求线(3)输入和输出是锁存的20控制字与 C口引脚:0221判断正误题:18255A的选通信号 STB是8255A选中外设,此时,输入缓冲器满,IBF 表示 8255A把数据送到输入缓冲器,等待外设取走数据。()2 8255A工作在方式2,其工作方式是双向总线方式,既可以把数据传到外设,又可以接受外设送入的 数 据 , 但 输 入 和 输 出 过 程 不 能 同 时 进 行 。()课堂练习答案: 1.F 2.T22判断正误题:18255A的“ 端口 C的置位 /复位命令字 ” 应写入控制端口。()28255A芯片的 A口工作在方式 1、为输出端口时,使用的联络信号是IBFA、STBA。 ()课堂练习答案: 1.T 2.F23例1:如图所示,设 8255 端口地址 1B00H1B03H, 读入开关 K的状态,若 K打开,则使发光二极管熄灭;若K闭合,则使发光二极管点亮;24方式选择和初始化:端口A:方式0、输出端口B:方式0、输入端口地址:端口A:1B00H端口B:1B01H端口C :1B02H控制端口: 1B03H控制字: 10000010B = 82H名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 37 页 - - - - - - - - - 接口与通讯2009-9-14525CODE SEGMENTASSUME CS:CODESTART :MOV DX ,1B03HMOV AL ,10000010B ;8255控制字MOV DX ,ALLOOP1 :MOV DX ,1B01HIN AL,DX ;读开关量NOT ALMOV DX ,1B00H ;送LEDOUT DX, AL;CALL DELAY ;延时26MOV AH,06MOV DL,0FFHINT 21H ;判是否按键JNZ EXIT1 ;按JMP LOOP1 ;没按EXIT1:MOV AX ,4C00HINT 21H;返回DOSCODE ENDSEND START27a例2:读取开关量输出到LED (方式 0)abcdefgdp共阳极abcdefgdp共阴极bcgdefdp共阳极接法,相应段的控制信号应为低电平 该段点亮。共阴极接法,相应段的控制信号应为高电平 该段点亮。28显示译码电路功能表( 8 4 2 1)(共阳极)00011 1 1 1 1 0 0 100101 0 1 0 0 1 0 000001 1 0 0 0 0 0 0 DCBA h g f e d c b a 0 900111 0 1 1 0 0 0 00100 1 0 0 1 1 0 0 101011 0 0 1 0 0 1 001101 0 0 0 0 0 1 010001 0 0 0 0 0 0 01001 1 0 0 1 1 0 0 001111 1 1 1 1 0 0 0abcdefg段选码h29一位十六进制段码值(共阳极)LEDTAL :DBC0H;0的字型码: 11000000DBF9H ;1的字型码: 11111001DBA4H ;2的字型码: 10100100DBB0H ;3的字型码: 10110000DB99H ;4的字型码: 10011001。DB88H ;A 的字型码: 10001000DB83H ;B 的字型码: 10000011DBC6H ;C的字型码: 11000110DBA1H ;D的字型码: 10100001DB86H ;E的字型码: 10000110DB8EH ;F的字型码: 1000111030多位LED (共阳 )数字显示器abdpD7D0D7D0PORTAPORTB段码锁存器段码驱动器位码锁存器名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 37 页 - - - - - - - - - 接口与通讯2009-9-14631LED:MOVDI,OFFSET BUFFDATA;DI指向显示缓冲区首址MOVCL,80H ;位码送 CLDISI:MOVAL,DI ; 要显示的数送 ALMOV BX, OFFSET TABLE;BX指向段码表的首地址XLAT ; BX 十ALAL换码MOV DX, PORT_A ;段码值送 PAOUT DX, ALMOV AL,CL ;位码值送 PBMOV DX, PORT_BOUT DX, AL硬件连线P254 PA7PA0 段码值PB7PB0 位码值32PUSH CX;延时MOV CX, 30HDELAY: LOOP DELAY POP CXCMP CL,01HJZ QUITINC DI ; 指针指向要显示的下一位数据SHR CL,1 ; 位码值右移一位JMP DISI ;显示下一位数据QUIT: RET TABLE: DB 0C0H,0F9H,0A4H,8EH BUFFDATA:DB 4,3,2,1,0, 0FH 分析 :已知段码值已被顺序存放在内存中,并且又已知首地址为TABLE, 只要把想显示的数据作为偏移量与首址相加,就指向了表中段码值的地址 ,取其内容即为该数的段码值。33例3:条件传送A口出、 B口入、下 C口入、上 C口出用方式 0,C口和 A口,B口搭配不固定,可自定义对8086系统端口地址:端口A:E0H端口B:E2H端口C :E4H控制端口: E6H纸带输入机BUSYREADY数据输出数据输入DATA STROBERIGHTPC4 PC2PC5PC3PB7PB0PA7PA0打印机D7D0A1A0D7D0A2A134打印机接口逻辑:由于美国 Centronic 公司在打印机生产方面占一定的地位,所以一般的打印机和主机间的连接采用Centronic 标准,主要信号含义列于下表中。负脉冲,宽度大于 5s。主机发出,将数据线上的8位数据置入打印机缓冲器中。输入选通DATA STROBE主机送给打印机的 8位数据输入数据18DATA18说明方向含义信号35如为高电平,表示打印机当前忙,不能接收数据。输出忙BUSY宽约5s的负脉冲,作为打印机已收到一个数据的回答信号,并准备接收下一个打印数据。输出应答ACK说明方向含义信号注: BUSY 为高电平,表示打印机不能接收传输的数据的原因:?数据输入期间?打印操作期间?打印机脱机状态?打印机出错状态?打印机上电复位期间36DATADATA STROBEBUSYACK名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 37 页 - - - - - - - - - 接口与通讯2009-9-14737方式选择和初始化:端口A:方式0、输出端口C :(高4位)方式0、输出端口B:方式0、输入端口C :(低4位)方式0、输入端口地址:端口A:E0H端口B:E2H端口C :E4H控制端口: E6H控制字: 10000011 = 83H控制字: 10000011 = 83H38;初始化MOV AL ,83H;送控制字OUT 0E6H ,ALMOV AL ,09H;PC4 置1,打印机选通无效OUT 0E6H ,ALMOV AL ,0BH;PC5 置1, 断开纸带输入机OUT 0E6H ,AL39;打印机驱动程序LPST :IN AL ,0E4H;读PC2状态,忙,等待AND AL ,04HJNZ LPSTMOV AL ,BUFOUT ;不忙,从输出缓冲区OUT 0E0H ,AL ;取字符送打印机MOV AL ,08H ;PC4置0,选通打印机OUT 0E6H ,ALCALL DELAYMOV AL,09H OUT 0E6H ,AL ;PC4置1,形成一个负脉冲;40;纸带输入机驱动程序RDST:MOV AL ,0AH;PC5置0,选通纸带输入机OUT 0E6H,AL RDLP:IN AL ,0E4H ;读PC3状态,没准备好,等待AND AL ,08HJZ RDLPIN AL ,0E2H;准备好,从端口读入一个字符MOV BUFIN ,AL ;送输入缓冲区MOV AL ,0BH;PC5置1,断开纸带输入机OUT 0E6H,AL4.2 可编程定时器 /计数器8253Az引脚功能及内部结构z寻址z初始化及编程z工作方式z举例主要内容 :重点和难点 :重点是讨论外部定时技术。难点是定义 8253的各种工作字42一、概述1、定时与计数器的概念为处理器和外部设备提供时间间隔标志或对外部输入脉冲进行计数。?8253的基本功能是对外部输入脉冲进行计数?如果脉冲信号的周期固定,个数乘以周期就是时间间隔(定时)8253的0方式时序波形CLKT名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 37 页 - - - - - - - - - 接口与通讯2009-9-14843计数器:在时钟信号 (频率不定的) 脉冲信号作用下,进行减 “ 1” 计数,计数次数到(减“ 1” 计数回零),从输出端输出一个脉冲信号。计数举例:对零件和产品的计数;对大桥和高速公路上车流量的统计,等等。CLKOUT3 2 1 0 44工件光敏电阻应用举例:生产流水线电路图:GATE08253CLK0OUT0INTGATE1CLK12.5MHz8255PA0OUT1Driver扬声器+5V光源+5V2000Hz初值: 50初值: 125045计数启动 (计数器允许计数时)?软件启动 :即用输出指令向计数器赋予初值来启动。设N=3第1个CLK 下降沿, N=3减 1计数器第2个CLK 下降沿,减 1计数器开始工作CLKOUT3 2 1 0 GATE=1n=3WRCW46硬件启动:用门控信号GATE 启动。当 GATE=1时,随后的 CLK 下降沿才开始减 1。GATECLKOUT3 2 1 0 n=3WRCW47二、可编程计数器 / 定时器82531.Intel 8253 定时器/ 计数器的基本性能参数1)、一片8253内部有3个16位的计数器(相互独立)2)、每个计数器的内部结构相同,可通过编程手段设置为 6种不同的工作方式来进行定时/ 计数3)、每个计数器再开始工作前必须预制时间常数(时间初始)4)、每个计数器在工作过程中的当前计数值可被CPU 读出.预置寄存器&GATECLKOUT减1计数器输出锁存器计数器 0 2482. 引脚与 CPU总线的连接D0D7:双向数据总线(写命令、读出计数值)CS:片选信号,输入,低电平有效。RD:读控制信号,输入,CPU正在读计数值WR :写控制信号,输入,CPU正在写入控制字或写计数的初值A1A0 : 地址线,输入,用于端口选择写计数器 0写计数器 1写计数器 2写控制字写操作 WR读计数器 0读计数器 1读计数器 2无操作读操作 RD40H41H42H43HI/O地址0 0 00 0 10 1 00 1 1CS A1A0名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 37 页 - - - - - - - - - 接口与通讯2009-9-14949与外设的连接CLK2 CLK0:时钟输入 ,频率不能大于2.6M ,边沿触发 (下降沿 )作外部事件计数器时:CLK上加计数脉冲 ,由外部事件产生 ,脉冲间隔可不相等。作定时器时: CLK输入精确时钟脉冲。GATE2 GATE0:门控输入,用来控制CLK 通过、禁止或重新开始。GATE = 1 CLK 脉冲输入0 禁止OUT2 OUT0 :计数值达到要求或定时时间到, OUT 输出高电平或低电平。503.8253 定时器/ 计数器的内部结构框图8253 内部有 6个模块CLK1GATE1OUT1CLK2GATE2OUT2CLK0GATE0OUT0数据总线缓冲器读/写逻辑电路A0A1RDWRCS8D0-D7控制寄存器计数器0计数器1计数器2内部总线51?初始化1)写入控制字为计数器,确定工作方式(6种方式之一),指定计数器计数初值的长度和装入顺序以及计数值的码制(BCD 或二进制码)。2)按控制字要求写入计数初值分频系数 (计数器初值 )计算: N=fCLK/fOUT4. 8253 编程n=3CLKOUTWR321 0GATE32 1 052定时器计数值选择二进制时计数值范围: 0000HFFFFH0000H 是最大值,代表 65536选择十进制( BCD 码)计数值范围: 0000 99990000 代表最大值 1000053初始化程序流程写控制字写计数值低 8位写计数值高 8位*非必须54D0D1D2D3D4D5D6D7定时器方式控制字数制工作方式读写格式计数器00 计数器 001 计数器 110 计数器 211 非法00 计数器锁存命令01 只读写低字节10 只读写高字节11 先读写低字节后读写高字节000 方式 0001 方式 1*10 方式 2*11 方式 3100 方式 4101 方式 50 二进制1 十进制控制字写入控制字 I/O地址: A1A011名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 37 页 - - - - - - - - - 接口与通讯2009-9-141055关于控制字的说明:1、8253只有一个工作方式控制字,由写入的控制字的 最高2位 指明该控制字属于哪一个计数通道。所用各计数器的控制字需要分别设置,先后不计。2、在工作方式控制字被设置之后,随后必须紧接着给计数器预设置计数初值,计数器方可开始工作。56例8- 7设在 8086系统中有一片 8253,其端口地址分配是:通道 0为120H,通道 1为122H ,通道 2为124H,控制端口为 126H。要求对其通道 0进行初始化,使其工作于方式 0、二进制计数、计数初始值为6688H。针对此问题,经分析可知应写入8253的控制字为30H0 01 10 0 00定时器 0 先低,后高工作方式 0二进制57MOV AL ,30H ;MOV DX ,126H ;OUT DX ,AL ;MOV AL ,88H ;MOV DX ,120H ;OUT DX ,AL ;MOV AL ,66H ;OUT DX ,AL ;控制字送 AL控制口地址送 DX向控制口写入控制字低 8位计数值是 88H通道 0端口地址送 DX向通道 0写入计数初值的低 8位高 8位计数值为 66H向通道 0写入计数初值的高 8位例8-758例8- 8设8253端口地址分别是:E0H,E2H ,E4H,E6H。要读取通道 0的16位计数值 。针对此问题,经分析可知应写入8253的控制字为 00H0 00 00 0 00定时器 0 锁存计数器无关位二进制59MOV AL ,00H ;OUT 0E6H ,AL ;IN AL ,0E0H ;MOV AH ,AL ;IN AL ,0E0H ;XCHG AL ,AH ;控制字送 AL向控制口写入控制字读计数 0的低 8位计数值暂存 AH读计数 0的高 8位计数值交换高、位低例8-8605.计数器的工作模式8253作为一个可编程计数器 / 定时器,可以用 6种工作模式,不论工作在那种模式,都会遵守下面几条基本规则:1) 控制字写入寄存器时,所有控制逻辑电路立即复位,输出端 OUT 进入初始状态。2) 计数初值写入初值寄存器后, 要经过一个时钟的下降沿, 减1计数器才获得初值。0是计数器所能容纳的最大初始值。二进制时, 0相当于216;BCD 码时, 0相当于 104。3)在时钟脉冲的上升沿对门控信号GATE 进行采样。4) 在时钟脉冲的 下降沿 ,计数器作 减1操作。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 37 页 - - - - - - - - - 接口与通讯2009-9-1411611.定时器方式 0:计数结束中断GATEOUTCLK031244方式0WR设定工作方式设定计数初值计数值送入计数器计数过程计数结束计数器写入控制字后,在WR 的上升沿相应的输出信号OUT 就开始变成低电平。当计数器减到零时,OUT 立即输出高电平。62写入计数初值后,必须在下一个时钟脉冲下降沿到来时,才开始计数。门控信号 GATE 为高电平时,计数器工作;为低电平时,计数器停止工作,计数值保持不变。8253的0方式时序波形WRGATEOUT221023n=3CLK63在计数器工作期间,如果重新写入新的计数值,计数器将按新写入的计数值重新工作。8253的0方式时序波形WROUT9n=38310n=9GATE2CLK642.定时器方式 1:可编程单稳脉冲设定工作方式设定计数初值硬件启动计数值送入计数器计数过程计数结束GATEOUTCLK031244方式1WR65情况二:在计数器工作期间,当 GATE 又出现一个上升沿时,计数器重新装入 原计数初值并 重新开始 计数,见图。8253的方式1时序波形WRGATEOUT32123n=30CLK66如果工作期间对计数器写入新的计数初值,则要等到当前的计数值计满回零且门控信号再次出现上升沿后,才按新写入的计数初值开始工作,见。8253的方式1时序波形WROUT2n=310321n=2GATECLK名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 37 页 - - - - - - - - - 接口与通讯2009-9-1412673. 定时器方式 2:频率发生器(分频器)03124GATEOUTCLK4方式 2031240312403124WR688253的方式2时序波形WRGATEOUT232023n=33CLK 计数过程可由 GATE 控制GATE=0 暂停计数GATE 上升沿,重新装入初值,重新计数169WROUT3n=424321n=3GATE18253的方式2时序波形CLK任何时候 CPU重新写入新的初值,不影响当前计数过程。如:原 n=3,一个计数周期完成按新n=4计数0704. 方式3 -方波发生器方式3工作方式与方式 2基本相同,也具有自动装入时间常数(计数初值)的功能, 不同之处在于:工作在方式3 ,引脚OUT输出的不是一个时钟周期的负脉冲,而是占空比为 1:1或近似 1:1的方波;当计数初值为偶数时输出在前一半的计数过程中为高电平,在后一半的计数过程中为低电平。由于方式3输出的波形是方波,并且具有自动重装计数初值的功能,因此, 8253一旦计数开始,就会在输出端OUT 输出连续不断的方波。71n=4CLKWRGATEWROUT542154n=5GATE38253的方式3时序波形OUT432143728253的方式3时序波形WRGATEOUT222434n=43CLK计数过程可由 GATE 控制GATE=0 暂停计数GATE上升沿,重新装入初值,重新计数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 37 页 - - - - - - - - - 接口与通讯2009-9-1413735. 方式4 -软件触发的选通信号发生器方式 4工作方式是一种由软件启动的计数方式,产生一个负脉冲作为选通信号。即由写入计数初值来触发计数器开始工作n=3CLKWRGATEOUT321074门控信 GATE =1 ,允许计数器工作,GATE=0 ,禁止计数器工作8253的方式4时序波形WRGATEOUT2103n=3CLK758253的方式4时序波形WROUT3210n=3GATE2n=2在计数器工作期间,如果重新写入新的计数值,计数器将按新写入的计数值重新工作。CLK766. 方式5 -硬件触发选通信号发生器方式5工作特点是由 GATE 上升沿触发计数器开始工作。 在5方式工作方式下,当写入计数初值后,计数器并不立即开始计数, 而要由门控信号的上升沿启动计数。n=3CLKWRGATEOUT321038253的方式5时序波形77在计数过程中(或者计数结束后),如果门控再次出现上升沿,计数器将从原装入的计数初值重新计数。WRGATEOUT32123n=308253的方式5时序波形CLK78若在计数过程中改变计数值,只要在计数到0之前不出现新的 GATE,则原计数过程不受影响;等计数到0并出现新的GATE后,再按新的计数值计数。若在写入了新的计数值后,在未计数到 0之前有 GATE出现,则立即按新的计数值重新开始计数。8253的方式5时序波形WROUT2n=310321n=2GATECLK名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 37 页 - - - - - - - - - 接口与通讯2009-9-141479小结:软件触发 (N装入 ) 硬件触发输出信号GATE=1 ( GATE 上升沿)方式 0 方式1 宽度可调脉冲方式 4 方式5 一个 CLK周期方式2 周期性信号 (脉冲)周期性信号 (方波:正负相等 )方式3N*TCLKN 0GATE上升沿重新计数(软硬件都能触发)方式 0、1、4、5仅装一次计数值方式 2、3 自动重复装计数值1 1 180OUT方式0方式4432 10OUT4321n=4CLKWRGATE= “ H”方式 4与方式 0比较,主要区别是 OUT端输出负脉冲的宽度不同,在方式 0中是N+1个CLK 脉冲宽度之和,但在方式4中是1个CLK 脉冲周期。其次是计数期间的输出极性相反,方式0是低电平输出,方式 4是高电平输出。081方式2方式3n=4CLKWRGATE= “ H”OUT32141324OUT321432 14方式 2、方式 3既可软件启动又可硬件启动,能自动地、重复产生周期性的脉冲序列。方式 2 ,OUT输出的正脉冲宽度为N-1,负脉冲宽度为 1;方式 3, OUT输出周期为 N个CLK 周期的对称方波。82方式1 OUT方式 5 OUT方式 5与方式1相比,两者均为硬件触发启动计数器工作的方式,但在 OUT端输出负脉冲的宽度不一样,方式1中是N个CLK 脉冲宽度之和,但在方式5中是1个CLK 脉冲周期。n=4CLKWRGATE4321 043210 4 483H 8253A每个计数器都有 6种工作方式(05)。注意:每种工作模式决定以下内容:(1)计数初值何时起作用?计数初值写入计数初值寄存器(CR )后,要经过一个 CLK输入后,计数执行部件( CE )才开始计数。(或称,经过一个CLK 后,计数初值才到达计数执行部件)。(2)门控信号的影响。在时钟脉冲的上升沿对门控信号GATE 进行采样。 高电平允许 。即GATE=1 ,允许对 CLK 计数。当 GATE=0时,即使出现 CLK ,计数器也不计数。上升沿触发 。这种情况需使用计数器内部的一个边沿触发器(编程结构中未画出边沿触发器)。只有当边沿触发器置1后,计数器才对 CLK 计数。GATE 上升沿使边沿触发器置 1,GATE 下降沿使边沿触发器自动清0。模式0、2、3、4 高电平允许 ,模式1、5 上升沿触发 。84(3)OUT 信号的状态,包括:写入控制字后, OUT 的状态。 计数过程中, OUT 的状态。计数终了(一般,当前计数值为0时计数终了),OUT 的状态发生变化。(4)计数操作是否可以重复,或称计数初值是否可以自动装入。 不可重复 写入初值后,从初值开始按“ 减1计数 ” ,计数终了时,输出 OUT 信号,即完成一个计数周期(或称输出周期)。若希望再次开始计数,必须重新写入初值(即使需写入的初值与上次相同)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 37 页 - - - - - - - - - 接口与通讯2009-9-141585一、填空1.8253A 的方式, 属于软件触发选通 , 其特点是;2.8253A的方式, 属于硬件触发选通, 其特点是;3. 8253A 的方式, 属于周期性脉冲输出 , 其特点是。课堂练习答案:1. 0, 4写入计数初值后计数器就立即启动2. 1, 5计数器的启动只能由门控脉冲GATE 的上升沿产生3. 2, 3当减1计数器到 0时,初值寄存器自动将计数初值送到减1计数器,使减 1计数器在计数初值下重新计数. 86例1:设8253的端口地址为 48H,49H,4AH ,4BH,CLK时钟频率为 1MHZ, 期望产生 10KHZ 方波,求计数初值 N=? 解:fCLK=1MHZ , fOUT=10KHZ 定时系数 N(十进制计数初值)= fCLK/ fOUT= 1MHZ/ 10KHZ=1000/10=100三、8253的 应用举例87定时器 0:标准定时 ,方式3,采用 BCD计数计数初值 N=100控制字 =37H0 01 10 1 11定时器 0 先低,后高工作方式 3十进制方法 1:MOVAL,37H;取控制字(采用BCD 计数)OUT4BH,ALMOVAL,00H; 计数初值低字节OUT48H,ALMOVAL,01H; 计数初值高字节OUT48H,AL88方法 2:MOVAL,36H;取控制字(二进制计数)OUT4BH,ALMOVAX,100; 计数初值OUT48H,AL ;计数初值低字节MOVAL,AH; 计数初值高字节OUT48H,AL例2、扩大定时计数范围以2MHZ 输入8253,实现每 5秒定时中断。( 8253端口地址为40H43H )分析:定时系数 N(十进制计数初值)= TOUT / TCLK= TOUT FCLK= 5 2 106= 107=100000008253的最大初值 =65536(写入初值 0),需要采用两个计数器串联:一个计数器的输出(OUT )作为另一个计数器的输入(CLK )。90N1= TOUT1 FCLK1N0= TOUT0 FCLK0N0 N1 = ( TOUT0 FCLK0) (TOUT1 FCLK1)= TOUT0 FCLK1 =10000000计数器1:模式2,初值为 N1=10000 。计数器0:模式2,初值为 N0= 1000。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 37 页 - - - - - - - - - 接口与通讯2009-9-1416MOV AL ,00110100B;CNT0控制字 ,模式2,二进制初值,先低8位,后高 8位OUT 43H,ALMOV AX ,1000;CNT0初值OUT 40H,ALMOV AL ,AH OUT 40H,ALMOV AL ,01110100B ;CNT1控制字OUT 43H,AL MOV AX ,10000;CNT1初值OUT 41H,AL MOV AL ,AH OUT 41H,AL92例3:PC 系列机中, 8253的地址为 40H 43H ,其计数器 2工作模式设为模式 3,作为方波发生器使用, CLK=1.19MHZ,OUT2 接至扬声器,使扬声器产生一定频率( 600HZ )的声音。另外,还使用 8255(其端口地址为 60H 63H )控制计数器2的工作(接 GATE2 )。具体连线如图所示:93分析: 8255PB :方式0、输出(设 BIOS 或OS 已初始化好)。8253:工作于模式,计数初值(时间常数) =1.19MHZ/600HZ(=1234DCH / Freq)=1983CODE SEGMENTASSUME CS:CODEBEG: MOV AL, 0B6H; 写入计数器 2的控制字,双字节写、方式3和二进制计数OUT 43H,ALMOV AX,1983 ;计数初值依次写入CR 中OUT 42H,ALMOV AL,AHOUT 42H,AL94IN AL,61HMOV AH,AL; 保存原值(扬声器关闭)OR AL,03; 完成对 8255A PB0=PB1=1 的设置,OUT 61H,AL ;控制扬声器发声,MOV BX,300 ;延时 3sDELAY: MOV CX,2801;执行2801次LOOP指令约需 10msDL10MS:LOOP DL10MSDEC BXJNZ DELAYMOV AL,AHOUT 61H,AL ;关闭扬声器MOV AH, 4CH INT 21H CODE ENDSEND BEG 95例3:利用计算机的扬声器发出高低错落的声音10次。CODE SEGMENT ;代