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

標題: 51單片機定時器怎么定100微秒 [打印本頁]

作者: 最高權限    時間: 2020-3-7 20:01
標題: 51單片機定時器怎么定100微秒
51單片機,晶振是11.0592,如何隔100毫秒跳一次
作者: csmyldl    時間: 2020-3-8 00:09
用定時計數器
void Timer0Init(void)                //100微秒@11.0592MHz
{
        TMOD = 0x10;                //設置定時器1模式1
        TL1 = 0xA4;                //設置定時初值
        TH1 = 0xFF;                //設置定時初值
        TF1 = 0;                //清除TF0標志
        TR1 = 1;                //定時器0開始計時
}
檢查TF1為1時就是100us
作者: wulin    時間: 2020-3-8 06:52
#include <reg51.h>

unsigned int i;

void InitTimer0(void)        //100微秒@11.0592MHz
{
        TMOD= 0x02;                        //設置定時器自動重載模式
        TL0 = 0xA4;                        //設置定時初值
        TH0 = 0xA4;                        //設置定時重載值
        TR0 = 1;                        //定時器0開始計時
    EA = 1;                                //開總中斷
    ET0 = 1;                        //開定時器0中斷
}

void main(void)
{
        i=0;
        j=0;
    InitTimer0();
        while(1);
}

void Timer0Interrupt(void) interrupt 1
{
        i++;       //100um
        if(i==1000)//100ms
        {
                i=0;
                P1=~P1;//100毫秒翻轉一次
        }
}

作者: suuy79    時間: 2020-3-8 20:22
如果用51定時器,要想在11.0592MHz的頻率下產生0.1S的時間,據我所知,目前好像不能實現。
當然,如果將晶振頻率降到6MHz是可以通過定時器一步實現的。
如果只是希望0.1S執行一次某的代碼,那辦法就比較多了,軟件定時,定時器計數等方法都可以完成。
作者: 我叫小大打    時間: 2020-3-10 10:55
stc燒錄軟件可以調用定時器、延時器程序的


void InitTimer0(void)        //100微秒@11.0592MHz
{
        TMOD= 0x02;                        //設置定時器自動重載模式
        TL0 = 0xA4;                        //設置定時初值
        TH0 = 0xA4;                        //設置定時重載值
        TR0 = 1;                        //定時器0開始計時
    EA = 1;                                //開總中斷
    ET0 = 1;                        //開定時器0中斷
}




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