標題:
51單片機定時器復用程序(非常簡單)
[打印本頁]
作者:
SPEAR
時間:
2021-1-27 10:13
標題:
51單片機定時器復用程序(非常簡單)
定時器不夠用怎么辦?當然是吧一個定時器分成多個使用,用定時器中斷記錄定時器中斷次數(shù),所要的定時的時間=中斷次數(shù)*單次定時時長。例如1s定時=20*50ms
例如用一個定時器控制兩個led燈以不同頻率閃爍,不用使用軟件延時,不占用CPU資源
單片機源程序如下:
#include <reg52.h>
sbit LED1 = P1^2;
sbit LED2 = P1^4;
unsigned char t,s;
void time0_Init()
{
TMOD = 0x01;
TH0 = 0x3C; //50ms
TL0 = 0xB0;
TR0 = 1;
EA = 1;
ET0 = 1;
}
void timer0() interrupt 1 //2個分頻器
{
t++;
s++;
TH0 = 0x3C;
TL0 = 0xB0;
if(s==5) //250ms
{
s = 0;
LED1 = !LED1;
}
if(t==20) //1000ms
{
t = 0;
LED2 = !LED2;
}
}
void main()
{
time0_Init();
while(1);
}
復制代碼
作者:
man1234567
時間:
2021-1-27 20:03
很棒的思路
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1