|
上面的程序就不發(fā)了
——————————————————————
void main() //主函數(shù)
{
TMOD=0x02; //定時(shí)器模式2
EA=1; //開啟全局中斷
ET0=1; //開啟定時(shí)器中斷
M=1; //M為輸出PWM管腳
while(1) //進(jìn)入主循環(huán),在這就開始等定時(shí)器中斷,除非有調(diào)速按鍵按下
{
if(K1==0) //檢測(cè)低速擋鍵是否按下 K1為低速擋
{
delay(50); //延時(shí)防抖
if(K1==0) //再次檢測(cè)
{
Z=1;
H=1;
TR0=0; //關(guān)閉定時(shí)器0
a=25; //低速擋值
while(!K1)
{
TR0=1; //開啟定時(shí)器0
D=0; //打開低速燈
}
}
}
void time() interrupt 1 //中斷
{
i++; //i為擬定脈沖數(shù)
if(i>31) //寫這個(gè)意思就是 如果i大于31時(shí)候 讓i重新記數(shù)
{
i=0;
}
if(i>a) //a是關(guān)鍵點(diǎn) 要將a當(dāng)成是一個(gè)零界點(diǎn)(這個(gè)臨界點(diǎn)有你自己決定)當(dāng)i大于a時(shí)候 M輸出的是低電平
算上定時(shí)器重復(fù)中斷,就是每次進(jìn)入中斷后,M都會(huì)輸出低電平 除非 i 小于a M輸出高電平 當(dāng)然M輸出高電平還是低電平由 你自己決定
{
M=0;
}
else M=1;
}
|
評(píng)分
-
查看全部評(píng)分
|