馬良
【摘 要】51單片機開發(fā)板使用極其廣泛,它在工程實踐中應用中扮演了重要角色。在大學生電路實驗實訓課堂中普遍應用。如何結(jié)合當前主流通訊技術設計更好的教學案例,同時拓展大學生思維廣度和增強實踐技巧是一個重要課題。本文闡明了基于藍牙模塊來控制51單片機和蜂鳴器的實踐。
【關鍵詞】藍牙模塊;51單片機;蜂鳴器
The practice of controlling 51 MCU and Buzzer on Bluetooth
MA Liang
(School of electronics and Automation Engineering , BITC, Beijing 100015,China)
【Abstract】The 51 MCU development board is widely used now, which plays an important role in engineering practice. It is widely used in the practical training classroom of college students. How to combine the current mainstream communication technology to design better teaching cases, it is an important task to expand the college students' thinking span and enhance practical skills. This paper illustrates the practice of controlling 51 MCU and buzzer based on Bluetooth module.
【Key words】Bluetooth module;51MCU;Buzzer
0 引言
51單片機可以實現(xiàn)各種各樣的模塊功能,大二新生通常接觸51單片機后都能自己動手,可以搭建流水燈模塊,數(shù)碼管靜態(tài)動態(tài)顯示模塊。隨著現(xiàn)代通信的迅速發(fā)展,可以結(jié)合藍牙模塊搭建各種各樣的小電路[1],例如在教室使用手機藍牙控制電燈開關、上下課鈴聲開關、室外開啟摩拜單車自行車鎖。
HC-31藍牙模塊[2]結(jié)合手機藍牙APP進行串口通信目的與意義:HC-31模塊自適應3.3V到5.5V邏輯電平,配對成功后藍色LED常亮,此藍牙模塊接口為全雙工模式;通信串口支持8位數(shù)據(jù)位、1位停止位。因此可以使用該藍牙模塊串口端子(RXD,TXD都為TTL電平)和51單片機最小系統(tǒng)通訊,進行具體電路的控制。通常該模塊主要為藍牙從模塊,與手機藍牙成功配對(默認密碼為1234)后便可以通訊,利用手機APP測試串口數(shù)據(jù)的發(fā)送和接收。該模塊可以直接連接到(51,AVR,ARM,Ardunio)等單片機,空曠環(huán)境識別距離為10米。
本文闡明如何利用51單片機結(jié)合藍牙模塊控制蜂鳴器原理。
1 藍牙控制51單片機蜂鳴器
1.1 系統(tǒng)結(jié)構(gòu)
藍牙控制51單片機蜂鳴器系統(tǒng)(圖1)由以下幾部分組成:51單片機最小系統(tǒng)、HC-31藍牙傳輸模塊、蜂鳴器控制聲音模塊。同時可以對它進行簡單的二次開發(fā),加上流水燈模塊,或者外加1602液晶顯示模塊等等。
圖1 系統(tǒng)結(jié)構(gòu)
1.2 系統(tǒng)工作流程
圖2為藍牙模塊HC-31控制51單片機流程圖,手機藍牙首先和HC-31模塊配對,成功配對后依靠Bluetooth2.0協(xié)議進行串口通信。藍牙模塊的TXD、RXD分別和51單片機側(cè)的TXD、RXD交叉連線。
1.3 系統(tǒng)調(diào)試
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar Beep[36] = "bluewire & beep test";
sbit BEEP=P0^0;
void UsartConfiguration();
void Delay(uint i);
void Com_Int(void) interrupt 4
{
uchar i;
uchar receive_data;
EA = 0;
if(RI == 1)
{
RI = 0;
receive_data = SBUF;
if(receive_data == '1')
{
BEEP =0;
}
else
{
BEEP =1;
}
}
for(i=0; i<36; i++)
{
SBUF=Beep[i];
while(!TI);
TI=0;
Delay(1);
}
EA=1;
}
void main()
{
UsartConfiguration();
while(1);
}
void UsartConfiguration()
{
SCON=0X50;
TMOD=0X20;
PCON=0X00;
TH1=0XFd; //9600@11.0592MHz
TL1=0XFd;
TR1=1;
ES=1;
EA = 1;
}
void Delay(uint i)
{
uchar x,j;
for(j=0;j
for(x=0;x<=248;x++);
}
}
圖2 藍牙控制51單片機蜂鳴器工作流程
2 結(jié)論
本文闡明了藍牙控制51單片機蜂鳴器難點和重點,在測試中可以進行回環(huán)測試驗證藍牙模塊通訊的好壞(RXD和TXD端子短路),由于該模塊的通用性和便捷性,它可以進一步應用于其他子模塊的驗證開發(fā)。另外需要注意51單片機P0^0=L時為TTL低電平,蜂鳴器有時存在弱開啟的情況,可以結(jié)合其他簡單電路進行進一步控制。
圖3 系統(tǒng)調(diào)試
【參考文獻】
[1]郭天祥編著.51單片機C語言教程 電子工業(yè)出版社.
[2]http://www.hc01.com/service_download type=all&keywords=&p=3 廣州匯承HC官方網(wǎng)站.
[責任編輯:朱麗娜]