一、实验目的
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)引脚输入。 1、普中科技单片机开发板 HC6800-EM3V3。0; 2、Keil uVision4 程序开发平台; 3、PZ-ISP 普中自动下载软件。 三、实验原理
1、掌握定时器/中断的工作原理.
2、学习单片机定时器/中断的应用设计和调试 二、实验仪器和设备
方式控制寄存器 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.实验接线如下图所示,连接 P2.0 口与 D11 小灯,使用单片机内部定时器 T0 或者 T1 中断,实现准确延时,使得 D11 小灯循环点亮 1 秒,熄灭 1 秒。
2.按照实验要求编写程序流程图,然后编写程序。编译成 HEX 文件,连接好编程器,用 PZ—ISP 普中下载软件程序,对编写的程序进行调试,直至测试成功。
五、实验报告
1、 画出电路原理图。
2、 给出程序流程图和程序清单、并给予适当注释.
3、 描述实验现象和结果,要求对实验现象和结果进行分析
图1 点亮一个LED灯原理图 #include 位声明,定义P2.0为 D11小灯的输出口temp sbit temp=P2^0 设定工作的定时器T0和 工作方式1;TMOD=0x01; 设定初值,打开定时器T0 TH0=0x3c TL0=0xB0; temp=0; TR0=1;num=0; 判断T0是否 溢出 清T0溢出标志位,T0重新 赋初值,溢出次数num 加1 溢出20次 Y temp取反; num=0; Y 实验现象:实验板上第一盏led灯一亮一暗;间隔为一秒钟 开始 因篇幅问题不能全部显示,请点此查看更多更全内容