新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)C語言程序設(shè)計(jì):TIMER0與TIMER1控制條形LED

單片機(jī)C語言程序設(shè)計(jì):TIMER0與TIMER1控制條形LED

作者: 時(shí)間:2013-08-02 來源:網(wǎng)絡(luò) 收藏

/* 名稱:TIMER0 與 TIMER1 控制條形 LED

說明:定時(shí)器 T0 定時(shí)控制上一組條形 LED,滾動(dòng)速度較快

定時(shí)器 T1 定時(shí)控制下一組條形 LED,滾動(dòng)速度較慢

*/

#includereg51.h>

#includeintrins.h>

#define uchar unsigned char

#define uint unsigned int

uchar tc0=0,tc1=0;

//主程序

void main()

{

P0=0xfe;

P2=0xfe;

TMOD=0x11; //定時(shí)器 0、定時(shí)器1 均工作于方式 1

TH0=(65536-15000)/256; //定時(shí)器 0:15ms

TL0=(65536-15000)%256;

TH1=(65536-50000)/256; //定時(shí)器 1:50ms

TL1=(65536-50000)%256;

IE=0x8a;

TR0=1; //啟動(dòng)定時(shí)器

TR1=1;

while(1);

//T0 中斷函數(shù)

void Time0() interrupt 1

{

TH0=(65536-15000)/256; //恢復(fù)定時(shí)器0初值

TL0=(65536-15000)%256;

if(++tc0==10) //150ms 轉(zhuǎn)換狀態(tài)

{


tc0=0;

P0=_crol_(P0,1);

}

}

//T1 中斷函數(shù)

void Time1() interrupt 3

{

TH0=(65536-50000)/256; //恢復(fù)定時(shí)器 1 初值

TL0=(65536-50000)%256;

if(++tc1==10) //500ms 轉(zhuǎn)換狀態(tài)

{

tc1=0;

P2=_crol_(P2,1);

}

}

單片機(jī)C語言程序設(shè)計(jì):TIMER0與TIMER1控制條形LED



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