找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1990|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

關(guān)于單片機(jī)中斷設(shè)置問題,圖中那個(gè)取反是什么意思?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:974245 發(fā)表于 2021-12-30 17:01 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
想問問各位大神,圖片中紅色字的疑惑,還有就是中斷感覺不會(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;
        }
}

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

使用道具 舉報(bào)

沙發(fā)
ID:8222 發(fā)表于 2021-12-30 18:59 | 只看該作者
這是一個(gè)方波輸出,定時(shí)時(shí)間一到,低電平轉(zhuǎn)為高電平,再等到下一個(gè)定時(shí)到來,再由高電平轉(zhuǎn)為低電平,一直循環(huán)。PWM_I0=!PWM_I0;為取反運(yùn)算,如果是低,取反為高,如果為高,取反為低。
回復(fù)

使用道具 舉報(bào)

板凳
ID:290373 發(fā)表于 2021-12-30 19:58 | 只看該作者
TMOD=0x0對于定時(shí)器0來講是作為13位定時(shí)器/計(jì)數(shù)器,TL0只用低5位參與分頻,TH0整個(gè)8位全用的工作模式。
TF0=1代表定時(shí)器0定時(shí)時(shí)間到了(使用查詢方式),要在接下來把這個(gè)標(biāo)志位置0,清除這個(gè)標(biāo)志位。
定時(shí)到時(shí)的工作是反轉(zhuǎn)PWM_I0。
將定時(shí)時(shí)間重新寫入TH0,TL0,開啟下一次定時(shí)。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表