8253定时/计数器实验
一、实验目的
了解8253定时器的硬件连接方法及时序关系,掌握8253工作方式以及编程方法。
二、实验内容
编程将8253定时器0设定为方式3,定时器1设定在方式2,定时器2设定在方式2,定时器0输出作为定时器1的输入,定时器1的输出作为定时器2的输入,定时器2的输出接在一个LED上,运行后可观察到该LED在不停闪烁。
1.8253是一种可编程计数器/定时器,它是用软、硬技术结合的方法实现定时和计数控制。
其主要有以下特点:
①有3个独立的16位计数器,每个计数器均以减法计数。
②每个计数器都可按二进制计数或十进制(BCD码)计数。
③每个计数器都可由程序设置6种工作方式。
④每个计数器计数速度可以达2MHz。
⑤所有I/O都可与TTL兼容
2.8253部分管脚的功能简介:
D0-D7——数据总线缓冲器
A0-A7——地址输入线,用来选择3个计数器和控制寄存器中的一个。
CLK——时钟脉冲输入端。
计数脉冲加到CLK输入端,可进行二进制或十进制减1的计数。
GATE——门控脉冲输入,用以控制计数或复位。
通常当其为低电平时,禁止计数器的工作,即此输入信号即可完成外部触发启动定时作用,又可用于中止计数或定时作用。
OUT——计数到零或定时时间到脉冲输出。
当预置的数值减到零时,从OUT输出端输出一信号,在不同的方式下,可输出不同形式的信号。
可以用作中断请求,也可用作周期性的负脉冲或方波输出。
三、实验内容及步骤
本实验需要用到单片机最小应用系统CPU模块(F1区)、8253模块(H3区)、时钟发生电路模块(C4区)和计数器/频率计(A4区)。
1.用导线单片机最小应用系统P
2.0、P2.1、P2.7、RD、WR分别接8253的A0、A1、CS-8253、RD、WR;单片机最小应用系统的P0口JD4F接8253模块的D0-7口JD0H,时钟发生电路模块的250kHz接8253模块的CLK0; GATE0接+5V,OUT0接计数器/频率计(A4区)的F IN 。
2.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“TH20_8253.ASM”,进行编译,直到编译无误。
4.进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
5.从计数器/频率计可以看到OUT0输出的频率是CLKO的256分频(大约=970Hz)。
四、源程序(见光盘中的程序文件夹)
五、思考题
1.比较8253的六种工作方式的异同,并列表分析。
2.分析如何根据实验电路确定8253的端口地址?
六、实验电路
GND
12
VCC 24D08OUT010D17GATE011D26CLK09D35D44D53D62OUT113D71GATE114CLK115CS 21RD 22WR
23
OUT217A019GATE216A120CLK2
18
8253
CS VCC
VCC
CLK0OUT0GATE0CLK1
OUT1GATE112345678JD0H
D0-7
A0A1RD WR
R8H 4.7K。