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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1399|回復: 0
打印 上一主題 下一主題
收起左側

定時器 適合stc89c52rc

[復制鏈接]
跳轉到指定樓層
樓主
ID:812531 發表于 2021-2-22 23:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 朝朝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燈閃爍
                        }
                 }

}
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表