8253定时器(微机原理)1
- 格式:doc
- 大小:202.00 KB
- 文档页数:4
11、设8253的地址为40~43H ,CLK 输入频率为2.19MHz 。
编写一个程序,使8253芯片通道2工作在方式2,产生1KHz 的定时触发信号。
请给出有关参数的计算过程。
★计数初值(Tc )与输入时钟频率(fCLK )及输出波形频率(fOUT )之间的关系为: Tc= fCLK / fOUT★时间常数=2.19M/1K=2190 。
★根据题目要求,工作方式控制字应为10110100=0B4H 。
通道2的地址为42H 。
参考程序:MOV AL ,0B4HOUT 43H ,AL ;8253初始化MOV AX ,2190OUT 42H ,AL ;输出时间常数MOV AL ,AHOUT 42H ,ALHLT2、设8253的地址为60~63H ,CLK 输入频率为1.19MHz 。
编写一个程序,使8253芯片通道2工作在方式3,产生600Hz的方波信号。
请给出有关参数的计算过程。
★时间常数=1.19M/600=1983 。
根据题目要求,工作方式控制字应为10110110=0B6H。
通道2的地址为62H。
★参考程序:MOV AL,0B6HOUT 63H,AL ;8253初始化MOV AX,1983OUT 62H,AL ;输出时间常数MOV AL,AHOUT 62H,ALHLT3.若8253A中GATE1为高,CLK1的输入是1000Hz的连续输入脉冲,问:⑴要求设置计数初值后,计数器开始计数,当计数为0时,OUT1输出一个输入脉冲周期的负脉冲,此计数器的工作方式是什么方式?⑵若要求每1秒钟输出一个信号,计数初值应为多少?⑶此OUT1信号是否可以作为CPU的中断请求信号?①计数器1的工作方式为方式4②Tc=f CLK/f OUT=1000③此OUT1 信号不能作为CPU 的中断请求信号。
4.某微机系统中8253A占用地址为100H~103H。
初始化程序如下:2MOV DX,103HMOV AL,16HOUT DX,ALSUB DX,3OUT DX,AL试问⑴此段程序是给8253的哪一个计数器初始化?安排工作在哪种工作方式?⑵若该计数器的输入脉冲的频率为1MHZ,则其输出脉冲的频率为多少?⑴此段程序是给8253计数器0初始化,工作在工作方式3⑵45.45KHZ5、某微机系统中8253A中的端口地址为40H~43H。
8253可编程定时计数器应用实验一、实验要求:按照电路图连接好电路,利用8253定时计数器0产生500Hz,250Hz,125Hz 的方波信号,显示在示波器上;然后用8253定时计数器1制作一个频率计以检测4060和定时计数器0输出方波的频率。
二、实验目的:1、了解如何利用计数器(以4060为例)制作分频器2、熟悉8253在系统中的典型接法。
3、掌握8253的工作方式及应用编程。
三、实验电路及连线:输入时钟产生模块YQNQLQJQIQHQGQFQEQD图1,分频器4060就是一个纯粹的计数器,当作分频用,QD-DN就是对输入频率的4分频-8192分频,直接接到8253相应的定时器计数器时钟输入端口即可8253接口模块X图2,定时器计数器8位数据线和单片机的P0口相连;片选信号CS和P1.0相连;WR/RD分别和单片机相应的WR/RD相连;A0,A1分别和单片机的P3.4、P3.5相连;CLK0直接和4060的QD时钟输出相连;OUT0接示波器和CLK1。
四、实验说明:8253是一款拥有3个完全相同的16位定时器计数器的定时器计数器芯片,三个通道完全独立,其引脚功能为D0-D7:8位数据双向I/O口WR/RD:写/读信号,低电平有效CS:片选信号,低电平有效GATE0-2:三个定时器计数器的门信号CLK0-2:三个定时器计数器的时钟输入信号OUT0-2:三个定时器计数器的输出信号A0,A1:定时器计数器读写地址选择,00 定时器计数器0;01定时器计数器1;10 定时器计数器2;11 控制寄存器定时器计数器采用倒计数,即每输入一个时钟脉冲自减1,当计数寄存器减为0时OUT输出一个脉冲信号,但输出受工作方式和GATE引脚控制。
定时时间=时钟脉冲周期×预置的计数初值8253的定时器计数器有6种工作模式,具体工作模式由状态寄存器决定,如下SC1,SC0:计数器选择 00:选择计数器001:选择计数器110:选择计数器2RW1,RW0:读/写指示 00:计数器锁存命令01:只读/写低 8位10:只读/写高 8位11:先读/写低8位,再读/写高 8位M2,M1,M0:定时器计数器工作方式选择:000-101,方式0-5BCD:计数寄存器数制选择,1:BCD码;0:二进制码8253每个定时器计数器都有6种工作方式,具体如下所述方式0:计数结果中断方式8253工作于方式0时,在写入初始值n后,GATE为高电平时开始计数,OUT 为输出低电平,直到计数器为0,OUT变为高电平直到下次计数开始再变为低电平。
1思考与练习题一、选择题1. 计算机硬件中最核心的部件是()。
CA. 运算器B.主存储器 D. 输入/输出设备2. 微机的性能主要取决于()。
A(B ――计算机数据处理能力的一个重要指标)B. 主存储器C.硬盘D.显示器3. 计算机中带符号数的表示通常采用()。
CA.原码B.反码C.补码码4. 采用补码表示的8位二进制数真值范围是()。
C〜+127 27 〜+128 C.-128 〜+ 127 〜+1285. 大写字母“ B”的ASCII码是()。
B6. 某数在计算机中用压缩BCD码表示为,其真值为()。
C二、填空题1. 微处理器是指_CPU ;微型计算机以_ CPU为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强(2)可靠性高(3)价格低(4)适应性强(5)体积小(6)维护方便_。
P8 P52. 主存容量是指_RAM和ROM、和_ ;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。
P5 P93. 系统总线是_CPU与其他部件之间传送数据、地址和控制信息__的公共通道;根据传送内容的不同可分成数据、地址、控制_3种总线。
P94. 计算机中的数据可分为数值型和非数值型两类,前者的作用是表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。
P12 5. 机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置3个因素。
P15 P16码可以表示_128_种字符,其中起控制作用的称为_功能码_ ;供书写程序和描述命令使用的称为_信息码_。
P18 P19三、判断题1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。
()V2.计算机中数据的表示范围不受计算机字长的限制。
()X3.计算机地址总线的宽度决定了内存容量的大小。
河北专接本微机原理8253工作方式8253是一种三个定时/计数器的可编程计时器/计数器,主要用于计时、计数、频率测量等应用。
它的工作方式如下:
1.设置8253的计数模式:该模式确定计数器如何工作,如定时器模式、计数器模式、PWM模式等。
2.设置计数器初值:当计数器启动时,它会从预设的初值开始计数,计数值将减少或增大移位寄存器的值。
3.计数器工作:当8253启动计数器时,计数器会开始计数,直到计数器的值达到初始值。
在定时器模式下,计数器的值减少到0时会产生一个中断请求信号。
4.处理计数器的中断请求信号:当计数器的值减少到0时,它会发出一个中断请求信号,CPU会在下一次中断请求事件时响应,并执行中断服务程序。
5.重新设置计数器初值并继续工作:当计数器计数完毕后,可以重新设置计数器的初始值,并将其重新启动,以进行下一轮计数。
总之,8253的工作方式可以通过选择计数模式、设置计数器初值、处理中断请求、重新设置计数器来实现。
实验三可编程定时器/计数器8253要求:按图15连接电路,并将OUT0接指示灯(高电红灯亮、低电平绿灯亮)。
将计数器0、计数器1分别设置为方式3,已知CLK0输入为1MHz的方波,计算两计数器的计数初值,使OUT1输出1s为周期的方波,接着退出程序返回DOS流程图:初始化计数器1初始化计数器0按任意键返回dos程序:stack segment stack 'stack'dw 32 dup (0)stack endsdata segmenttip db 'quit the program.$'data endscode segmentstart proc farassume ss:stack, cs:code,ds:datapush dssub ax,axpush axmov ax,datamov ds,axmov dx,283hmov al,77hout dx,almov dx,281hmov al,00hout dx,almov al,10hout dx,almov dx,283hmov al,37hout dx,almov dx,280hmov al,00hout dx,almov al,10hout dx,almov dx,offset tipmov ah,9int 21hmov ah,8int 21hmov ah,4chint 21hretstart endpcode endsend start分析总结:这次的程序真心是没什么好说的了,初始化完后就没有然后了(话说这也能叫程序的······),本来按我的想法得有一个输入计数值的结构和一秒自动检测误差的结构的,关于输入结构前面的实验已经出现过了应该不是很难办,而延时结构就比较麻烦了,直接的调用int 15h,ah 86h功能不知为啥老是出问题,也不晓得是不是我格式错了,而通过指令循环凑出1s延迟计算起来有些麻烦,稳定性可能还有些问题,这个可能还得去查多点资料了,不过只要延迟精确了误差也就几条指令罢了,之后显示的话也就稍微麻烦点而已了。
南昌理工学院实验报告二O一二年月日课程名称:微机原理与接口技术实验名称:定时、计数器8253A应用班级:姓名:同组人:指导教师评定:签名:【一、实验名称】定时、计数器8253A应用【二、实验目的】学习8253A可编程定时、计数器与8088CPU的接口方法;了解8253A的工作方式;掌握8253A在各种方式下的编程方法。
【三、实验内容和原理】1、实验原理8253A的A0、A1接系统地址总线A0、A1,故8253A有四个端口地址。
8253A的片选地址为40H~4FH。
因此,本实验仪中的8253A四个端口地址为40H、41H、42H、43H,分别对应通道0、通道1、通道2和控制字。
采用8253A通道0,工作在方式3,输入时钟CLK0为1MHZ的方波,并要求用接在GATE0引脚上的导线是接地或甩空来观察GATE对计数器的控制作用,用示波器观察输出波形。
2、实验线路连接(1)8253A的GATE0接+5V。
(2)8253A的CLK0插孔接分频器74LS393的T4插孔,分频器的频率源为4MHZ。
【四、实验条件】微型计算机一台,工具箱,示波器【五、实验过程】运行实验程序:单机时,实验程序起始地址为F000:9180。
在系统显示监控提示符“P."时:输入F000按F1键输入9180按EXEC键。
将CLK0接T6,OUTO插孔连接一个发光的二极管。
附:实验参考程序:ORG 08C0H ;?L8253: MOV DPTR,#0C003HMOV A,#36HMOVX @DPTR,AMOV DPTR,#0C000HMOV A,#00HMOVX @DPTR,AMOV A,#10HMOVX @DPTR,ASJMP $END【六、实验结果】当CLK0接T6时,发现发光的二极管的亮度是在改变的。
当CLK0接T7时,发现发光的二极管的亮度的变化没有CLK0接T6时快。
当CLK0接T4时,肉眼无法发现发光的二极管灯的亮度有改变。
微机原理课程设计一.设计任务及要求:交通信号灯的控制:1.通过8255A并口来控制LED发光二极管的亮灭。
2.A口控制红灯,B口控制黄灯,C口控制绿灯。
3.输出为0则亮,输出为1则灭。
4.用8253定时来控制变换时间。
要求:设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。
之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。
延迟30秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。
闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。
延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。
闪烁5次后,再切换到1、3路口方向。
之后,重复上述过程。
二.方案比较及评估论证:分析题意,红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1控制。
30秒延时及闪烁由8253控制,由闪烁的实现方法可分为两种方案:方案一:设8253各口地址分别为:设8253基地址即通道0地址为04A0H;通道1为04A2H;通道2为04A4H;命令控制口为04A6H。
黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波, 8255控制或门打开的时间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。
由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方式,理论设计输出周期为0.01s的方波。
1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1 s,因此通道0的计数初值为10000=2710H。
由此方波分别作为clock1和clock2的输入时钟脉冲,所以通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H既30s,计数口,8255将A口数据输入到8086,8086检测到则输出一个高电平到8255的PA7到高电平既完成30s定时。
1、产生频率200Hz的方波输出信号。
外加时钟频率为1MHz时,选择8253定时通道0。
画出电路图、按要求编写程序,在仿真环境下调试通过。
(N=5000)2、设计一个楼道延时开关电路。
通过一个按钮启动后,220VAC供电的照明灯点亮,同时20s延时启动;20s过后,照明灯灭。
延时控制信号通过一个继电器控制220VAC供电的照明灯。
外加时钟频率为1kHz,选择8253定时通道1。
画出电路图、按要求编写程序,在仿真环境下调试通过。
(N=20000)3、设计一个4位LED数码显示的十进制减法计数器。
初始值为1000,用一个按钮开关模拟计数信号,每按动一次按钮,计数器减一。
4位LED 7段数码管显示实时的计数值。
数码管选用BCD码控制的LED器件。
选择8253定时通道2。
画出电路图、按要求编写程序,在仿真环境下调试通过。
(方式0,读取计数值,通过IO接口电路发送,显示出来)代码1DA TAS SEGMENTnum_0 equ 0020hnum_1 equ 0022hnum_2 equ 0024hcontrol equ 0026h;此处输入数据段代码DA TAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DA TAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXmov al,00110111Bmov dx,controlout dx,almov al,00mov dx,num_0out dx,almov al,50mov dx,num_0out dx,al;此处输入代码段代码MOV AH,4CHINT 21HCODES ENDSEND STARTDA TAS SEGMENTnum_0 equ 0100hnum_1 equ 0102hnum_2 equ 0104hcontrol equ 0106h;此处输入数据段代码DA TAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DA TAS,SS:STACKS START:MOV AX,DATASMOV DS,AXmov al,01110011Bmov dx,controlout dx,almov al,00mov dx,num_2out dx,almov al,200mov dx,num_2out dx,al;此处输入代码段代码MOV AH,4CHINT 21HCODES ENDSEND START代码2DA TAS SEGMENTnum_0 equ 0100hnum_1 equ 0102hnum_2 equ 0104hcontrol equ 0106h;此处输入数据段代码DA TAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DA TAS,SS:STACKS START:MOV AX,DATASMOV DS,AXmov al,01110011Bmov dx,controlout dx,almov al,00mov dx,num_2out dx,almov al,200mov dx,num_2out dx,al;此处输入代码段代码MOV AH,4CHINT 21HCODES ENDSEND START。
8253定时器工作方式
8253定时器是一种常见的计时器芯片,它通常用于控制计算
机硬件设备的定时操作。
8253定时器可以通过以下方式工作:
1. 方式0:8253定时器的方式0是最基本的工作方式,它可以实现一个简单的定时功能。
在这个方式下,定时器计数器会从初始值开始递增,当计数器达到设定的目标值时,会触发一个计时中断。
2. 方式1:8253定时器的方式1是一种周期性工作方式。
在这个方式下,定时器计数器会从初始值开始递增,当计数器达到目标值时,会触发一个计时中断,并且回到初始值重新开始计数。
这样就实现了一个周期性的定时功能。
3. 方式2:8253定时器的方式2是一种用于产生脉冲的工作方式。
在这个方式下,定时器计数器会从初始值开始递增,当计数器达到目标值时,会反转输出引脚的电平,然后回到初始值重新开始计数。
这样就可以产生一个周期性的脉冲信号。
以上是8253定时器的三种常见工作方式,它们可以根据实际
需要选择合适的方式来实现所需的定时功能。
8253的工作原理
8253是Intel 8253A/8254计时器芯片的型号,它是一种具有计数和计时功能的编程设备。
该芯片可在微处理器系统中生成多种定时信号和测量时间间隔。
8253芯片包含三个16位计数器,分别称为计时/计数器0(Timer/Counter 0)、计数器1(Counter 1)和计数器2(Counter 2)。
每个计数器都可以独立地以不同的计数方式和触发方式工作。
其中,计时/计数器0主要用于系统时钟的计时和分频功能。
它可设置为16位二进制计数或BCD(二进制编码十进制)计数,支持多种工作方式。
通过对计时/计数器0进行适当的编程,可以控制系统的时钟频率以及产生各种定时和计数信号。
计数器1和计数器2主要用于通用计数和脉冲计数应用。
它们可以被编程为16位二进制计数或BCD计数,并具有不同的计数方式和触发方式。
这些计数器可以用于计量时间间隔、频率测量、脉冲生成以及其他计数应用。
8253芯片的工作原理是通过编程设置芯片内部寄存器的值来控制其计数操作。
通过读写芯片地址空间中对应的寄存器,可以配置计数器的计数方式、触发方式、初始计数值等。
应用程序可以通过与8253通信,实现所需的定时和计数功能。
总之,8253芯片是通过编程设置寄存器的值来控制其计数和
计时操作的,它能够为微处理器系统生成多种定时信号和测量时间间隔的功能。
接口实验三 8253定时器 / 计数器
一、实验目的
⒈学会8253芯片和微机接口的原理和方法。
⒉. 掌握8253定时器/计数器的工作方式和编程原理。
二、实验内容
1. 用8253的0通道产生周期为30毫秒的方波,去控制发光二极管的亮和灭。
2.用8253的0通道和1通道级联的工作方式,产生周期为20秒的方波,去控制发光二极管的亮和灭。
3. 用8253的0通道产生1、2、3、4、5、6、7、8(1的高音)这八个音阶频率的方波信号,送到小喇叭去控制其发声。
三、实验接线图
图1
图2
图3
图6-5
四、实验原理
对8253编程,使OUT1输出周期为2MHZ(周期为0.5μS)的时钟直接加到CLK1,则OUT1输出的脉冲周期最大只有0.5μS*65536=32768μS=32.768MS,达不到20秒的延时要求,为此,需用几个通道级连的方案来解决这个问题。
设N0=5000,工作于方式2,则从OUT0端可得到序列负脉冲,频率为2MHZ/5000=400HZ,周期为2.5MS。
再把该信号连到CLK1,并使通道1工作于方式3,使OUT1输出周期为20秒(频率为1/20=0.05HZ)的方波即可,应取时间常数N1=400HZ/0.05HZ=8000。
分频电路由一片74LS393组成, T0-T7为分频输出插孔。
该计数器在加电时由RESET信号清零。
当脉冲输入为8.0MHZ时,T0-T7输出脉冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。
五、编程指南
⒈8253芯片介绍
8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V单电源供电。
8253的功能用途:
⑴延时中断⑸实时时钟
⑵可编程频率发生器⑹数字单稳
⑶事件计数器⑺复杂的电机控制器
⑷二进制倍频器
2,8253的六种工作方式:
⑴方式0:计数结束中断⑷方式3:方波频率发生器
⑵方式l:可编程频率发生⑸方式4:软件触发的选通信号
⑶方式2:频率发生器⑹方式5:硬件触发的选通信号
六、实验程序框图
七、实验步骤
⒈按图1连好实验线路
⑴8253的GATE0接+5V。
⑵8253的CLK0插孔接分频器74LS393(左下方)的T1插孔,分频器的频
率源为8.0MHZ,T→8.0MHZ,OUT0接一盏发光二极管。
⑶运行实验程序
在8253的OUT0输出周期为30毫秒的方波,通过接发光二极管,观察
定时情况。
⒉按图2连好实验线路
⑴8253的GATE0、GATE1接+5V。
⑵8253的CLK0插孔接分频器74LS393(左下方)的T1插孔,分频器的频
率源为8.0MHZ,T→8.0MHZ,OUT0接CLK1,OUT1接一盏发光二极管。
⑶运行实验程序
在8253的OUT1输出周期为20秒的方波,通过接发光二极管,观察是
否定时时间为10秒。
3. 按图3连好实验线路
⑴8253的GATE0接+5V。
⑵8253的CLK0插孔接分频器74LS393(左下方)的T1插孔,分频器的频
率源为8.0MHZ,T→8.0MHZ,OUT0接小喇叭。
⑶运行实验程序
在8253的OUT0输出音频方波信号,通过接小喇叭,判断发声情况。
八、实验程序清单
1.
2.
3.。