8254方式3的秒脉冲实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

大连理工大学实验报告

实验室(房间号):420 实验台号码:16 班级:姓名:

指导教师签字:成绩:

实验四8254方式3的秒脉冲实验

一、实验目的和要求

1.掌握8254工作方式的基本原理、计数特点和编程方法。

2.利用8254实验秒脉冲信号的输出。

二、实验原理和内容

1.实验内容

利用8254,将1MHz的方波信号变化成1Hz的秒脉冲信号。

要求:1).8254的片选地址为200h-20fh。

2).8254的计数器0的地址为200H,计数器1的地址为201H,计数器

2的地址是202H,控制寄存器的地址是203H。

3).CLK0链接时钟1MHz,由计数器0进行10000分频后得到100Hz的

信号,然后再用计数器1进行100分频就得到了1Hz的信号频率。

4).用逻辑笔连接OUT1,观看分频后的效果。

2.实验原理

1). 8254相关地址的连线

A.地址端口的接线

本次实验在实验板上操作,8254与CPU间的连接线已经固化,因此只需要将8254的片选段与实验板上的200H-20FH端口用导线连起来就可以了。

B.时钟与输出

8254的CLKO与时钟电路的“1MHz”输出端连接,由计数器0进行10000分频后得到100Hz的信号在OUT0输出;OUT0与CLK1连接,再由计数器1进

行100分频就得到了1Hz的信号;最后OUT1与逻辑笔电路的输入相连,观察

输出现象。GATE0、GATE1均与+5V电压连接。

2).8254的程序控制

先对8254的控制端口写控制命令,接着对相应的端口写计数初值。对于10000

分频,采用BCD码形式计数,则计数初值为0;对于100分频,采用十六进制

形式计数,则计数初值为100。

三、实验电路图

四、算法流程图

五、程序清单

.model small

.386

IO_ADRESS EQU 200H ;宏定义,计数器的地址一次是200-202h

DATA SEGMENT

D1 DW ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START:

MOV AX, DA TA

MOV DS, AX

MOV DX, IO_ADRESS+3 ;写控制寄存器,

MOV AL, 00110111B ;计数器0方式3BCD码计数

OUT DX, AL

MOV DX, IO_ADRESS

MOV AL,0 ;实际计数10000次

OUT DX, AL ;低八位

OUT DX, AL ;高八位

MOV DX, IO_ADRESS+3

MOV AL,01010110B ;计数器1方式二进制计数

` OUT DX, AL

MOV DX, IO_ADRESS+1

MOV AL,100

OUT DX, AL ;100用低八位就足够了

DDD: JMP DDD

CODE ENDS

END START

六、实验结果与分析

连好接线,运行程序,可以看到逻辑笔的红黄灯交替闪,目测频率正确,实验完成。

七、实验体会和建议

本次实验学习了8254芯片的方式3模式。8254的方式3为方波发生器方式,利用此方式可以较为方便的产生各种频率的方波。本实验CLK0断接1MHz时钟,用计数器0分频为100Hz,再用计数器1分频为1Hz,实现了秒脉冲。编程过程中,要特别注意DX寄存器的值,每次输入输出的时候,先查看DX的值,看是否存的是需要的地址,防止出错。同时,写控制字的时候要理解每位二进制代表的意义。

相关文档
最新文档