基于NRF24L01無線模塊的一個模擬智能家居系統。用單片機+24L01做的
0.png (41.1 KB, 下載次數: 158)
下載附件
2018-3-26 16:52 上傳
包含單發送模塊,接收模塊,主控模塊的源碼
單片機源程序如下:
- /***************************************** `
- 創建:陳志強
- 時間:2010.6.12
- 功能:NRF24L01射頻模塊C文件(發射部分)
- *****************************************/
- #include"stc15.h"
- #include"Allhead.h"
- uchar i=0;
- uchar j,t;
- uchar RxDate[4]={0};
- void sys_init()
- {
- P0M1=0x00;
- P0M0=0xff; //推挽輸出,否則不穩定
- TMOD=0X00;
- TH0=TL0=0Xfc;
- TR0=1;
- ET0=1;
- PT0=1; //設置為高優先級中斷,保證LED正常顯示,
- PX1=1;
- IT1=1;
- EX1=1; //紅外中斷
- EA=1;
- }
- void main()
- {
- sys_init();
- NRF24L01Int();
- DS1302Set(); //初始化1302
-
- while(1){
- NRFSetRXMode();
- if(send_flag)
- {
- NRFSetTxMode(TxDate);//發送溫度
- while(CheckACK()); //檢測是否發送完畢
- send_flag=0;
- NRFSetRXMode();
- }
- if(NRFRevDate(RxDate))
- {
- if(RxDate[0]==5)
- {
- for(j=0;j<4;j++)
- for(t=0;t<32;t++)
- event_code[j][t]=kaimen[j][t];
- }
- else
- {
- for(j=0;j<4;j++)
- for(t=0;t<32;t++)
- event_code[j][t]=kaimen1[j][t];
- }
- NRFSetRXMode();
- }
- ds1302_load();
- Delay(2);
- }
- }
- /********************LED屏幕刷新**************/
- void timer0_init() interrupt 1
- {
- if(++i==16) i=0;
- load_data(i);
- EN=1; //消除改變595數據時產生的陰影
- send595();
- P0=i; //行選時CLK為0,不影響595寄存器數據。
- EN=0;
-
-
- }
復制代碼
所有資料51hei提供下載:
基于NRF24L01無線模塊的一個模擬智能家居系.rar
(387.39 KB, 下載次數: 155)
2018-3-26 16:19 上傳
點擊文件名下載附件
基于NRF24L01無線模塊的一個模擬智能家居系 下載積分: 黑幣 -5
|