標(biāo)題: 用51Hei開(kāi)發(fā)板制作萬(wàn)能學(xué)習(xí)型紅外遙控器 [打印本頁(yè)]
作者: admin 時(shí)間: 2010-7-29 03:45
標(biāo)題: 用51Hei開(kāi)發(fā)板制作萬(wàn)能學(xué)習(xí)型紅外遙控器
凌晨3點(diǎn)多了,終于搞定了這個(gè)程序,基本可對(duì)95%以上的紅外遙控器進(jìn)行編碼學(xué)習(xí),剛測(cè)試了家里的電視機(jī)和dvd,全部通過(guò).
相當(dāng)于是把原配遙控器的發(fā)射編碼錄制到51hei-5型開(kāi)發(fā)板里去,然后通過(guò)板子上的紅外發(fā)射電路來(lái)發(fā)射編碼,以便代替原配的遙控器.
;晶振12M
;跳線設(shè)置:J1插上跳線帽,J7的23端插上跳線(實(shí)驗(yàn)完畢千萬(wàn)記得要拔掉,不然會(huì)干擾其他實(shí)驗(yàn)切記!!)
;實(shí)驗(yàn)方法:按下INT0鍵,D3立刻熄滅,此時(shí)拿來(lái)家里的電視機(jī)遙控器對(duì)準(zhǔn)51hei開(kāi)發(fā)板按一下,
;這時(shí)D3亮了,這個(gè)鍵的數(shù)據(jù)已經(jīng)被記錄下來(lái)了,你只要用板子對(duì)準(zhǔn)電視機(jī),
;并按S5鍵就能遙控電視了.
;D1紅燈用于指示發(fā)射鍵的操作,閃爍時(shí)表示遙控碼正在發(fā)射之中.
;D3黃燈是學(xué)習(xí)指示.
;注意:此實(shí)驗(yàn)有可能會(huì)不成功,并不是全部的遙控器都支持,
;如果按下INT0鍵,在沒(méi)按紅外遙控器的情況下D3馬上亮起來(lái),
;說(shuō)明可能存在電源或者是空間紅外的干擾,
;用3節(jié)1.5v的新電池給板子供電會(huì)達(dá)到比較好的效果.
;如果是用電腦usb供電,最好要拔掉9針串口線以及usb轉(zhuǎn)串口線,最大限度
;的減少來(lái)自電腦的干擾.以保證實(shí)驗(yàn)效果
源程序有c51和匯編2個(gè)版本的代碼,在"程序"目錄里,并有詳細(xì)的注釋,老用戶可重新更新下載一下資料.最近我更新的程序還比較多.
hex文件下載: http://www.torrancerestoration.com/ziliao/51hei-5/hongwxx.rar
作者: magicedward 時(shí)間: 2010-7-31 04:37
正好需要,十分感謝。
作者: hfbjjs 時(shí)間: 2011-1-12 13:13
這個(gè)論壇的東西很豐富!不想學(xué)都不行!不想做也不行!---太吸引人了啊!
作者: ashan 時(shí)間: 2011-5-24 02:47
這個(gè)很有用啊,我先試試去.空調(diào)能行吧.
作者: 冬蟲(chóng)草 時(shí)間: 2011-8-24 11:14
沙發(fā)。
作者: 我愛(ài)單片 時(shí)間: 2012-1-9 20:04
板子買(mǎi)了,想試下了。
作者: ymynotg 時(shí)間: 2012-1-19 01:48
用電視試了一下,過(guò)程一模一樣,指示燈也正常,15分鐘,好像是成功了一次。是不是發(fā)射距離達(dá)不到啊!
明天再看看。
作者: ymynotg 時(shí)間: 2012-2-1 10:56
用示波器測(cè)試發(fā)現(xiàn)學(xué)習(xí)到的信息和原有的信息不一致,數(shù)據(jù)位要少好多,我再確認(rèn)一下,把過(guò)程數(shù)據(jù)發(fā)上來(lái)。
作者: admin 時(shí)間: 2012-2-1 21:55
你發(fā)上來(lái),我給你找到原因所在
作者: 愛(ài)的根號(hào)3 時(shí)間: 2012-3-3 12:02

