求紅外置收頭的微控制器程式

時間 2022-05-22 09:25:05

1樓:匿名使用者

void initial (void)

* 名 稱:rcv()

* 功 能:紅外掃瞄解碼

* 入口引數:

* 出口引數:

* 說 明:

* 備 注:慧淨電子網 www.hlmcu.com 慧淨空間 http://hi.baidu.com/hlmcu

void rcv()

while (cnt1--); //低電平大於4*256*10us=10.24ms則是錯誤脈衝

//rcv2

if (cnt2_2 && (0 < cnt1) && (cnt1 < 320)) //;低電平小於2*256*10us=5.12ms┏┒____

while (cnt1--);

//rcv4

if (cnt2_2 && (0 < cnt1) && (cnt1 < 320)) //高電平小於1*256*10us=2.56ms則是錯誤的

while (cnt0--);

//cv6

if ((cnt0 == 0) || (cnt2_3 == 0)) break;

cnt2 = 0;

//rcv6_lo

dowhile (cnt4--); //高電平大於256-56=200*10us=2ms錯誤

if ((cnt4 == 0) || (cnt2_3 == 0)) break;

//ompare

cnt0 = (86 - cnt0) + (200 - cnt4) ;

//;減cnt0的值 等於實際低電平計數值

// ;減cnt4的值 等於實際高電平計數值

// ;將高低電平的計數加在一起並存入cnt0,通過比較高低電平總的時間來確定是1還是0

// ;總的值大於255(即時間大於255*10us=2.55ms)則錯誤 255*10=2.55

// ;總的時間小於70*10us=700us則是錯誤的 70*10=700

if (( (70 < cnt0) && (cnt0 < 130)) || ((160 < cnt0) && (cnt0 < 230) ) ) // ;130*10=1.3ms

else break;

}while (cnt3--); //;是否接收完32位

csr3 = mycsra. csra[0];

csr2 = mycsra. csra[1];

csr1 = mycsra. csra[2];

csr0 = mycsra. csra[3];

csr2a = ~csr0; //;比較鍵碼的反碼取反後是否等於鍵碼

//;不等於則接收到的是錯誤的資訊

// 將鍵碼送顯示}}

}}* 名 稱:display()

* 功 能:數碼管顯示

* 入口引數:

* 出口引數:

* 說 明:

* 備 注:慧淨電子網 www.hlmcu.com 慧淨空間 http://hi.baidu.com/hlmcu

void display()

* 名 稱:main

* 功 能:主程式

* 入口引數:

* 出口引數:

* 說 明:

* 備 注:慧淨電子網 www.hlmcu.com 慧淨空間 http://hi.baidu.com/hlmcu

void main(void)}

2樓:匿名使用者

用普通io口或外部中斷口連線接收頭的資料口,接收頭接5v供電,微控制器就可以根據通訊協議了做解碼程式了,看你傳送的是什麼碼,然後再來寫解碼程式了

3樓:匿名使用者

要什麼晶元的?我只有pic的,要就給郵箱來,我發給你,我把電路圖都給你

求微控制器中圍繞中斷的程式題目?急求

嘻哈海棠 找了幾個定時 計數器的題目,外部中斷應該很簡單。1 利用定時 計數器t0從p1.0輸出週期為1s的方波,讓發光二極體以1hz閃爍,設晶振頻率為12mhz。2 利用定時 計數器t1產生定時時鐘,由p1口控制8個發光二極體,使8個指示燈依次一個一個閃動,閃動頻率為10次 秒 8個燈依次亮一遍為...

如何用51微控制器控制舵機的??微控制器程式是怎麼寫的?希望你也能給我發編寫程式和電路圖

微控制器系統實現對舵機輸出轉角的控制,必須首先完成兩項任務 首先,產生基本的pwm週期訊號,即產生20ms的週期訊號 其次,調整脈寬,即微控制器調節pwm訊號的占空比。微控制器能使pwm訊號的脈衝寬度實現微秒級的變化,從而提高舵機的轉角精度。微控制器完成控制演算法,再將pwm訊號輸出到舵機。發乙個自...

求微控制器程式 LED檯燈自動調光等

你好 我贊同二樓的,一樓給你的只是乙個簡化問題的方向。你沒有描述出問題的特徵,是軟體編譯通不過 我覺得不是這個 還是不能調光,或調光範圍非常窄,或根本不調光。我感覺你應該是後面幾個問題如二樓所言。你的程式幾乎沒有注釋,很難看的明白,就我的經驗,說幾點建議。1.首先建立正確的數學模型,如你的程式 頻率...