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

標題: CC1101主從機 收發(fā) 綁定 源程序 [打印本頁]

作者: shaoyuanfu    時間: 2019-10-7 14:26
標題: CC1101主從機 收發(fā) 綁定 源程序
工程采用KEIL4環(huán)境。采用國產(chǎn)51芯片。主機長按綁定鍵后進入綁定狀態(tài),此時顯示會閃爍提示。當從機上也長按綁定鍵時,從機會將芯片的UID碼發(fā)送給主機。主機收到UID碼后保存到主機的FALSH中實現(xiàn)掉電保存,完成綁定。顯示器變?yōu)槌A痢?br /> 后期主機發(fā)送數(shù)據(jù)串時會連同UID一起發(fā)送。從機只有收到了和自己UID相匹配的數(shù)據(jù)時才解析。本樣例中是主機控制從機三個繼電器。



單片機源程序如下:
  1. #ifndef _MAIN_C_
  2. #define _MAIN_C_

  3. /*********************************************************************************************************************/
  4. #include "ca51f_config.h"
  5. #include "ca51f2sfr.h"
  6. #include "ca51f2xsfr.h"
  7. #include "gpiodef_f2.h"
  8. #include "system.h"
  9. #include "uart.h"
  10. #include "irc.h"
  11. #include "key.h"
  12. #include "timer.h"
  13. #include "uid.h"
  14. #include "adc.h"
  15. #include "delay.h"
  16. #include "exint.h"
  17. #include "pwm.h"
  18. #include  "gpio.h"
  19. #include "co2.h"
  20. #include "led.h"
  21. #include "flash.h"
  22. #include "process.h"
  23. #include "wdt.h"
  24. #include"cc1101.h"
  25. #include <intrins.h>
  26. #define data_len 8
  27. extern xdata char light_time;
  28. extern xdata unsigned char FLZ_TIME,MOT_TIME;
  29. extern char i,j;
  30. extern unsigned int M_speed,F_speed;
  31. unsigned char IRC_KEY_VOLUE;
  32. xdata char wind_leve=1,SART_FLAG=0,WORK_MOD=0,WORK_TIME=0;
  33. unsigned int CO2;
  34. extern unsigned int FANG_pluse;
  35. extern unsigned int works_time;
  36. extern xdata int CO2_VOLUE;
  37. extern char time_flag;
  38. extern xdata unsigned int detection_time;
  39. char CO2_falg=0;        
  40. extern code unsigned char num[10];
  41. extern xdata unsigned char error;
  42. unsigned char lw_static=3;
  43. extern signed int   temperature;
  44. extern xdata unsigned char co2_error;
  45. extern char Voltage_P;   
  46. xdata unsigned char rx_buffer[data_len]={0,0,0,0,0,0,0,0};//rx data
  47. xdata unsigned  char Tx_SUID[data_len]={0,0,0,0,0,0,0,0};
  48. xdata unsigned char  binding[data_len]={0xfe,0xbb,0,0,0,0,0xff,0xEF};
  49. xdata unsigned char binding_flag;
  50. extern xdata char tx_cc1101;
  51. extern xdata char binding_EN;
  52. extern char flash_write_en;               
  53. xdata unsigned char flash_read_buff[11]={0};                               //用于讀寫FLASH中間緩存
  54. xdata start_time=0;
  55. void main(void)
  56. {
  57.         
  58. //         unsigned long int UID;
  59.          PADRD        = FLASH_SIZE*4 - 1;                //劃分FLASH最后256字節(jié)為數(shù)據(jù)空間,注意:不同型號芯片F(xiàn)LASH容量不同,定義的FLASH_SIZE也不同,應(yīng)用時要根據(jù)實際FLASH容量定義
  60.          
  61.          
  62. //        LCD_LED_WriteLram(4,lw_static);
  63.         Timer0_init();
  64.         Timer1_init();
  65. #ifdef UART0_EN
  66.         Uart0_Initial(UART0_BAUTRATE);
  67. #endif
  68. #ifdef UART1_EN
  69.         Uart1_Initial(UART1_BAUTRATE);
  70. #endif
  71. #ifdef UART2_EN
  72.         Uart2_Initial(UART2_BAUTRATE);
  73. #endif

  74.         EA = 1;
  75. //    UID=Read_32bit_UID();
  76. #ifdef PRINT_EN
  77. //        uart_printf("Remote control example!\n");
  78. //        Delay_ms(200);
  79. //        uart_printf ("UID = %ld\n",UID);                //打印UID?
  80.         Delay_ms(200);
  81. #endif
  82.         ADC_init();
  83.         INT0_init();
  84.         INT2_init();
  85.           //LED_init(LEN_IRCH,COM_L,COM_L,7,30);
  86.         IO_init();
  87.         ADC_read_AD4();
  88.         Delay_ms(200);
  89.         ADC_read_AD5();
  90.         Delay_ms(200);
  91.         BELL=0;
  92.         SYEN=1;
  93.         FLZ=0;
  94.         light_time=0;
  95.   read_co2();
  96. //        LCD_RamCo2();
  97.         PWM_init();
  98.         Delay_ms(200);
  99.         LED_init(LEN_IRCH,COM_L,COM_L,7,30);
  100.         LCD_RamAll();
  101.         Delay_ms(1000);
  102.         LCD_RamClear();
  103.         IRC_init();
  104.         CC1101_Init();                                                   //無線模塊初始化
  105.         WDT_init(WDTS_IRCH,WDRE_int,0x708);                                              //看門狗初始化
  106.         Data_Area_Mass_Read(0,binding,8);
  107.         lw_static= Data_Area_Read_Byte(8);
  108.    CO2_VOLUE= Data_Area_Read_Byte(9)*256+Data_Area_Read_Byte(10);
  109.         // CO2_VOLUE=
  110. //        PWM_set(12);
  111.         while(1){
  112.                     WDT_FeedDog();                                                                                         //喂狗
  113.                          if(j>45&& SART_FLAG!=0)
  114.                         {         
  115.                     if (co2_error==1)
  116.                            error=1;
  117.                            else if(F_speed==0)
  118.                            error=2;
  119.                            else if(M_speed==0)
  120.                            error =5;
  121.                            else if(temperature<-20 || temperature>60)
  122.                             error =3;
  123.                                 else
  124.                                 error =0;
  125.                           ADC_read_AD4();        
  126.                           Delay_ms(10);
  127.                                 j=0;
  128.                   }

  129.        process_IRC();                                                             //遙控功能
  130.                          WDT_FeedDog();                                                                                           //喂狗
  131.        process_timer();                                                                       //定時功能
  132.          
  133.            if(SART_FLAG!=0)                                                                                           //運行狀態(tài)
  134.             {
  135.                      proecss_lw();                                                                 //濾網(wǎng)功能
  136.                             proecss_light();                                             //顯示背光功能
  137.                                  WDT_FeedDog();                                                                             //喂狗
  138.                            proecss_FLZ();                                                           //負離子功能
  139.                                  if(start_time>8)
  140.                          process_co2();
  141.                            proecss_MOTO();
  142.                            process_err();                                                                                    
  143.          process_flash();               
  144.                 if(detection_time==5)
  145.                  {  
  146.                            ADC_read_AD5();         
  147.                      PWM_set(12);
  148.                      Delay_ms(3000);
  149.                          if(F_speed<1000)
  150.                    {
  151.         lw_static=1; LCD_LED_WriteLram(2,((LCD_LED_ReadLram(2)&0xfc)|0x02)); LCD_LED_WriteLram(0,LCD_LED_ReadLram(0)&0xfb); }
  152.                     else if(F_speed<2000)
  153.                          {
  154.          lw_static=2;LCD_LED_WriteLram(2,(LCD_LED_ReadLram(2)|0x03));  LCD_LED_WriteLram(0,LCD_LED_ReadLram(0)&0xfb); }  
  155.                         else
  156.                         {
  157.          lw_static=3;LCD_LED_WriteLram(2,(LCD_LED_ReadLram(2)|0x03)); LCD_LED_WriteLram(0,LCD_LED_ReadLram(0)|0x04); }
  158.                       // Data_Area_Sector_Erase(0);                //擦除數(shù)據(jù)扇區(qū)0
  159.                // Data_Area_Write_Byte(0,lw_static);
  160.                     detection_time=0;
  161.                           flash_write_en=1;                        
  162.      }
  163.                          proecss_cc1101();
  164.                         
  165.            }
  166.            else                                                                                                                //停止時
  167.                      {
  168.                             FLZ=0;                                                                                           //負離子關(guān)
  169.                                   LCD_RamClear();
  170.                                   Delay_ms(200);
  171.                                   wind_leve=0;
  172.                                   PWM_set(0);
  173.           WORK_MOD=0;
  174.                         }
  175.                         
  176.             
  177.                
  178.         
  179.         }
  180. }
  181. #endif
