這是是我大二做的一個課程設計些膨,小菜鳥一個湖笨,歡迎大家指正和參考黄刚。
摘要??本次設計選擇基于藍牙遙控的多功能智能小車為對象。選用STC98C52RC單片機作為主控芯片,電機驅動采用L293N ,電源部分采用兩節(jié)3.7V鋰電池供電.采用C語言模塊化編程,提高開發(fā)效率.藍牙控制功能.用按鍵或遙控器來控制小車.
關鍵詞??
51單片機诫尽,L293N_電機驅動禀酱。藍牙遙控
目 錄
1 前言? ?( 系統(tǒng)研究背景 ,系統(tǒng)研究的意義和目的 )?
2 系統(tǒng)概述? ( 系統(tǒng)的結構 牧嫉,系統(tǒng)的功能 剂跟,開發(fā)環(huán)境 )
3 系統(tǒng)實現(xiàn)? ?( 傳感器技術 , 其它相關技術 酣藻,硬件實現(xiàn) 曹洽,軟件實現(xiàn) ,系統(tǒng)測試 )
4 系統(tǒng)使用說明?
5 總結?
6 參考文獻?
1.?前言1.1.系統(tǒng)研究背景
? ?? ???藍牙屬于短距離內進行無線控制和收發(fā)的通信技術辽剧,伴隨著科技的飛躍性發(fā)展送淆,也讓藍牙找到了發(fā)展的空間,它可以代替和取代落后的數(shù)字化硬件設備之間繁瑣的電纜連接怕轿。在藍牙創(chuàng)造的初期偷崩,沒有人預料到藍牙會有如此大的潛力和前景辟拷,而現(xiàn)在的發(fā)展也是完全超出了我們的預期,因為藍牙的安全性高环凿,制造成本低廉和所消耗的功率也是同類產(chǎn)品中最低的,所以被很多人使用放吩,越來越受到了廣大消費者的歡迎智听,基于藍牙技術的產(chǎn)品也在不斷的更新和投入市場。
? ?? ? 藍牙技術是近年來出現(xiàn)的新技術是一種短距離無線通信和信息傳輸?shù)男滦屯ㄓ嵖萍级勺希箶?shù)據(jù)線的硬件設備接收更方便快捷到推。它可以廣泛應用于世界各地,是一個藍牙設置一個通用的范圍惕澎,頻率調制技術的使用莉测,以防止外部干擾和多一些。低成本唧喉,低功耗和小輻射捣卤,和加密設置,讓藍牙的安全性更高八孝;應用范圍廣董朝,這些特點使得藍牙技術被廣泛的應用在我們日常生活中的藍牙也支持一對一和一對多傳輸?shù)耐ㄐ胚B接,和多個藍牙成為微網(wǎng)干跛,也有網(wǎng)絡的特點子姜。
? ???在現(xiàn)在的智能時代,小車智能控制楼入,方便了人們的使用哥捕。在51單片機的基礎下,通過藍牙來控制小車的駕駛嘉熊。
1.2.?系統(tǒng)研究的意義和目的
? ?? ???因為無線技術的廣泛使用遥赚,我們在研究無線和有線通信技術的方法中了解到藍牙系統(tǒng)的小區(qū)域性有很大的技術突破,在國際上也得到了廣泛的采納阐肤,在市場上也有很大的需求鸽捻。這也使藍牙技術的發(fā)展成為了趨勢之一,藍牙可以發(fā)送和接受語音和數(shù)據(jù)泽腮,滿足了大多數(shù)人的需求御蒲,它也融合了其他相關產(chǎn)品的特點,也是這樣技術變得更多樣性诊赊。然而厚满,藍牙的安全性不足,而且在小區(qū)域范圍內的一點對多點的通信受到了很大的限制碧磅,這些都是其本身需要改進和完善的
? ?? ?可以使人們更方便碘箍,更簡單的控制小車遵馆。實現(xiàn)了無線控制小車,擺脫了有線控制的不方便丰榴,更智能货邓。
2.?系統(tǒng)概述2.1.系統(tǒng)的結構
2.2.系統(tǒng)的功能
51單片機的基礎下,通過藍牙來控制驅動四濒,此驅動能把5~12V的電壓换况,一部分給小車輪子轉動,一部分通過降壓盗蟆,穩(wěn)壓戈二,最終降為5V來供給此驅動,單片機和傳感器供電喳资。
2.3.開發(fā)環(huán)境
AT89C5RC單片機開發(fā)環(huán)境觉吭。
? ?? ?? ? AT89C52是一種8位單片機,它是在MCS-51單片機系列上加強了一些功能后升級得到的產(chǎn)物仆邓。它的作用基本上就是把外界的數(shù)據(jù)和命令在中斷和時鐘的幫助下鲜滩,在自身內部儲存器上把使用者的數(shù)據(jù)進行處理。AT89C52 由8位的內部處理器节值,內部數(shù)據(jù)儲存器(RAM绒北,有256個字節(jié))內部儲存器有8K的大小,輸入和輸出雙向口有32個察署,16位的定時器和5個兩級中斷闷游,全雙工串行通信口一個和時鐘電路組成。
? ?? ?? ?AT89C52能夠自主地執(zhí)行給它的指令贴汪,也就是你把所需要的指令寫在單片機的內部儲存器上脐往,它會一步步執(zhí)行。AT89C52可以在功耗特別低的情況下工作扳埂,就是設置成空閑選擇和掉電模式兩種狀態(tài)來實現(xiàn)低功耗业簿。
? ?? ? 單片機與外界的通訊是依靠它自身的I/O 口進行的,對單片機I/O 口的控制就是對單片機的控制阳懂。I/O 口的存在不僅可以實現(xiàn)數(shù)據(jù)的傳輸梅尤,還可以改變電平和信號的性質,最重要的一點就是I/O 口可以實現(xiàn)與外部不同電路的連接來使單片機工作岩调。
? ?? ?? ?AT89C52單片機上我們通常使用的是4個獨立的雙向通用I/O 口:P0口巷燥、P1口、P2和P3口号枕。由于外部設備的工作速率比較慢或者很快的時候缰揪,我們可以采用同步傳送的方式,而單片機存在的異步傳送是為了更加簡練的和硬件連接進行傳出葱淳。也可以通過中斷傳送和DMA傳送來完成钝腺。AT89C52單片機還可以實現(xiàn)外部接口單獨的編址和外部端口和存儲器的統(tǒng)一編制兩種方式抛姑。AT89C52單片機上一共有32個I/O 口,不同的I/O 口實線的作用和運行的方式都有其自己的方式艳狐,我也要通過這次課程設計定硝,更好地了解,更熟練的運用毫目。
3.系統(tǒng)實現(xiàn)
3.1.?相關技術技術——藍牙技術蔬啡,驅動模塊,
3.2.硬件實現(xiàn)
HC-06藍牙模塊
其TX接單片機的RX蒜茴,RX接單片機的TX星爪,VCC接5V(或3.3V)浆西,GND接單片機的地粉私。HC-06藍牙模塊是通過一款手機APP(藍牙串口助手)作為中間媒介,在藍牙串口助手發(fā)送相關的數(shù)據(jù)到串口近零,串口再把相關信息送到藍牙模塊诺核,藍牙模塊再把相關信號送到單片機中。
L298N電機驅動模塊久信,
該該電機可以驅動2路直流電機窖杀,使能端ENA,ENB裙士,為高電頻有效入客,
通過單片機的輸入信號給IN1和IN2來控制左輪,輸入信號給IN3和IN4來控制右輪腿椎。
IN1和IN2桌硫,分別給0,1??:正轉
?IN1和IN2啃炸,分別給1铆隘,0??:反轉
IN1和IN2,分別給1南用,1 :停止
IN1和IN2膀钠,分別給0,0??:停止
IN3和IN4裹虫,分別給0肿嘲,1??:正轉
IN3和IN4,分別給1筑公,0??:反轉
IN3和IN4睦刃,分別給1,1 :停止
IN3和IN4十酣,分別給0涩拙,0??:停止
L298N的主要引腳功能如下:
+5V:芯片電壓5V际长;
VCC:電機電壓,最大可接50V兴泥;
GND:共地接法工育;
Output1—Output2:輸出端,接電機1搓彻;
Output3—Output4:輸出端如绸,接電機2;
EN1旭贬、EN2:高電平有效怔接,EN1、EN2分別為 IN1和IN2稀轨、IN3和IN4的使能端扼脐;
Input1~ Input4:輸入端,輸入端電平和輸出端電平是對應的奋刽;
3.3.軟件實現(xiàn)
? ? ? ? ? ?程序流程圖? ?? ?
51單片機瓦侮,源程序:
sbit in1 = P1^0;//左電機
sbit in2 = P1^1;//左電機
sbit in3 = P1^2;//右電機
sbit in4 = P1^3;//右電機
char i;
/*前進*/
void forward()
{
in1=1;
in2=0;
in3=1;
in4=0;
}
/*后退*/
void back()
{
in1=0;
in2=1;
in3=0;
in4=1;
}
/*左轉*/
void left()
{
in1=1;
in2=1;
in3=1;
in4=0;
}
/*右轉*/
void right()
{
in1=1;
in2=0;
in3=1;
in4=1;
}
/*停止*/
void stop()
{
in1=1;
in2=1;
in3=1;
in4=1;
}
void main (void)? ? ? ? ? ? ?
{
? ? ? TMOD=0x20;? ? ? ? ? ? ? ? ? ? ? ? //設置T1為工作方式2
? ? ? TH1=0xfd;? ? ? ? ? ? ? ? ? ? ? ? //裝入初值,比特率為9600bps
? ? ? TL1=0xfd;
? ? ? TR1=1;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //開啟T1
? ? ? REN=1;? ? ? ? ? ? ? ? ? ? ? ? ? ? //接收允許
? ? ? SM0=0;? ? ? ? ? ? ? ? ? ? ? ? ? ? //方式1
? ? ? SM1=1;
? ? ? EA=1;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //開全局中斷
? ? ? ES=1;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //開串口中斷
while(1)
{i=SBUF;//SBUF為單片機接收到的數(shù)據(jù)佣谐,單片機接收到的數(shù)據(jù)都存放在SBUF里肚吏;
RI=0;
if (i==0x02){forward();}? ? //如果藍牙助手發(fā)送0x02,小車前進
if (i==0x08){back();}? ? ? ? //如果藍牙助手發(fā)送0x08狭魂,小車后退
if (i==0x01){left();}? ? ? ? //如果藍牙助手發(fā)送0x01罚攀,小車左轉
if (i==0x03){right();}? ? ? ? //如果藍牙助手發(fā)送0x03,小車右轉
if (i==0x05){stop();}? ? ? ? //如果藍牙助手發(fā)送0x05雌澄,小車停止
}
}
3.4.系統(tǒng)測試
小車能實現(xiàn)基本功能斋泄,成功地用藍牙控制小車。測試了一段時間掷伙,單片機工作穩(wěn)定是己,藍牙穩(wěn)定的控制,小車較好的按照控制方向行走任柜。
4.系統(tǒng)使用說明
1.? ?? ?為小車裝上兩節(jié)鋰電池卒废,來供電。
2.? ???打開總開關宙地,在手機端摔认,打開一個藍牙通訊助手(在手機應用商店可以找到下載),連接上此小車的藍牙(HC-06),如圖:
3.? ???然后就可以在手機端按相應的前進宅粥,后退参袱,左轉,右轉,停止等抹蚀,如圖:
解析:前進剿牺,后退,左轉环壤,右轉晒来,停止,都對應著程序中相應的信息郑现,如圖;
當手機端發(fā)送 0x02 給藍牙模塊湃崩,就會執(zhí)行 forward()函數(shù); 小車會向前走
當手機端發(fā)送 0x08 給藍牙模塊接箫,就會執(zhí)行 back();函數(shù)攒读;,小車會向后走
當手機端發(fā)送 0x01 給藍牙模塊辛友,就會執(zhí)行 left();函數(shù)薄扁;,小車會向左走
當手機端發(fā)送 0x03 給藍牙模塊瞎领,就會執(zhí)行 right()函數(shù)泌辫;随夸,小車會向右走
當手機端發(fā)送 0x05 給藍牙模塊九默,就會執(zhí)行stop()函數(shù);宾毒,小車會停止
具體的編輯如圖:
最后這是小車的整體模型;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 整體模型
注:上面有個RC522讀卡器的驼修,哪個是方便后面的課設,在這里诈铛,大家可以忽略哈乙各。
5.總結
? ???本設計采用的是STC89C52RC單片機,這主要是因為該單片機的穩(wěn)定性比較好和執(zhí)行指令的速度很快幢竹。還可以采用其它系列的單片機耳峦。電機驅動采用L293N ,穩(wěn)定電壓,充足地向直流電機供電和穩(wěn)定控制焕毫;電源部分采用兩節(jié)3.7V鋰電池供電蹲坷,電壓穩(wěn)定,電流充足邑飒,還可以循環(huán)充電循签,節(jié)能環(huán)保。采用C語言模塊化編程,提高開發(fā)效率.藍牙控制功能.用按鍵或遙控器來控制小車疙咸,簡單方便經(jīng)過自己不斷的搜索努力以及老師的耐心指導和熱情幫助县匠,本設計已經(jīng)基本完成。
? ?? ???過這次課程設計,使我深刻地認識到學好專業(yè)知識的重要性乞旦,也理解了理論聯(lián)系實際的含義贼穆,并且檢驗了大學兩年的學習成果。雖然在這次設計中對于知識的運用和銜接還不夠熟練兰粉。但是我將在以后的工作和學習中繼續(xù)努力扮惦、不斷完善。這兩個月的設計是對過去所學知識的系統(tǒng)提高和擴充的過程亲桦,為今后的發(fā)展打下了良好的基礎崖蜜。
? ?? ? 由于自身水平有限,設計中一定存在很多不足之處客峭,敬請各位批評指正.
6.參考文獻
C語言程序設計 :清華大學出版社作者:譚浩強
51單片機C語言教程:電子工業(yè)出版社 豫领,作者:郭天祥
感謝觀看