關於無線模組RF11TG發射接收搭配HT-12E&HT-12D |
尚未結案
|
kaen54000
一般會員 發表:1 回覆:3 積分:0 註冊:2011-12-06 發送簡訊給我 |
抱歉初次發表~尋求幫助!!在專題上碰到了問題!!
我是想利用如題無線模組跟8051搭配~藉由TG11發射器來簡單的控制8051的IO~我在網站上有找到如何接這些腳位!!但是對於程式 我完全不知如何下手!!希望有力人士能幫忙協助~ 另一方面我也想了解一下紅外線遠端遙控如何去做,最主要是想學習無線控制8051上的IO但對於新手來說!不知道紅外線遠端控制或是 無線模組那個比較容易進入!!如果可以的話希望能拿到紅外線遠端控制或是無線模組的程式碼(因為使用KEILC)所以希望各位前輩能 提供一下有利資料!謝謝!! PS無線模組是使用315MZ,TG-11A,TG11-B,HT-12E&HT-12D 謝謝版主的回應!!在請教一下(抱歉內容比較多)如附檔所看到的!發射接收!如何知道發射HT-12E的13~12~11~10腳的位置是多少?如果知道以後 我想要控制!low~high就是在接收模組的HT-12D的13.12.11.10腳全接到8051的晶片上如下圖程式碼: <<<<發送部份>>>> #include"reg51.h" void delayms(unsigned int time); unsigned char A; //宣告一個字元A unsigned char C; //宣告一個字元C main(void) //主程式 { while(1) //重複執行以下敘述 { ADC_WR = 1; //令ADC0804的接線WR=1<<<<請問這一段~我如果只是單純無線模組IO輸出而已要怎麼取代這一段??>>>> while (ADC_INTR == 1); //等待ADC0804的接腳INTR=0<<<<請問這一段~我如果只是單純無線模組IO輸出而已要怎麼取代這一段??>>>> { <<<<請問以下這一段要如何更改??>>>> delayms(100); P2 = 0x0A; //考慮到P2只有接P21-P24,只有接四隻腳 delayms(100); P2 = B; //將字元B內的數值傳入到P2 delayms(100); P2 = 0x0B; //考慮到P2只有接P21-P24,只有接四隻腳 delayms(100); P2 = C; //將字元C內的數值傳入到P2 delayms(100); P2 = 0x0C; //考慮到P2只有接P21-P24,只有接四隻腳 } } } void delayms(unsigned int time) //延遲的副程式 { unsigned int n; while(time > 0); { n = 120; while(n > 0) n--; time--; } } <<<<接收部份>>>> #include"reg51.h" sbit k1=P1^0;//接到HT12D的10 sbit k2=P1^1;/接到HT12D的11 sbit k3=P1^2;/接到HT12D的12 sbit k4=P1^3;/接到HT12D的13 void send(unsigned char E); void delayms(unsigned int time); unsigned char A; //宣告一個字元A unsigned char C; //宣告一個字元C unsigned char D; //宣告一個字元D unsigned char E; main(void) //主程式 { TMOD=0X20; TH1=243; TL1=243; TR1=1; SCON=0X50; TI=1; EA=1; while(1) //重複執行以下敘述 { if (SBUF== 0x0a) //假設HT12D腳位10是0x0a { k1=0; } if SBUF== 0x0b)假設HT12D腳位11是0x0b { k2=0; } if (SBUF == 0x0c) //假設HT12D腳位12是0x0c { k3=0; } if (SBUF == 0x0d) //假設HT12D腳位13是0x0d { k4=0; } void delayms(unsigned int time) //延遲的副程式 { unsigned int n; while (time>0) { n=120; while(n>0) n--; time--; } } void send(unsigned char E) { TI=0; SBUF=E; while (TI==0) ; TI=0; } 麻煩請各位幫忙更改!!謝謝 |
aki
版主 發表:30 回覆:696 積分:755 註冊:2004-01-15 發送簡訊給我 |
很巧的你所附的電路圖就是在下畫的. TG-11 是當時光華商場可以買得到的 RF Module 有 433.96MHz, 318MHz 等頻率. HT-12E & HT-12D 是編解碼器,是一對, IrDA 如何用,你可以參考 HT-12E or HT-12D 的 datasheet 有說明, 至於程式怎麼寫,可以參閱 (1) PC/8051 無線遙控專題製作 陳龍三,許榮庭著 松崗出版 ISBN957-22-2161-2 ===================引 用 kaen54000 文 章===================(2) 張正賢著 8051 的書內有提到用 TG-11 的遙控線路及程式,不過是 8051 組合語言寫的. 抱歉初次發表~尋求幫助!!在專題上碰到了問題!! 我是想利用如題無線模組跟8051搭配~藉由TG11發射器來簡單的控制8051的IO~我在網站上有找到如何接這些腳位!!但是對於程式 我完全不知如何下手!!希望有力人士能幫忙協助~ 另一方面我也想了解一下紅外線遠端遙控如何去做,最主要是想學習無線控制8051上的IO但對於新手來說!不知道紅外線遠端控制或是 無線模組那個比較容易進入!!如果可以的話希望能拿到紅外線遠端控制或是無線模組的程式碼(因為使用KEILC)所以希望各位前輩能 提供一下有利資料!謝謝!! PS無線模組是使用315MZ,TG-11A,TG11-B,HT-12E&HT-12D |
kaen54000
一般會員 發表:1 回覆:3 積分:0 註冊:2011-12-06 發送簡訊給我 |
|
aki
版主 發表:30 回覆:696 積分:755 註冊:2004-01-15 發送簡訊給我 |
(1) example for TX of TG-11
/* ??? from: http://delphi.ktop.com.tw/board.php?cid=173&fid=1167&tid=98375 我是想接收數類比訊號,將類比訊號轉換成數位訊號後,將轉換後的8 BIT 資料 , 分為兩個 4 BIT 傳送到接收端 ,接收端再將這兩個 4BIT 資料組合回 8 BIT 資料, 傳送到電腦簡單來說就是要將訊號經由無線的方式傳送到電腦裡,將其顯現出來 我的無線模組是用TG11的發射模組接收模組,訊號轉換的IC是用ADC0804的,RS232是 25PIN的 找不出問題點在哪,因為真的沒有辦法了,懇請大大們幫幫忙,以下是程式及電路圖 這是我的發射端程式 for TX Original Revised : Kousaku Yoshida ;8 channel, decimal output Date : 23 May 2009 File : TG-11_TX1.C Compiler : KEIL C7.0 */ #pragma DEBUG OBJECTEXTEND CODE // pragma lines can contain state C51 #include #include //#include //#include void delayms(unsigned int time); sbit P1_7 = 0x97; sbit P1_6 = 0x96; #define ADC_WR P1_7 //定義接腳WR的接線 #define ADC_INTR P1_6 //定義接腳INTR的接線 #define DB P3 //定義接腳DB的接線 unsigned char A; //宣告一個字元A unsigned char C; //宣告一個字元C main(void) //主程式 { while(1) //重複執行以下敘述 { //啟動ADC0804 ADC_WR = 0; //令ADC0804的接線WR=0 ADC_WR = 1; //令ADC0804的接線WR=1 while (ADC_INTR == 1); //等待ADC0804的接腳INTR=0 { A = P3; //將P3的值傳入字元A B = A&0x0f; //使A內的數值變為0x01,將數值傳入到字元B C = A&0xf0 >>4; // delayms(100); P2 = 0x0A; //考慮到P2只有接P21-P24,只有接四隻腳 delayms(100); P2 = B; //將字元B內的數值傳入到P2 delayms(100); P2 = 0x0B; //考慮到P2只有接P21-P24,只有接四隻腳 delayms(100); P2 = C; //將字元C內的數值傳入到P2 delayms(100); P2 = 0x0C; //考慮到P2只有接P21-P24,只有接四隻腳 } } } void delayms(unsigned int time) //延遲的副程式 { unsigned int n; while(time > 0); { n = 120; while(n > 0) n--; time--; } } 謝謝版主!!但我還是找不到這本書!請問這本是沒在出版了嗎 PC/8051 無線遙控專題製作 ISBN957-22-2161-2
在請問版主有程式碼(c語言)可以提供我作參考嗎? ps:請問IrDA中文是紅外線數位轉類比嗎 抱歉還在學習當中 |
aki
版主 發表:30 回覆:696 積分:755 註冊:2004-01-15 發送簡訊給我 |
(2) example for RX of TG-11
/* ??? information from: http://delphi.ktop.com.tw/board.php?cid=173&fid=1167&tid=98375 我是想接收數類比訊號,將類比訊號轉換成數位訊號後,將轉換後的8 BIT 資料 , 分為兩個 4 BIT 傳送到接收端 ,接收端再將這兩個 4BIT 資料組合回 8 BIT 資料, 傳送到電腦簡單來說就是要將訊號經由無線的方式傳送到電腦裡,將其顯現出來 我的無線模組是用TG11的發射模組接收模組,訊號轉換的IC是用ADC0804的,RS232是 25PIN的 找不出問題點在哪,因為真的沒有辦法了,懇請大大們幫幫忙,以下是程式及電路圖 這是我的發射端程式 for RX 這是我的接收端程式 */ #pragma DEBUG OBJECTEXTEND CODE // pragma lines can contain state C51 #include #include //#include //#include void send(unsigned char E); void delayms(unsigned int time); unsigned char A; //宣告一個字元A unsigned char C; //宣告一個字元C unsigned char D; //宣告一個字元D unsigned char E; main(void) //主程式 { TMOD=0X20; TH1=243; TL1=243; TR1=1; SCON=0X50; TI=1; EA=1; while(1) //重複執行以下敘述 { if (P2 == 0x0a) //若P2為0x0a時,做以下動作 { D=P2;//將P2的值存到字元D } if (D == 0x0a && P2<=0x0F) //當D為0X0A以即P2為小於或等於0X0F時,做以下動作 { P1=P2;//將P2的值存到字元A A=P1; } if (P2==0x0b) //當P2為0X0B時,做以下動作 { C=P2;//將P2的值存到字元C } if (C==0x0b && P2<=0x0F) //當D為0X0B以即P2為小於或等於0X0F時,做以下動作 { P0=P2<<4;//將P2的值向左移四位後存到字元B B=P0; } if (P2==0x0C) //當P2為0X0C時,做以下動作 { E=A|B;//做A or B,即為將A與B的數值做結合,再由P3輸出 send (E); } } } void delayms(unsigned int time) //延遲的副程式 { unsigned int n; while (time>0) { n=120; while(n>0) n--; time--; } } void send(unsigned char E) { TI=0; SBUF=E; while (TI==0) ; TI=0; } 謝謝版主!!但我還是找不到這本書!請問這本是沒在出版了嗎 PC/8051 無線遙控專題製作 ISBN957-22-2161-2
在請問版主有程式碼(c語言)可以提供我作參考嗎? ps:請問IrDA中文是紅外線數位轉類比嗎 抱歉還在學習當中 |
kaen54000
一般會員 發表:1 回覆:3 積分:0 註冊:2011-12-06 發送簡訊給我 |
|
aki
版主 發表:30 回覆:696 積分:755 註冊:2004-01-15 發送簡訊給我 |
===================引 用 kaen54000 文 章=================== (1)謝謝版主的回應!!不好意思!!在請教一下,如果我只是想先單純的用無線模組控制io的high和low需要用到ADC0804嗎? =>不需要 >再者!!請問如果有需要用到的話!可以請教你ADC的腳位要怎麼接嗎! => 很多 8051 的專題相關的書,都有提到 8051 和 ADC0804 的接法,或是參閱 ADC0804 的 datasheet 也有提到. >還有請問#include 這個程式寫的時候我用的 8051 是 ADI ADuC812/831 (8051 Core),用 C 語言寫的,所以要 include header file. >PS:我有下載ADC0804的datasheet但是看不太懂! 這樣的問法看不懂,我也沒法救你,是哪裡難不懂呢?我建議你去找一些中文的 8051 的專題的書,已經有很多寫有關於 8051 接 0804 的接法及詳細的電路圖,及程式範例,對於一位初學者來說是絕對需要的. |
kaen54000
一般會員 發表:1 回覆:3 積分:0 註冊:2011-12-06 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |