8253工作方式以及应用举例
- 格式:doc
- 大小:143.00 KB
- 文档页数:6
8253应用(键盘演奏音乐程序)PC 机中,8253 定时器2,工作于方式3(输出方波),输入频率fin 、输出频率fout 及计数初值之间的关系: f o u tf i n 初值 (fin=1193200 =1234F0H ),(也可用533H*896H=123280H ) 例如:给定fout 在DI 寄存器中,DX 和AX 存放1.1932MHz 的十六进制值1234F0H ,则产生 fout 输出的计数初值的程序段:(初值存于AX 中)MOV DX, 12HMOV AX, 34F0H ; DX 和AX 存放 finDIV DI ;DI 存放fout 结果在AX 中10ms 秒软件延时程序: MOV CX , 2801DELAY : LOOP DELAY要得到10ms 秒的整数倍时间,可在BX 寄存器中放入倍数控制外循环次数,如产生1秒的程序: MOV BX, 100W AIT : MOV CX , 2801DELAY : LOOP DELAYDEC BXJNZ WAITdata segmentfreq dw 262,294,330,349,392l,440,494data endscode segmentassume ds:data, cs:codemain proc farstart : push dsmov ax,0push axmov ax,datamov ds,axmov al,10110111h ;8253定时器2初始化out 43h, alin al,61h ;读pb 口or al,03hout 61h,al ;pb0, pb1=’1’, 打开声音again : mov ah, 1 ;dos 功能调用,键盘输入并回显int 21h ;按键(键入的ascii 码值在al 中) cmp al,1bh ; ‘Esc ’退出jz exitlea si, freqand ax,0fh ;ax 中得到按键值1~7。
第27课 8253工作方式以及应用举例8253的六种工作方式,8253的实际应用举例。
本课主题:教学目的:掌握8253六种工作方式的特点以及使用方法,通过实际应用举例强化8253的使用方法。
教学重点:8253的硬件连接和软件初始化方法。
教学难点:8253的在系统中的应用。
授课内容:8253的每个通道都有6种不同的工作方式,下面分别进行介绍。
1.方式0--计数结束中断方式(Interrupt on Terminal Count)2.方式1--可编程单稳态输出方式(Programmable One-short)3.方式2--比率发生器(Rate Generator)4.方式3--方波发生器(Square Wave Generator)5.方式4--软件触发选通(Software Triggered Strobe)6.方式5--硬件触发选通(Hardware Triggered Strobe)由上面的讨论可知,6种工作方式各有特点,因而适用的场合也不一样。
现将各种方式的主要特点概括如下:对于方式0,在写入控制字后,输出端即变低,计数结束后,输出端由低变高,常用该输出信号作为中断源。
其余5种方式写入控制字后,输出均变高。
方式0可用来实现定时或对外部事件进行计数。
方式1用来产生单脉冲。
方式2用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲的周期相同。
方式3用于产生连续的方波。
方式2和方式3都实现对时钟脉冲进行n分频。
方式4和方式5的波形相同,都在计数器回0后,从OUT端输出一个负脉冲,其宽度等于一个时钟周期。
但方式4由软件(设置计数值)触发计数,而方式5由硬件(门控信号GATE)触发计数。
这6种工作方式中,方式0、1和4,计数初值装进计数器后,仅一次有效。
如果要通道再次按此方式工作,必须重新装入计数值。
对于方式2、3和5,在减1计数到0值后,8253会自动将计数值重装进计数器。
8.2 8253的应用举例一、8253定时功能的应用例子1(用8253产生各种定时波形在某个以8086为CPU的系统中使用了一块8253芯片,通道的基地址为310H,所用的时钟脉冲频率为1MHz。
8253的工作原理及应用一、工作原理8253是一种常见的计时/计数芯片,它能够完成各种定时和计数功能。
它采用了三个计数器,分别为计数器0、计数器1和计数器2。
每个计数器可以独立工作,同时也可以与其他计数器进行协同工作。
具体的工作原理如下:1.计数器的基本工作原理是将外部时钟信号分频后输出,根据计数器的工作模式,可以输出不同的周期信号。
2.8253有三个计数器,计数器0可以设置工作模式,计数器1和计数器2可以由计数器0通过控制字来选择工作模式。
3.通过控制字可以设置计数器的工作模式,比如设置为定时器工作模式、内部触发工作模式、软件触发工作模式等等。
4.计数器工作的时候,是通过输入控制字来设置计数器的初始值,然后按照设定的模式进行计数,当计数到达设定的值时,会触发相应的事件,例如输出一个脉冲信号或者产生一个中断。
二、应用领域8253芯片在计算机系统中有广泛的应用,主要包括以下几个方面:1.定时器功能:8253芯片可以实现定时器的功能,通过改变控制字设置的工作模式和初始值,可以产生定时脉冲信号,精确地控制计时间隔。
这在操作系统中非常常见,可以用于定时器中断、延时等。
此外,它还可以用于工业自动化领域中的精确控制和同步任务。
2.计数器功能:8253芯片也可以作为计数器使用。
例如,在测量系统中,可以通过外部输入信号的脉冲数量来进行计数,并配合计时功能实现测量和统计。
3.PWM信号生成:8253芯片可以实现PWM(脉宽调制)信号的生成。
通过改变初始值和周期,可以控制PWM信号的占空比,实现对电机速度、光强等参数的控制。
4.音频处理:8253芯片中的计数器可以用于实现音频处理。
通过设定计数器的频率,可以控制音频信号的采样率,从而实现音频的录制和播放。
5.高速脉冲生成:8253芯片可以产生高速脉冲,用于直流电机控制、步进电机控制等应用场景中。
三、优势与不足8253芯片具有以下几个优点:•多功能性:8253芯片具有丰富的工作模式,可以根据不同的需求灵活地配置和应用。
实验四8253工作方式应用【实验目的】1. 熟悉8253定时器/计数器的工作方式2. (选做)会用8259中断控制器的应用编程【实验内容】1.对8253的工作方式逐一实验,通过观察输出端的状态变化(可以连接一个发光管观察),进一步熟悉6种工作方式。
2.让8253工作于方式3,产生的方波信号在发光二极管上观察。
改变输入的CLK的脉冲频率,重复之前动作。
3.将8253的工作方式一输出的信号作为8259的中断输入端,做计时间到,由8255驱动,将试验箱左下角的开关量k1~k8的值读入,相应的值在试验箱右上角的L1~L8的二极管灯亮。
结束程序。
【实验原理】1.8253工作方式2.8259应用编程3.8255应用【实验步骤】硬件连线(1)8253的GATE0 接+5V插孔;(2)8253的CLK0接T2插孔,时钟频率2MHz;(3)8253的CS3接EX0;(4)分频电路的T插孔连8MHz插孔;实验步骤1.按硬件原理图连好线路;2.运行试验程序;“P”状态秀下,先输入F000按下F1键,再输入9180,按EXEC键;3.用示波器观察OUT0插孔的输出方波,或用直流电压表测得OUT0输出电压2.5V。
4.编写实验程序。
CODE SEGMENTASSUME CS:CODETCONT EQU 0043HTCON0 EQU 0040HORG 9180HSTART:JMP T8253T8253:MOV DX,TCONTROMOV AL,36HOUT DX,ALMOV DX,TCON0MOV AL,00HOUT DX,AL【实验结果】硬件连接完成后,观察输出端的灯闪状态变化,有快有慢。
【实验心得体会】在本次实验中,我熟悉了8253定时器/计数器的工作方式,通过对程序和硬件的研究了解8253的6种工作方式及其各种方式的功能和区别,并学会去运用,亲自动手操作,中间出现了各种错误,但在老师的讲解和自己的反复实践中,得出了实验结果,收获挺多。
8253定时器工作方式
8253定时器是一种常见的计时器芯片,它通常用于控制计算
机硬件设备的定时操作。
8253定时器可以通过以下方式工作:
1. 方式0:8253定时器的方式0是最基本的工作方式,它可以实现一个简单的定时功能。
在这个方式下,定时器计数器会从初始值开始递增,当计数器达到设定的目标值时,会触发一个计时中断。
2. 方式1:8253定时器的方式1是一种周期性工作方式。
在这个方式下,定时器计数器会从初始值开始递增,当计数器达到目标值时,会触发一个计时中断,并且回到初始值重新开始计数。
这样就实现了一个周期性的定时功能。
3. 方式2:8253定时器的方式2是一种用于产生脉冲的工作方式。
在这个方式下,定时器计数器会从初始值开始递增,当计数器达到目标值时,会反转输出引脚的电平,然后回到初始值重新开始计数。
这样就可以产生一个周期性的脉冲信号。
以上是8253定时器的三种常见工作方式,它们可以根据实际
需要选择合适的方式来实现所需的定时功能。
第27课 8253工作方式以及应用举例
8253的六种工作方式,8253的实际应用举例。
本课主题:
教学目的:掌握8253六种工作方式的特点以及使用方法,通过实际应用举例强化8253的使用方法。
教学重点:8253的硬件连接和软件初始化方法。
教学难点:8253的在系统中的应用。
授课内容:
8253的每个通道都有6种不同的工作方式,下面分别进行介绍。
1.方式0--计数结束中断方式(Interrupt on Terminal Count)
2.方式1--可编程单稳态输出方式(Programmable One-short)
3.方式2--比率发生器(Rate Generator)
4.方式3--方波发生器(Square Wave Generator)
5.方式4--软件触发选通(Software Triggered Strobe)
6.方式5--硬件触发选通(Hardware Triggered Strobe)
由上面的讨论可知,6种工作方式各有特点,因而适用的场合也不一样。
现将各种方式的主要特点概括如下:
对于方式0,在写入控制字后,输出端即变低,计数结束后,输出端由低变高,常用该输出信号作为中断源。
其余5种方式写入控制字后,输出均变高。
方式0可用来实现定时或对外部事件进行计数。
方式1用来产生单脉冲。
方式2用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲的周期相同。
方式3用于产生连续的方波。
方式2和方式3都实现对时钟脉冲进行n分频。
方式4和方式5的波形相同,都在计数器回0后,从OUT端输出一个负脉冲,其宽度等于一个时钟周期。
但方式4由软件(设置计数值)触发计数,而方式5由硬件(门控信号GATE)触发计数。
这6种工作方式中,方式0、1和4,计数初值装进计数器后,仅一次有效。
如果要通道再次按此方式工作,必须重新装入计数值。
对于方式2、3和5,在减1计数到0值后,8253会自动将计数值重装进计数器。
8.2 8253的应用举例
一、8253定时功能的应用例子
1(用8253产生各种定时波形
在某个以8086为CPU的系统中使用了一块8253芯片,通道的基地址为310H,所用的时钟脉冲频率为1MHz。
要求3个计数通道分别完成以下功能:
(1)通道0工作于方式3,输出频率为2kHz的方波;
(2)通道l产生宽度为480us的单脉冲;
(3)通道2用硬件方式触发,输出单脉冲,时间常数为26。
2.控制LED的点亮或熄灭
用8253来控制一个LED发光二极管的点亮和熄灭的例子,要求点亮10秒钟后再让它熄灭10秒钟,并重复上述过程。
假设这是一个8086系统,8253的各端口地址为81H、83H、85H和87H。
二、8253计数功能的应用例子
1.硬件电路设计
2.初始化编程
MOV AL, 01110001B ;控制字
OUT 0F6H, AL
MOV AL, 99H
OUT 0F2H, AL ;计数值低字节送计数器1 MOV AL, 04H
OUT 0F2H, AL ;计数值高字节送计数器1 3.计数值的读取
在读计数器现行值时,计数过程仍在进行,而且不受CPU的控制。
因此,在CPU读取计数器的输出值时,可能计数器的输出正在发生改变,即数值不稳定,可能导致错误的读数。
为了防止这种情况发生,必须在读数前设法终止计数或将计数器输出端的现行值锁存。
这可以采用下面两种方法:
一种方法是在读数前用外部硬件切断计数脉冲信号,或者使门控信号变为低电平,迫使8253停止计数。
这种方法的缺点是需要硬件电路配合。
此外,由于外部事件源被切断或正常的计数过程被禁止,干扰了实际的计数过程。
因此,这不是一种好的方法,在我们这个例子里,就不宜采用这种读数方法。
另一种方法是先用计数器锁存命令锁存现行计数值,然后将它读出。
上例中,在要读取箱子中的现行工件数时,可执行下面的程序段:
MOV AL, 01000000B ;锁存计数器1命令
MOV DX, 0F6H ;控制口
OUT DX, AL ;发锁存命令
MOV DX, 0F2H ;计数器1
1N AL, DX ;读取计数器1的低8位数
MOV AH, AL ;保存低8位数
IN AL, DX ;读取计数器1的高8位数
XCHG AH, AL ;将计数值置于AX中
在计数器的锁存命令发出后,锁存的计数值将保持不变,直至被读出为止。
计数值从锁存器读出后,数值锁存状态即被自动解除,输出锁存器的值又将随计数器的值而变化。
4.8254的读回功能
当利用8254的读回(Read Back)命令功能,向8254的控制字寄存器写入一个读回命令字时,每次可锁存1,3个通道的计数值。
此外,利用8254的读回功能,还可锁存1,3个计数通道的状态字,供CPU读取。
8254的读回命令的格式如图所示:
用户通过读取状态信息,可核查所选中通道的计数值、工作方式、输出引脚OUT的现行状态及计数器是否已写入计数通道等信息。
状态字的格式如图所示:。