当前位置:文档之家› 实验三 单片机定时计数器应用实验(一)(学生用)

实验三 单片机定时计数器应用实验(一)(学生用)

实验三单片机定时/计数器应用实验(一)
一、实验目的
(1)掌握定时/计数器的基本结构、工作原理和工作方式。

(2)掌握定时/计数器的使用和编程方法。

(3)进一步掌握中断处理程序的编写方法。

二、实验器材
(1)HJ-C52开发板一块
(2)计算机一台
(3)Keil C51编程软件
(4)数据下载线
三、实验电路
图2 电路图
四、实验说明
1、51单片机有。

两个16位内部定时器/计数器(T/C,Timer/ Counter)。

若是计数内部晶振驱动时钟,则是定时器;若是计数8051的输入引脚的脉冲信号,则它是计数器。

定时器实际上也是工作在计数方式下,只不过对固定频率的脉冲计数。

由于脉冲周期固定由计数值可以计算出时间,有定时功能。

定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。

TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。

TCON主要
功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。

2、TMOD
(1)M1M0工作方式控制位
(2)C/T 定时器方式或计数器方式选择位
若C/T=1时, 为计数器方式;C/T = 0时, 为定时器方式。

(3)GATE 定时器/计数器运行门控标志位
当GATE=1时, T/C的启动受双重控制,即要求INT0 (或INT1)引脚为高电平且TR0(或TR1 )置 1 时, 相应的T/C才被选通工作。

若GATE=0, T/C的启动仅受TR0 (或 TR1)控制,即置 1, T/C就被选通, 而不管 INT0 (或 INT1)的电平是高还是低。

3、TCON
TF0、TF1分别是定时器/计数器T0、 T1 的溢出中断标志位, 加法计数器计满溢出时置1, 申请中断, 在中断响应后自动复0。

TF产生的中断申请是否被接受, 还需要由中断是否开放来决定。

TR1、TR0 分别是定时器/计数器T1、 T0 的运行控制位, 通过软件置 1 后, 定时器/计数器才开始工作, 在系统复位时被清0。

4、初始化
(1)初始化步骤
在使用51系列单片机的T/C前,应对它进行编程初始化,主要是对TCON 和TMOD编程,还需要计算和装载T/C的计数初值。

一般完成以下几个步骤:
1)确定T/C的工作方式——编程TMOD寄存
2)计算T/C中的计数初值,并装载到TH和TL;
3)T/C在中断方式工作时,必须开CPU中断和源中断——编程IE寄存器;
4)启动定时器/计数器——编程TCON中TR1或TR0位。

(2)计数初值的计算
1)定时器的计数初值:
在定时器方式下,T/C是对机器周期脉冲计数的,f
=6MHZ,一个机器周期
OSC
=2us,则:
为12/f
OSC
方式0 13位定时器最大定时间隔=213*2us=16.384ms
方式1 16位定时器最大定时间隔=216*2us=131.072ms
方式2 8位定时器最大定时间隔=28*2us=512us
若T/C工作在定时器方式1时,要求定时1ms,求计数值。

如设计数初值为x,则有:
(216-x)*2us=1000us 推出x=216-500
因此,TH,TL可置65536-500。

2)计数器的计数初值
在计数器方式下:
方式0 13位计数器的满计数值=213=8192
方式1 16位计数器的满计数值=216=65 536
方式2 8位计数器的满计数值=28=256
若T/C工作在计数器方式2时,则要求计数10个脉冲的计数初值,如设计数初值为x。

则有
28-x=10 即 x= 28-10
因此,TH=TL=256-10。

五、实验内容
1.P1口外接的8只LED每0.5s闪亮一次。

在AT89S51单片机的P1口上接有8只LED。

下面采用定时器T0的方式1的定时中断方式,使P1口外接的8只LED每0.5s闪亮一次。

2. 采用定时器T1的方式1的中断计数方式,如图2所示,计数输入引脚T1(P
3.5)上外接开关K1,作为计数信号输入。

按6次K1后,P1口的8只LED 闪烁不停。

六、实验操作方法
1.建立工程。

双击桌面图标Keil →单击Project →选择New μVision Project →选择AT89S52型号单片机→点击确定。

2.单击File →New →Save(文件后缀是“.c”的文本)→开始编程。

3.程序编写完成后→单击(Target Options)点击output菜单项→勾选Create HEX File选项→点击OK确定→单击进行编译、运行程序→生成Hex文件。

4.打开烧录软件STC-ISP →选择对应的单片机型号→选择Hex文件→查看并设置下载COM端口→单击下载→按下HJ-C52开发板→程序烧录完成→LED移位闪烁。

七、思考题
1.定时器的工作方式有哪些,各有什么特点。

2.若单片机定时器0工作在方式1下,该如何设定定时常数。

相关主题