藍(lán)牙無(wú)線模塊與單片機(jī)如何連接呢
發(fā)布時(shí)間:2021-09-07 09:03:07
瀏覽:358
單片機(jī)工作原理51單片機(jī)有P0、P1、P2、P3四個(gè)端口。本次實(shí)驗(yàn)將其中P0用于數(shù)碼管的顯示數(shù)字,P1用于流水燈的顯示,P2端口的第1位(P2^1)接在繼電器的DIO端,在單片機(jī)內(nèi)控制高低電平。P3端口的第0位連接藍(lán)牙的TX端,是單片機(jī)串口的接收端,P3端口的第1位連接藍(lán)牙的RX端,是單片機(jī)串口的發(fā)送端。
按鍵S4在內(nèi)部連接P3端口的第2位,為外部中斷0。按鍵S5在內(nèi)部連接P3端口的第3位,為外部中斷1。開(kāi)啟定時(shí)器0,設(shè)置好計(jì)數(shù)器的初始值;外部中斷0,1打開(kāi);串口中斷打開(kāi),設(shè)置好波特率9600,0,0與藍(lán)牙無(wú)線模塊一致即可。
串口的中斷觸發(fā)后,需要軟件清除RI(接收中斷)與TI(發(fā)送中斷)值為0,SBUF存放串口接收數(shù)據(jù)或發(fā)送數(shù)據(jù),在C語(yǔ)言代碼中賦值相同寄存器,在物理上分為發(fā)送和接收,每次1字節(jié)緩沖。
定時(shí)器0設(shè)置工作方式0,13位計(jì)數(shù)器,計(jì)數(shù)到8192。晶振為11.0592MHz,每個(gè)機(jī)器周期需要12個(gè)時(shí)鐘周期,計(jì)數(shù)5000次,所以每次進(jìn)入中斷的時(shí)間為5000*12/11.0592M=0.00543s,所以每次進(jìn)入中斷時(shí)間為0.005秒,數(shù)碼管需要每10ms進(jìn)入一次,所以每次加到2的時(shí)候,數(shù)碼管變動(dòng)。計(jì)數(shù)器初值為(8192-5000),分別存放入TH0與TL0,高低位。
外部中斷直接設(shè)置觸發(fā)方式ITx=0/1低電平觸發(fā)或下降沿觸發(fā)后,開(kāi)啟外部中斷,EXx=1后,編寫相應(yīng)中斷函數(shù)即可。藍(lán)牙無(wú)線模塊首先按住復(fù)位鍵上電,即進(jìn)入AT指令模式,對(duì)它輸入AT指令進(jìn)行設(shè)置名字、串口波特率、主從回環(huán)等后,連接到單片機(jī)上即可使用。
模塊有設(shè)置模式和使用模式,需要斷電后切換,所以單片機(jī)應(yīng)該控制一下藍(lán)牙無(wú)線模塊的電源通斷,方便隨時(shí)改變配置。然后主、從機(jī)之間就可以像串口直接通訊一樣的用了。數(shù)據(jù)不用非要ASCII碼,模塊在串口一側(cè)是透?jìng)鞯?,藍(lán)牙一側(cè)是加密的。電腦上隨便你用什么語(yǔ)言,做個(gè)類似串口助手的東西就可以了。
然后藍(lán)牙芯片HC05主從一體電腦用藍(lán)牙串口助手單片機(jī)51就好了。電腦可以使用硬件串口和模塊連接,也可以買個(gè)USB藍(lán)牙(推薦這個(gè)方案),USB藍(lán)牙會(huì)在硬件管理中虛擬出一個(gè)串口,這樣軟件直接操作這個(gè)虛擬串口就可以了。