可编程接口芯课件_第1页
可编程接口芯课件_第2页
可编程接口芯课件_第3页
可编程接口芯课件_第4页
可编程接口芯课件_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、可编程接口芯片第七章 可编程接口芯片接口芯片简介第7.1节 接口芯片简介接口的功能数据缓冲数据缓冲:外设数据输入到总线时需要缓冲。:外设数据输入到总线时需要缓冲。数据锁存数据锁存:总线数据输出到外设时的锁存,解决:总线数据输出到外设时的锁存,解决CPU与外设速度不匹配问题。与外设速度不匹配问题。传输控制命令和状态信息传输控制命令和状态信息:计算机与外设有时需使用:计算机与外设有时需使用硬件握手。例如:计算机利用查询输出到打印机。硬件握手。例如:计算机利用查询输出到打印机。信息转换信息转换:串并转换、数模转换、电平格式转换:串并转换、数模转换、电平格式转换一一可由程序改变功能的接口芯片称为可由程

2、序改变功能的接口芯片称为可编程接口芯片可编程接口芯片常用接口芯片8086系统常用可编程接口芯片并行接口芯片并行接口芯片INTEL8255INTEL8255,有三个,有三个8 8位端口位端口A A、B B、C CINTEL8155INTEL8155,有三个端口,内带,有三个端口,内带256256字节字节RAMRAM,两个,两个定时器定时器串行接口芯片串行接口芯片INTEL8251INTEL8251,同步异步串行接口,同步异步串行接口INTEL8250INTEL8250,异步串行接口芯片,异步串行接口芯片计数定时器计数定时器INTEL8253/8254INTEL8253/8254,三个通道,三个通

