標(biāo)題: 關(guān)于單片機(jī)中斷設(shè)置問(wèn)題,圖中那個(gè)取反是什么意思? [打印本頁(yè)]

作者: carrots    時(shí)間: 2021-12-30 17:01
標(biāo)題: 關(guān)于單片機(jī)中斷設(shè)置問(wèn)題,圖中那個(gè)取反是什么意思?
想問(wèn)問(wèn)各位大神,圖片中紅色字的疑惑,還有就是中斷感覺(jué)不會(huì)設(shè)置啊。圖中那個(gè)取反是什么意思呀

下面是總程序:
#include <reg51.h>
sbit PWM_I0=P1^0;
void Timer_Init();
void Timer0();
void main(void){
        Timer_Init();
        while(1){
        Timer0();
        }
}

void Timer_Init(void){
        TMOD=0x0;
        TH0=0xe0;//設(shè)置初始值,7192轉(zhuǎn)為13位后的高八位
        TL0=0x18;//初始值設(shè)置,712轉(zhuǎn)為13位后的低5位
        /*關(guān)閉定時(shí)器終端*/
        EA=0;
        ET0=0;
        TR0=1;
}

void Timer0(void){
        if(TF0==1)
        {
                TF0=0;
                PWM_I0=!PWM_I0;
                TH0=0xe0;
                TL0=0x18;
        }
}


作者: 溫xyz    時(shí)間: 2021-12-30 18:59
這是一個(gè)方波輸出,定時(shí)時(shí)間一到,低電平轉(zhuǎn)為高電平,再等到下一個(gè)定時(shí)到來(lái),再由高電平轉(zhuǎn)為低電平,一直循環(huán)。PWM_I0=!PWM_I0;為取反運(yùn)算,如果是低,取反為高,如果為高,取反為低。
作者: 田賀    時(shí)間: 2021-12-30 19:58
TMOD=0x0對(duì)于定時(shí)器0來(lái)講是作為13位定時(shí)器/計(jì)數(shù)器,TL0只用低5位參與分頻,TH0整個(gè)8位全用的工作模式。
TF0=1代表定時(shí)器0定時(shí)時(shí)間到了(使用查詢(xún)方式),要在接下來(lái)把這個(gè)標(biāo)志位置0,清除這個(gè)標(biāo)志位。
定時(shí)到時(shí)的工作是反轉(zhuǎn)PWM_I0。
將定時(shí)時(shí)間重新寫(xiě)入TH0,TL0,開(kāi)啟下一次定時(shí)。





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