《定时器中断程序设计实验》由会员分享,可在线阅读,更多相关《定时器中断程序设计实验(5页珍藏版)》请在金锄头文库上搜索。
1、实验一 定时器/中断程序设计实验、实验目的1、掌握定时器/中断的工作原理。2、学习单片机定时器/中断的应用设计和调试二、实验仪器和设备1、普中科技单片机开发板HC6800-EM3V3.0 ;2、Keil uVision4程序开发平台;3、PZ-ISP普中自动下载软件。三、实验原理8051单片机内部有两个 16位可编程定时/计数器,记为 T0和Tl。8052单片机内除了 T0和T1 之外,还有第三个 16位的定时器/计数器,记为T2。它们的工作方式可以由指令编程来设定,或作定时器用,或作外部脉冲计数器用。定时器T0由特殊功能寄存器 TL0和TH0组成,定时器T1由特殊功能寄存器 TL1和TH1组
2、成。定时器的工作方式由特殊功能寄存器TMOD编程决定,定时器的运行控制由特殊功能寄存器TCON编程控制。T0、T1在作为定时器时,规定的定时时间到达,即产生一个定时器中断,CPU转向中断处理程序,从而完成某种定时控制功能。T0、T1用作计数器使用时也可以申请中断。作定时器使用时,时钟由单片机内部系统时钟提供;作计数器使 用时,外部计数脉冲由P3 口的P3. 4(或P3. 5)即T0(或T1)引脚输入。方式控制寄存器 TMOD的控制字格式如下:76543210GATEC/-TMlMOGATEC/-TMlMOT1/TO,低4位为T0的控制字,高 4位为T1的控制字。GATE为门控位,对定时器/计数
3、器的启 动起辅助控制作用。 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, T
4、l为P3. 5)的输入脉冲作为计数脉冲,当T0(或T1)输入信号发生从高到低的负跳变时,计数器加1。最高计数频率为单片机时钟频率的 1/24。 M1、M0二位的状态确定了定时器的工作方式,详见表。MlM0功能说明100方式0,为13位定时器/计数器01方式L为16位的定时器/计数器10方式2,为常数百动重新装入的8 维时器/计效器4式16万式二2的差别是A数器的位数,帝F713碎断 16位。僦都就斯藤琉哨所不。振荡翳Z571要测量低频信号可以首先产生一个标准时间T闸门信号,然后在该时间内计算进入计数器的脉冲个数。这个时间有时太短,需结合软件定时。如果要求比较高,则需要进行智能地调整To例如对于
5、500Hz信号,使用65ms闸门时间,则计数器值就非常少。计数器的值超过10000个,才能保证精度不少于0.05%。如果在3秒内还是发现计数器的值少于精度需要,则自动切换到周期测量模式,通过周期计算频率具有较高的精度。如果要求3秒内给出结果,则周期超过3秒的信号就无法得到准确的频率或周期。四、实验步骤1 .实验接线如下图所示,连接P2.0 口与D11小灯,使用单片机内部定时器T0或者T1中断,实现准确延时,使得 D11小灯循环点亮1秒,熄灭1秒。HEX文件,连接好编程器,用 PZ-ISP2 .按照实验要求编写程序流程图,然后编写程序。编译成 普中下载软件程序,对编写的程序进行调试,直至测试成功
6、。五、实验报告1、画出电路原理图。2、给出程序流程图和程序清单、并给予适当注释。3、描述实验现象和结果,要求对实验现象和结果进行分析GOT图1点亮一个LED灯原理图#includesbit temp=P1A1;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;开始位声明,定义P2.0为D11小灯的输出口 tempsbit temp=P2A0设定工作的定时器T0和工作方式 1;TMOD=0x01 ;设定初值,打开定时器T0TH0=0x3cTL0=0xB0;temp=0;TR0=1;num=0;num=0;Y实验现象:实验板上第一盏led灯一亮一暗;间隔为一秒钟