欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 定時器 適合stc89c52rc [打印本頁]

作者: 朝朝1    時間: 2021-2-22 23:02
標題: 定時器 適合stc89c52rc
本帖最后由 朝朝1 于 2021-2-24 10:31 編輯

#include<reg52.h>
sbit led=P1^0;
sbit led1=P1^1;
unsigned char timer,timer1;
unsigned char T0RH,T0RL,T1RH,T1RL;
void confgtimer0(unsigned char ms) //定時器計算時間函數且最大值是71ms
{
    unsigned long tmp;
        tmp=11059200/12;  //計算頻率,因為一個機器周期等于12個時鐘周期 所以要除以12        且單位是微妙
        tmp=(tmp*ms)/1000;
        tmp=65536-tmp;                //設置初值
         T0RH=(unsigned char)(tmp>>8);
         T0RL=(unsigned char) (tmp);
         TMOD=0x11;//設置特殊功能寄存器,配置好工作模式 ,設置定時器0,工作方式1
     TH0=T0RH        ;                                                                  //設置定時時間
     TL0=T0RL;
     TR0=1;                 //打開定時器
}
void confgtimer1(unsigned char ms) //定時器計算時間函數且最大值是71ms
{
    unsigned long tmp;
        tmp=11059200/12;  //計算頻率,因為一個機器周期等于12個時鐘周期 所以要除以12        且單位是微妙
        tmp=(tmp*ms)/1000;
        tmp=65536-tmp;                //設置初值
         T1RH=(unsigned char)(tmp>>8);
         T1RL=(unsigned char) (tmp);
         TMOD=0x11;//設置特殊功能寄存器,配置好工作模式 ,設置定時器0,工作方式1
     TH1=T1RH        ;                                                                  //設置定時時間
     TL1=T1RL;
     TR1=1;                 //打開定時器
}
void main()
{
confgtimer0(50);
confgtimer1(50);
while(1)
{
        if(TF0==1) //當增加的數字溢出時候。TF置1
        {
        timer++;
        TF0=0;           //軟件清零
                if(timer==20)
                {
                timer=0;                                 
                TH0=T0RH;                                  //重新賦值
                TL0=T0RL;
                led=~led;                                //led燈閃爍
                }
        }
                        if(TF1==1) //當增加的數字溢出時候。TF置1
                {
                timer1++;
                TF1=0;           //軟件清零
                        if(timer1==20)
                        {
                        timer1=0;                                 
                        TH1=T1RH;                                  //重新賦值
                        TL1=T1RL;
                        led1=~led1;                                //led燈閃爍
                        }
                 }

}
}






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1