1. 下載相關(guān)軟件。如串口助手和藍牙助手
Screenshot_20210515_173926.jpg (11.53 KB, 下載次數(shù): 43)
下載附件
2021-5-15 22:11 上傳
2. 串口助手上有相應(yīng)的操作,隨便點點就行 3. 一些AT指令。
2.PNG (123.96 KB, 下載次數(shù): 48)
下載附件
2021-5-15 22:11 上傳
HC08調(diào)試過程.docx
(664.34 KB, 下載次數(shù): 40)
2021-5-15 22:13 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
4. AT 指令用來設(shè)置模塊的參數(shù),模塊在未連線狀態(tài)下可以進行 AT 指令操作,連線后進入串口透傳模式。模塊啟動大約需要 150ms,所以最好在模塊上電 200ms 以后才進行 AT 指令操作。除特殊說明外,AT 指令的參數(shù)設(shè)置立即生效。同時,參數(shù)和功能的修改,掉電不會丟失。AT 指令修改成功后統(tǒng)一返回 OK(“AT+RX、AT+VERSION”等查看信息類指令除外),不成功不返回任何信息 5. 串口通信準備知識:功能是利用串口助手文本模式發(fā)送0x00點亮led,發(fā)送0x01熄滅led。實現(xiàn)方式串口通信:uart,SBUF暫存 /************************************************************************************** * 串口通信實驗 * 實現(xiàn)現(xiàn)象:下載程序后打開串口調(diào)試助手,將波特率設(shè)置為4800,選擇發(fā)送的數(shù)據(jù)就可以顯示 在串口助手上。 注意事項:無。 ***************************************************************************************/
#include"reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
typedefunsigned int u16; //對數(shù)據(jù)類型進行聲明定義 typedefunsigned char u8; sbitled0=P2^0; /******************************************************************************* * 函數(shù)名 :UsartInit() * 函數(shù)功能 :設(shè)置串口 *******************************************************************************/ void UsartInit() //串口初始化函數(shù),函數(shù)名可以自定義 { SCON=0X50; //設(shè)置為工作方式1 01100000 TMOD=0X20; //設(shè)置計數(shù)器T1工作方式2 00100000 PCON=0X80; //波特率加倍 TH1=0XF3; //計數(shù)器初始值設(shè)置,注意波特率是4800的 TL1=0XF3; ES=1; //打開接收中斷 EA=1; //打開總中斷 TR1=1; //打開計數(shù)器 }
/******************************************************************************* * 函數(shù) 名 : main * 函數(shù)功能 : 主函數(shù) *******************************************************************************/ voidmain() { UsartInit(); // 串口初始化 while(1); }
/******************************************************************************* * 函數(shù)名 : Usart() interrupt 4 * 函數(shù)功能 : 串口通信中斷函數(shù) *******************************************************************************/ voidUsart() interrupt 4 //第五級中斷,因為從0開始數(shù),所以用標號4,即中斷4 { u8 receiveData; //定義讀取函數(shù) receiveData=SBUF;//出去接收到的數(shù)據(jù) RI = 0;//清除接收中斷標志位 SBUF=receiveData;//將接收到的數(shù)據(jù)放入到發(fā)送寄存器 if(SBUF=='0') { led0=0; } if(SBUF=='1') { led0=1; } while(!TI); //等待發(fā)送數(shù)據(jù)完成 TI=0; //清除發(fā)送完成標志位 }
4.PNG (463.07 KB, 下載次數(shù): 44)
下載附件
2021-5-15 22:12 上傳
6. 單片機與藍牙模塊連接的關(guān)鍵點在與串口通信。 7. 手機APP發(fā)送相應(yīng)的字符給藍牙模塊,藍牙模塊與單片機進行串口通信,藍牙模塊把從手機端接收到的內(nèi)容發(fā)送給單片機并放在單片機的SBUF上。程序中主要是通過對SBUF上的字符進行判斷從而做出控制。注意晶振用11.0592MHZ的。
|