單片機低功耗技術(shù)及應用
//*****單片機內部功能使用的定義*****
#pragma sfr //使用特殊功能寄存器
#pragma HALT //使用HALT功能
#pragma interrupt INTP1 inter RB1 //使用中斷功能
#pragma DI //使用關(guān)中斷功能
#pragma EI //使用開(kāi)中斷功能
//*************變量定義*************
unsigned int b; //定義軟件延時(shí)計數變量
char msflag; //定義主、副時(shí)鐘切換標志
//**************主函數**************
void main()
{
PCC=PCCMODEM; //CPU用主系統時(shí)鐘
P6.0=PORTM60; //P6口的位0賦初值
PM6.0=PORTM60; //P6口的位0為輸出
INTM0=INTM0M; //INTP1下降沿觸發(fā)
PMK1=0; //清除INTP1中斷屏蔽
Msflag=0; //選用主副時(shí)鐘的標志
EI(); //開(kāi)中斷
While(1)
{
if(msflag= =0) //時(shí)鐘切換標志為0時(shí)
msflag=1; //標志變?yōu)?
else msflag=0; //否則標志變?yōu)?
P6.0=0; //點(diǎn)亮LED燈
b=0; //軟件延時(shí)的計數值賦初值
while(b=10000)
{
b++; //軟件延時(shí)(注意系統時(shí)鐘為)
//主時(shí)鐘與副時(shí)鐘延時(shí)
//時(shí)間的長(cháng)短是不同的)
}
P6.0=1; //熄滅LED燈
HALT(); //進(jìn)入HALT狀態(tài)
}
}
//************中斷服務(wù)函數************
void inter(void)
{
if(msflag= =0) //若時(shí)鐘切換標志為0
PCC=PCCMODES; //CPU使用副時(shí)鐘
Else //否則
PCC=PCCMODEM; //CPU使用主時(shí)鐘
}
低功耗單片機的應用使電子產(chǎn)品、控制系統更符合當今時(shí)鐘的要求,達到便攜、低功耗和高可靠性。加之用高級語(yǔ)言(如C語(yǔ)言)對單片機進(jìn)行開(kāi)發(fā)的工具日臻完善。更為快速高效的開(kāi)發(fā)應用提供了良好的條件和環(huán)境。低功耗的節能單片機應用系統將會(huì )帶來(lái)很好的社會(huì )效益和經(jīng)濟效益
熱式質(zhì)量流量計相關(guān)文章:熱式質(zhì)量流量計原理 流量計相關(guān)文章:流量計原理
評論