分控制板和動作板,控制板上連接主機藍牙,轉動控制板上的電位器,動作板上連接的LED變亮
藍牙仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (16.75 KB, 下載次數: 40)
下載附件
2018-11-7 02:20 上傳
0.png (47.5 KB, 下載次數: 38)
下載附件
2018-11-7 02:20 上傳
單片機源程序(發射)如下:
- #include <reg51.h>
- #include <I2C.H>
- #define uchar unsigned char
- #define uint unsigned int
- uchar ad;
- #define PCF8591 0x90 //PCF8591 地址
- void delay(uchar x)
- {
- uchar i,j;
- for(j=0;j<x;j++)
- for(i=0;i<110;i++);
- }
- /*******************************************************************
- ADC發送字節[命令]數據函數
- *******************************************************************/
- bit ISendByte(unsigned char sla,unsigned char c)
- {
- Start_I2c(); //啟動總線
- SendByte(sla); //發送器件地址
- if(ack==0)return(0);
- SendByte(c); //發送數據
- if(ack==0)return(0);
- Stop_I2c(); //結束總線
- return(1);
- }
- /*******************************************************************
- ADC讀字節數據函數
- *******************************************************************/
- unsigned char IRcvByte(unsigned char sla)
- { unsigned char c;
- Start_I2c(); //啟動總線
- SendByte(sla+1); //發送器件地址
- if(ack==0)return(0);
- c=RcvByte(); //讀取數據0
- Ack_I2c(1); //發送非就答位
- Stop_I2c(); //結束總線
- return(c);
- }
- /************主函數**********************/
- void main()
- {
- TMOD=0x20;
- SCON=0x50;
- TH1=0xFD;
- TL1=0xFD;
- TR1=1;
- while(1)
- {
- ISendByte(PCF8591,0x43);
- ad=IRcvByte(PCF8591);
- SBUF=ad;
- while(!TI);
- TI=0;
- delay(200);
- delay(200);
- delay(200);
- delay(200);
- delay(200);
-
- }
- }
復制代碼
所有資料51hei提供下載(接收程序):
串口通信-雙機.rar
(293.07 KB, 下載次數: 148)
2018-11-6 22:35 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|