微机实验报告——定时器计数器

  • 格式:docx
  • 大小:90.04 KB
  • 文档页数:3

实验三8253定时器/计数器实验

一、实验目的

1.学会8253芯片与微机接口的原理和方法。

2.掌握8253定时器/计数器的工作原理和编程方法。

二、实验内容

编写程序,将8253的计数器0设置为方式2(频率发生器),计数器1设置为方式3(方波频率发生器),计数器0的输出作为计数器1的输入,计数器1的输出接在一个LED上,运行后可观察到该LED在不停地闪烁。

1.编程时用程序框图中的二个计数初值,计算OUT1的输出频率,用表观察LED,进行核对。

2.修改程序中的二个计数初值,使OUT1的输出频率为1Hz,用手表观察LED,进行核对。

3.上面计数方式选用的是 16 进制,现若改用 BCD 码,试修改程序中的二个计数初值,使LED的闪亮频率仍为1Hz。

三、实验区域电路连接图

CS3→0040H;JX8→JX0;IOWR→IOWR;IORD→IORD;A0→A0;A1→A1;

GATE0→+5V;GATE1→+5V;OUT0→CLK1;OUT1→L1;CLK0→0.5MHz;(单脉冲与时钟单元)

四、程序框图

8253方式控制字

D7 D6 D5 D4 D3 D2 D1 D0

SC1 SC0 RL1 RL0 M2 M1 M0 BCD

00:选择计数器0

01:选择计数器1

10:选择计数器2

11:未使用

00:锁定计数器

01:选择低8 位

10:选择高8 位

11:选择16 位

(先读写低8 位

后读写高8位) 000:选择方式0

001:选择方式1

x10:选择方式2

x11:选择方式3

100:选择方式4

101:选择方式5 计数码

制选择:

0:二进

制计数

1 : BCD

码计数

五、编程程序

code segment

assumecs:code

org 1000h

start:

mov dx,43h /控制字地址/

mov al,00110100b

outdx,al

mov dx,40h /计时器0地址/ mov al,0F4h

outdx,al

mov al,01h /计数器0写入初值01F4H/

outdx,al

mov dx,43h

mov al,01110110b

outdx,al

mov dx,41h /计时器1地址/

mov al,0E8h

outdx,al

mov al,3h /计数器1写入初值03E8H/

out dx,al /分两次赋值,先低八位0E8H,后高八位03H/

jmp $ /8253自行控制led灯/

code ends

end start

六、实验步骤

1. 按连线图连接好,检查无误后打开实验箱电源。

2. 在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。

3. 运行程序后,观察LED闪烁周期 (可以看10次或更多次闪烁时间,以提高观察准确度)。再按要求调整初始值,使得闪烁周期为 1S时间。

4. 如果运行不正常就要检查连线,程序。排查错误,修改程序,直到运行程序正常。

七、思考题

1. 8253初始化编程时需要遵循的原则是什么?

(1)对计数器设置初始值前必须先写控制字 。

(2)初始值设置时,要符合控制字中的格式规定,即只写低位字节还是写高位字节,或者高低位字节都写(分两次写入),控制字中一旦规定,具体初始值设定时就要一致。

2. 简述8253初始化编程的步骤。

先写控制字到8253的控制端口,再写计数器初值到相应的计数器端口。