实验4定时计数器实验.doc
文本预览下载声明
试验四、定时/计数器8253A
一、试验目的
学习8253A可编程定时/计数器与8088CPU的接口方法;
了解8253A的工作方式;
掌握8253A在各种方式下的编程方法。尤其是分频器和方波发生器。
二、 实验内容
采用8253A通道0,工作方式3(方波发生器方式),输入时钟CLK0 为1MHZ, 输出OUT0 要求为1KHZ的方波,驱动发光管发光。
用接在GATE0引脚上的导线是接地(“0”电平)或甩空(“1”电平)来观察GATE对计数器的控制作用,观察输出情况。
三、实验分析
1、8253A的A0、A1接系统地址总线A0、A1,故8253A 有四个端口地址,Y4的输出用于选通地址40H-4FH。所以将Y4接在8253的片选端选择的地址为40H~ 4FH。 因此, 本实验仪中的8253A四个端口地址为40H、41H、42H、43H,分别对应通道0、通道1、通道2和控制字。
2、采用8253A通道0,工作在方式3(方波发生器方式),输入时钟CLK0 (393分频输出的T4为125khz), 输出OUT0 为方波,驱动发光管。
所以对8253进行初始化:通道0、方式3、二进制计数方式应该如何做?
产生方波脉冲的频率是由初值决定的。分别写不同的初值0010H、1000H、0000H,计算输出的方波脉冲频率,并比较结果。
3、用接在GATE0引脚上的导线是接地(“0”电平)或甩空(“1”电平)来观察GATE对计数器的控制作用,用示波器观察输出波形。GATE为低电平停止计数,保持原来的状态。为高电平重装初值计数。
四、 实验线路连接
(1)8253的GATE0接+5V。
(2)8253的CLK0插孔接分频器74LS393(右上方)的T7(大概15Khz)插孔。
(3)8253cs和Y4相连(内部已经将二者接到一起了)
(4)out0引脚和L12发光二极管相连。
五、程序代码
CODE SEGMENT
ASSUME CS:CODE
ORG 1180H
START:
//将程序补充完整,对8253进行初始化,计数初值分别改成0000H、0010H、1000H 查看各种计数情况下的效果。
。。。。。。。。。。。。。。。。。。。。
//将程序补充完整
JMP $
CODE ENDS
END START
六、思考
1、初值分别为0010H、1000H、0000H时发光二极管的状态是什么样的?为什么会出现这样的现象?
2、GATE引脚电平的状态对结果有什么影响?
3、计数初值置成0000H,然后把CLK0端口的输入时钟频率变化下(导线的另一头在T0-T7之间切换),可以看到LED的闪光频率是发生变化的,即分频系数不变,输入时钟频率变化了,输出要发生变化。
4、如果大家把输入端悬空,会有什么现象?用手捏着会有什么现象呢?测下你的脉搏和LED的闪光是不是有必然联系呢?
结论:
当初值写0010H时,发光二极管常亮,因为频率太快导致LED反映不及。
当初值写1000H时,可以驱动发光二极管(T7=15Khz)
当初值写0000H时,计数时间最长,可以清晰地观察L12亮灭
一个有趣的现象:大家把计数出之置成0000H,然后把CLK0端口的输入时钟频率变化下(导线的另一头在T0-T7之间切换),可以看到LED的闪光频率是发生变化的,即分频系数不变,输入时钟频率变化了,输出要发生变化。 如果大家把输入端悬空,会有什么现象?用手捏着会有什么现象呢?测下你的脉搏和LED的闪光是不是有必然联系呢?(有待证实)
GATE0引脚的信号拔下来可以看到输出被强制拉高,LED点亮,重新GATE0接入高电平后,重新开始计数。
微机原理与接口技术实验手册
1
60H-6FH
00-0FH
GND
A6
A5
A4
A Y0
B Y1
C Y2
Y3
74LS138
Y4
E1 Y5
E2 Y6
E3 Y7
40H-4FH
显示全部