定时器中断程序设计实验

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

实验一定时器/中断程序设计实验

一、实验目的

1、掌握定时器/中断的工作原理。

2、学习单片机定时器/中断的应用设计和调试

二、实验仪器和设备

1、普中科技单片机开发板 HC6800-EM3V3.0;

2、Keil uVision4 程序开发平台;

3、PZ-ISP 普中自动下载软件。

三、实验原理

805l 单片机内部有两个 16 位可编程定时/计数器,记为 T0 和 Tl。8052 单片机内除了 T0 和 T1 之外,还有第三个16位的定时器/计数器,记为T2。它们的工作方式可以由指令编程来设定,或作定时器用,或作外部脉冲计数器用。定时器T0由特殊功能寄存器TL0和TH0组成,定时器Tl由特殊功能寄存器TLl和TH1组成。定时器的工作方式由特殊功能寄存器TMOD编程决定,定时器的运行控制由特殊功能寄存器TCON编程控制。T0、T1在作为定时器时,规定的定时时间到达,即产生一个定时器中断,CPU转向中断处理程序,从而完成某种定时控制功能。T0、T1用作计数器使用时也可以申请中断。作定时器使用时,时钟由单片机内部系统时钟提供;作计数器使用时,外部计数脉冲由P3口的P3.4(或P3.5)即T0(或T1)引脚输入。

方式控制寄存器TMOD的控制字格式如下:

低4位为T0的控制字,高4位为T1的控制字。GATE为门控位,对定时器/计数器的启动起辅助控制作用。GATE=l时,定时器/计数器的计数受外部引脚输入电平的控制。由由运行控制位TRX(X=0,1)=1和外中断引脚(0INT或1INT)上的高电平共同来启动定时器/计数器运行;GATE=0时。定时器/计数器的运行不受外部输入引脚的控制,仅由TRX(X=0,1)=1来启动定时器/计数器运行。

C/-T 为方式选择位。C/-T=0 为定时器方式,采用单片机内部振荡脉冲的12 分频信号作为时钟计时脉冲,若采用12MHz的振荡器,则定时器的计数频率为1MHZ,从定时器的计数值便可求得定时的时间。C/-T=1为计数器方式。采用外部引脚(T0为P3.4,Tl为P3.5)的输入脉冲作为计数脉冲,当T0(或T1)输入信号发生从高到低的负跳变时,计数器加1。最高计数频率为单片机时钟频率的1/24。M1、M0二位的状态确定了定时器的工作方式,详见表。

方式1与方式2的差别是计数器的位数,前者13位,后者16位。定时器内部结构逻辑图如图所示。

要测量低频信号可以首先产生一个标准时间T闸门信号,然后在该时间内计算进入计数器的脉冲个数。这个时间有时太短,需结合软件定时。如果要求比较高,则需要进行智能地调整T。例如对于500HZ 信号,使用 65ms 闸门时间,则计数器值就非常少。计数器的值超过 10000 个,才能保证精度不少于0.05%。如果在3秒内还是发现计数器的值少于精度需要,则自动切换到周期测量模式,通过周期计算频率具有较高的精度。如果要求3秒内给出结果,则周期超过3秒的信号就无法得到准确的频率或周期。

四、实验步骤

1.实验接线如下图所示,连接P

2.0口与D11小灯,使用单片机内部定时器T0或者T1中断,实现准确延时,使得D11小灯循环点亮1秒,熄灭1秒。

2.按照实验要求编写程序流程图,然后编写程序。编译成 HEX 文件,连接好编程器,用 PZ-ISP 普中下载软件程序,对编写的程序进行调试,直至测试成功。

五、实验报告

1、画出电路原理图。

2、给出程序流程图和程序清单、并给予适当注释。

3、描述实验现象和结果,要求对实验现象和结果进行分析

图1 点亮一个LED灯原理图 #include

sbit temp=P1^1;

unsigned char num;

void main()

{

temp=0;

num=0;

TMOD=0x01;

TH0=0x3c;

TL0=0xb0;

TR0=1;

while(1)

{

if(TF0)

{

TF0=0;

TH0=0x3c;

TL0=0xb0;

num++;

if(num==20)

{

temp=~temp;

num=0;

}

}

}

}

实验现象:实验板上第一盏led灯一亮一暗;间隔为一秒钟

相关文档
最新文档