freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于安卓藍牙控制的智能車設(shè)計報告(編輯修改稿)

2025-07-24 20:46 本頁面
 

【文章內(nèi)容簡介】 = 0x34。 // 等效于RCLK=TCLK=TR2= 1 // 清除RI,串口接收中斷標志 RI = 0。 // 串口中斷使能 ES = 1。 // 記得主程序中要打開EA=1?。?!}注釋:FOSC為系統(tǒng)時鐘晶振,已經(jīng)宏定義define FOSC 11059200LBAUD為串口通訊波特率,已經(jīng)宏定義define BAUD 9600初始化UART后,在打開串口中斷,用于接收來自藍牙模塊的數(shù)據(jù)。其實現(xiàn)代碼如表35所示。表35 串口中斷處理函數(shù)()/* 串口通訊中斷服務(wù)函數(shù) */void UART_Handler()interrupt 4 using 1 // 串口中斷號4{ // 判斷RI if(RI) { RI = 0。 // 軟件方式清除RI標志 R_Buffer = SBUF。 // 獲得藍牙數(shù)據(jù) }}注釋:串口接收中斷標志RI必須軟件清零。 智能車藍牙手動模式設(shè)計與實現(xiàn)在UART接口的基礎(chǔ)上獲得來自控制端的指令。通過全局變量R_Buffer來存儲當前來自APP客戶端的數(shù)據(jù),并根據(jù)R_Buffer的值來執(zhí)行相應(yīng)的功能。藍牙指令有0x1F前進指令、0x2F倒車指令、0x3F左轉(zhuǎn)指令、0x4F右轉(zhuǎn)指令、0x5F加速指令、0x6F減速指令、0x7F前車燈、0x8F喇叭。手動模式部分源代碼如表36所示。表36 藍牙手動模式部分源代碼()/* 全能車模式之藍牙遙控 */void Run_Mode_Bluetooth(void){ // 再次打開串口中斷使能 ES = 1。 // 根據(jù)收到的R_Buffer執(zhí)行該任務(wù) switch(R_Buffer) { case 0x1F: // 前進指令 DUTY = 7。 Car_Go_Forward()。 break。 case 0x2F: // 后退指令 DUTY = 7。 Car_Go_Back()。 break。 case 0x3F: // 左轉(zhuǎn)指令 DUTY = 7。 Car_Turn_Left()。 break。 case 0x4F: // 右轉(zhuǎn)指令 DUTY = 7。 Car_Turn_Right()。 break。 case 0x00: // 停止指令 Car_Stop()。 break。 case 0xD0: // 關(guān)閉前車燈 Car_Beep()。 break。 }}注釋:DUTY為占空比,用于調(diào)整電機轉(zhuǎn)動速度。 智能車自主循跡模式設(shè)計與實現(xiàn)通過紅外對管的工作原理來判斷全能車相對位置,以及做出相應(yīng)的決策。其部分源代碼如表37所示。表37 智能車循跡模式源代碼()/* 全能車模式之循跡 */void Run_Mode_Track(void){ static U8 temp。 // 零時存放P1低6位數(shù)據(jù),一定要寫成static,保存上次的結(jié)果。 temp = P1。 temp amp。=0x3f。 switch(temp) { case 0x07: // 左左2和左3同時 DUTY = 5。 Car_Turn_Left()。 break。 case 0x1F: // 左1 DUTY = 5。 Car_Turn_Left()。 break。 // 中間省略若干行,詳細參照源代碼 case 0x3E: // 右1 DUTY = 5。 Car_Turn_Right()。 break。 case 0x38: // 右右2和右3同時 DUTY = 5。 Car_Turn_Right()。 break。 case 0x00: Car_Stop()。 break。 default: // 前行 DUTY = 4。 Car_Go_Forward()。 }}注釋:紅外對管低電平表示遇到黑色線,即沒有收到返回光。 智能車自動避障模式設(shè)計與實現(xiàn)通過超聲波電路間接測量距離的原理,計算出障礙物距離全能車的距離。部分代碼如表38所示。表38 智能車避障模式源代碼 /* 超聲波初始化 */ void Timer0_Init(void) { Trig = 0。 TMOD amp。=0xF0。 TMOD |= 0x01。 TH0 = 0。 TL0 = 0。 // 定時器0寄存器清零 TF0 = 0。 // 清除定時器0溢出標志 TR0 = 0。 // 暫時不啟動定時器0 } /* 啟動觸發(fā) */ void Trig_Start(void) { Trig = 1。 // 產(chǎn)生觸發(fā)信號 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 Trig = 0。 // 關(guān)閉觸發(fā)信號 TH0 = 0。 TL0 = 0。 while(!Echo)。 // 等待返回信號(高電平) TR0 = 1。 // 打開定時器0 while(Echo)。 TR0 = 0。 Distance_Cacl()。 } /* 計算距離 */ void Distance_Cacl(void) { U16 time。 time = TH0*256 + TL0。 Distance = time*。 }/* 全能車模式之自動 */void Run_Mode_Auto(void){ if(Distance 70 amp。amp。 Distance 0) { DUTY = 3。 Car_Turn_Left()。 } else { DUTY = 5。 Car_Go_Forward()。 }}注釋:以上只是自動繞圈的避障演示程序。 Android藍牙客戶端設(shè)計與實現(xiàn)藍牙客戶端是用戶控制智能車的一種手段。智能車藍牙控制客戶端是基于Android平臺開發(fā)的應(yīng)用程序??蛻舳诉x擇在Eclipse和Android SDK組合下使用Java語言進行開發(fā)??蛻舳说拈_發(fā)主要涉及到客戶端界面的設(shè)計和功能代碼的編寫。 客戶端界面設(shè)計根據(jù)智能車的實際情況,客戶端選擇設(shè)計成類似賽車類游戲的界面。界面通過XML來標記和存儲資源。 BluetoothCar類設(shè)計BluetoothCar類主要實現(xiàn)訪問安卓手機藍牙設(shè)備和發(fā)送智能車運動指令。 4 系統(tǒng)測試與結(jié)論 硬件電路調(diào)試硬件單元電路制作好后,在上電之前,應(yīng)該先用萬用表對各個獨立元件進行檢查,在排除了虛焊、短路、斷路等問題后再通電進行電路功能的調(diào)試。具體調(diào)試過程如下所述。 獨立元件的檢測任何組裝好的電子電路,在通電調(diào)試之前,必須認真檢查電路連線是否有誤。檢查的方法是對照電路圖,按一定的順序逐級對應(yīng)檢查,例如:對電路板的電阻阻值進行確定,可以通過讀取電阻上的色環(huán)進行確認。特別是注意電源是否接錯,電源與地是否有短接,集成電路和晶體管的引腳是否接錯,輕輕撥一撥元器件,觀察焊點是否牢固等。用萬用表檢測是不是有短路和斷路現(xiàn)象。給系統(tǒng)上電后,看下電源(綠色)燈亮不亮。假如不亮,就要檢查電源指示燈發(fā)光二極管的好壞。還要用萬用表測一下單片機等芯片的電壓是不是符合要求。假如不是,就要進行各個芯片的檢查,看一下各個芯片的引腳有沒有焊好,芯片是否損壞。 單片機最小系統(tǒng)的調(diào)試 單片機AT89C52最小系統(tǒng)的檢測分為硬件調(diào)試及軟件調(diào)試。量電源電壓有沒有到位,量復位RSL腳電平對不對,如果是高電平復位那么平時應(yīng)該是低電平,量外部晶振有沒有起振,最小系統(tǒng)電路參考芯片PDF文檔,確認正確。 硬件調(diào)試時用萬用表測量單片機的工作電壓及各個管腳的電壓是否達到正常工作電壓。在此檢測中還要燒入程序?qū)Ω鱾€I/O口的輸出進行測試,查看I/O口所輸出的電壓是否與程
點擊復制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1