版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、NUIST第第1010章章 可编程定时可编程定时/ /计数器计数器NUIST第第1010章章 可编程定时可编程定时/ /计数器计数器8253的引脚功能和编程结构1 18253的编程2 28253的工作方式3 38253综合应用举例4 48254芯片5 510.1 8253 10.1 8253 的引脚功能和编程结构的引脚功能和编程结构 8253的主要功能 3个独立的16位计数器 每个计数器都可以按二进制或BCD码计数 每个通道的计数频率可达2MHz 每个计数器都具有6种不同的工作方式 每个计数器的计数初值都可以通过编程设置 所有的输入输出都与TTL兼容 10.1 8253 10.1 8253 的
2、引脚功能和编程结构的引脚功能和编程结构 8253的引脚功能 与读写控制逻辑相关片选信号读信号写信号内部口地址选择,通常与系统总线低位相连。00计数器0#01计数器1#10计数器2#11控制寄存器D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND123456789101112242322212019181716151413VCCWRRDCSA1A0CLK2OUT2GATE2CLK1OUT1GATE18253AD7D6D5D4D3D2D1D0CLK0OUT0GATE0GND123456789101112242322212019181716151413VCCWRRDCSA1A0CLK2
3、OUT2GATE2CLK1OUT1GATE18253A10.1 8253 10.1 8253 的引脚功能和编程结构的引脚功能和编程结构 8253的引脚功能 与计数通道相关的引脚计数器的时钟输入D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND123456789101112242322212019181716151413VCCWRRDCSA1A0CLK2OUT2GATE2CLK1OUT1GATE18253A10.1 8253 10.1 8253 的引脚功能和编程结构的引脚功能和编程结构 8253的引脚功能 计数器的门控信号。为高时,计数器工作。计数器的输出10.1 8253 10.
4、1 8253 的引脚功能和编程结构的引脚功能和编程结构 8253的引脚功能 数据线电源线地线D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND123456789101112242322212019181716151413VCCWRRDCSA1A0CLK2OUT2GATE2CLK1OUT1GATE18253A10.1 8253 10.1 8253 的引脚功能和编程结构的引脚功能和编程结构 8253的编程结构 RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2内部总线10.1 8253 10.1 8253 的引脚功能和编程结构的引脚功能
5、和编程结构 8253的编程结构 计数器0 号计数器1 号计数器2 号D7D0RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2内部总线8位的双向三态缓冲器,通过引脚D7D0与系统数据总线相连接,用来传输 CPU向8253写入的控制字,计数器的初值,以及CPU读出的8253的计数器当前值。 由片选信号CS来控制是否被选中。在选中情况下,接收来自CPU的读写控制信号和地址信号。经过组合产生控制整个芯片工作的内部控制信号,选择相应的操作。 当A1A0=11时,通道读/写控制逻辑电路选中控制寄存器。它用来保存初始化时由CPU写入的控制字,并根据控制字内容
6、发出相应的控制信号,控制每个计数器的操作方式,使各部件完成指定动作。 10.1 8253 10.1 8253 的引脚功能和编程结构的引脚功能和编程结构 8253的编程结构 计数器0 号计数器1 号计数器2 号D7D0RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2内部总线三个计数器完全相同且相互独立.由一个16位的锁定寄存器和一个16位的可预置的减法计数器组成。初始的计数值可保存在锁定寄存器中,由它传递给计数器。每个计数器通道可对输入脉冲CLK按二进制或BCD码进行减1计数,减到0为止,在OUT输出端输出一个信号。在计数的开始和计数过程中,计数
7、器还要受到门控信号GATE的控制,两者的关系取决于方式控制字。 10.1 8253 10.1 8253 的引脚功能和编程结构的引脚功能和编程结构计数器0#控制寄存器高8位初值寄存器(CR)低8位高8位 低8位计数单元(CR)高8位 低8位输出锁存器(OL)D7D0 计数器1#计数器2#RD WR CS 地址译码地址总线 A1A0GATE0 CLK0 OUT0 GATE1 CLK1 OUT1 GATE2 CLK2OUT2 VCC GND+5V 8253计数器内部结构10.1 8253 10.1 8253 的引脚功能和编程结构的引脚功能和编程结构 8253的内部寄存器的选择 假设A6为1,A7、A
8、5、A4、A3、A2均为0时8253的片选有效,则各端口地址为40H43H(IBM PC/XT中8253的端口地址)。 CS A1 A0读 (RD)写 (WR)端口地址 0 0 0 CNT0数据总线数据总线CNT040H 0 0 1 CNT1数据总线数据总线CNT141H 0 1 0 CNT2数据总线数据总线CNT242H 0 1 1 数据总线控制字寄存器43H 1 X X 无效(D7D0为高阻状态)NUIST第第1010章章 可编程定时可编程定时/ /计数器计数器82593的引脚功能和编程结构1 18253的编程2 28253的工作方式3 38253综合应用举例4 48254芯片5 510.
9、2 8253 10.2 8253 的编程的编程 8253的控制字 SC1 SC0 RW1 RW0M2 M1 M0BCD计数器选择读/写方式选择工作方式选择数制选择00计数器001计数器110计数器211无意义00锁存计数器的当前值,以便读出检查01只读/写 低8位计数值10只读/写 高8位计数值11先读/写低8位,后读/写高8位计数值000方式0011方式3001方式1100方式4010方式2101方式5写入数的范围最大值00二进制数0000HFFFFH655361十进制数BCD 码0000H 9999H1000010.2 8253 10.2 8253 的编程的编程 8253的计数初值 当输出
10、信号为连续的周期波时:假设计数器输入信号CLK的频率为fCLK,要求OUT端输出信号的频率为fOUT,则计数初值N的计算公式为 N = fCLK fOUT 当计数器/定时器工作在一次性有效的定时方式时:如希望的定时时间为T,则计数初值 N的计算公式为: N = fCLK T 课堂练习课堂练习 若给8253的计数预置的初值N=400,则当计数器计到数值为“0”时,时间T= ,设8253的计数脉冲频率为0.5MHz。计数周期=1/0.5M=2s,所以计数400次的时间是4002=800 s=0.8ms0.8ms 8253可以实现定时功能,若计数脉冲为1kHz,则定时1s的计数初值应该为 。N=1k
11、Hz1s=1000100010.2 8253 10.2 8253 的编程的编程 8253的初始化 包括两方面的内容:向控制器写入控制字。向相应计数器写入计数初值。 需先送控制字,后送计数初值。设置初始值时,要按控制字中RW1、RW0所约定的格式规定写入计数初值。 注意10.2 8253 10.2 8253 的编程的编程 例10-1 某系统用8235作为电话双音频信号发生电路。用通道0和通道1产生双音频所需的两个方波信号,经方波正弦波转换电路转换成两个音频信号并叠加得到双音频信号。用通道2作为发号时间控制定时器。 10.2 8253 10.2 8253 的编程的编程+5V1MHzINT方波到正弦
12、波转换电路方波到正弦波转换电路发号时间到中断请求双音频信号输出8253CLK0CLK1CLK2GATE0GATE1GATE2OUT1OUT0OUT210.2 8253 10.2 8253 的编程的编程 电话双音频信号是两个音频信号的叠加,以数字8为例,两个音频信号的频率分别为852Hz和1336Hz。当按下一个电话号码时电话机将发出这一双音频信号,其发号时间为50ms80ms,本例选50ms。根据原理电路我们使通道0产生852Hz的方波,通道1产生1336Hz的方波,通道2产生50ms的定时,时间到产生中断请求信号。 10.2 8253 10.2 8253 的编程的编程计算各通道计数初值通道0
13、:fCLK0 = 1MHz, fOUT0 = 852HzN =fCLK0 / fOUT0 =1MHz / 852Hz = 1174通道1:fCLK1 = 1MHz, fOUT1 = 1336HzN =fCLK1 / fOUT1 =1MHz / 1336Hz = 748通道2:fCLK2 = 1MHz, T = 50msN =fCLK2 T =1MHz 50ms = 50000= C350H10.2 8253 10.2 8253 的编程的编程确定各通道控制字通道0:读写高低字节方式3BCD码计数通道1:通道2:读写高低字节方式3BCD码计数读写高低字节方式0二进制计数SC1SC0RW1RW0M2
14、M1M0BCD0011011137H0111011177H101100000B0H10.2 8253 10.2 8253 的编程的编程确定端口地址设地址总线的A7A2为111111时8253的片选有效,A1A0接8253的A1A0,则端口地址为:0FCH0FFH。 初始化程序COUNTER0: MOV AL, 37HOUT0FFH,ALMOV AL, 74HOUT0FCH,ALMOV AL, 11HOUT0FCH,AL10.2 8253 10.2 8253 的编程的编程初始化程序COUNTER1: MOV AL, 77HOUT0FFH,ALMOV AL, 48HOUT0FDH,ALMOV AL
15、, 07HOUT0FDH,AL COUNTER2: MOV AL, 0B0HOUT0FFH,ALMOV AL, 50HOUT0FEH,ALMOV AL, 0C3HOUT0FEH,AL 10.2 8253 10.2 8253 的编程的编程 8253的计数器读操作 直接读操作 直接执行输入指令读取相应通道的瞬时值。 1#通道的瞬时计数值读入CX INAL,41HMOVCL,ALINAL,41HMOVCH,AL结果可能是错误的0100高字节低字节AL00 0000CHCL00FF00110.2 8253 10.2 8253 的编程的编程 8253的计数器读操作 直接读操作影响计数器的正常工作从而影响
16、定时计数的精度 先通过GATE信号暂停计数器计数,再做读操作,读完后再让计数器继续工作 10.2 8253 10.2 8253 的编程的编程 8253的计数器读操作 锁存读操作 在读之前先向要读的计数通道发一个锁存字。然后再做读操作。 SC1SC0RW1RW0M2M1M0BCD计数器选择:00: 0#, 01:1#10: 2#, 11: 无意义00:锁存当前值无意义读取1#通道计数值 MOVAL, 40HOUT43H, ALINAL, 41HMOVCL, ALIN AL, 41HMOVCH,AL课堂练习课堂练习 在PC机中,用8253的通道3向系统定时提出动态RAM刷新请求。考虑在PC机中选用
17、128K1位的动态RAM,因此要求在8ms内完成256行的刷新。已确定通道3工作在方式2,则要求计数器的负脉冲输出周期为 s,若CLK3的输入频率为1.216MHz,则置入通道3的计数器初值为 。 31.251061.216106=38计数初值=8ms256= 31.25 s周期=NUIST第第1010章章 可编程定时可编程定时/ /计数器计数器82593的引脚功能和编程结构1 18253的编程2 28253的工作方式3 38253综合应用举例4 48254芯片5 510.3 8253 10.3 8253 的工作方式的工作方式8253 共有6种工作方式,主要区别在: 输出波形不同 启动计数器的
18、触发方式不同 门控信号GATE对计数过程的影响不同 计数过程中修改计数初值对计数过程的影响不同10.3 8253 10.3 8253 的工作方式的工作方式共同遵守的3个基本原则: 控制字写入计数器时,所有的控制逻辑电路立即复位,输出端OUT进入初始状态 GATE信号是上升沿起作用,GATE信号的作用是在下一个CLK周期的下降沿生效 计数初值装入计数器和减1计数都是在输入脉冲的下降沿有效的 计数结束,此上升沿可作为中断请求信号10.3 8253 10.3 8253 的工作方式的工作方式 方式 0 (计数结束产生中断)CLKGATEWROUTCE43210FFFEFDCW=10HLSB=4开始计减
19、1数写入控制器后,OUT变低计数值写入初值寄存器10.3 8253 10.3 8253 的工作方式的工作方式 写入控制字之后,输出端OUT变低,写入计数值后开始计数。计数到0后输出端OUT为高电平,并且一直保持高电平,除非写入新的计数值。 方式0的计数值是一次有效的,即写入一次工作一次。实际应用中,常将计数结束后的上升跳变作为中断请求信号。 方式 0 (计数结束产生中断)10.3 8253 10.3 8253 的工作方式的工作方式 在计数过程中改变计数值是立即有效的。即新的计数值写入后,在其下一个CLK周期开始按新值计数。 计数过程中可由GATE信号控制计数过程的暂停。当GATE=0时,计数器
20、暂停计数,直到GATE=1时,计数器又继续计数。在计数过程中,GATE的变化不影响OUT的状态。 方式 0 (计数结束产生中断)延时1个CLK周期按新值计数10.3 8253 10.3 8253 的工作方式的工作方式 方式 0 CLKGATEWROUTCE32121FFFECW=10HLSB=30LSB=2计数过程中改变计数值改变计数初值10.3 8253 10.3 8253 的工作方式的工作方式 方式 0 CLKGATEWROUTCE32221FFFECW=10HLSB=30门控信号GATE的作用GATE=0暂停计数GATE=1继续计数10.3 8253 10.3 8253 的工作方式的工作
21、方式 例10-2 要实现定时中断,定时时间为4096个(1000H)CLK周期。采用计数器0,设定方式0,读写高低2字节,按二进制计数。 8253GATE0CLK0OUT0+5V INT8259 A IRi10.3 8253 10.3 8253 的工作方式的工作方式CLK0WROUT030H00H10H4096 4095104096 CLKMODE0:MOV AL,00110000B ;计数器0,2字节读写, OUT 43H,AL ;方式0,二进制计数 MOV AL,00H OUT 40H,AL ;装入计数初值低8位 MOV AL,10H OUT 40H,AL ;装入计数初值高8位 无需再次装
22、入计数初值,GATE触发计数GATE触发计数10.3 8253 10.3 8253 的工作方式的工作方式 方式 1 (硬件再触发单脉冲发生器) CLKGATEWROUTCE3210FF32CW=12HLSB=3写入控制字后OUT变高10.3 8253 10.3 8253 的工作方式的工作方式写入控制字以后输出端OUT变高电平并保持,写入计数值以后并不立即装入开始计数,而是等待硬件(GATE)的触发。触发一次计数一次,计数到0 后输出端OUT变高电平,计数次数到等待下次触发。 方式1的计数值不必重新写入,除非要改变计数初值,即写入一次可多次使用,取决于硬件GATE的触发 方式 1 (硬件再触发单
23、脉冲发生器) 写入控制字后,OUT保持高电平10.3 8253 10.3 8253 的工作方式的工作方式 方式 1 CLKGATEWROUTCE321FF12CW=12HLSB=3LSB=20FE0新计数值在下次启动后才生效计数过程中改变计数值GATE脉冲重新启动,按初值计数。10.3 8253 10.3 8253 的工作方式的工作方式 方式 1 CLKGATEWROUTCE43420CW=12HLSB=431门控信号GATE的作用10.3 8253 10.3 8253 的工作方式的工作方式 在计数过程中改变计数值不是立即有效的。即新的计数值写入后现行计数不受影响,新计数值在下次启动后才开始生
24、效。 计数过程中可由GATE脉冲重新启动按初值计数,但GATE的变化不影响OUT的状态,只有计数到0时OUT才变高。 方式 1 (硬件再触发单脉冲发生器) 10.3 8253 10.3 8253 的工作方式的工作方式 例10-3 某系统使用了8253的三个定时器,要求定时器0在初始化后立即启动定时,计数器1和定时器2在定时器0启动一段时间(这里设为1000个CLK)后同时启动。要求计数器1的计数次数为65536次,计数器2的计数次数为10000次。设端口地址为40H 43H。 GATE0OUT0CLK0CLK1CLK2GATE1GATE2OUT1OUT2+5V825310.3 8253 10.
25、3 8253 的工作方式的工作方式SC1SC0RW1RW0M2M1M0BCD001000010101001010100011方式0,只写入高字节,BCD码计数;计数初值:1000通道0方式1,只写入低字节,二进制计数;计数初值:65536(最大值)通道1方式1,只写入高字节,BCD码计数;计数初值:10000 (最大值)通道210.3 8253 10.3 8253 的工作方式的工作方式CNT1:MOV AL,01010010BOUT43H,ALMOV AL,00HOUT41H,AL CNT2: MOV AL,10100011BOUT43H,ALMOV AL,00HOUT42H,AL CNT0:
26、 MOV AL,00100001BOUT43H,ALMOV AL,10HOUT40H,AL 计数器0一定要在最后一个初始化!经过1个CLK恢复高电平,重新计数计数到1,输出端变低10.3 8253 10.3 8253 的工作方式的工作方式 方式 2 (速率发生器)CLKGATEWROUTCE43242CW=14HLSB=4131432写入控制字,OUT变高并保持10.3 8253 10.3 8253 的工作方式的工作方式 如果GATE为高,当控制字写入之后输出端OUT变高电平并保持,计数值写入之后开始计数。计数到1时,输出端OUT变低,经过一个CLK后输出又恢复为高电平,同时自动重新装入计数值
27、开始计数。 计数值是多次有效的,只需要写入一次计数值,就可连续输出周期性信号 方式 2 (速率发生器)当现行计数结束,才开始按新值计数。10.3 8253 10.3 8253 的工作方式的工作方式 方式 2 CE321CLKWRCW=14HLSB=4LSB=3GATE计数过程中改变计数值4321OUT10.3 8253 10.3 8253 的工作方式的工作方式当GATE为高电平时,在计数过程中写入新的计数初值不是立即有效的,仅当现行计数结束,OUT输出负脉冲后,才将新的计数值打入减1计数器,开始按新值计数。 可由GATE信号控制计数过程的暂停。当GATE=0时,计数器暂停计数,待GATE变高后
28、的下一个CLK周期使计数器恢复初值N,重新开始计数。但在计数过程中GATE的变化不影响OUT的状态。 方式 2 (速率发生器)GATE变高的下一个CLK,恢复初值重新计数GATE=0,暂停计数10.3 8253 10.3 8253 的工作方式的工作方式 方式 2CE43243WRCW=14HLSB=4CLK134OUT321GATE门控信号GATE的作用10.3 8253 10.3 8253 的工作方式的工作方式 如果使用中断,OUT信号即为中断请求信号,可将OUT信号直接接到CPU的中断请求输入端,或接到中断优先权排队电路的中断请求输入端。 方式 2 (速率发生器)10.3 8253 10.
29、3 8253 的工作方式的工作方式 例10-4 使8253每隔一定时间产生一次中断请求,中断请求间隔为500个CLK脉冲,采用计数器2,方式2,读写高低2个字节,按BCD计数。 8253GATE2CLK2OUT2+5V INT500 CLK500 CLKCLK2INT10.3 8253 10.3 8253 的工作方式的工作方式MODE2: MOV AL,10110101B ;计数器2,读写高低字节,OUT 43H,AL ;方式2,按BCD计数 MOV AL,00H OUT 42H,AL ;装入计数初值低8位值00HMOV AL,05HOUT 42H,AL ;装入计数初值高8位值05H 计数器减
30、到0,OUT从高变低,重新装入计数初值每输入一个脉冲计数器减210.3 8253 10.3 8253 的工作方式的工作方式 方式 3 (方波发生器)CE42444WRCW=16HLSB=4CLK22GATE2424OUT写入控制字,OUT变高并保持计数初值为偶数 方式 3 (方波发生器)重新装入计数初值的第1个CLK,计数器减3。其后每个减210.3 8253 10.3 8253 的工作方式的工作方式CE54224WRCW=16HLSB=555GATE2525计数初值为奇数CLKOUT4第1个CLK脉冲减一其后每个CLK脉冲减2计数器减到0,OUT从高变低,重新装入计数初值计数器减到0,OUT
31、从低变高,重新装入计数初值10.3 8253 10.3 8253 的工作方式的工作方式 如果GATE为高,当控制字写入之后输出端OUT变高电平并保持,计数值写入之后开始计数。根据计数初值N的奇偶性分为两种情况。 当N为偶数时:在计数初值装入以后的每一个输入脉冲计数器减2。当计数器减到0时,一方面改变输出端OUT的状态,同时又自动重新装入计数值,然后重复这一过程。 方式 3 (方波发生器)10.3 8253 10.3 8253 的工作方式的工作方式 当N为奇数时:在计数初值装入以后的第一个CLK脉冲计数器减1,其后的每一个CLK脉冲计数器减2。当计数器减到0时,一方面输出端OUT变低,同时又自动
32、重新装入计数值。在重新装入计数值后的第一个CLK脉冲,使计数器减3,其后的每一个CLK脉冲计数器又都减2。当计数器减到0时,一方面输出端OUT恢复为高电平,同时又自动重新装入计数值重复上述过程。 方式 3 (方波发生器)现行计数结束后,OUT输出端改变后,按新值计数10.3 8253 10.3 8253 的工作方式的工作方式 方式 3CE54224CW=16H55GATE2222CLK2计数过程中改变计数值(GATE为高)WRLSB=5LSB=2OUT新写入的计数初值不是立即有效10.3 8253 10.3 8253 的工作方式的工作方式 方式 3 计数值多次有效,只需要写入一次计数值,就可连
33、续输出周期性信号。 当GATE为高电平时,在计数过程中写入新的计数初值不是立即有效的,仅当现行计数结束,OUT输出改变状态后,才将新的计数值打入计数器,开始按新值计数 GATE变高后的第1个CLK下降沿按新值计数10.3 8253 10.3 8253 的工作方式的工作方式 方式 3CE54225552222CLK2计数过程中改变计数值(GATE变化)CW=16HWRLSB=5LSB=2OUTGATEGATE变低暂停计数10.3 8253 10.3 8253 的工作方式的工作方式 方式 3 如果写入新的计数初值后GATE产生由低到高的变化,在GATE变高后的第一个CLK周期下降沿开始按新值计数
34、。 计数过程中,可由GATE信号控制计数过程的暂停或重新启动计数。若在OUT为高电平期间,GATE变低,则暂停计数过程,待GATE变高后计数器又重装初值开始计数 GATE变高后的第1个CLK下降沿重新计数10.3 8253 10.3 8253 的工作方式的工作方式 方式 3CE42444224424CLK2OUT为低期间GATE的作用CW=16HWRLSB=4GATEOUT暂停计数OUT立即变高10.3 8253 10.3 8253 的工作方式的工作方式 例10-5 对输入时钟CLK(32.768KHz)进行分频,获得1HZ其占空比50%的方波信号。采用计数器0,读写高低字节,按二进制计数。
35、计数初值N =(32.7681000)1= 32768 = 8000H 8253GATE032.768KHzOUT0+5V 1HzCLK010.3 8253 10.3 8253 的工作方式的工作方式MODE3:MOV AL,00110110B OUT CTRL,AL MOV AL,0 OUT CNT0,AL ;装入低位00HMOV AL,80H OUT CNT0,AL ;装入高位80H 10.3 8253 10.3 8253 的工作方式的工作方式 方式 4 (软起动单拍脉冲发生器)CE5431FFWRCW=18HLSB=520GATEFE FD FC FBCLKOUTFA写入控制字,OUT变高
36、并保持写入计数值后开始计数,软件启动计数到0时停止计数,OUT变低电平,维持一个CLK周期。计数值一次有效10.3 8253 10.3 8253 的工作方式的工作方式 方式 4 写入控制字之后,输出端OUT变高电平,写入计数值后开始计数(即软件启动)。计数到0时停止计数,输出端OUT变为低电平,维持一个CLK周期后又变为高电平,因此这种方式的计数是一次性的,只有再次写入计数初值,才启动另一次计数过程。 写入新计数初值后,延时1个CLK周期按新值计数10.3 8253 10.3 8253 的工作方式的工作方式 方式 4CE4325364GATE210FFCLKOUTFE计数过程中改变计数值WRC
37、W=18HLSB=4LSB=6GATE=1,计数器继续计数10.3 8253 10.3 8253 的工作方式的工作方式 方式 4CE55531WRCW=18HLSB=542GATE0FFFE FDCLKOUTFCGATE=0,计数器暂停计数10.3 8253 10.3 8253 的工作方式的工作方式 方式 4 新的计数值写入后,在其下一个CLK周期开始按新值计数,若计数值为双字节,则在写入第一字节时停止计数,在写入第二字节后开始按新值计数 计数过程中可由GATE信号控制计数过程的暂停。当GATE=0时,计数器暂停计数,直到GATE=1时计数器又继续计数。 10.3 8253 10.3 8253
38、 的工作方式的工作方式 例10-6 对于锁存器,实现定时锁存控制,即在一定时间后产生一锁存信号LE,延迟时间为10个CLK周期。采用计数器1,方式4,低位字节,按BCD计数。 8253GATE1CLK1OUT1+5V 锁存器 LE10.3 8253 10.3 8253 的工作方式的工作方式CLK1WROUT159H10H1010 CLK910MODE4: MOV AL,01011001BOUTCTRL,ALMOV AL,10HOUT CNT1,AL计数到0,OUT变低,1个CLK后变高GATE触发计数10.3 8253 10.3 8253 的工作方式的工作方式 方式 5 (硬启动单拍脉冲发生器
39、)CE43210FF4WRCW=1AHLSB=4CLKGATE写入控制字后OUT变高OUT10.3 8253 10.3 8253 的工作方式的工作方式 方式 5 写入控制字以后,输出端OUT变高电平并保持,写入计数值以后,计数器并不立即开始计数,而是等待硬件(GATE)的触发启动。触发一次启动一次,计数到0时输出端OUT变为低电平,一个CLK后又变高,即输出一个CLK周期的负脉冲。 方式5的计数值不必重新写入 。 10.3 8253 10.3 8253 的工作方式的工作方式 方式 5 CE321FF01CLKWRCW=12HLSB=3LSB=202GATEFF计数过程中改变计数值OUTGATE
40、脉冲重新启动,按初值计数。10.3 8253 10.3 8253 的工作方式的工作方式 方式 5 CE43231WRCW=12HLSB=4CLK42门控信号GATE的作用GATE0FFOUT10.3 8253 10.3 8253 的工作方式的工作方式 方式 5 在计数过程中改变计数值不是立即有效的。即新的计数值写入后只要不发门控信号,现行计数不受影响,新计数值在下次启动后才开始生效。 计数过程中可由GATE脉冲重新启动按初值计数,但GATE的变化不影响OUT的状态,只有计数到0时OUT输出一个CLK周期的负脉冲。 10.3 8253 10.3 8253 的工作方式的工作方式 例10-7 在一个
41、通信系统中,收发双方采用握手方式进行通信应答,发送方采用REQ发出发送请求后转入接收应答信号SEND的检测,如果输出发送数据请求REQ之后一定时间(这里为100CLK脉冲)内不能接受到应答信号时,就在接收方发生通信异常信号FAIL。用8253实现100个CLK的定时计数,采用计数器1,方式5,低位1字节,按二进制计数。 8253OUT1GATE1CLK1SENDREQSENDREQFAIL发送侧接收侧高电平GATE1100CLK100 99 98 97 .1 064H5AHCLK0WRREQSENDFAIL10.3 8253 10.3 8253 的工作方式的工作方式MODE5:MOV AL,0
42、1011010BOUT CTRL,AL MOV AL,100OUT CNT1,AL高电平GATE1100CLK100 99 98 97 .1 064H5AHCLK0WRREQSENDFAILNUIST第第1010章章 可编程定时可编程定时/ /计数器计数器82593的引脚功能和编程结构1 18253的编程2 28253的工作方式3 38253综合应用举例4 48254芯片5 5 例10-8 在某个以8086为CPU的系统中使用了一块8253芯片,通道的基地址为310H,所用的时钟脉冲频率为1MHz。要求3个计数通道分别完成以下功能。 通道0工作于方式3,输出频率为2KHz的方波 通道1产生宽度
43、为480s的负脉冲(1) 通道2用硬件触发,输出单脉冲,时间常数为26。8253 8253 定时功能举例定时功能举例用8253产生各种定时波形根据这两个条件可知8253的各端口地址必须都是偶地址注意 8086的对外数据线有16根,外设的硬件连线中的数据线一般挂在16位数据总线的低8位上。(p162) 若要8086的低8位数据线有效,要求A0=0,即为端口地址为偶地址。 8086系统的接口译码电路中一定要注意此问题。 8088系统不存在此问题。218HA Y0B Y1C Y2 G1 Y3 Y4 G2A Y5 Y6G2B Y7 A0A3A4A9A8A7A6A5M/IOA2A1RDWRD7D0&am
44、p;8086CSA1A0WRGATE11MHzCLK2OUT08253CLK1OUT1RDD7D0CLK0GATE0+5V2KHz方波480s单脉冲GATE2OUT2负脉冲A9 A8 A7 A6 A5 A4 A3 A2 A1 A01 1 0 0 0 1 0 0 0 0 (310H)00111000310H00011011#1310H#2312H#3314H控制字寄存器316H218HA Y0B Y1C Y2 G1 Y3 Y4 G2A Y5 Y6G2B Y7 A3A4A5A9A8A7A6M/IOA0A2A1RDWRD7D0&8086CSA1A0WRGATE11MHzCLK2OUT0825
45、3CLK1OUT1RDD7D0CLK0GATE0+5V2KHz方波480s单脉冲GATE2OUT2负脉冲A9 A8 A7 A6 A5 A4 A3 A2 A1 A01 1 0 0 0 1 0 0 0 0 (310H)0101100310H00011011#1310H#2312H#3314H控制字寄存器316H08253 8253 定时功能举例定时功能举例SC1SC0RW1RW0M2M1M0BCD001101110111001110011011方式3,读写2字节,BCD;计数初值:500H通道0方式1,读写2字节,BCD计数;计数初值:480H通道1方式5,读写低字节,BCD计数;计数初值:26H
46、通道2N0=1M/2K=500N1=110648010-6=480N2=268253 8253 定时功能举例定时功能举例用8253产生各种定时波形 例10-9 在某个以8086为CPU的系统中,通道的基地址为310H, 8253控制一个LED发光二级管的点亮和熄灭,要求点亮10秒后再让它熄灭10秒,并重复上述过程。设输入的时钟信号频率为2MHz。(加上驱动后,便可以用在交通灯、灯塔控制等场合)分析:利用通道1的OUT1与LED相连,只要对8253编程,使OUT1 输出周期为20秒,占空比为1:1的方波,就能使LED交替点亮熄灭10秒。问OUT1的计数初值应该是多少?8253 8253 定时功能
47、举例定时功能举例N1=21062065536按最大计数次数65536,最大的定时时间为T1=0.510-665536=32.768 ms20s解决方法:多通道级联用2个计数通道串联(#1和#2),即找两个数N1N2 = 4107 取:N1 =8000,N2=5000。 0.05Hz400HzCSA1A0WRGATE1GATE2CLK2OUT28253+5V2MHzCLK1OUT1RDD7 D0D7 D0A2A1N2=2106 / 400=5000N1=400 / 0.05=80000111011110110111方式3,BCD码计数;计数初值5000通道1方式3,BCD码计数;计数初值:800
48、0 通道277HB7HCOUNT2:MOV DX, 316H MOV AL,0B7H ;写入控制字OUTDX,ALMOV DX, 314H MOV AL,00H OUTDX,AL ;装入计数初值低8位 MOV AL,50H OUTDX,AL;装入计数初值高8位 COUNT1:MOV DX, 316H MOV AL,77H ;写入控制字OUTDX,ALMOV DX, 312H MOV AL,00H OUTDX,AL ;装入计数初值低8位 MOV AL,80H OUTDX,AL;装入计数初值高8位 8253 8253 计数功能举例计数功能举例 例10-10 假设一个自动化工厂需要统计在流水线上所生
49、产的某种产品的数量,可采用8086微处理器和8253芯片来设计实现这种自动计数系统。工件CSA1A0WRGATE18253RDD7 D0D7D0A2A1CLK 1+5V+5V发光LED+5V光电晶体管74LS14导通00截止11CLK 1123OUT18259的IR0310H8253 8253 计数功能举例计数功能举例初始化编程01110001方式0,BCD码计数通道171H计数初值选n=999,则经过n+1个脉冲,也就是1000个脉冲,OUT1输出一个正跳变,作用于8259A的IR0。发出一次中断请求,表示计满了1000个数。在中断服务程序中使工件总数加上1000。同时需要重新装入计数初值9
50、99,启动下一轮计数。中断服务程序返回。第1个工件产生的脉冲的下降沿用于计数初值的装入。从写入计数值开始的n+1个脉冲后,计数到0。n+1=1000,所以n=9998253 8253 计数功能举例计数功能举例 COUNT1:MOV DX, 316H MOV AL,71H ;写入控制字OUTDX,ALMOV DX, 312H MOV AL,99H OUTDX,AL ;装入计数初值低8位 MOV AL,09H OUTDX,AL;装入计数初值高8位 初始化编程8253 8253 计数功能举例计数功能举例计数值的读取 上述系统可用工件于自动装箱,每1000个工件装一箱,计数到0,向CPU发中断请求,移
51、走箱子,通知控制系统下一个包装箱。 上述系统只有在计数器计满1000后,才会转移到中断服务程序中去累计工件数。如果需要中途了解箱子中已装入的数量m,就需要读取计数器的现行值s。m = 1000 s8253 8253 计数功能举例计数功能举例MOVDX, 316H MOVAL,40H ;写入锁存命令OUTDX,ALMOVDX, 312H INAL,DX ;读出计数值低8位MOVAH,AL;保存低8位数 INAL,DX;读出计数值高8位XCHGAH, AL;将计数值置于AX中MOVBX,1000SUBBX,AX;BX中为当前箱内工件数01000000通道1锁存命令计数值的读取10.4 8253 1
52、0.4 8253 的综合应用举例的综合应用举例 自动气象站问题分析 在自动气象站的瞬时风速和降雨量的测量中,风速传感器和翻斗式雨量传感器的速出都是脉冲信号。 瞬时风速V=a+bf,其中a为常数(起动风速),b为系数,f为单位时间内的脉冲数(每秒脉冲数) 翻斗式雨量传感器某时段的降雨量计算公式为P=kN,其中N该时段内传感器输出脉冲的个数,k为系数。 本例时间段取1分钟。请应用8253实现瞬时风速和降雨量的测量。 10.4 8253 10.4 8253 的综合应用举例的综合应用举例 自动气象站资源分配 要实现瞬时风速和降雨量的测量均需要实现对脉冲的计数和定时 8253的通道0实现定时1秒钟 计数
53、器1用于对风速传感器输出的脉冲信号计数 计数器2用于对翻斗式雨量传感器输出的脉冲信号计数 10.4 8253 10.4 8253 的综合应用举例的综合应用举例CSOUT0CLK0CLK1CLK2GATE1GATE2OUT1OUT2接图0-2的Y18253GATE050kHz接风速传感器接雨量传感器1s到请求中断接8259A的IR010.4 8253 10.4 8253 的综合应用举例的综合应用举例 产生T=1s的基准时间,工作在方式2,设通道0时钟的频率f CLK0=50KHz 计数器0N0=T/TCLK0=1s/0.02ms=50000(C350H) 记录风速传感器的输出脉冲,工作在方式0,设计数初始值为N1,当定时1s到如果读出的当前值为M1,则风速传感器输出脉冲的频率f1=N1-M1。一般风速传感器脉冲频率范围是01221Hz,计数器1设 N1=FFFFH10.4 8253 10.4 8253 的综合应用举例的综合应用举例 记
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年多用合缝机项目可行性研究报告
- 2024至2030年超级硝化细菌项目投资价值分析报告
- 宇宙和地球课程设计
- 炼铁课程设计的体会
- 房建课程设计内容
- 油桶生成课程设计
- 2024年度咖啡店店面转让与咖啡豆供应合同3篇
- 2024年新型商业运营中心全面委托物业管理合同3篇
- 2024年度电力设施维护电工劳务及设备采购合同3篇
- 2024版工业园区物业管理及绿化景观维护服务合同范本3篇
- 住宅小区视频监控清单及报价2020
- 巴以冲突课件
- 法定代表人身份证明书-模板
- 酒店监控室管理制度
- 工程部研发部KPI绩效考核指标汇总(定性)
- 作文互改互批互评探究课题研究方案
- 四川内江城市文化介绍宣传PPT
- 光伏斜屋顶计算书屋顶光伏电站项目荷载计算书
- 新苏教版四年级上册科学第三单元《常见的力》全部课件(含4课时)
- 建筑垃圾再生利用方案PPT模板
- 医用氧气使用检查记录表
评论
0/150
提交评论