久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 為什么單片機定時器和程序出來的不一樣? [打印本頁]

作者: xia20    時間: 2024-3-16 20:23
標題: 為什么單片機定時器和程序出來的不一樣?
void T0_init (void)
{
                AUXR |= 0x80;                //定時器時鐘1T模式
        TMOD &= 0xF0;                //設置定時器模式
        TH0=(65536-1000)/256;        //16位計數寄存器T0高8位, 12MHZ時1000微秒
        TL0=(65536-1000)%256;        //16位計數寄存器T0低8位,
        TF0 = 0;                                //清除TF0標志
        TR0 = 1;      //啟動定時器
   ET0 = 1;    //使能定時器中斷

}
void TM0_Isr() interrupt 1
{
        TH0=(65536-1000)/256;        //16位計數寄存器T0高8位, 12MHZ時1000微秒
        TL0=(65536-1000)%256;        //16位計數寄存器T0低8位,
                k++;                        //k自加1
        if(k>=1000)                //1秒后計
                {
                        kk++;                        
k=0;
               
                }        
                                if(kk>=10)               
                {
                        kk=0;               

                }        
                                        LED[0]=kk%10;  //顯
                                        LED[1]=kk/10%10;                        
                                        LED[2]=kk/100%10;
                                        LED[3]=kk/1000;                                       
               
}


燒錄程序后數字跑得飛快,而不是1秒1次。為什么?單片機STC8G1K08


作者: 188610329    時間: 2024-3-16 22:42
        TH0=(65536-12000)/256;        //16位計數寄存器T0高8位, 12MHZ時1000微秒
        TL0=(65536-12000)%256;        //16位計數寄存器T0低8位,
作者: xia20    時間: 2024-3-16 23:17
188610329 發(fā)表于 2024-3-16 22:42
TH0=(65536-12000)/256;        //16位計數寄存器T0高8位, 12MHZ時1000微秒
        TL0=(65536- ...

請教,改成12000的依據是什么算法?
作者: ztzp    時間: 2024-3-17 00:17
        TH0=(65536-1000)/256;        //16位計數寄存器T0高8位, 12MHZ時1000微秒
        TL0=(65536-1000)%256;        //16位計數寄存器T0低8位,
你這是12T模式下的初值,晶振頻率被除以12,變成了1M,這就是定時器計數的脈沖頻率,周期是1us;
既然單片機工作在1T模式,晶振頻率沒有被除以12,所以定時器計數的脈沖頻率還是12M,周期就是1/12us。
因此初值就應該是:
        TH0=(65536-12000)/256;        //16位計數寄存器T0高8位, 12MHZ時1000微秒
        TL0=(65536-12000)%256;        //16位計數寄存器T0低8位,
作者: 明日之星8    時間: 2024-3-17 00:22
定時器T0在12MHz-12T模式時最大時間是65mS,可以設置成50mS一次中斷,
20次就是1秒,官方有那么好的工具你干嘛不用?



void Timer0_Isr(void) interrupt 1
{
}

void Timer0_Init(void)        //50毫秒@12.000MHz
{
    AUXR &= 0x7F;            //定時器時鐘12T模式
    TMOD &= 0xF0;            //設置定時器模式
    TL0 = 0xB0;                //設置定時初始值
    TH0 = 0x3C;                //設置定時初始值
    TF0 = 0;                //清除TF0標志
    TR0 = 1;                //定時器0開始計時
    ET0 = 1;                //使能定時器0中斷
}



作者: wulin    時間: 2024-3-17 07:34
void T0_init (void)
{
        AUXR |= 0x80;                //定時器時鐘1T模式
        TMOD &= 0xF0;                //設置定時器自動重裝模式
        TH0=(65536-12000)/256;        //16位計數寄存器T0高8位, 12MHZ時1000微秒
        TL0=(65536-12000)%256;        //16位計數寄存器T0低8位,
        TF0 = 0;                     //清除TF0標志
        TR0 = 1;                     //啟動定時器
        ET0 = 1;                     //使能定時器中斷
}

void TM0_Isr() interrupt 1
{//自動重裝模式不需要加載
//        TH0=(65536-1000)/256;        //16位計數寄存器T0高8位, 12MHZ時1000微秒
//        TL0=(65536-1000)%256;        //16位計數寄存器T0低8位,
        k++;                        //k自加1
        if(k>=1000)                //1秒后計
        {
                kk++;
                k=0;
        }
        if(kk>=1000)
        {
                kk=0;
        }
        LED[0]=kk%10;  //顯
        LED[1]=kk/10%10;
        LED[2]=kk/100%10;
        LED[3]=kk/1000;
}
作者: xia20    時間: 2024-3-18 03:11
明日之星8 發(fā)表于 2024-3-17 00:22
定時器T0在12MHz-12T模式時最大時間是65mS,可以設置成50mS一次中斷,
20次就是1秒,官方有那么好的工具你 ...

謝謝提醒
作者: fosu頑童    時間: 2024-3-26 01:00
下載程序時可以選IRC晶振頻率,如果沒有外部晶振就需要設置IRC頻率




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩av在线网站 | aaaaaa毛片| 波多野结衣之双调教hd | 一级黄色网 | 免费91 | 欧美日韩a | 亚洲国产精品va在线看黑人 | 日本丰满少妇裸体自慰 | 亚洲欧美在线观看 | 黄色三级视频网站 | 中文字幕国产 | 国产欧美日韩在线观看 | 解开岳的丰满奶罩bd | 精品黄色片 | 日韩大片在线观看 | 北岛玲在线 | 日韩欧美在线免费观看 | 亚洲一区成人 | 日本一区二区三区在线视频 | 日韩成人精品视频 | www.嫩草| 插少妇| 黄色一级视频免费看 | 手机在线免费看av | 久操精品视频 | 亚洲综合伊人 | 青青草国产成人av片免费 | 日韩免费一区 | 久久av在线| 日本视频在线免费观看 | 韩国精品一区 | 日本不卡一区 | 黄色片91| 亚洲欧美在线播放 | 国产成人三级一区二区在线观看一 | 日韩在线观看一区 | 国产超碰在线观看 | 亚洲久久在线 | 伊人久久综合 | 国产视频www | 亚洲aaa|