版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章 可编程计数器/定时器8253第第8 8章章 计数器计数器/ /定时器定时器u 80X86系统常用接口芯片系统常用接口芯片(一)并行接口芯片u Intel 8255,有三个8位端口A,B,Cu Intel 8155,有三个端口,内带256字节RAM,两个定时器。(二)串行接口芯片u Intel 8251,同步异步串行接口。u Intel 8250,异步串行接口芯片。(三)计数定时器u Intel 8253/8254,三个通道16位定时计数器。(四)直接存取控制器(DMAC)u Intel 8237u上述接口芯片功能可由程序改变,称为可编程接口芯片。第第8 8章章 计数器计数器/ /定时器
2、定时器82538253主要功能:主要功能: 以均匀分布的时间间隔中断中断操作系统,以便切换程序; 向I/O设备输出精确的定时信号,信号的周期可由程序控制; 用来作为可编程波特率发生器; 检测外部事件发生的频率或周期; 统计外部事件发生的次数,计数结果送至计算机; 在定时或计数达到编程规定的值以后,向CPU申请中断。 8.1 8.1 计数器计数器/ /定时器概述定时器概述 微机应用系统的重要应用之一是如何用好定时/计数器。即常常需要实时钟实时钟或延时延时或对外部事件计数对外部事件计数。 实现定时或延时控制的常用方法: (1)软件延时软件延时:用一个不完成任何功能的程序段实现; (2)常用数字电路
3、定时常用数字电路定时:555 (3)可编程硬件定时可编程硬件定时:8253,其定时值和定时范围可以通过 软件来确定和改变。第第8 8章章 计数器计数器/ /定时器定时器Intel 8253_ 三个通道三个通道 16 16位位 可设置定时计数器可设置定时计数器,可由软件设定6种工作方式。 8.2 8253 8.2 8253内部结构内部结构第第8 8章章 计数器计数器/ /定时器定时器8253内部由三个独立通道组成,结构与工作原理完全相同。每个通道是16位计数器 可对外输入CLK进行二进制或十进制( BCD)减1计数 是否计数由外引脚GATE控制。CLK 已知频率的时钟信号 外部事件发生源 16位
4、减法计数器位减法计数器 2# 最大216(0000H0000H) 最小1 (0001H) 10# 最大104(0000H0000H) 最小1 (0001H)每个通道有6种工作方式,由控制寄存器选择。计数器归0时由OUT引脚输出信号。控制字寄存器只能写不能读,写入的控制字将控制通道的工作方式。数据总线缓冲器用于与CPU间的信息通道。第第8 8章章 计数器计数器/ /定时器定时器 1. 1. D7D7D0D0:数据总线,双向,三态, 直接与计算机数据总线相连。 2. 2. CLK0CLK0CLK2CLK2:计数时钟输入端, 下降沿使通道减1。 3. 3. GATE0GATE0GATE2GATE2:
5、门控制,输入, 高电平有效或上升沿有效, 有效时允许计数器对输入时钟计数。 4. 4. OUT0OUT0OUT2OUT2:通道输出信号, 计数器到“0”时由此输出一信号, 输出波形形式取决于工作方式。 5. 5. A1A1、A0A0:寻址3个通道的计数器 和控制寄存器(3个通道的控制寄 存器共用一个端口地址). 6. RD6. RD、WRWR和和CSCS:8253的读、写 和片选信号,均为低电平有效。0 1 0 0 00 1 0 0 10 1 0 1 00 1 0 1 10 0 1 0 00 0 1 0 10 0 1 1 0功 能对计数器0设置计数初值CS RDWR A1 A0对计数器1设置计
6、数初值对计数器2设置计数初值设置控制字从计数器0读出计数值从计数器1读出计数值从计数器2读出计数值 8.3 8253 8.3 8253的引脚功能的引脚功能第第8 8章章 计数器计数器/ /定时器定时器 8253 8253与与80868086系统计算机连接系统计算机连接D7D0D7D0RDWRA1A0CSIORIOWA13A15A14A10A12A1174LS3074LS04A9+5VA8A7A6A5+5VCBA74LS138Y2G2AG2BG18253A2A1GATE0GATE1GATE2OUT0OUT1OUT2CLK0CLK1CLK2PB1(8255)+5VPB0(8255)IRQ0(825
7、9)刷新电路驱动器CPCLKDQQ74LS175u说明:说明:u1. 8253的数据线D7D0接8086的数据总线的低8位。u2. 8253的A1和A0分别接系统的A2和A1,使用偶地址使用偶地址传递信息。u3.由74LS138,74LS30和74LS04译码选中8253。A15A8 0 0端口0 00 11 01 1控制口A7A6A5A4A3A2A1地址040H0A00 1 0 X X通道0通道1通道2042H044H046Hu4. 8253的三个通道输入时钟由系统PCLK分频得到,频率为: 2.38636/2=1.1931816MHz.u5. 在IBM-PC/XT微机系统中,通道0定时OU
8、T0接8259的IR0,通道1刷新动态存储器,通道2控制扬声器发声.第第8 8章章 计数器计数器/ /定时器定时器uM2M1M0:计数器工作方式选择计数器工作方式选择 0 0 0 方式0 0 0 1 方式1 x 1 0 方式2 x 1 1 方式3 1 0 0 方式4 1 0 1 方式5uBCD:计数器进制选择计数器进制选择 0 16位二进制计数器 1 BCD码计数器uSC1 SC0:计数器通道选择计数器通道选择 0 0 通道0 0 1 通道1 1 0 通道2 1 1 非法uRW1 RW0:计数器读写选择计数器读写选择 0 0 计数器锁存 0 1 只读写低8位 1 0 只读写高8位 1 1 先读
9、写低8位,再读写高8位u控制字写入控制端口,各位含义如下:D0SC1D7SC0BCDRW1RW0M2M1M0 8.4 8253 8.4 8253的控制字的控制字82538253初始化:初始化: 对一个通道对一个通道 先写入控制字先写入控制字 再写入时间常数(计数初值)再写入时间常数(计数初值)第第8 8章章 计数器计数器/ /定时器定时器注:注: 写入控制字写入控制字后,所有控制逻辑电路复位, 输出端OUT进入初始状态进入初始状态。 CPU向8253写入的计数初值,要在CLK端输入一个正脉冲( )后后才能被真正装入指定通道(若在此CLK下降沿之前读计数器,则其值是不定的)。 之后再次再次输入时
10、钟脉冲(CLK)才开始计数,且每次在脉冲的下降沿减1计数。即:写入计数初值后,经过一个即:写入计数初值后,经过一个CLKCLK,82538253才开始计数。才开始计数。第第8 8章章 计数器计数器/ /定时器定时器(1)方式)方式0计数结束产生中断计数结束产生中断(2 2)方式)方式11可重复触发单稳触发器可重复触发单稳触发器(3 3)方式)方式22分频器分频器( (频率发生器)频率发生器)(4 4)方式)方式33方波发生器方波发生器(连续)(连续)(5 5)方式)方式44软件触发选通软件触发选通(6 6)方式)方式55硬件触发选通硬件触发选通 8.5 8253 8.5 8253的工作方式的工
11、作方式第第8 8章章 计数器计数器/ /定时器定时器CLKOUT43210FF方式0时序图CWN=4WR(1) 方式0计数结束产生中断 控制字(CW)写入后OUT即变为低电平,当计数器为0时,输出OUT变为高电平。 计数初值写入后在下一个CLK下降沿才送入计数器,因此计数值为N+1。 当GATE变为低电平时计数停止,再变为高电平时计数继续进行。 若计数过程中重新送入初值,则按新值重新计数。 计数到零后,不能自动恢复计数初值,OUT端保持高电平。 再次写入计数初值,才又开始计数。第第8 8章章 计数器计数器/ /定时器定时器例:例:若8253的地址为04H07H,要使计数器工作在方式0,仅用8位
12、二进制数,计数初值为128,初始化程序为: MOV MOV AL AL ,50H50H OUT OUT 07H07H,ALAL MOV MOV AL AL ,80H80H OUT OUT 05H05H,ALALD0SC1D7SC0BCDRW1RW0M2M1M0D01D70001000第第8 8章章 计数器计数器/ /定时器定时器(2)方式1可重复触发单稳触发器 写入CW后OUT变为高电平, GATE上升沿触发后,OUT变为低并开始计数,归零时OUT变为高电平。 GATE再来一次上升沿使OUT为低,计数器以初值重新计数。 计数过程中,再次给通道写入时间常数,不影响现行操作过程,GATE再次触发后
13、才按新的时间常数操作。 计数过程中,GATE触发沿提前到来,在下一个CLK的下降沿,计数器开始重新计数,这将使输出单稳脉冲比原先设定的计数值加宽。OUT3 2 1 0方式1时序图CLKCWN=3WRFFFE3 2GATE可重复触发可重复触发 当计数归零后,不用再次送计数值,只要给它触发脉冲,即可产生一个同样宽度的单稳脉冲输出。第第8 8章章 计数器计数器/ /定时器定时器(3)方式2分频器(频率发生器) 写入CW后OUT为高电平,写入时间常数后,下一CLK开始计数,减减到到1时OUT变低,经过一个CLK后 OUT变高,计数重新开始。 GATE=1计数进行,GATE=0计数停止,且下一个CLK计
14、数器重新赋初值,GATE变为高电平,计数重新开始。 计数期间送入新值,本周期继续进行,下一个周期按新值计数操作。OUT3 2 1方式2时序图CLKCWN=3WRGATE3 2 1 3 21不用重复置数。计数器能够不用重复置数。计数器能够连续连续工作,输出工作,输出OUTOUT是输入是输入CLKCLK的的n(n(初值)分频。初值)分频。软件同步:软件同步:计数器写入控制字和计数初值后,如GATE一直处于高电平, 那么,在下一个脉冲开始计数器计数。 通过写入计数初值使计数器同步,称为。硬件同步:硬件同步:由前述知,门控信号可实现计数器的同步,称为硬件同步第第8 8章章 计数器计数器/ /定时器定时
15、器第第8 8章章 计数器计数器/ /定时器定时器(4)方式3方波发生器(连续)(连续) 写入CW后OUT变为高电平,输入时间常数后,下一个时钟开始计数,计到一半时输出变为低电平,计到终值时重新变为高电平,并开始下一次并开始下一次计数过程。计数过程。 若N为偶数,高低电平持续时间相等;若为奇数,则高电平持续时间为(N+1)/2,低电平持续时间为(N-1)/2。 GATE=1计数进行。在计数过程中若GATE=0,计数停止且OUT为高,计数器重新赋初值,GATE回到高时计数重新开始。 计数期间送入新值,本周期继续进行,下一个周期按新值计数。OUT3 2 1方式3时序图CLKCWN=4WR3 2GAT
16、E441第第8 8章章 计数器计数器/ /定时器定时器(5)方式4软件触发选通写入CW后OUT为高电平,输入时间常数后,下一个CLK开始计数,计数器为0时,输出一个周期负脉冲,并停止操作。GATE=1允许计数,GATE=0禁止计数。计数期间送入新的时间常数,则下一个时钟按新值重新计数。(6)方式5硬件触发选通 写入CW后OUT为高电平,输入时间常数后由GATE上升沿启动计数。计数为0时输出一个时钟的负脉冲,并停止操作。 计数过程中,若GATE又来一个上升沿,则下一个时钟计数器重新赋值计数。 计数过程中写入时间常数,当前周期不受影响,在下一个 GATE上升沿启动新值计数。OUT3 2 1 0方式
17、5时序图CLKCWN=3WRFFFE3 2GATE1 0OUT3 2 1方式4时序图CLKCWN=3WRGATE0FFFEFDFC计数过程由软件将计数初值装入通道来触发计数过程由软件将计数初值装入通道来触发第第8 8章章 计数器计数器/ /定时器定时器 8253 8253有有6 6种不同的工作方式。小结如下:种不同的工作方式。小结如下: 方式方式0 0 写入写入CWCW后,输出即变低,计数结束输出为高,常用该输出信号后,输出即变低,计数结束输出为高,常用该输出信号作为中断源。其余作为中断源。其余5 5种方式写入种方式写入CWCW后,输出均变高。后,输出均变高。 方式方式0 0可用来实现定时或对
18、外部事件进行计数。可用来实现定时或对外部事件进行计数。 方式方式1 1用来产生单脉冲。用来产生单脉冲。 方式方式2 2用来产生序列负脉冲,每个负脉冲的宽度与用来产生序列负脉冲,每个负脉冲的宽度与CLKCLK的周期相同。的周期相同。 方式方式3 3用于产生连续的方波。方式用于产生连续的方波。方式2 2和方式和方式3 3都实现对都实现对CLKCLK的的n n分频。分频。 方式方式4 4和方式和方式5 5的波形相同,都是计数器归的波形相同,都是计数器归0 0后的后的1 1个负脉冲,宽度为个负脉冲,宽度为1 1个个CLKCLK。 方式方式2 2、4 4、5 5的输出波形是相同的,都是宽度为一个的输出波
19、形是相同的,都是宽度为一个CLKCLK周期的负脉冲。周期的负脉冲。但方式2是连续的,方式4是由软件(设置初值)触发启动,而方式5由硬件(门控脉冲)触发启动。 方式方式1 1、5 5 触发计数方式相同,但输出波形不同。触发计数方式相同,但输出波形不同。方式1为输出n个CLK脉冲周期的负脉冲(计数过程中输出为低),而方式5输出的是宽度为1个CLK脉冲周期的负脉冲(计数过程输出为高)。 任一种方式,只有在写入计数值后才能开始计数,方式0、2、3和4都是在写入计数值后,计数过程就开始了,而方式1和5需要外部触发启动,才开始计数。第第8 8章章 计数器计数器/ /定时器定时器u(一)BIOS对8253初
20、始化u1. 对计数器0的初始化uMOV AL,36HuOUT 46H,ALuMOV AL,00HuOUT 40H,ALuOUT 40H,ALu说明:u(1)计数器0工作于方波发生器方式,对CLK(1.1931816MHz)进行65536(216)分频。u(2)计数器0的输出端OUT0接8259的IR0,每次归0产生一次中断请求,中断号由BIOS设置为8。u(3)中断时间间隔为54.925ms,每秒钟来18.2次中断。u(4)通道0的时间间隔是计算机系统时标基础。u2. 对计数器1的初始化uMOV AL,54HuOUT 46H,ALuMOV AL,18(18分频)uOUT 42H,ALu(1)通
21、道1给DMA控制器提供时钟。u(2)输出频率为66.288KHz. 8.6 8253 8.6 8253应用举例应用举例第第8 8章章 计数器计数器/ /定时器定时器u(一)(一)BIOS对对8253初始化初始化u3. 对计数器2的初始化和接通喇叭uMOV AL,0B6HuOUT 46H,ALuMOV AX,533HuOUT 44H,ALuMOV AL,AHuOUT 44H,ALuIN AL,62H;读入8255的PB口uMOV AH,AL;保护原值uOR AL,03H;置1 PB1和PB0uOUT 62H,AL;输出。u说明:说明:u(1)定时器定时器2 2工作在方波发生器方式,驱动扬声器发声
22、。工作在方波发生器方式,驱动扬声器发声。u(2 2)发声频率为)发声频率为896896HzHzu(3 3)扬声器发声还受)扬声器发声还受82558255的的PB0PB0和和PB1PB1控制。控制。u(二)8253的定时功能及其应用u例:将8253的计数器1作为5ms定时器,设输入时钟频率为200kHz,试编写8253的初始化程序。u(1)计数初值计数初值N计算计算已知输入时钟CLK频率为200kHz,则时钟周期为T=1/200kHZ=5us, 于是计数初值N为: N=5ms/T=5ms/5s=1000。u(2)确定控制字确定控制字按题意选计数器1,按BCD码计数,工作于方式0,由于计数初值N=
23、1000,控制字D5D4应为11,8253的控制字为: 01110001B=71H。u(3)选择选择8253各端口地址各端口地址设计数器1的端口地址为3F82H,控制口地址为3F86H。u(4)初始化程序如下初始化程序如下 MOV AL,71H ;控制字控制字 MOV DX,3F86H ;控制口地址控制口地址 OUT DX,AL ;控制字送控制字送8253 控制寄存器控制寄存器 MOV DX,3F82H ;计数器计数器1地址地址 MOV AL,00 ;计数初值计数初值 N=1000的低的低8位写入计数器位写入计数器1 OUT DX,AL MOV AL,10H ;将将N的高的高8位写位写 入计数
24、器入计数器1 OUT DX,AL第第8 8章章 计数器计数器/ /定时器定时器u(三)8253的计数功能及其应用u例:8086系统中有一片8253芯片,利用计数通道2对外部事件计数,计满360次经8259的IR1向CPU发出中断信号,硬件电路如图所示。计数器2口地址为05DH,控制口地址为05FH。试编写8253的初始化程序。u(1)外部事件作为计数脉冲从通道2的CLK2进入,采用方式0工作,计数常数为360D。当计满360次时从OUT2端输出一个正跳变信号作为中断申请信号送入8259A的IR1输入端,由8259向CPU发出中断申请。u(2)初始化编程初始化编程 计数通道2工作于方式0,计数初
25、值为360D=168H,采用二进制计数,则控制字为:10110000B=B0H。u(3)计数通道计数通道2初始化程序初始化程序 MOV AL ,0B0H ;通道通道2的控制字的控制字 OUT 5FH,AL ;写入控制器写入控制器 MOV AL ,68H ;计数初值的低计数初值的低8位位 OUT 5DH,AL ;写入计数通道写入计数通道2 MOV AL ,01H ;计数初值的高计数初值的高8位位 OUT 5DH,AL ;写入计数通道写入计数通道2第第8 8章章 计数器计数器/ /定时器定时器第第8 8章章 计数器计数器/ /定时器定时器u(四)8253应用例:航空发动机数字控制系统中采用8253
26、测速的实例。硬件电路如下图。对传感器输出的转速信号经过衰减、滤波和光电耦合处理,再经过整形电路送到8253计数器,进行测量。 被测转子转速n为011156转/分,发动机每转对应传感器输出300个脉冲。 基本测量原理是:基本测量原理是:测量D个(D值根据当时实际转速范围选择)传感器输出脉冲CLKCLK1 1所占有的时间为多少个(设为X个,待测)标准时钟周期PCLKPCLK(设为Tr,单位us),从而算出实际转速:6r10TX300Dn60r5TX10D2n即: (转(转/ /分)分)CLK1D3个计数器工作在: 方式方式0 0、1 1、0 0通道1计数D个CLK1时,通道2计数X个PCLK。第第
27、8 8章章 计数器计数器/ /定时器定时器CLK1D3个计数器工作在: 方式方式0 0、1 1、0 0通道1计数D个CLK1时,通道2计数X个PCLK。测量过程时序如下:u 置通道0计数初值为1,通道1计数初值为D,通道2的为0000H(216)。u 用OUTOUT0 0的下降沿(OUTOUT0 0上升沿上升沿) )做触发GATEGATE1 1,使通道1开始对CLK1计数;u 同时,OUTOUT1 1反相后使GATEGATE2 2为高电平,允许通道2对PCLKPCLK(周期Tr)计数。 u 在通道1计满D个脉冲后,OUTOUT1 1反相后输出低电平,使计数器2停止计数。u 此时CPU可以读出计数器2中的计数值,算出被测信号的转速。 第第8 8章章 计数器计数器/ /定时器定时器 设设8253端口地址为端口地址为280H、282H、284H和和286H,主要程序片段:主要程序片段: ;主程序中对;主程序中对825
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于史铁生的研究报告
- 国外光电幕墙现状研究报告
- 保险合同新准则
- 季后赛营销策略研究报告
- 激光雷达市场研究报告
- 科学数据保护机制研究报告
- 关于课本的研究报告
- 2026广西钦州市钦北区长田街道社区卫生服务中心招聘1人备考题库及参考答案详解(培优)
- 2026年3月广西玉林市陆川县城镇公益性岗位人员招聘5人备考题库(模拟题)附答案详解
- 2026江西赣州市全南县公用市政建设集团有限公司招聘1人备考题库含完整答案详解(名校卷)
- 美妆培训行业薪酬制度
- 2026年人工智能考试智能机器人技术应用专项训练含答案
- 市监局规范外卖管理制度
- 2025年度黑龙江人才周佳木斯市急需紧缺专业技术人才引进227人笔试参考试题(中国农业大学专场)附答案解析
- 2026年安徽邮电职业技术学院单招职业技能测试必刷测试卷附答案
- YY/T 0573.2-2025一次性使用无菌注射器第2部分:动力驱动注射泵用注射器
- 2025年湖北三峡职业技术学院单招(计算机)考试参考题库附答案解析
- 临床药师竞聘演讲
- 2026年南通科技职业学院单招职业技能测试必刷测试卷带答案解析
- 2025年青海中小学教师招聘考试真题及答案
- 优化学习铸就学霸
评论
0/150
提交评论