微机原理实验指导书
- 格式:doc
- 大小:636.50 KB
- 文档页数:19
微机原理实验指导书
(版本0.1)
余有灵副教授
控制科学与工程系
2007年12月11日
说明
本实验指导书是依据西安唐都科教仪器公司的产品手册编制,在实验中心相关领导和实验工作人员的帮助下完成的,在此表示感谢。
本次实验包括两个实验系统。任意完成其中一个即可。但严重建议都完成两个实验。
实验5-1 8254定时/计数器应用实验
1.实验目的
(1)掌握8254的工作方式及应用编程。
(2)掌握8254的典型应用电路接法。
2.实验设备
PC微机一台、TD-PIT+ 实验系统一套。
3.实验内容
(1)计数应用实验。编写程序,应用8254的计数功能,用开关模拟
计数,使每当按动KK1-五次后,产生一次计数中断,并在屏幕
上显示一个字符‘5’。
(2)定时应用实验。编写程序,应用8254的定时功能,实现一个秒
表计时并在屏幕上显示。
4.实验原理
8254是Intel公司生产的可编程间隔定时器。是8253的改进型,比8253具有更优良的性能。8254具有以下基本功能:
(1)有3个独立的16位计数器;
(2)每个计数器可按二进制或十进制(BCD)计数;
(3)每个计数器可编程工作于6种不同工作方式;
(4)8254每个计数器允许的最高计数频率为10MHz(8253为2MHz);
(5)8254有读回命令(8253没有),除了可以读出当前计数单元的内
容外,还可以读出状态寄存器的内容。
(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初
值公式为n=fCLKi÷fOUTi、其中fCLKi是输入时钟脉冲的频率,
fOUTi是输出波形的频率。
图5-1是8254的内部结构框图和引脚图,它是由与CPU的接口、内部控制电路和三个计数器组成。8254的工作方式如下述:
(1)方式0:计数到0结束输出正跃变信号方式。
(2)方式1:硬件可重触发单稳方式。
(3)方式2:频率发生器方式。
(4)方式3:方波发生器。
(5)方式4:软件触发选通方式。
(6)方式5:硬件触发选通方式。
图5-1 8254的内部接口和引脚
8254的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表5-1所示。读回控制字格式如表5-2所示。当读回控制字的D4位为0时,由该读回控制字D1~D2位指定的计数器的状态寄存器内容将被锁存到状态寄存器中。状态字格式如表5-3所示。
表5-1 8254的方式控制字格式
表5-2 8254读出控制字格式
表5-3 8254状态字格式
5.实验说明及步骤
(1)定时应用实验
编写程序,将8254的计数器2设置为方式3,用1.8432MHz作为CLK2时钟,计数值为64H,OUT2输出为18.432KHz的时钟。将OUT2连接到计数器0的CLK0,设置计数器0也工作在方式3,计数值为18432,相当于18432分频,则在OUT0得到1Hz的输出。参考程序流程如图5-2所示。
图5-2 8254定时应用实验接线图
实验步骤如下。
a)确认从PC机引出的两根扁平电缆已经连接在实验平台上。
b)首先运行CHECK程序,查看I/O空间始地址。
c)利用查出的地址编写程序,然后编译链接。
d)参考图5-2所示连接实验线路。
e)运行程序,看数据灯显示是否正确。
8254定时应用实验代码输出1Hz
;*** *********根据查看端口资源修改下列符号值******************* IOY0 EQU 9C00H
;************************************************************** MY8254_COUNT0 EQU IOY0+00H*4 ;8254计数器0端口地址
MY8254_COUNT1 EQU IOY0+01H*4 ;8254计数器1端口地址
MY8254_COUNT2 EQU IOY0+02H*4 ;8254计数器2端口地址
MY8254_MODE EQU IOY0+03H*4 ;8254控制寄存器端口地址STACK1 SEGMENT STACK
DW 256 DUP(?)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX,MY8254_MODE ;初始化8254工作方式
MOV AL,0B6H ;计数器2,方式3
OUT DX,AL
MOV DX,MY8254_COUNT2 ;装入计数初值
MOV AL,64H ;100分频
OUT DX,AL
MOV AL,00H
OUT DX,AL
MOV DX,MY8254_MODE ;初始化8254工作方式
MOV AL,36H ;计数器0,方式3
OUT DX,AL
MOV DX,MY8254_COUNT0 ;装入计数初值
MOV AL,00H ;18432分频
OUT DX,AL
MOV AL,48H
OUT DX,AL
QUIT: MOV AX,4C00H ;结束程序退出
INT 21H
CODE ENDS
END START
(2)计数应用实验
编写程序,将8254的计数器0设置为方式3,计数值为十进制5,用微动开关KK1-作为CLK0时钟,OUT0连接INTR,每当KK1-按动5次后产生中断请求,在屏幕上显示字符“5”。参考程序流程如图5-3所示。单元中GATE0已经连接了一个上拉电阻,所以GATE0不用连接。