8253定时计数器实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8253定时器/计数器实验
一、实验目的:
1、进一步了解可编程定时/计数器8253的特点与功能;
2、掌握8253定时/计数器的应用、编程方法。
二、实验设备:
MUT—Ⅲ型实验箱、8086CPU模块、示波器。
三、实验内容:
用定时/计数器8253的计数器0、计数器1级联实现1秒的定时。使OUT1端所接发光二极管每隔1S闪烁一次,模拟电子秒表或信号报警器。
两个计数器皆工作于方式3(输出方波),CLK0端接频率为750KHz的时钟。
四、实验电路:
本实验用到两部分电路:时钟脉冲发生器(脉冲产生电路)(见附录)、8253定时器/计数器(1片)。电路原理图如图1所示。
图1:8253定时/计数器实验电路
五、实验步骤:
(1)实验连线:
CS0连CS8253,8253CLK0连时钟脉冲发生电路的CLK3,OUT0连8253CLK1,OUT1连LED1。如图2所示。注意:GATE信号线、数据线、地址线、读写控制信号线均已接好。
图2:线路连接示意图
(2)输入以下程序,编译、链接后,全速运行,观察实验结果。
;8253初始化参考程序
CODE SEGMENT
ASSUME CS:CODE
ORG 0100H
START:
MOV DX,04A6H ;控制寄存器地址
MOV AL,00110110B ;计数器0控制字:方式3,二进制计数
OUT DX,AL
MOV DX,04A0H ;计数器0的口地址
MOV AL,0EEH ;写计数初值低8位
OUT DX,AL
MOV AL,02H ;写计数初值高8位
OUT DX,AL
MOV DX,04A6H ;控制寄存器地址
MOV AL,01110110B ;计数器1控制字:方式3,二进制计数
OUT DX,AL
MOV DX,04A2H ;计数器1的口地址
MOV AL,0E8H ;计数初值低8位
OUT DX,AL
MOV AL,03H ;计数值高8位
OUT DX,AL
NEXT: NOP
JMP NEXT ;CPU在此循环执行空操作,说明8253独立工作。
CODE ENDS
END START
实验说明:
实验中,计数器0的时钟由时钟发生器的CLK3提供,其频率为750KHz。程序中,计数器0的计数初值设为750,计数器1的计数初值设为1000。计数器0的OUT0输出的方波频率为:750KHz/750=1000Hz,即为CLK1的输入频率。则计数器2的UT0的输出方波的周期为:1000/1000Hz=1秒。可见,采用计数器级联后,输出周期范围可以大幅度提高,这在实际控制中是非常有用的。
实验结果:
程序全速运行后,LED1闪烁(周期为1s)。(可用示波器观察8253的CLK0、OUT0及OUT1的波形)
六、作业题
1、不改变电路连接,修改程序,使计数器0和计数器1都按BCD码计数使LED1每隔1秒闪烁一次,模拟电子秒表或信号报警器。
2、不改变电路连接,修改程序,使发光二极管LED1每隔2S闪亮一次,模拟信号报警器。