3、道1616位定时计数器位定时计数器直接内存访问控制器(直接内存访问控制器(DMA)INTEL8237INTEL82378255内部接构第7.2节 可编程并行接口8255A8255A内部结构与功能(一)(一)8255A内部结构内部结构RDWRA0A1CSRESETD7D0PA7PA0PC7PC4PC3 PC0PB7PB0读写读写控制控制逻辑逻辑缓冲缓冲 A 组组控制控制 B 组组控制控制端口端口A端口端口C(上部)(上部)端口端口C(下部)(下部)端口端口B8255内部接构内部结构说明内部结构说明端口端口端口端口A A:由一个由一个8位数据位数据输入锁存器输入锁存器和一个和一个8位数据输位数据输

4、出锁存缓冲器组成,可工作于双向方式。出锁存缓冲器组成,可工作于双向方式。端口端口B:由一个由一个8位位数据输入缓冲器数据输入缓冲器和和1个个8位数据输位数据输出锁存缓冲器构成。出锁存缓冲器构成。端口端口C:由一个由一个8位位数据输入缓冲器数据输入缓冲器和一个和一个8位数据位数据输出锁存缓冲器构成。输出锁存缓冲器构成。C口可分为两个部分,配合口可分为两个部分,配合A口和口和B口工作。口工作。A组控制和组控制和B组控制组控制接收接收CPUCPU控制字,决定控制字,决定82558255工作方式。工作方式。8255内部接构读写控制逻辑读写控制逻辑 由由RD、WR、CS、A0、A1和和RESET组成,组

5、成,8255占用占用4个端口地址。个端口地址。数据总线缓冲器数据总线缓冲器8位双向数据缓冲器,可直接与数据总线相连。位双向数据缓冲器,可直接与数据总线相连。8255引脚功能引脚功能说明引脚功能说明8255A A为为4040引脚双列直插的引脚双列直插的NMOSNMOS器件,其引脚如下:器件,其引脚如下: PA7PA0PA7PA0:端口端口A A的数据线,双向,三态输出。的数据线,双向,三态输出。PB7PB0:端口端口B的数据线,可输入,也可输出。的数据线,可输入,也可输出。PC7PC0:端口端口C的数据线,可输入,也可输出,还的数据线,可输入,也可输出,还可做可做A A口或口或B B口的控制信号

6、线。口的控制信号线。 D7D0D7D0:数据线,与系统总线连接。数据线,与系统总线连接。 RDRD:读信号,输入,低电平有效,从读信号,输入,低电平有效,从8255A读取数据读取数据 WRWR:写信号,输入,低电平有效,把写信号,输入,低电平有效,把数据写入数据写入8255。CS:片选信号,输入,低电平有效,决定芯片地址片选信号,输入,低电平有效,决定芯片地址。A0 A1:端口选择信号,端口选择信号,8255占四个端口地址。占四个端口地址。RESET:复位信号,输入,高电平有效。复位后清所复位信号,输入,高电平有效。复位后清所有内部寄存器有内部寄存器8255端口选择8255端口选择端口选择A1

7、 A0 00 对对A口操作口操作 01 对对B口操作口操作 10 对对C口操作口操作 11 对控制口操作对控制口操作A1 A0 RD WR CS0 0 0 1 00 1 0 1 01 0 0 1 00 0 1 0 00 1 1 0 01 0 1 0 01 1 1 0 0操操 作作读端口读端口A读端口读端口B读端口读端口C向端口向端口A输出输出向端口向端口B输出输出向端口向端口C输出输出向控制口输出向控制口输出8255的计算机连接D7 D0D7D0RDWRA1A0RESETCSIORIOWA13A15A14A10A12A1174LS3074LS04A9+5VA8A7A6A5+5VCBA74LS1

8、38Y3G2AG2BG1RESET8255APA7PA0PB7 PB0PC7 PC0A2A18255与计算机的连接8255与计算机的连接连接说明连接说明8255的数据线的数据线D7D0D7D0接接80868086系统的数据线低系统的数据线低8 8位。位。8255的的A0A0接接80868086的的A1A1,82558255的的A1A1接接80868086的的A2A2,使用偶,使用偶地址传递信息。地址传递信息。端口地址端口地址A15 A8 0 0端口端口0 00 11 01 1A口口B口口C口口控制口控制口A7 A6 A5A4A3 A2A1地址地址0060H0062H0064H0066H0A00

9、 1 1X X8255控制字8255A的控制字与工作方式(一)(一) 8255A A的控制字的控制字方式控制字方式控制字 方式控制字送到控制口,以选择方式控制字送到控制口,以选择A A口,口,B B口和口和C C口的工口的工作方式。作方式。1标识标识 端口端口C (上半部)(上半部) 1=输入输入 0=输出输出D6 D5 D4 D3 D2 D1 D0B组组方式选择方式选择0=方式方式01=方式方式1端口端口B1=输入输入0=输出输出 端口端口C (下半部)(下半部) 1=输入输入 0=输出输出A组组方式选择方式选择00=方式方式001=方式方式11X=方式方式2端口端口A1=输入输入0=输出输

10、出8255工作方式控制字工作方式控制字8255控制字说明说明8255A A有三种工作方式,每种方式都可以输入也可以输出。有三种工作方式,每种方式都可以输入也可以输出。方式方式0:无条件(基本)输入输出。:无条件(基本)输入输出。方式方式1:查询(选通)输入输出。:查询(选通)输入输出。方式方式2:双向方式。:双向方式。A A口有三种工作方式,口有三种工作方式,B B口仅有方式口仅有方式0 0和方式和方式1 1工作方式。工作方式。在方式在方式1 1和方式和方式2 2中中C C口作为联络信号。口作为联络信号。8255控制字端口端口C C按位控制字按位控制字说明说明按位控制字写入按位控制字写入825

11、5的控制口;的控制口;该控制字仅对该控制字仅对8255的端口的端口C的输出锁存器操作。的输出锁存器操作。标识标识D0D00 0D7D7X XX XX XB2B2B1B1B0B0 1/01/0D0=1 D0=1 置置1 1D0=0 D0=0 复位复位0 00 00 0未用未用1 12 23 34 45 56 67 70 01 10 01 10 01 10 01 10 01 11 10 00 01 11 10 00 00 01 11 11 11 18255工作方式(二)(二)8255A A的工作方式的工作方式 方式方式0 基本输入输出方式基本输入输出方式 输入输入端口端口A、B和和PC7PC4及及

12、PC3PC0PC3PC0都可工作于此方都可工作于此方式式在此方式下,口线直接与端口输入缓冲器相连,在此方式下,口线直接与端口输入缓冲器相连,输入不具有锁存功能输入不具有锁存功能1.1.CPUCPU用用ININ指令读取指令读取数据口以得到当前口线状态数据口以得到当前口线状态8255工作方式输出输出端口端口A、B、PC7PC4和和PC3PC0PC3PC0均可编程工作于此方均可编程工作于此方式。式。在此方式下,输出口线通过端口输出缓冲器连接到端在此方式下,输出口线通过端口输出缓冲器连接到端口输出锁存器,而且输出缓冲器被打开。口输出锁存器,而且输出缓冲器被打开。CPUCPU用用OUTOUT指令写数据到

13、指令写数据到数据口,以把数据输出到端口数据口,以把数据输出到端口输出锁存器,并到达口线。输出锁存器,并到达口线。8255工作方式方式方式1 选通输入输出方式选通输入输出方式选通输入方式选通输入方式INTEAINTEA PC4PC4PC5PC5PC3PC3PA7PA7PA0PA0STBASTBAIBFAIBFAINTRAINTRAA A口选通输入控制信号口选通输入控制信号PC4PC4INTEBINTEB PC2PC2PC1PC1PC0PC0PB7PB7PB0PB0STBBSTBBIBFBIBFBINTRBINTRBB B口选通输入控制信号口选通输入控制信号PC2PC28255工作方式信号说明信号

14、说明 STB STB 选通输入:选通输入:低电平有效,表示外设送出新数据。低电平有效,表示外设送出新数据。 IBF 输入缓冲区满:输入缓冲区满:输出,高电平有效。通知外设输输出,高电平有效。通知外设输入缓冲区满,不要送新数据,由入缓冲区满,不要送新数据,由CPUCPU读取数据清除。读取数据清除。 INTR 中断请求信号:中断请求信号:输出,高电平有效,可向输出,高电平有效,可向CPUCPU申申请中断。请中断。INTEx 中断允许:中断允许:INTEAINTEA是是C C口输出锁存器的口输出锁存器的PC4PC4,INTEBINTEB是是C C口输出锁存器的口输出锁存器的PC2PC2,由它们分别控

15、制,由它们分别控制A A口和口和B B口的中断申请。口的中断申请。INTEx=1 中断允许中断允许INTEx=0 中断禁止中断禁止8255工作方式选通输出方式选通输出方式INTEAINTEA PC6PC6PC7PC7PC3PC3PA7PA7PA0PA0ACKAACKAOBFAOBFAINTRAINTRAA A口选通输出控制信号口选通输出控制信号PC6PC6INTEBINTEB PC2PC2PC1PC1PC0PC0PB7PB7PB0PB0OBFBOBFBINTRBINTRBB B口选通输出控制信号口选通输出控制信号ACKBACKBPC2PC28255工作方式信号说明信号说明 OBF OBF 输出

16、缓冲器满,输出,低电平有效,通知外设端输出缓冲器满,输出,低电平有效,通知外设端口已有可用数据。口已有可用数据。 ACK ACK 收到信号,输入,低电平有效。外设通知收到信号,输入,低电平有效。外设通知82558255已已取走数据,由其清除取走数据,由其清除OBFOBF,并置,并置“1”INTRINTR。 INTR INTR 中断请求信号,输出,高电平有效,可向中断请求信号,输出,高电平有效,可向CPUCPU申申请中断。请中断。 INTEx INTEx 中断允许信号中断允许信号INTEAINTEA为为PC6PC6输出锁存器输出锁存器,INTEB为为PC2PC2输出锁存器输出锁存器INTEx=1

17、 INTEx=1 中断允许,中断允许,INTEx=0 INTEx=0 禁止中断。禁止中断。8255工作方式方式方式2 双向方式双向方式仅仅A A口有此方式口有此方式PC3PC3PA7PA7PA0PA0ACKAACKAOBFAOBFAINTRAINTRAPC6PC6PC7PC7INTE1INTE1 PC4PC4PC5PC5INTE2INTE2 STBASTBAIBFAIBFAPC6PC6PC4PC4控制信号控制信号 INTR 中断请求信号,中断请求信号,输出,高电平有效,向输出,高电平有效,向CPUCPU提出中断请求。由输提出中断请求。由输入入ACKAACKA或输入或输入STBASTBA使中断使

18、中断申请信号有效。申请信号有效。 OBFA OBFA 输出缓冲器满,输输出缓冲器满,输出,低电平有效,通知外出,低电平有效,通知外设端口已有有效数据。设端口已有有效数据。8255工作方式ACKA 输入,低电平有效。外设发出输入,低电平有效。外设发出ACKAACKA打开打开A A口输出缓口输出缓冲器,读取数据,同时清除冲器,读取数据,同时清除OBFAOBFA,并使,并使INTRINTR有效。有效。STBA STBA 选通信号,输入,低电平有效,外设准备好数据,选通信号,输入,低电平有效,外设准备好数据,通过通过STBASTBA把数据锁存到端口输入锁存器,同时使把数据锁存到端口输入锁存器,同时使I

19、BFAIBFA和和INTRA有效。有效。 IBFA 输入缓冲区满,输出,高电平有效。通知外设端口输入缓冲区满,输出,高电平有效。通知外设端口已有数据。该信号由已有数据。该信号由CPUCPU对数据端口读操作清除。对数据端口读操作清除。INTEx 中断允许信号中断允许信号INTE1INTE1为为PC6PC6输出锁存器,输出锁存器,INTE2INTE2为为PC4PC4输出锁存器输出锁存器INTEx = 1 INTEx = 1 中断允许中断允许INTEx = 0 INTEx = 0 禁止中断禁止中断8255应用举例8255A应用举例 例例1 由由8255A A的的A A口输出控制一位共阳极数码管,由口

20、输出控制一位共阳极数码管,由C C口口PC7PC4PC7PC4输入接入四位输入接入四位DIPDIP开关的设置,根据开关设置值,在开关的设置,根据开关设置值,在数码管上显示字型。数码管上显示字型。注:注:LED数码管由数码管由8个发光二极管组成七段数码和小数点个发光二极管组成七段数码和小数点字型图字型图a ab bc cd de ef fg gdpdpa ab bc cd de ef fg gdpdpcomcom共阳极数码管内部结构共阳极数码管内部结构+5V+5VPA0PA1PA2PA3PA4PA5PA6PA7PC4PC5PC6PC7D7D0IORIOWA2A1RESETPPICS(607FH)

21、CSRESETA0A1WRRDD7D0825510K*4300*88255应用举例程序程序8255初始化控制字:初始化控制字:88H H十六进制到字型码采用软件译码方式十六进制到字型码采用软件译码方式十六进制十六进制字型码字型码十六进制十六进制 字型码字型码00H00HC0HC0H08H08H80H80H01H01HF9HF9H09H09H98H98H02H02HA4HA4H0AH0AH88H88H03H03HB0HB0H0BH0BH83H83H04H04H99H99H0CH0CHC6HC6H05H05H92H92H0DH0DHA1HA1H06H06H82H82H0EH0EH86H86H07H

22、07HF8HF8H0FH0FH8EH8EH8255应用举例PORTA EQU 60HPORTB EQU 62HPORTC EQU 64HPCTRL EQU 66HDIS PROC MOV AL, 88H OUT PCTRL,AL ;初始化初始化8255 IN AL,PORTC ;读开关状态读开关状态 MOV CL,4 SHR AL,CL ;转成低转成低4位位 LEA BX,SH_TAB XLAT SH_TAB ;查表查表 OUT PORTA,AL ;显示输出显示输出 RET ;字型表字型表 SH_TAB DB 0C0H 0F9 DIS ENDP8253内部结构第7.3节 计数器/定时器INTE

23、L 82538253内部结构与功能 Intel8253是三个通道是三个通道16位再装入定时计数器,可由软位再装入定时计数器,可由软件设定件设定6种工作方式。种工作方式。(一)内部结构(一)内部结构内部结构说明内部结构说明8253内部有三个独立的通道;内部有三个独立的通道;每个通道有每个通道有6种工作方式,由控制寄存器选择;种工作方式,由控制寄存器选择;每个通道可对外部输入每个通道可对外部输入CLKCLK进行二进制或十进制减进行二进制或十进制减1 1计数。计数由引脚计数。计数由引脚GATEGATE控制;控制;一一计数器归计数器归0 0时由时由OUTOUT引脚输出信号。引脚输出信号。8253内部结

24、构D7D0缓冲器缓冲器RDWRA0A1CS读写读写控制控制逻辑逻辑数据数据控制控制寄存器寄存器计数器计数器0CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2计数器计数器1计数器计数器282538253内部结构内部结构8253引脚功能引脚功能引脚功能8253具有具有24个引脚,各引脚功能如下:个引脚,各引脚功能如下: D7D0D7D0 数据总线,双向三态,可直接与计算机系统数数据总线,双向三态,可直接与计算机系统数据总线相连。据总线相连。 RDRD 读信号,输入,低电平有效,若有效则读信号,输入,低电平有效,若有效则CPU从从8253内部读取数据内部读取数据. .W

25、R 写信号,输入,低电平有效,若有效则写信号,输入,低电平有效,若有效则CPUCPU将数据将数据写入写入82538253内部寄存器。内部寄存器。 CSCS 片选信号,输入,低电平有效,与计算机连接时分片选信号,输入,低电平有效,与计算机连接时分配有效地址。配有效地址。 A1 A0A1 A0 内部计数器选择信号。内部计数器选择信号。 8253内部有三个计数内部有三个计数通道,使用四个端口地址。通道,使用四个端口地址。8253引脚功能CLK0、CLK1、CLK2 通道通道0,通道,通道1和通道和通道2的计数时钟的计数时钟输入端,输入端,下降沿使通道减下降沿使通道减1。GATE0、GATE1、GAT

26、E2 门控制,输入,高电平有效门控制,输入,高电平有效或上升沿有效,有效时才允许计数器对输入时钟进行计数。或上升沿有效,有效时才允许计数器对输入时钟进行计数。 OUT0OUT0、OUT1OUT1、OUT2 OUT2 通道输出信号,当计数器计数到通道输出信号,当计数器计数到“0”时由此引脚输出一信号。时由此引脚输出一信号。0 1 0 0 1 0 0 00 00 1 0 0 1 0 0 10 10 1 0 0 1 0 1 01 00 1 0 0 1 0 1 11 10 0 1 0 00 0 1 0 00 0 1 0 10 0 1 0 10 0 1 1 00 0 1 1 0功功 能能对计数器对计数器

27、0 0设置计数初值设置计数初值CSCSRDRDWRWRA1A1 A0A0对计数器对计数器1 1设置计数初值设置计数初值对计数器对计数器2 2设置计数初值设置计数初值设置控制字设置控制字从计数器从计数器0 0读出计数值读出计数值从计数器从计数器1 1读出计数值读出计数值从计数器从计数器2 2读出计数值读出计数值8253与计算机的连接8253与计算机的连接D7D0D7D0RDWRA1A0CSIORIOWA13A15A14A10A12A1174LS3074LS04A9+5VA8A7A6A5+5VCBA74LS138Y2G2AG2BG18253A2A1GATE0GATE1GATE2OUT0OUT1OU

28、T2CLK0CLK1CLK2PB1(8255)+5VPB0(8255)IRQ0(8259)刷新电路刷新电路驱动器驱动器CPCLKDQQ74LS1758253与计算机的连接8253与计算机连接说明与计算机连接说明8253数据线数据线D7D0D7D0接系统数据总线的低接系统数据总线的低8 8位。位。82538253的的A1A1和和A0A0分别接系统的分别接系统的A2A2和和A1A1,使用偶地址传递信息,使用偶地址传递信息由由74LS13874LS138,74LS3074LS30和和74LS04LS04译码选中译码选中8253A15A8 0 0端口端口0 00 11 01 1控制口控制口A7 A6

29、A5A4 A3A2A1地址地址040H0A00 1 0X X通道通道0通道通道1通道通道2042H044H046H8253与计算机的连接8253三个通道的时钟由三个通道的时钟由PCLKPCLK分频得到,频率为:分频得到,频率为:2.38636/2=1.1931816MHz2.38636/2=1.1931816MHz在在IBM-PC/XTIBM-PC/XT微机系统中,通道微机系统中,通道0 0定时定时OUT0OUT0接接82598259的的IR0IR0,通道通道1 1刷新动态存储器,通道刷新动态存储器,通道2 2控制扬声器发声。控制扬声器发声。8253控制字8253控制字及工作方式(一)(一)8

30、2538253控制字控制字控制字写入控制口,说明如下:控制字写入控制口,说明如下:SC1 SC0 计数器通道选择计数器通道选择 0 0 通道通道0 0 1 通道通道1 1 0 通道通道2 1 1 非法非法D0D0SC1SC1D7D7SC0SC0BCDBCDRW1RW1 RW0RW0 M2M2M1M1M0M08253控制字RW1 RW0 计数器读写选择计数器读写选择 0 0 计数器锁存计数器锁存 0 1 只读写低只读写低8位位 1 0 只读写高只读写高8位位 1 1 先低先低8位,再高位,再高8位位M2 M1 M0 M2 M1 M0 计数器工作方式选择计数器工作方式选择0 0 0 方式方式00

31、0 1 方式方式1x 1 0 x 1 0 方式方式2 2x 1 1 x 1 1 方式方式3 31 0 0 1 0 0 方式方式4 41 0 1 1 0 1 方式方式5 5 BCD 计数器进制选择计数器进制选择 0 16位二进制计数器位二进制计数器 1 BCD码计数器码计数器8253工作方式(二)(二)8253工作方式工作方式模式模式0 计数结束产生中断计数结束产生中断控制字写入后控制字写入后OUTOUT即变为低电平,当计数器为即变为低电平,当计数器为0 0时,时,输出输出OUTOUT变为高电平,并停止现行操作。变为高电平,并停止现行操作。计数初值写入后在下一个计数初值写入后在下一个CLKCLK

32、下降沿才送入计数器,下降沿才送入计数器,因此计数值为因此计数值为N+1N+1。当当GATEGATE变为低电平时计数停止,再变为高电平时计变为低电平时计数停止,再变为高电平时计数继续进行。数继续进行。1.1. 若计数过程中重新送入初值,则按新值重新计数。若计数过程中重新送入初值,则按新值重新计数。CLKOUT43210FF方式方式0时序图时序图CWN=4WR8253工作方式模式模式1 可重新触发单稳态触发器可重新触发单稳态触发器写入控制字后写入控制字后OUTOUT变为高电平,变为高电平,GATEGATE上升沿后,下一个上升沿后,下一个CLKCLK的下降沿使得的下降沿使得OUTOUT为低电平并开始

33、计数,回零时为低电平并开始计数,回零时OUTOUT变为高电平。变为高电平。 GATEGATE再来一次上升沿后会再次使再来一次上升沿后会再次使OUTOUT变为低电平,计数变为低电平,计数器以初值重新计数。器以初值重新计数。 再次给通道写入时间常数,不影响现行操作过程,再次给通道写入时间常数,不影响现行操作过程,GATEGATE再次触发后才按新的时间常数操作。再次触发后才按新的时间常数操作。方式方式1时序图时序图OUT3 2 1 0CLKCWN=3WRFFFE3 2GATE8253工作方式模式模式2 分频器分频器写入控制字后写入控制字后OUTOUT为高电平,输入时间常数后,下一时为高电平,输入时间

34、常数后,下一时钟开始计数,减到钟开始计数,减到1 1时输出变为低电平,经过一个时输出变为低电平,经过一个CLKCLK输出变为高电平,计数重新开始。输出变为高电平,计数重新开始。 GATE=1GATE=1计数进行,计数进行,GATE=0GATE=0计数停止,且下一个计数停止,且下一个CLKCLK下降下降沿计数器重新赋初值,沿计数器重新赋初值,GATEGATE变为高电平,计数重新开变为高电平,计数重新开始。始。 计数期间送入新值,本周期继续进行,下一个周期按计数期间送入新值,本周期继续进行,下一个周期按新值计数操作。新值计数操作。方式方式2时序图时序图OUT3 2 1CLKCWN=3WRGATE3

35、 2 1 3 2 18253工作方式模式模式3 方波发生器方波发生器写入控制字后写入控制字后OUTOUT为高电平为高电平, , 输入时间常数后,下一时输入时间常数后,下一时钟开始计数,计到一半时输出变为低电平,计到终值钟开始计数,计到一半时输出变为低电平,计到终值时变为高电平,并开始下一次计数过程。时变为高电平,并开始下一次计数过程。 若若N N为偶数,高低电平持续时间相等;若为奇数,则高为偶数,高低电平持续时间相等;若为奇数,则高电平持续时间为(电平持续时间为(N+1N+1)/2/2,低电平持续时间为(,低电平持续时间为(N-1N-1)/2/2。 GATE=1 GATE=1计数进行,计数进行

36、,GATE=0GATE=0计数停止,计数停止,OUTOUT为高,计数为高,计数器重新赋初值,器重新赋初值,GATEGATE变高,在下一个变高,在下一个CLKCLK下降沿计数重下降沿计数重新开始。新开始。 计数期间送入新值,本周期继续进行,下一个周期按计数期间送入新值,本周期继续进行,下一个周期按新值计数。新值计数。8253工作方式模式4 软件触发选通写入控制字后OUT为高电平,输入时间常数后,下一个时钟周期开始计数,计数器为0时,输出一个周期负脉冲,并停止现行操作。GATE=1允许计数,GATE=0禁止计数,GATE不影响输出计数期间送入新的时间常数,则下一个时钟按新值重新计数OUT3 2 1

37、方式方式3时序图时序图CLKCWN=4WR3 2GATE4418253工作方式模式5硬件触发选通写入控制字后OUT变为高电平,输入时间常数后由GATE上升沿启动计数。计数为0时输出一个时钟的负脉冲,并停止现行操作。计数过程中,若GATE又来一个上升沿,则下一个时钟计数器重新赋值计数OUT3 2 1方式方式4时序图时序图CLKCWN=3WRGATE0FFFEFDFC8253工作方式计数过程中写入时间常数,当前周期不受影响,只有下一计数过程中写入时间常数,当前周期不受影响,只有下一个个 GATEGATE上升沿才启动新值计数上升沿才启动新值计数OUT3 2 1 0方式方式5时序图时序图CLKCWN=

38、3WRFFFE3 2GATE108253应用举例8253应用举例(一)(一)ROMBIOSROMBIOS对对82538253初始化初始化对计数器对计数器0的初始化的初始化MOV AL,36HOUT 46H,ALMOV AL,00HOUT 40H,ALOUT 40H,AL说明说明计数器计数器0工作于方波发生器方式,对工作于方波发生器方式,对CLKCLK(1.1931816MHz1.1931816MHz)进行)进行6553665536分频。分频。8253应用举例计数器计数器0的输出端的输出端OUT0OUT0接接82598259的的IR0IR0,每次归,每次归0 0产生一次产生一次中断请求,中断类型

39、码由中断请求,中断类型码由BIOSBIOS设置为设置为8 8。 中断时间间隔为中断时间间隔为54.925ms54.925ms,每秒钟来,每秒钟来18.218.2次中断。次中断。 通道通道0 0的时间间隔是计算机系统时钟基础。的时间间隔是计算机系统时钟基础。对计数器对计数器1的初始化的初始化MOV AL,54HOUT 46H,ALMOV AL,18OUT 42H,AL通道通道1给给DMADMA控制器提供时钟;控制器提供时钟;输出频率为输出频率为66.288KHz。8253应用举例对计数器对计数器2的初始化和接通喇叭的初始化和接通喇叭MOV AL,0B6HOUT 46H,ALMOV AX,533H

40、OUT 44H,ALMOV AL,AHOUT 44H,ALIN AL,62H ;读入;读入8255的的PBPB口口MOV AHMOV AH,AL AL ;保护原值;保护原值OR ALOR AL,03H 03H ;置;置1 PB11 PB1和和PB0PB0OUT 62HOUT 62H,AL AL ;输出;输出8253应用举例说明说明定时器定时器2工作在方波发生器方式,驱动扬声器发声;工作在方波发生器方式,驱动扬声器发声;发声频率为发声频率为896Hz;扬声器发声还受扬声器发声还受8255的的PB0PB0和和PB1PB1控制。控制。8253应用举例(二)(二)8253应用应用 例例 由由8253的

41、计数器的计数器0定时定时55ms ms 控制扬声器变调发声,控制扬声器变调发声,响响5.55.5秒后停止。秒后停止。 说明说明8253计数器计数器0的的OUT0OUT0接接82598259的的IR0IR0,由,由ROMBIOSROMBIOS初始化,初始化,中断类型码为中断类型码为08H08H,并在完全嵌套方式下工作。,并在完全嵌套方式下工作。 82538253计数器计数器0 0由由ROMBIOSROMBIOS设置为模式设置为模式3 3,定时时间为,定时时间为55ms55ms。 扬声器发声由扬声器发声由82538253的计数器的计数器2 2控制发声频率,发声允许控制发声频率,发声允许由由8255

42、8255的的PB0PB0和和PB1PB1控制。控制。8253应用举例DOS功能调用功能调用25H号子功能为设置中断向量。号子功能为设置中断向量。入口参数入口参数AH=25H,AL=中断类型码中断类型码DS:DX 中断服务程序入口地址中断服务程序入口地址返回参数:无返回参数:无DOS功能调用功能调用35H号子功能为取中断向量号子功能为取中断向量入口参数入口参数AH=35H,AL=中断类型码中断类型码返回参数返回参数ES:BX ES:BX 中断服务程序入口地址中断服务程序入口地址8253应用举例中断服务程序为中断服务程序为INT_08H保护现场和恢复现场;保护现场和恢复现场;中断返回前要开中断并发

43、中断返回前要开中断并发EOIEOI; 中断返回中断返回IRETIRET。每次定时器每次定时器0中断使扬声器的发声频率的分频常数增加中断使扬声器的发声频率的分频常数增加100,并使计数变量,并使计数变量countcount增增1。主程序查询主程序查询countcount到到100100后停止扬声器发声,恢复中断向量,后停止扬声器发声,恢复中断向量,程序退出。程序退出。8253应用举例data segment old_int08h dd ? count dw 0 constant dw 60 state db ?data endsst_seg segment stack db 256 dup (?)st_seg endscode segmentassume cs:code,ds:dataInt_08h proc far push ax

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论