欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機學習紅外遙控程序,求指導
[打印本頁]
作者:
zhy123654
時間:
2019-10-22 13:36
標題:
單片機學習紅外遙控程序,求指導
學習紅外線遙控好幾天,看了很多教程,感覺還是一頭霧水,最后自己估摸著寫了一個最小發射程序,不出意外,沒有任何動靜,請大家幫忙看一下,這個程序錯在哪兒,如果錯的實在太多,能不能麻煩幫忙寫一個這樣的小程序,讓我學習一下,謝謝!(不要寫大的遙控器程序,我的智商,根本看不懂)
單片機源程序如下:
#include <stc52.h>
#include <intrins.h>
#define u8 unsigned char
#define u16 unsigned int
sbit plflag=P1^0; //定義紅外發射口
sbit key=P1^1; //定義一個發射開關
void time_init(); //定時器初始化,
void s0(); //發射一位0,
void s1(); //發射一位1,
void main()
{
plflag=0; //P1.0口先置0,
time_init();
while(1)
{
if(key==0)
{
TL1 = 0x9A; //定時器1延時9毫秒設定,
TH1 = 0xDF; //
TR0 = 1; //打開定時器0,
TR1 = 1; //打開定時器1,
while(!TF1); //等待9毫秒
TR0 = 0; //關閉定時器0
TR1 = 0; //關閉定時器1,
plflag=0; //P1.0口歸0,
TL1 = 0xCD; //定時器一延時4.5毫秒,
TH1 = 0xEF; //
TF1 = 0; //清空定時器1標志位,
TR1 = 1; //打開定時器1,
while(!TF1); //等待4.5毫秒,
TR1 = 0; //關閉定時器1,
s0();s0();s0();s0();s0();s0();s0();s0(); //測試寫三個字節,0x00,0xff,0xff
s1();s1();s1();s1();s1();s1();s1();s1();
s1();s1();s1();s1();s1();s1();s1();s1();
}
}
}
void s0() //寫一位0的函數,
{
TL1 = 0xFC; //定時560微秒設置,
TH1 = 0xFD;
TF1 = 0;
TR0 = 1;
TR1 = 1;
while(!TF1);
TR0 = 0;
TR1 = 0;
plflag=0;
TL1 = 0xFC;
TH1 = 0xFD;
TF1 = 0;
TR1 = 1;
while(!TF1);
TR1 = 0;
}
void s1() //寫一位1的函數,
{
TL1 = 0xFC; //定時560微秒設置,
TH1 = 0xFD;
TF1 = 0;
TR0 = 1;
TR1 = 1;
while(!TF1);
TR0 = 0;
TR1 = 0;
plflag=0;
TL1 = 0xEF; //定時器1.685毫秒設置,
TH1 = 0xF9;
TF1 = 0;
TR1 = 1;
while(!TF1);
TR1 = 0;
}
void time_init() 定時器初始化函數,定時器零產生38khz
{
TMOD = 0x11; //定時器0定時器1,設置為工作模式1,
TL0 = 0xF4; //
TH0 = 0xFF;
TF0 = 0;
TF1 = 0;
ET0 = 1;
EA = 1;
}
void Timer0() interrupt 1 //定時器0中斷服務函數
{
TL0 = 0xf4;
TH0 = 0xFF;
plflag=~plflag;
}
作者:
沒耐心
時間:
2019-10-22 17:11
紅外遙控的話,你具體想實現什么功能,比如要控制一款空調的開關,你要先讓程序學習他的編碼,然后發送正確的指令(包括格式和指令的內容),才能實現
作者:
cuihaodianzi
時間:
2019-10-22 19:21
誰來接收?要在接收端看數據啊,加個接收的,然后再串口里看數據
作者:
zhy123654
時間:
2019-10-22 20:37
兄弟們我是問這個程序問題在什么地方,接收是連在電腦串口上自動的,現在接收不到數據
作者:
世客
時間:
2019-11-27 11:27
沒耐心 發表于 2019-10-22 17:11
紅外遙控的話,你具體想實現什么功能,比如要控制一款空調的開關,你要先讓程序學習他的編碼,然后發送正確 ...
我想要做一個電視的遙控器怎么做?
作者:
pcbboy
時間:
2019-11-27 17:56
找個例程看看,正點原子也有,金沙灘哪個也不錯。
作者:
SroneBridge
時間:
2019-11-27 18:04
首先,引導碼后面需要4個字節才能構成一個完整的數據(引導碼 地址碼 地址反碼 數據碼 數據反碼)。
作者:
SroneBridge
時間:
2019-11-27 18:07
首先,一個完整的數據幀應該是 引導碼 地址碼 地址反碼 數據碼 數據反碼。你引導碼后面只發送3個字節,接收端無法檢驗是否有數據錯誤,會被拋棄。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1