单片机定时器(单片机定时器程序编写)

海潮机械 2022-12-13 21:39 编辑:admin 52阅读

1. 单片机定时器程序编写

首先,单片机的定时器和计数器不构成因果关系。

但是,TMOD(工作方式寄存器)决定着单片机是定时还是计数的工作方式

而我自己的理解是:

定时功能:单片机设定时间到了以后,触发中断程序;当主程序中有数码管、按键、闪烁灯灯的时候,可以开定时器设定定时时间(比如:2ms),因此灯的闪烁既不影响按键,又不影响数码管的扫描显示,能精确地使各模块有序地运行,不影响主程序。

计数功能:可以通过外部事件的脉冲触发中断程序;实则很多时候用来对外部脉冲进行计数,从而达到被占用主程序的同时还能计数。

纯属本人在学习过程中的一些个人总结,表达不专业和有待完善的地方,还望各位电子爱好者提出。

2. 单片机定时器程序编写显示时分秒

设8051单片机定时器0的门控信号GATE设置为1,定时器0如何启动?

1、设置TR0=1,但这时候是不启动的,因为还需要一个条件。

2、给INT0引脚输入高电平,这时候才启动。

也就是说,TR0、INT0同时为1,定时器0才启动。

3. 单片机定时器程序编写方法

假设晶振为12MHz,不用中断时程序语句如下: TMOD=0x01;

//定时器0工作方式1 TH0=(65536-1000)/256;

//装入初值 TL0=(65536-1000)%256; TF0=0;

//清溢出标志; TR0=1;//启动定时器0 while(TF0==0);

//等待定时时间到 TR0=0; TF0=0;

4. 单片机定时器程序设计

定时器初值=2^n-m*晶振值/分频系数;n:定时器模式,有13,8,16三种;m:要定的时间长度,晶振值:12MHz或6Mhz分频系数:12定义10毫秒;定时器模式1,晶振频率12MHz定时器初值=2^16-10ms*12Mhz/12.=65536-10000.=5536注意单位换算;

5. 51单片机定时器程序编写

#include<stc.h> #define uchr unsigned char #define uint unsigned int sbit zh0 = P2^0; sbit zh1 = P2^1; //定义两个端口 uint t; //变量T void main() { TMOD = 0x01; THO = (65536-50000)/256; TL0 = (65536-50000)%256; EA = 1; ET0 = 1; TR0 =1; //启动中断 while(1) { zh0=1; zh1=0; //程序近来后开始正传 if(t==200) //当中断进入200次,也就是10后电机反转,20次是一秒 { t=0; //把T清零 zh0=0; zh1=1; } } } /*中断程序*/ void timer0 () interrupt 1 { TH0 = (65536-50000)/256; TL0 = (65536-50000)%256; t++; }

6. 单片机定时器用法

首先涉及到中断允许寄存器IE(可以进行位寻址,对某一位操作),全局中断允许位EA,定时器T0中断允许位ET0便在其中。

打开总中断,即EA=1;

开起定时器0中断,即ET0=1;

启动定时器涉及到定时器/计数器控制寄存器TCON(可进行位寻址),定时器0运行控制位TR0便在其中。

启动定时器0,即TR0=1;(在上述GATE=0的前提下)

7. 单片机定时器程序代码

中断程序名() interrupt   中断源编号   中断源编号如下: (1)外部中断0:0 (2)定时器  0:1 (3)外部中断1:2 (4)定时器  1:3 (5)串行口   :4

8. 单片机定时器的应用的程序流程图

使用定时器实现1秒定时; 初始值要看单片机配置的晶振频率了,若12M晶振,初始值为TH0=0x3c;TL0=0xb0; 这才是50ms,还要一个单元做计数器,计数20次才是1秒 方波?在定时中断里求反一次。

对外输出?就对端口(比如P1.0)求反 如何计算?常用的,记熟了,你自己看书

9. 单片机定时器程序编写任一占空比

由于人眼的视觉暂留效果,为避免视觉上灯的闪烁,PWM方波的频率至少大于30Hz。可以取PWM的周期为10ms,即频率为100Hz。

实现方式:使用定时器0的实现10ms定时。并使用定时器2控制PWM高低电平的持续时间。

2.设定占空比的步进间隔

步进时间间隔应小于人眼的视觉暂留效果,即小于30Hz,保证LED亮暗的变化能够被人眼捕捉到,我们设定步进时间的间隔为100ms(10Hz)。

实现方式:

(1)每隔100ms修改一次占空比,可通过进入10次定时器0(上文提到的)的溢出中断实现。

(2)定时器中断ISR中修改占空比:占空比从0开始,每次步进10%,递增到100%;再从100%每次递减10%到0%。

3.总结:利用两个定时器互相配合来模拟PWM波的生成,PWM波的频率和占空比均可控。