使用STC15F204EA單片機,NRF24L01無線模塊并OLED調試成功實例,拿來直接可以使用。做遙控器的。還有兩個ADC中斷轉換里面。
單片機源程序如下:
- #include "sys.h"
- #include "oled.h"
- #include "nrf.h"
- u32 xianshij=0;
- extern u32 jishu;
- extern u8 adc6;
- extern u8 adc7;
- void delay_1ms(unsigned int ms)
- {
- unsigned int a;
- while(ms)
- {
- a=1800;
- while(a--);
- ms--;
- }
- return;
- }
- u8 i=0;
- void main()
- {
- OLED_Init();
- OLED_ShowString(30,0, "display"); //顯示英文
- //系統設置
- fenpin(); //系統晶振分頻
- //shizhong_shuchu(); //p3.5 38.4khz 定時器設置
- adc_init();
- zhongduan();//關閉所有中斷
- //顯示
-
- //jishu=0;
- //無線
- // init_nrf24l01_io();
- // delay_1ms(500);
- // ifnnrf_rx_mode(); //設置成接收模式
- // delay_1ms(500);
- // IRQ=1;
- // rx_buf[0] = 0;
- while(1)
- {
- OLED_ShowString(10,2,"adc6:");
- OLED_ShowString(50,2,Itoa(adc6,10));
- OLED_ShowString(10,3,"adc7:");
- OLED_ShowString(50,3,Itoa(adc7,10));
- // if(IRQ==0) //接收到數據時
- // {
- // sta=SPI_Read(STATUS);
- // SPI_RW_Reg(WRITE_REG+STATUS,0xff);
- //
- // if(sta&STA_MARK_RX)
- // {
- // SPI_Read_Buf(RD_RX_PLOAD,rx_buf,RX_PLOAD_WIDTH); //讀取接收的數據
- // for(i=0;i<11;i++)
- // {
- // if(rx_buf[0]==i) {OLED_ShowString(50,6,Itoa(i,10)); }
- // }
- // }
- //
- // else
- // {
- // ifnnrf_CLERN_ALL();
- // ifnnrf_rx_mode();
- // IRQ=1;
- // while(IRQ==0);
- // }
- // }
- }
- }
復制代碼
51hei.png (8.04 KB, 下載次數: 47)
下載附件
2021-3-5 16:02 上傳
以上資料51hei提供下載:
stc15l204ea無線+OLED成功.zip
(3.66 MB, 下載次數: 25)
2021-3-5 08:08 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|