|
12-用定時(shí)中斷長(zhǎng)延時(shí)實(shí)現(xiàn)P0口多個(gè)LED亮滅.rar
(13.68 KB, 下載次數(shù): 7)
2017-12-2 11:58 上傳
點(diǎn)擊文件名下載附件
/****************《51單片機(jī)輕松入門-基于STC15W4K系列》配套例程 *************
★★★★★★★★★★★★★★★★★★★★★★★★
《51單片機(jī)輕松入門-基于STC15W4K系列》 配套例程
// 用定時(shí)中斷長(zhǎng)延時(shí)實(shí)現(xiàn)P0口多個(gè)LED亮滅.rar
★★★★★★★★★★★★★★★★★★★★★★★★*/
#include "STC15W4K.H" // 包含 "STC15W4K.H"寄存器定義頭文件
sbit LED0=P0^0;
sbit LED1=P0^1;
void main()
{
TMOD=0x01; // 定時(shí)器0_16位計(jì)數(shù)
TH0=0x70; // 經(jīng)計(jì)算定時(shí)20ms初值是0x7000
TL0=0x00;
TR0=1; // 定時(shí)器開(kāi)始運(yùn)行
ET0=1; // 開(kāi)定時(shí)器0中斷開(kāi)關(guān)
EA=1; // 開(kāi)總中斷開(kāi)關(guān)
while(1);
}
void Timer0() interrupt 1
{
static Count1=0; // 靜態(tài)變量計(jì)數(shù)器,靜態(tài)變量只在首次運(yùn)行時(shí)賦值1次*/
static Count2=0; // 靜態(tài)變量計(jì)數(shù)器
Count1++; // 每次中斷計(jì)數(shù)器加1
Count2++; // 每次中斷計(jì)數(shù)器加1
if(Count1>=25) // 如果計(jì)數(shù)器超過(guò)25
{
LED0=!LED0; // 取返P0.0
Count1=0; // 計(jì)數(shù)器清零
}
if(Count2>=50) // 如果計(jì)數(shù)器超過(guò)50
{
LED1=!LED1; // 取返P0.1
Count2=0; // 計(jì)數(shù)器清零
}
TH0=0x70; // 重裝定時(shí)初值
TL0=0x00;
}
|
評(píng)分
-
查看全部評(píng)分
|