|
|
胎壓監(jiān)測(cè),利用了單片機(jī)串口傳輸數(shù)據(jù),也可以只用一個(gè)藍(lán)牙模塊,通過發(fā)送端的單片機(jī),連接藍(lán)牙模塊,然后手機(jī)連接藍(lán)牙,并且下載一個(gè)藍(lán)牙串口助手,就可以實(shí)現(xiàn)手機(jī)與單片機(jī)通訊了,還可以通過接受數(shù)據(jù)來實(shí)現(xiàn)各種指令,再進(jìn)一步就可以單獨(dú)寫一個(gè)APP來與單片機(jī)通訊了,不過我暫時(shí)還不會(huì)寫APP,希望能有高手寫這么個(gè)APP來共享一下
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (10.21 KB, 下載次數(shù): 61)
下載附件
2018-6-2 18:16 上傳
0.png (15.29 KB, 下載次數(shù): 57)
下載附件
2018-6-2 18:16 上傳
0.png (15.23 KB, 下載次數(shù): 58)
下載附件
2018-6-2 18:16 上傳
胎壓監(jiān)測(cè)接收端單片機(jī)源程序如下(發(fā)送端程序在附件中):
- #include <reg52.h>
- #include <intrins.h>
- #include <1602.h>
- typedef unsigned int u16; //對(duì)數(shù)據(jù)類型進(jìn)行聲明定義
- typedef unsigned char u8;
- u8 y,changdu=0;
- unsigned char x[3];
- void delayms(unsigned char xms)
- {
- unsigned char i,j;
- for(j=xms;j>0;j--)
- for(i=114;i>0;i--);
- }
- void init()
- {
- SCON=0X50; //設(shè)置為工作方式1
- TMOD=0X20; //設(shè)置計(jì)數(shù)器工作方式2
- PCON=0X80; //波特率加倍
- TH1=0XF4; //計(jì)數(shù)器初始值設(shè)置,注意波特率是4800的
- TL1=0XF4;
- ES=1; //打開接收中斷
- EA=1; //打開總中斷
- TR1=1; //打開計(jì)數(shù)器
- }
- void Usart() interrupt 4
- {
-
- x[changdu]=SBUF;//出去接收到的數(shù)據(jù)
- if(RI)
- {
- changdu++;
- RI = 0;//清除接收中斷標(biāo)志位
- }
- }
- void main()
- {
- init();
- LCD_init();
- while(1)
- {
- if(changdu>3)
- {
- LCD_disp_char(0,1,num[x[0]]);
- LCD_disp_char(1,1,num[x[1]]);
- LCD_disp_char(2,1,num[x[2]]);
- LCD_disp_char(3,1,num[x[3]]);
- delayms(1000);
- // LCD_disp_char(0,2,num[y/1000]);
- // LCD_disp_char(1,2,num[y/100%10]);
- // LCD_disp_char(2,2,num[y%100/10]);
- // LCD_disp_char(3,2,num[y%10]);
- changdu=0;
- }
- }
- }
復(fù)制代碼
0.png (52.68 KB, 下載次數(shù): 63)
下載附件
2018-6-2 18:17 上傳
所有資料51hei提供下載:
胎壓監(jiān)測(cè)串口傳輸.zip
(92.75 KB, 下載次數(shù): 105)
2018-6-2 17:57 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|