久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 32086|回復(fù): 72
收起左側(cè)

無線通訊之433MHZ單片機(jī)模擬2272解碼

  [復(fù)制鏈接]
ID:63997 發(fā)表于 2016-1-26 22:58 | 顯示全部樓層 |閱讀模式
在網(wǎng)上找了很多教程 范例程序 好像都會有那么一點(diǎn)點(diǎn)問題 不是接收不到數(shù)據(jù) 就是接收到錯(cuò)誤的數(shù)據(jù)
不過還好 經(jīng)過多次實(shí)驗(yàn) 終于接收到正確的 數(shù)據(jù)了  實(shí)驗(yàn)成果放送 供需要的人參考
單片機(jī) stc89c58rd+  12mhz晶振

01.png

02.png

03.png

04.png


定時(shí)解碼.rar (35.6 KB, 下載次數(shù): 779)

評分

參與人數(shù) 4黑幣 +100 收起 理由
waerdeng + 5 共享資料的黑幣獎(jiǎng)勵(lì)!
15838831911 + 10
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!
暗光 + 35 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:74428 發(fā)表于 2016-3-7 22:40 | 顯示全部樓層
xueyunmicheng 發(fā)表于 2016-3-7 00:30
模塊會收到很多雜波!電平在不停變化 理想情況下 沒有收到數(shù)據(jù) 時(shí)為高電平 收到數(shù)據(jù)為低電平

謝謝樓主,我還想問下,3.3M震蕩電阻的模塊,我計(jì)算的頻率32/3.3=9.697KH,周期T=3.3/32=103us,窄脈沖4T=413us,寬脈沖12T=1238us,同步碼低電平124T=12788us,你的程序里寬窄脈沖及同步碼時(shí)間有200us-360us,800us-1100us,10200us - 11000us,我想問下你是怎么算的,我那樣的算法不對吧
回復(fù)

使用道具 舉報(bào)

ID:94449 發(fā)表于 2020-3-9 23:01 | 顯示全部樓層
yimei11111 發(fā)表于 2016-3-7 22:40
謝謝樓主,我還想問下,3.3M震蕩電阻的模塊,我計(jì)算的頻率32/3.3=9.697KH,周期T=3.3/32=103us,窄脈沖4T ...

謝謝樓主,我還想問下,3.3M震蕩電阻的模塊,我計(jì)算的頻率32/3.3=9.697KH,周期T=3.3/32=103us,窄脈沖4T=413us,寬脈沖12T=1238us,同步碼低電平124T=12788us,你的程序里寬窄脈沖及同步碼時(shí)間有200us-360us,800us-1100us,10200us - 11000us,我想問下你是怎么算的,我那樣的算法不對吧
問一下,這個(gè)問題有答案了嗎?
回復(fù)

使用道具 舉報(bào)

ID:87614 發(fā)表于 2016-1-27 10:55 | 顯示全部樓層
屏不錯(cuò)。。。。51黑有你更精彩。。
回復(fù)

使用道具 舉報(bào)

ID:63997 發(fā)表于 2016-1-27 13:53 | 顯示全部樓層
51shakura 發(fā)表于 2016-1-27 10:55
屏不錯(cuò)。。。。

25元一個(gè) 淘了4個(gè) 嘿嘿 拆了一個(gè) 送人一個(gè)
回復(fù)

使用道具 舉報(bào)

ID:72947 發(fā)表于 2016-1-27 17:15 來自觸屏版 | 顯示全部樓層
51黑有你更精彩。!,看樓主的程序是一種享受,調(diào)理清晰,注釋詳細(xì).
  1. #include <STC89C5xRC.H>
  2. #include <intrins.h>    //包含_nop_()延時(shí)函數(shù)
  3. #include <absacc.h>                //包含 CBYTE[]  
  4. #include <string.h>                // 包含 strlen (char *)函數(shù)
  5. #include "ASCII816.h"   //標(biāo)準(zhǔn)ASCII庫

  6. #include "12864.h"        //液晶驅(qū)動(dòng)
  7. #define uchar unsigned char
  8. #define uint  unsigned int


  9. sbit wux=P3^2;

  10. uchar D[3];  
  11. uint temp;
  12. uchar flag,flag1;

  13. uint kk[3];
  14. uint ka;
  15. uchar k;
  16. void jiema()//解碼  
  17. {
  18.         uchar j,i;
  19.         TH0=0;                        //T0作為計(jì)時(shí)器使用   
  20.         TL0=0;                        //T0作為計(jì)時(shí)器使用   
  21.         ET0=0;                        //T0溢出不中斷
  22.         while(wux);                //等待低電平
  23.         TR0=1;                        //檢測到低電平開啟T0計(jì)時(shí)
  24.         while(!wux)                //等待高電平
  25.         {
  26.                 if(TF0==1)                //等待高電平是T0產(chǎn)生溢出      
  27.                 {
  28.                         TF0=0;                //清除溢出標(biāo)識
  29.                         flag1=1;        //接收錯(cuò)誤標(biāo)識置1  
  30.                         TR0=0;                //關(guān)閉T0計(jì)時(shí)
  31.                         break;                //跳出等待   
  32.                 }
  33.         }   
  34.          
  35.         if(flag1!=1)                        //如果接收正確      
  36.         {
  37.                 flag1=0;                        //清除接收正確標(biāo)識
  38.                 TR0=0;                                //關(guān)閉計(jì)時(shí)   
  39.                 temp=TH0;                        //計(jì)時(shí)時(shí)間 = T0計(jì)時(shí)時(shí)間高8位
  40.                 temp=(temp<<8)+TL0;        //計(jì)時(shí)時(shí)間=計(jì)時(shí)時(shí)間左移8位 +  T0計(jì)時(shí)時(shí)間低8位 得到16位計(jì)時(shí)時(shí)間
  41.                 TH0=0;                                //清除T0計(jì)時(shí)時(shí)間高8位   
  42.                 TL0=0;                                //清除T0計(jì)時(shí)時(shí)間低8位
  43.                 if ((temp>10200) && (temp<11000))        //如果計(jì)時(shí)時(shí)間在10200us - 11000us之間 則判定為檢測到正確的同步碼
  44.                 {
  45.                         while(wux);                        //等待低電平
  46.                         TR0=1;                                //檢測到低電平開啟T0計(jì)時(shí)
  47.                         for(i=0;i<3;i++)        //數(shù)據(jù)接收 因?yàn)樾枰獌晌徊拍芘卸?262發(fā)送的數(shù)據(jù)是 0還是1 還是懸空碼
  48.                                                                 //一共發(fā)送12位數(shù)據(jù) 地址1 + 地址2 + 數(shù)據(jù) 所以需要循環(huán) 3次
  49.                         {
  50.                                 for(j=8;j>0;j--)        //接收八位數(shù)據(jù)
  51.                                 {
  52.                                         while(!wux);        //等待高電平
  53.                                         TR0=0;                        //檢測到高電平后關(guān)閉T0計(jì)時(shí)
  54.                                         temp=TH0;                         //計(jì)時(shí)時(shí)間 = T0計(jì)時(shí)時(shí)間高8位
  55.                                         temp=(temp<<8)+TL0;        //計(jì)時(shí)時(shí)間=計(jì)時(shí)時(shí)間左移8位 +  T0計(jì)時(shí)時(shí)間低8位 得到16位計(jì)時(shí)時(shí)間
  56.                                         TH0=0;   
  57.                                         TL0=0;                                //清除T0計(jì)時(shí)時(shí)間
  58.                                         D[i]=D[i]<<1;                //數(shù)據(jù)左移一位 然后在接收
  59.                                         if ((temp>200) && (temp<360))        //測低電平時(shí)間 如果為200us-360us之間 為0
  60.                                         {
  61.                                                 D[i]=D[i]|0X00;                                //0               
  62.                                         }
  63.                                         else if ((temp>800) && (temp<1100))        //測低電平時(shí)間 如果為800us-1100us之間 為1
  64.                                         {
  65.                                                 D[i]=D[i]|0X01;                                //1       
  66.                                         }
  67.                                         else if ((temp>1100)){return;}        //檢測到大于1100us 則認(rèn)為已經(jīng)放開按鍵 防止產(chǎn)生誤動(dòng)作直接跳出
  68.                                         while(wux);                                                //等待低電平后開始計(jì)時(shí)
  69.                                         TR0=1;                                                        //檢測到低電平開始記錄下一個(gè)碼低電平時(shí)間
  70.                                 }        
  71.                         }
  72.        
  73.                         if(k==0)        //判定一次接收結(jié)果
  74.                         {
  75.                                 ((uchar *) &ka)[0]=D[0];
  76.                                 ((uchar *) &ka)[1]=D[1];
  77.                         }
  78.                         if((k==1)&&(D[1]==((uchar *) &ka)[1])&&(D[0]==((uchar *) &ka)[0]))        //兩次接收一致則為接收正確
  79.                         {
  80.                                 kk[0]=D[0];
  81.                                 kk[1]=D[1];
  82.                                 kk[2]=D[2];
  83.                                 flag=1;        //開顯示               
  84.                         }
  85.                         k++;if(k>1)k=0;        //加記錄次數(shù)               
  86.                 }  
  87.         }   
  88. }

  89. void Delay20ms()                //@12.000MHz
  90. {
  91.         unsigned char i, j;

  92.         i = 39;
  93.         j = 230;
  94.         do
  95.         {
  96.                 while (--j);
  97.         } while (--i);
  98. }

  99. void main()  
  100. {  
  101.         InitLCD();                        //初始化顯示
  102.         ClearScreen();                //清屏
  103.         SetOnOff(1,0,15);   //開顯示,正常顯示,亮度7  
  104.         TMOD = 0x01;                //設(shè)置定時(shí)器模式
  105.         while(1)     
  106.         {
  107.                 flag=0;     
  108.                 if(wux==0)        //如果檢測到低電平            
  109.                 jiema();        //開始解碼
  110.                        
  111.                 if(flag==1)        //   
  112.                 {
  113.                         WRITE_STRING816(4,0, D[0]/16/10,0);
  114.                         WRITE_STRING816(4,8, D[0]/16%10,0);
  115.                         WRITE_STRING816(4,16,D[0]%16/10,0);
  116.                         WRITE_STRING816(4,24,D[0]%16%10,0);
  117.                                
  118.                         WRITE_STRING816(4,40,D[1]/16/10,0);
  119.                         WRITE_STRING816(4,48,D[1]/16%10,0);
  120.                         WRITE_STRING816(4,56,D[1]%16/10,0);
  121.                         WRITE_STRING816(4,64,D[1]%16%10,0);
  122.        
  123.                         WRITE_STRING816(4,80,D[2]/16/10,0);
  124.                         WRITE_STRING816(4,88,D[2]/16%10,0);
  125.                         WRITE_STRING816(4,96,D[2]%16/10,0);
  126.                         WRITE_STRING816(4,104,D[2]%16%10,0);

  127.                         WRITE_STRING816(6,0, kk[0]/16/10,0);
  128.                         WRITE_STRING816(6,8, kk[0]/16%10,0);
  129.                         WRITE_STRING816(6,16,kk[0]%16/10,0);
  130.                         WRITE_STRING816(6,24,kk[0]%16%10,0);
  131.        
  132.                         WRITE_STRING816(6,40, kk[1]/16/10,0);
  133.                         WRITE_STRING816(6,48, kk[1]/16%10,0);
  134.                         WRITE_STRING816(6,56, kk[1]%16/10,0);
  135.                         WRITE_STRING816(6,64, kk[1]%16%10,0);

  136.                         WRITE_STRING816(6,80,kk[2]/16/10,0);
  137.                         WRITE_STRING816(6,88,kk[2]/16%10,0);
  138.                         WRITE_STRING816(6,96,kk[2]%16/10,0);
  139.                         WRITE_STRING816(6,104,kk[2]%16%10,0);


  140.                

  141.                         Delay20ms();        //延時(shí)
  142.                         flag=0;                        //關(guān)顯示
  143.                 }         
  144.         }  
  145. }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

ID:70915 發(fā)表于 2016-1-29 13:22 | 顯示全部樓層
這么好的帖子,必須頂起!

評分

參與人數(shù) 1黑幣 +5 收起 理由
WANGCHONG + 5 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:74428 發(fā)表于 2016-3-5 17:40 | 顯示全部樓層
很好的程序,很清晰,
回復(fù)

使用道具 舉報(bào)

ID:74428 發(fā)表于 2016-3-5 18:09 | 顯示全部樓層
樓主您好,我想問下,接收模塊在空閑狀態(tài)就是沒有接收數(shù)據(jù)時(shí),數(shù)據(jù)口是高電平嗎,jiema()里先出現(xiàn)的是while(wux);                //等待低電平
回復(fù)

使用道具 舉報(bào)

ID:63997 發(fā)表于 2016-3-7 00:30 來自觸屏版 | 顯示全部樓層
yimei11111 發(fā)表于 2016-3-5 18:09
樓主您好,我想問下,接收模塊在空閑狀態(tài)就是沒有接收數(shù)據(jù)時(shí),數(shù)據(jù)口是高電平嗎,jiema()里先出現(xiàn)的是while ...

模塊會收到很多雜波!電平在不停變化 理想情況下 沒有收到數(shù)據(jù) 時(shí)為高電平 收到數(shù)據(jù)為低電平
回復(fù)

使用道具 舉報(bào)

ID:58874 發(fā)表于 2016-4-2 21:39 | 顯示全部樓層
這么好的帖子,必須頂起!
回復(fù)

使用道具 舉報(bào)

ID:58874 發(fā)表于 2016-4-7 21:40 | 顯示全部樓層
謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

12#
無效樓層,該帖已經(jīng)被刪除
ID:79544 發(fā)表于 2016-4-25 12:23 | 顯示全部樓層
樓主你好,你的12864和普通的一樣嗎?.H的文件好像不太一樣?
回復(fù)

使用道具 舉報(bào)

ID:117521 發(fā)表于 2016-4-29 14:47 | 顯示全部樓層
請問樓主用的什么什么接收模塊,超再生還是超外差或者什么?
回復(fù)

使用道具 舉報(bào)

15#
無效樓層,該帖已經(jīng)被刪除
ID:16663 發(fā)表于 2016-5-17 14:26 | 顯示全部樓層
謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:126837 發(fā)表于 2016-6-15 14:01 | 顯示全部樓層
謝謝分享,看看能不能用的哈
回復(fù)

使用道具 舉報(bào)

ID:128677 發(fā)表于 2016-6-30 11:07 | 顯示全部樓層
老兄 硬件圖有沒?
回復(fù)

使用道具 舉報(bào)

ID:127421 發(fā)表于 2016-8-5 20:20 | 顯示全部樓層
我黑幣不夠了,55555能發(fā)我郵箱嗎?1250175268@qq.com
回復(fù)

使用道具 舉報(bào)

ID:127421 發(fā)表于 2016-8-5 20:22 | 顯示全部樓層
那個(gè)解碼顯示的東東,是怎么弄出來的,可以指點(diǎn)一下嗎?
回復(fù)

使用道具 舉報(bào)

ID:136112 發(fā)表于 2016-8-6 09:13 | 顯示全部樓層
對新手來說,沒有多少價(jià)值~
回復(fù)

使用道具 舉報(bào)

ID:136895 發(fā)表于 2016-8-16 15:44 | 顯示全部樓層
找了很久  希望這個(gè)有用
回復(fù)

使用道具 舉報(bào)

23#
無效樓層,該帖已經(jīng)被刪除
24#
無效樓層,該帖已經(jīng)被刪除
ID:46830 發(fā)表于 2016-9-21 14:10 | 顯示全部樓層
牛人
回復(fù)

使用道具 舉報(bào)

26#
無效樓層,該帖已經(jīng)被刪除
27#
無效樓層,該帖已經(jīng)被刪除
28#
無效樓層,該帖已經(jīng)被刪除
29#
無效樓層,該帖已經(jīng)被刪除
ID:164901 發(fā)表于 2017-2-16 11:42 | 顯示全部樓層
老兄,你真棒,幫了我的大忙
回復(fù)

使用道具 舉報(bào)

ID:165867 發(fā)表于 2017-2-22 00:13 | 顯示全部樓層
可以雙向傳輸嗎
回復(fù)

使用道具 舉報(bào)

ID:62501 發(fā)表于 2017-3-6 14:13 | 顯示全部樓層
多謝樓主的無私分享!
回復(fù)

使用道具 舉報(bào)

ID:169925 發(fā)表于 2017-3-11 18:27 | 顯示全部樓層
請問這個(gè)電源是什么樣的要求

不可能用51的io口直接驅(qū)動(dòng)吧

樓主的原理圖里面沒有明確的給出vfd供電的情況,麻煩講一下呢
回復(fù)

使用道具 舉報(bào)

ID:182940 發(fā)表于 2017-3-31 22:32 | 顯示全部樓層
我是新手正在學(xué)習(xí)使用433模塊,
回復(fù)

使用道具 舉報(bào)

ID:206774 發(fā)表于 2017-9-13 09:26 | 顯示全部樓層
怎么用串口輸出解碼值
回復(fù)

使用道具 舉報(bào)

ID:196311 發(fā)表于 2017-9-15 23:11 | 顯示全部樓層
謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:166543 發(fā)表于 2017-12-22 16:45 | 顯示全部樓層
感謝分享,正想做一個(gè)433遙控接收程序,沒有頭緒,可以參考這個(gè)。
回復(fù)

使用道具 舉報(bào)

ID:258727 發(fā)表于 2017-12-29 20:36 | 顯示全部樓層
感謝分享,買了4套,發(fā)現(xiàn)解碼不正確,參考一下樓主的
回復(fù)

使用道具 舉報(bào)

39#
無效樓層,該帖已經(jīng)被刪除
ID:263813 發(fā)表于 2018-1-23 15:53 | 顯示全部樓層
學(xué)習(xí)了,有模塊,一直不會玩
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本韩国欧美在线观看 | www.成人.com| 色黄网站| 久久精品国产99国产精品亚洲 | 91视频国产精品 | 久久久国产一区二区三区 | 亚洲成av人影片在线观看 | 精品久久久久久久久久久 | 伊人久久综合 | 综合国产| 欧美a在线 | 日韩中文一区 | 99久久免费精品 | 国内av在线| 国产精品xxxx | 一级片av | 国产高清在线 | 久久久久久国产 | 韩日一区 | 久久99精品久久久久久秒播九色 | 99色播 | 午夜播放器在线观看 | 草草影院ccyy| 久久综合亚洲 | 日韩在线一区二区 | 亚洲视频一区在线播放 | 国产精品久久久久免费 | 久久精品一区二区三区四区 | 日韩免费一区二区 | 欧美成人一区二区三区片免费 | 一级在线免费观看 | 在线成人免费视频 | 欧洲免费视频 | 亚洲男人网 | 欧美最猛性xxxxx亚洲精品 | 精品一区二区在线观看 | 久久久久久高潮国产精品视 | 在线观看欧美一区 | 国产精品久久免费观看 | 蜜桃视频一区二区三区 | 成人免费三级电影 |