|
基于NRF24L01無線模塊的一個(gè)模擬智能家居系統(tǒng)。用單片機(jī)+24L01做的
包含單發(fā)送模塊,接收模塊,主控模塊的源碼
單片機(jī)源程序如下:
- /***************************************** `
- 創(chuàng)建:陳志強(qiáng)
- 時(shí)間:2010.6.12
- 功能:NRF24L01射頻模塊C文件(發(fā)射部分)
- *****************************************/
- #include"stc15.h"
- #include"Allhead.h"
- uchar i=0;
- uchar j,t;
- uchar RxDate[4]={0};
- void sys_init()
- {
- P0M1=0x00;
- P0M0=0xff; //推挽輸出,否則不穩(wěn)定
- TMOD=0X00;
- TH0=TL0=0Xfc;
- TR0=1;
- ET0=1;
- PT0=1; //設(shè)置為高優(yōu)先級(jí)中斷,保證LED正常顯示,
- PX1=1;
- IT1=1;
- EX1=1; //紅外中斷
- EA=1;
- }
- void main()
- {
- sys_init();
- NRF24L01Int();
- DS1302Set(); //初始化1302
-
- while(1){
- NRFSetRXMode();
- if(send_flag)
- {
- NRFSetTxMode(TxDate);//發(fā)送溫度
- while(CheckACK()); //檢測是否發(fā)送完畢
- 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數(shù)據(jù)時(shí)產(chǎn)生的陰影
- send595();
- P0=i; //行選時(shí)CLK為0,不影響595寄存器數(shù)據(jù)。
- EN=0;
-
-
- }
復(fù)制代碼
所有資料51hei提供下載:
基于NRF24L01無線模塊的一個(gè)模擬智能家居系.rar
(387.39 KB, 下載次數(shù): 155)
2018-3-26 16:19 上傳
點(diǎn)擊文件名下載附件
基于NRF24L01無線模塊的一個(gè)模擬智能家居系
|
評(píng)分
-
查看全部評(píng)分
|