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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5620|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

2.4G無(wú)線(xiàn)雙向收發(fā)系統(tǒng)單片機(jī)源程序與PCB文件

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
2.4G無(wú)線(xiàn)收發(fā)程序
pcb文件如下:


單片機(jī)源程序如下:
  1. /*                              
  2.                                                         2.4G無(wú)線(xiàn)雙向收發(fā)模塊源程序
  3. (C)西安電子科技大學(xué) 編寫(xiě):郭世忠  謝金波 版本:V5.3  日期:2015/02/02
  4. 相對(duì)V5.1 將看門(mén)狗清狗語(yǔ)句由主循環(huán)結(jié)尾處移至開(kāi)始處。解決單片機(jī)先按鍵,后上電,造成首次看門(mén)狗隨機(jī)復(fù)位,系統(tǒng)頻繁重啟問(wèn)題。
  5. 相對(duì)V5.2 把重復(fù)15次發(fā)送中的SetRX_Mode()取消,放到最后,只留一句。
  6. */


  7. //---------------------------------用戶(hù)配置區(qū)--------------------------------------------

  8. #define   LOCAL_LED_ON                  //1.本地LED是否點(diǎn)亮,注釋掉本句即可禁止本地LED顯示

  9. //---------------------------------------------------------------------------------------

  10. #define ADD1  50         //0-255
  11. #define ADD2  34         //0-255
  12. #define ADD3  65         //0-255
  13. #define ADD4  83         //0-255  //2.用戶(hù)使用的4*8bit=32bit地址

  14. //---------------------------------------------------------------------------------------
  15. //----------------------------------以下代碼請(qǐng)勿修改!-----------------------------------


  16. #include "c8051f330.h"
  17. #include "nRF24L01.h"
  18. #include "config.h"
  19. #include "key.h"

  20. #define TIMER0_RELOAD_HIGH  (65535-5150)/256  //定時(shí)器0的裝入值
  21. #define TIMER0_RELOAD_LOW        (65535-5150)%256  //系統(tǒng)時(shí)鐘3.0625MKHz,12分頻,20.00ms:理論裝載值5104,實(shí)際裝載值5150
  22.                                                                                       //系統(tǒng)時(shí)鐘3.0625MKHz,12分頻,10.00ms:理論裝載值2552,實(shí)際裝載值2585
  23.                                                                                       //系統(tǒng)時(shí)鐘3.0625MKHz,12分頻, 5.00ms:理論裝載值1276,實(shí)際裝載值1280
  24.                                                                                           //系統(tǒng)時(shí)鐘3.0625MKHz,12分頻,25.00ms:理論裝載值6380,實(shí)際裝載值6475
  25.                                                                                           //系統(tǒng)時(shí)鐘3.0625MKHz,12分頻,30.00ms:理論裝載值7656,實(shí)際裝載值7736



  26. /*定義LED和震動(dòng)電機(jī)相應(yīng)的驅(qū)動(dòng)端口*/
  27. sbit MOTOR=P0^0; //振動(dòng)電機(jī)
  28. sbit LED1=P1^3;
  29. sbit LED2=P1^4;         //四個(gè)LED端口
  30. sbit LED3=P1^5;
  31. sbit LED4=P1^6;
  32. unsigned char TxBuf[3]={1,2,3};
  33. unsigned char RxBuf[3]={1,2,3};
  34. unsigned char motor_flag=0,motor_shake_times=0,delay_count=0;
  35. unsigned char tf=0,getdata=0;
  36. unsigned char get_key_time=0;
  37. unsigned char Enable_Get_Ack=0;
  38. unsigned char LED_Time_Out=0;
  39. unsigned char Enable_Clear_LED=0;
  40. unsigned char receive_counter=0;
  41. /****************************************************************************
  42. * 名    稱(chēng):delay_20ms()
  43. * 入口參數(shù):無(wú)
  44. * 出口參數(shù):無(wú)
  45. * 說(shuō)    明: 使用定時(shí)器準(zhǔn)確延時(shí)20ms
  46. ****************************************************************************/
  47. void delay_20ms( unsigned char time )
  48. {
  49.         delay_count=0;
  50.         while(delay_count<time);        //裝值1,理論 20ms,實(shí)測(cè)  20ms
  51.                                                                    //裝值2,理論 40ms,實(shí)測(cè)40.4ms
  52.                                                                    //裝值3,理論 60ms,實(shí)測(cè)  60ms
  53.                                                                 //裝值4,理論 80ms,實(shí)測(cè)  80ms
  54.                                                                    //裝值5,理論100ms,實(shí)測(cè) 100ms
  55. }
  56. /****************************************************************************
  57. * 名    稱(chēng):delay_1ms()
  58. * 入口參數(shù):無(wú)
  59. * 出口參數(shù):無(wú)
  60. * 說(shuō)    明: 簡(jiǎn)單延時(shí)1ms
  61. ****************************************************************************/
  62. void delay_1ms( unsigned int time )
  63. {
  64.         unsigned int i,j;
  65.         for(j=0;j<time;j++)
  66.         for(i=0;i<325;i++);                        //裝值 1,實(shí)測(cè)  1ms
  67.                                                                    //裝值 2,實(shí)測(cè)2.08ms
  68.                                                                    //裝值 3,實(shí)測(cè)3.12ms
  69.                                                                 //裝值 4,實(shí)測(cè)4.08ms
  70.                                                                    //裝值 5,實(shí)測(cè)5.12ms
  71.                                                                 //裝值10,實(shí)測(cè)10.2ms
  72. }
  73. /****************************************************************************
  74. * 名    稱(chēng):MOTOR_SHAKE()
  75. * 入口參數(shù):無(wú)
  76. * 出口參數(shù):無(wú)
  77. * 說(shuō)    明: 振動(dòng)電機(jī)振動(dòng)驅(qū)動(dòng)函數(shù),利用移位進(jìn)行驅(qū)動(dòng)
  78. ****************************************************************************/
  79. void MOTOR_SHAKE( void )
  80. {
  81.         unsigned char temp;
  82.         if(motor_shake_times!=0)
  83.         {
  84.                 temp=motor_shake_times&0x01;
  85.                 MOTOR=temp;
  86.                 motor_shake_times=motor_shake_times>>1;
  87.         }
  88.         else
  89.         {
  90.                 MOTOR=0;
  91.         }
  92. }
  93. /****************************************************************************
  94. * 名    稱(chēng):MOTOR_SCAN()
  95. * 入口參數(shù):無(wú)
  96. * 出口參數(shù):無(wú)
  97. * 說(shuō)    明: 利用定時(shí)器0進(jìn)行的振動(dòng)電機(jī)振動(dòng)掃描函數(shù)
  98. ****************************************************************************/
  99. void MOTOR_SCAN( void )
  100. {
  101.         if(motor_flag==20)
  102.         {
  103.                 motor_flag=0;
  104.                 MOTOR_SHAKE();
  105.         }
  106. }
  107. /****************************************************************************
  108. * 名    稱(chēng):MOTOR_ON()
  109. * 入口參數(shù):電機(jī)震動(dòng)次數(shù)
  110. * 出口參數(shù):無(wú)
  111. * 說(shuō)    明: 開(kāi)啟電機(jī)振動(dòng),相當(dāng)于賦值
  112. ****************************************************************************/
  113. void MOTOR_ON( unsigned char cishu )
  114. {
  115.         motor_shake_times=cishu;
  116. }
  117. /****************************************************************************
  118. * 名    稱(chēng):Timer0_ISR()
  119. * 入口參數(shù):無(wú)
  120. * 出口參數(shù):無(wú)
  121. * 說(shuō)    明: 定時(shí)器0中斷處理函數(shù)
  122. ****************************************************************************/
  123. void Timer0_ISR( void ) interrupt 1
  124. {
  125.         TH0=TIMER0_RELOAD_HIGH;
  126.         TL0=TIMER0_RELOAD_LOW;
  127.         get_key_time++;
  128.         delay_count++;
  129.         motor_flag++;
  130.         LED_Time_Out++;
  131.         Key_ScanIO();
  132.         MOTOR_SCAN();//電機(jī)20ms掃描一次
  133. }
  134. /****************************************************************************
  135. * 名    稱(chēng):IRQ_ISR()
  136. * 入口參數(shù):無(wú)
  137. * 出口參數(shù):無(wú)
  138. * 說(shuō)    明: 外部中斷處理函數(shù),用于處理無(wú)線(xiàn)模塊的收發(fā)及狀態(tài)轉(zhuǎn)換
  139. ****************************************************************************/
  140. void IRQ_ISR( void ) interrupt 0
  141. {
  142.         switch(ReadInterrupt_Status())
  143.         {
  144.                 case 1:{EA=0;                                                          
  145.                                 nRF24L01_RxPacket(RxBuf);
  146.                                 ClearInterrptFlag();
  147.                                 EA=1;
  148.                                 if(RxBuf[2]!=90)
  149.                                 {
  150.                                         if(receive_counter<250)
  151.                                         receive_counter++;
  152.                                         else
  153.                                         receive_counter=2;
  154.                                 }
  155.                                 getdata=1;
  156.                                 }
  157.                                 break;                                                                                                                         //接收到數(shù)據(jù)中斷
  158.           //case 2:{EA=0;ClearInterrptFlag();SetRX_Mode();delay_1ms(1);EA=1;}break;        //發(fā)送成功中斷
  159.                 case 2:{EA=0;ClearInterrptFlag();EA=1;}break;        //發(fā)送成功中斷
  160.                 case 3:{EA=0;ClearInterrptFlag();SetRX_Mode();delay_1ms(1);EA=1;}break;        //最大發(fā)射次數(shù)到,即發(fā)送失敗中斷
  161.                 default:{EA=0;ClearInterrptFlag();SetRX_Mode();delay_1ms(1);EA=1;}break;//其他無(wú)關(guān)量
  162.         }
  163. }
  164. /****************************************************************************
  165. * 名    稱(chēng):Send_Data()
  166. * 入口參數(shù):無(wú)
  167. * 出口參數(shù):無(wú)
  168. * 說(shuō)    明: 發(fā)送端數(shù)據(jù)發(fā)送函數(shù),連續(xù)發(fā)送15次,函數(shù)值由數(shù)組直接傳遞
  169. ****************************************************************************/
  170. void Send_Data( void )
  171. {
  172.         nRF24L01_TxPacket(TxBuf);                //連發(fā)15次
  173.        
  174. ……………………

  175. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
2.4G無(wú)線(xiàn)雙向收發(fā)系統(tǒng).rar (207.09 KB, 下載次數(shù): 59)


評(píng)分

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

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:485002 發(fā)表于 2019-6-14 22:09 | 只看該作者
文件不全啊,謹(jǐn)慎下載
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 婷婷五月色综合 | 亚洲福利电影网 | 狠狠爱网址 | 国产四区 | 日韩国产在线 | 韩国精品一区 | 天天欧美| 欧美日韩视频 | 欧美国产精品一区二区 | 欧美涩涩网 | 精品久久久久久久久久久久久久久久久 | 北条麻妃99精品青青久久 | 国产午夜三级一区二区三 | 亚洲精品在线免费观看视频 | 日韩中文一区 | 欧美久久精品一级c片 | 国产日韩欧美中文字幕 | 日本一区二区高清不卡 | 国产精品一区二区在线观看 | 日韩久久久久 | 亚洲精品视频久久 | 久草久草久草 | 精品国产成人 | 日韩激情在线 | www.av7788.com| 青青草综合网 | 日韩欧美二区 | 日本精a在线观看 | 日韩伦理一区二区三区 | 精品国产乱码久久久久久闺蜜 | 成人夜晚看av | 亚洲国产成人精品女人 | 男女羞羞网站 | 成人国产精品入口免费视频 | 免费观看的av毛片的网站 | 国产操操操| 337p日本欧洲亚洲大胆鲁鲁 | 久久久精品一区 | 羞羞视频免费观看 | 欧美中文字幕 | 精品国产伦一区二区三区观看体验 |