作者: yapuljj 時(shí)間: 2012-4-13 21:26
看看 怎么樣
作者: 夢(mèng)卡碟心 時(shí)間: 2012-9-10 14:08
版主,你好,我想知道下面這個(gè)鏈接的關(guān)于學(xué)習(xí)型萬(wàn)能遙控器的思路,也是本論壇的人寫(xiě)的。
http://www.torrancerestoration.com/bbs/dpj-1690-1.html
樓主,他用匯編寫(xiě)的,看懂之后把它改成C語(yǔ)言,難度應(yīng)該不大吧?
作者: shenzhenherry 時(shí)間: 2012-9-28 11:27
[灌水]源碼在哪里?最好是C寫(xiě)的
作者: X雄仔 時(shí)間: 2012-11-9 13:40
好
作者: 499705472 時(shí)間: 2015-1-14 10:28
這個(gè)很有用啊,我先試試去.空調(diào)能行吧.
作者: 想學(xué)習(xí)的孩子 時(shí)間: 2015-1-31 20:37
學(xué)習(xí)學(xué)習(xí)
作者: 岳達(dá) 時(shí)間: 2015-2-12 11:09
想看看程序啊
作者: lesson18 時(shí)間: 2015-4-16 23:42
家里遙控器壞掉,不知能否用上,:::::::::::::::::::::
作者: miskel 時(shí)間: 2015-4-17 17:04
好東西,不知道連續(xù)碼能不能接收發(fā)射
作者: 偉哥哥 時(shí)間: 2015-4-30 21:53
請(qǐng)教你一個(gè)問(wèn)題,我用51做紅外線遙控器編碼記錄與轉(zhuǎn)發(fā)的東西,具體方案是紅外接收頭接P3^2,然后通過(guò)一個(gè)非門(mén)與P3^3,相接,TMOD=0x99,分別用INT0,INT1計(jì)數(shù)來(lái)得到紅外碼的高低電平脈寬,用1602顯示和解碼部分我已經(jīng)搞定,但我想把接收到的碼發(fā)送出去,再怎么搞??jī)蓚(gè)定時(shí)器都用了,我嘗試用雙層for嵌套,根據(jù)接收到的脈寬來(lái)延時(shí)控制紅外發(fā)射管的通斷來(lái)發(fā)送紅外碼,但是沒(méi)用(38khz載波用震蕩電路調(diào)好)能不能教教我怎么解決,謝謝
作者: 偉哥哥 時(shí)間: 2015-4-30 21:53
求源程序
作者: 騰飛的龍 時(shí)間: 2015-9-26 16:16
樓主您好:怎么沒(méi)有源碼啊,想學(xué)習(xí)一下,可以分享嗎?謝謝啦!
作者: hzb123 時(shí)間: 2015-9-27 15:39
騰飛的龍 發(fā)表于 2015-9-26 16:16
樓主您好:怎么沒(méi)有源碼啊,想學(xué)習(xí)一下,可以分享嗎?謝謝啦!
有源碼嗎?好想學(xué)啊
作者: kernel99 時(shí)間: 2015-11-23 09:45
正好需要,十分感謝。
作者: xymiss 時(shí)間: 2017-7-10 22:41
這個(gè)厲害。。。那是不是說(shuō)明。每一個(gè)遙控器上都有一個(gè)單片機(jī)板
作者: INVIO 時(shí)間: 2018-4-22 16:08
有源碼嗎?好想學(xué)啊
作者: Jarki 時(shí)間: 2018-5-29 14:30
求大神告知protues圖怎么畫(huà)的
作者: 打雜的 時(shí)間: 2018-7-22 15:55
怎么沒(méi)有原碼了,想看看源碼進(jìn)行學(xué)習(xí)
作者: 1457346053 時(shí)間: 2020-6-15 01:13
跪求源代碼
作者: aaaaaa。 時(shí)間: 2020-8-2 21:50
源程序有c51和匯編2個(gè)版本的代碼,在"程序"目錄里,并有詳細(xì)的注釋
沒(méi)有看到源代碼
作者: arroow 時(shí)間: 2021-6-8 06:34
牛人!下載下來(lái) 備用
作者: 玉萌業(yè)余發(fā)展 時(shí)間: 2021-9-21 12:24
這是站長(zhǎng)的貼呀,牛
作者: Lzhao0415 時(shí)間: 2022-10-13 11:52
謝謝分享,我已下載保存。如果樓主方便的話,多傳一些這方面的資料,謝謝,學(xué)習(xí)了。
作者: 微笑的小小 時(shí)間: 2022-12-9 12:18
源碼?
作者: kaixin8318 時(shí)間: 2023-3-16 22:41
請(qǐng)問(wèn)下 源程序在哪里呢
作者: angmall 時(shí)間: 2023-3-18 13:41
程序分享出來(lái)給需要的人作參考
送人玫瑰手留余香。相互學(xué)習(xí)進(jìn)步。
- /*晶振11.0592M
- ;跳線設(shè)置:J1插上跳線帽,J7的23端插上跳線(實(shí)驗(yàn)完畢千萬(wàn)記得要拔掉,不然會(huì)干擾其他實(shí)驗(yàn)切記!!)
- ;實(shí)驗(yàn)方法:按下INT0鍵,D1立刻亮,此時(shí)拿來(lái)家里的電視機(jī)遙控器對(duì)準(zhǔn)51hei開(kāi)發(fā)板按一下,
- ;這時(shí)D3亮了,這個(gè)鍵的數(shù)據(jù)已經(jīng)被記錄下來(lái)了,你只要用板子對(duì)準(zhǔn)電視機(jī),
- ;并按S5鍵就能遙控電視了.
- ;D1紅燈用于指示發(fā)射鍵的操作,閃爍時(shí)表示遙控碼正在發(fā)射之中.
- ;D3黃燈是學(xué)習(xí)指示.
- ;注意:此實(shí)驗(yàn)有可能會(huì)不成功,并不是全部的遙控器都支持,
- ;如果按下INT0鍵,在沒(méi)按紅外遙控器的情況下D3馬上亮起來(lái),
- ;說(shuō)明可能存在電源或者是空間紅外的干擾,
- ;用3節(jié)1.5v的新電池給板子供電會(huì)達(dá)到比較好的效果.
- ;如果是用電腦usb供電成功率稍低,必須要拔掉9針串口線以及usb轉(zhuǎn)串口線,最大限度
- ;的減少來(lái)自電腦的干擾.*/
- // *************************************
- // * www.torrancerestoration.com學(xué)習(xí)型紅外遙控器 *
- // * 2009.11.29 *
- // *************************************
- #include <reg52.h>
- #include <intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit studylamp=P0^7; //學(xué)習(xí)狀態(tài)指示燈
- sbit lamp=P0^5; //發(fā)射指示燈
- sbit studykey=P3^2; //學(xué)習(xí)鍵(中斷口)
- sbit remotein=P3^3; //遙控信號(hào)輸入口
- sbit remoteout=P2^3; // 遙控輸出口
- sbit txkey=P3^7; //發(fā)射鍵
- sbit leds=P1^4; //led使能
- sbit duan=P2^6; //段選
- sbit wei= P2^7; //位選
- uint i,j,m=255,n,k,s;
- uchar idata remotedata[206];
- uint head;
- uint remdata;
- //一毫秒延時(shí)程序
- delay1ms(uint t)
- {
- for(i=0;i<t;i++)
- for(i=0;j<120;j++);
- }
- //初始化函數(shù)
- clearmen()
- {
- studylamp=1;
- lamp=1;
- remoteout=0;
- remotein=1;
- for(i=0;i<206;i++)
- {
- remotedata[i]=0x00;
- }
- IE=0x00;
- IP=0x01;
- TMOD=0x22;
- PCON=0X00;
- TH1=0xf3;
- TL1=0xf3;
- IT0=1;
- EX0=1;
- EA=1;
- }
- //鍵功能函數(shù)
- void key_tx()
- {
- if(txkey==0)
- {
- delay1ms(1);
- if(txkey==0)
- {
- while(txkey==0);
- ET1=1;TR1=1;
- for(i=head;i>0;i--);
- remoteout=0;ET1=0;TR1=0;
- n=0;
- while(1)
- {
- lamp=0;
- studylamp=1;
- if(remotedata[n]==0x00)
- {
- delay1ms(10);break;
- }
- for(i=remotedata[n];i>0;i--)
- {
- _nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();
- }
- n++;
- ET1=1;TR1=1;
- for(i=remotedata[n];i>0;i--);
- remoteout=0;ET1=0;TR1=0;n++;
- }
- }
- }
- }
- //主函數(shù)
- void main()
- {
- leds=0;
- duan=0;
- wei=0;
- clearmen(); //初始化
- while(1)
- {
- key_tx(); //按鍵掃描
- }
- }
- //40KHz發(fā)生器
- void time_intt1(void) interrupt 3
- {
- remoteout=~remoteout;
- }
-
- //外中斷0
- void intt0(void) interrupt 0
- {
- ET1=0;TR1=0;EX0=0;EA=0;
- head=0;
- while(studykey==0);
- studylamp=0;lamp=1;
- while(remotein==1);
- head=0;
- while(remotein==0)
- {
- _nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();
- head++;
- }
- n=0;remdata=0x0000;
- while(1)
- {
- while(remotein==1)
- {
- _nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();
- remdata++;
- }
- if(remdata>m) //高電平>5毫秒退出
- {remotedata[n]=0x00;EX0=1;EA=1;goto end;}
- remotedata[n]=remdata;n++;
- remdata=0x0000;
- while(remotein==0)
- {
- _nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();
- remdata++;
- }
- remotedata[n]=remdata;
- n++;
- remdata=0x00;
- }
- end: lamp=0;studylamp=0;
- }
復(fù)制代碼
-
-
紅外解碼程序.zip
2023-3-18 13:40 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
283.26 KB, 下載次數(shù): 11, 下載積分: 黑幣 -5
作者: 大米861 時(shí)間: 2023-6-9 09:05
多謝分享,小白學(xué)習(xí),不勝感激。
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |