当前位置:文档之家› 实验三 8253定时器

实验三 8253定时器

实验三8253定时器/计数器实验
姓名:张朗学号:11121535
一、实验目的
1. 学会8255芯片与微机接口的原理和方法。

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

二、实验内容
编写程序,将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;(单脉冲与时钟单元)
四、程序框图
五、编程
1.T=1.48s
CODE SEGMENT
ASSUME CS:CODE
ORG 1200H
START:
CLI
MOV DX, 0043H
MOV AL, 34H
OUT DX, AL
MOV DX, 0040H
MOV AL, 0EEH
OUT DX, AL
MOV AL, 02H
OUT DX, AL
MOV DX, 0043H
MOV AL, 76H ;01110110设置计数器1,方式3,16位二进制计数OUT DX, AL
MOV DX, 0041H
MOV AL, 0E8H
OUT DX, AL
MOV AL, 03H
OUT DX, AL
JMP $ ;8253自行控制led灯
CODE ENDS
END START
2.f=1HZ,T=1s
CODE SEGMENT
ASSUME CS:CODE
ORG 1200H
START:
CLI
MOV DX, 0043H ;控制字地址
MOV AL, 34H
OUT DX, AL
MOV DX, 0040H
MOV AL, 0E8H
OUT DX, AL
MOV AL, 03H
OUT DX, AL
MOV DX, 0043H
MOV AL, 76H ;01110110设置计数器1,选择方式3,16位二进制计数 OUT DX, AL
MOV DX, 0041H ;初值01F4给计数器1
MOV AL, 0F4H
OUT DX, AL
MOV AL, 01H
OUT DX, AL
JMP $
CODE ENDS
END START
3.改为BCD码
CODE SEGMENT
ASSUME CS:CODE
ORG 1200H
START:
CLI
MOV DX, 0043H ;控制字地址
MOV AL, 35H
OUT DX, AL
MOV DX, 0040H
MOV AL, 050H
OUT DX, AL
MOV AL, 07H
OUT DX, AL
MOV DX, 0043H
MOV AL, 77H ;01110111设置计数器1,选择方式3,16位BCD计数
OUT DX, AL
MOV DX, 0041H
MOV AL, 066H
OUT DX, AL
MOV AL, 06H
OUT DX, AL
JMP $ ;8253自行控制led灯
CODE ENDS
END START
六、调试过程:
1. 按连线图连接好,检查无误后打开实验箱电源。

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

3. 运行程序后,观察LED闪烁周期(可以看10次或更多次闪烁时间,以提高观察准确度)。

再按要求调整初始值,使得闪烁周期为1S时间。

4.如果运行不正常就要检查连线,程序。

排查错误,修改程序,直到运行程序正常。

七、心得体会
这次课设却让我们对实验台有了足够的了解,让我们知道了实验台上各个模块的用法;而且它还让我们对自己动手写程序来控制实验台的运作有了一定的基础。

虽然实验台只是一个小型的模拟平台,但是通过对它的学习和操作,我们对有关接口的知识将会有一个更广泛的认识,而且它对我们以后的学习也会有帮助的。

八、问答题
1. 8253初始化编程时需要遵循的原则是什么?
①对计数器设置初始值前必须先写控制字
②初始值设置时,要符合控制字中的格式规定,即只写低位字节还是写高位字节,或者高低位字节都写,控制字中一旦规定,具体初始值设定时就要一致
2.简述8253初始化编程的步骤。

写入通道控制字,规定通道的工作方式,写入计数值。

相关主题