復(fù)制代碼

所有資料51hei提供下載:
CC1101從機.zip (162.1 KB, 下載次數(shù): 34)
cc1101 主機.zip (401.95 KB, 下載次數(shù): 31)








歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩伦理电影免费在线观看 | 久久精品成人 | 欧美综合一区二区 | 在线看h| 久久久www成人免费精品 | 国产免费一区二区 | 亚洲精品黄色 | 日本久久精品视频 | 欧美日韩精品中文字幕 | 久草视频在线播放 | 日韩视频一区二区 | 日韩一区二区三区在线观看 | 一区二区在线不卡 | 最新日韩在线 | 免费播放一级片 | 国产视频一区二区 | 一区二区免费视频 | 午夜av在线| 久久av网 | 国产片侵犯亲女视频播放 | 天天影视亚洲综合网 | 国产免费一区二区三区 | 91精品国产91久久久久福利 | 6996成人影院网在线播放 | 久久久精彩视频 | 蜜桃综合在线 | 午夜在线视频 | 午夜电影在线播放 | 亚洲精品一区二区三区四区高清 | 国内自拍视频在线观看 | 毛片一区二区三区 | 国产精品国产三级国产aⅴ原创 | 亚洲欧美日韩一区二区 | 色在线免费 | 中文字幕在线一区二区三区 | 免费黄色a级毛片 | 一级黄a视频 | 精品三区| 久久不射电影网 | 午夜伦理影院 | 免费一级做a爰片久久毛片潮喷 |