oatTEMPTEMP1PERCENT1000ALLtempPERCENT1000TIMER1_Hui
tTEMP256TIMER1_Lui
tTEMP256函数名称:key_sca
;入口参数:无;出口参数:无;函数功能:按键扫描函数;voidkey_sca
f
delay4
ifKEY_F_UP
频率上调键按下;
FLAG_F1置标志位;
ifKEY
FREQ10
else
FREQ
ifFREQ50000
FREQ1
elseifKEY_F_DOWN频率下调键按下;
FLAG_F1置标志位;
ifKEY
FREQ10
else
FREQ
ifFREQ1
FREQ50000
felseifKEY_W_UP脉宽上调键按下;
FLAG_W1置标志位;ifKEYPERCENT5elsePERCENTifPERCENT99PERCENT1elseifKEY_W_DOWN脉宽下调键按下;FLAG_W1置标志位;ifKEYPERCENT5elsePERCENTifPERCENT1PERCENT99else
f
函数名称timer0;
入口参数:无;
出口参数:无;
函数功能:定时器0中断函数;
voidtimer0i
terrupt1
TH0TIMER0_H
TL0TIMER0_L
TR11
开定时器1;
OUTPUT1
函数名称timer1;
入口参数:无;
出口参数:无;
函数功能:定时器1中断函数;
voidtimer1i
terrupt3
fTH1TIMER1_HTL1TIMER1_LTR10关定时器1,一定要这一步,因为定时器1的定时短于定时器0;OUTPUT0函数名称i
it;入口参数:无;出口参数:无;函数功能:定时器初始化函数;voidi
itTMOD0x11定时器0和定时器1都工作在方式1,16位计数器;calculate_F初始为1KHZ,占空比为50;calculate_WTH0TIMER0_HTL0TIMER0_LTH1TIMER1_HTL1TIMER1_LET01ET11
fEA1TR01TR11函数名称mai
;入口参数:无;出口参数:无;函数功能:主函数入口;
mai
i
itwhile1
key_sca
ifFLAG_F改变频率时要注意要进行脉宽的重新设置;
calculate_Fcalculate_WFLAG_F0
f
ifFLAG_W
脉宽改变,频率不改变;
calculate_W
FLAG_W0
fr