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

正文內(nèi)容

基于單片機(jī)無線遙控車的設(shè)計(jì)(編輯修改稿)

2025-07-24 19:12 本頁面
 

【文章內(nèi)容簡介】 障礙時(shí)返回消息值,主任務(wù)對其進(jìn)行相應(yīng)的處理。主任務(wù)處理消息可以設(shè)計(jì)成如下結(jié)構(gòu):while(1) //消息循環(huán){ switch(getmsg()) //消息分類處理 { case MSG_K_QIAN: //“前進(jìn)”按鍵消息處理 … break。 case MSG_K_HOU: //“后退”按鍵消息處理 … break。 case …}}本章將系統(tǒng)拆分成了若干個(gè)功能模塊,并且采用兩個(gè)AT89C52單片機(jī)來各分擔(dān)一部分功能。在軟件方面通過對結(jié)構(gòu)的特殊設(shè)計(jì),基本上實(shí)現(xiàn)了多任務(wù)并發(fā)運(yùn)行,并且通過軟件的分層結(jié)構(gòu)將功能實(shí)現(xiàn)和具體的硬件分離開,再加上消息驅(qū)動的結(jié)構(gòu),這將給后續(xù)的各模塊軟件的設(shè)計(jì)帶來方便。 第3章 各模塊的詳細(xì)設(shè)計(jì) 紅外遙控模塊的設(shè)計(jì) 遙控模塊的功能需求遙控模塊采用紅外遙控方式,因?yàn)椴捎眉t外遙控抗干擾能力強(qiáng),且不會對周圍的無線電設(shè)備產(chǎn)生干擾電波,接口簡單;但是紅外方式遙控的距離比較有限,一般在幾米之內(nèi)。鑒于本設(shè)計(jì)不需要遠(yuǎn)距離遙控,所以綜合考慮之下采用紅外遙控較為合適。本設(shè)計(jì)中要求能用遙控器控制小車的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止、記錄路線、尋找光源等很多種功能;遙控距離在幾米之內(nèi)即可;并且要在遙控發(fā)射模塊加入語音識別模塊,能夠?qū)崿F(xiàn)聲控功能。 編解碼芯片的選型由于在遙控端的按鍵數(shù)目有多個(gè),而紅外通道傳輸?shù)闹荒苁怯?、1組成的串行代碼,所以需要在發(fā)射端對按鍵進(jìn)行“并串”編碼,在接收端相應(yīng)的要進(jìn)行“串并”解碼。碼的波特率在收、發(fā)兩端應(yīng)該是一致的。方案一,使用MC14502MC145027編解碼芯片,其特殊的編碼方式保證了信息的可靠傳輸,但是外圍器件參數(shù)的選定較為煩瑣,并且不能利用到其所提供的地址功能,也就是說傳輸?shù)男畔?dāng)中地址碼部分是多余的,這就降低了信道的利用率。方案二,采用臺灣瑞昱公司生產(chǎn)的專用于遙控車模的CMOS大規(guī)模集成電路TX2/RX2,該編解碼芯片具有5種控制功能,使用方便,所以本設(shè)計(jì)中采用了該方案。 遙控模塊原理圖。TX2的11腳和12腳之間接的電阻決定振蕩頻率;3腳接地;10腳接35V電源;14腳、1腳、4腳、5腳、6腳分別為5路發(fā)射控制端;9腳為發(fā)射指示端,當(dāng)有按鍵按下時(shí)LED1發(fā)光提示;7腳為帶載波的編碼信號輸出端,即編碼信號已經(jīng)內(nèi)調(diào)制到38KHZ的載波上,該腳的信號通過一個(gè)NPN型三極管放大后可直接驅(qū)動紅外發(fā)射二極管發(fā)射信號;8腳為不帶載波的編碼信號輸出端。 遙控發(fā)射原理圖 遙控發(fā)射端按鍵數(shù)目的擴(kuò)展 遙控接收電路圖。RX2的4腳和5腳之間接的電阻阻值要和TX2的11腳、12腳間的電阻阻值接近,相差在20%之內(nèi)方可正確的解碼,本設(shè)計(jì)中這兩個(gè)電阻都選用150KΩ;2腳接地;13腳接35V電源;3腳接輸入信號,由一體化紅外接收頭1838輸出的信號需要加一個(gè)反向器才是正確的編碼信號;6腳、7腳、10腳、11腳、12腳為5路遙控命令的輸出端,分別和TX2的5路輸入端的狀態(tài)相對應(yīng)。另外,為了方便操作,將TX2的5路功能擴(kuò)展成9功能,即在遙控發(fā)射端可以接9個(gè)按鍵。這是通過對原先的5路輸入進(jìn)行組合得到的。 遙控電路與語音識別模塊的連接語音識別模塊采用凌陽61板,可以將SPCE061A單片機(jī)的輸出引腳直接接到TX2的輸入端,與按鍵實(shí)現(xiàn)“線與”功能,這樣遙控發(fā)射端的按鍵和凌陽單片機(jī)都可以通過遙控電路給小車發(fā)送命令。 數(shù)碼管、發(fā)光二極管顯示模塊的設(shè)計(jì) 多位數(shù)碼管掃描顯示原理 LED數(shù)碼管結(jié)構(gòu)LED數(shù)碼管是常用的顯示器件。每一段相當(dāng)于一個(gè)發(fā)光二極管,各個(gè)發(fā)光二極管的陽極或陰極接在一起,分別稱作共陽極數(shù)碼管和共陰極數(shù)碼管。本設(shè)計(jì)中采用的是共陰極數(shù)碼管。對于多個(gè)數(shù)碼管的顯示,有靜態(tài)方式和動態(tài)掃描方式。本設(shè)計(jì)中用了4個(gè)共陰極數(shù)碼管,并采用動態(tài)掃描方式顯示。掃描顯示的原理是將各個(gè)數(shù)碼管的段碼端口分別并聯(lián)在一起,由位選端口輪流選通各個(gè)數(shù)碼管,并讓每個(gè)數(shù)碼管分別顯示幾毫秒,由于人眼的視覺慣性,看到的將是多個(gè)數(shù)碼管同時(shí)在顯示。 工作狀態(tài)指示燈及轉(zhuǎn)向燈的設(shè)計(jì)為了直觀的顯示出小車的各種狀態(tài),設(shè)計(jì)了若干發(fā)光二極管指示燈,有模式指示燈、漏粉指示燈、記錄行駛路線指示燈、障礙指示燈、轉(zhuǎn)向指示燈、倒車指示燈。 顯示模塊電原理圖: 顯示模塊原理圖顯示任務(wù)由主單片機(jī)完成。,產(chǎn)生數(shù)碼管選通信號。,鎖存P2口給出的段碼數(shù)據(jù)。在完成鎖存后由P2口直接驅(qū)動8個(gè)LED發(fā)光二極管,作為小車的狀態(tài)指示。為了在74LS273鎖存數(shù)據(jù)時(shí)避免狀態(tài)指示燈的閃爍。,全部熄滅狀態(tài)指示燈;在鎖存結(jié)束后。同樣在4個(gè)數(shù)碼管掃描顯示的過程中也應(yīng)避免數(shù)碼管的閃爍。 顯示任務(wù)的軟件設(shè)計(jì)。由定時(shí)器0中斷處理函數(shù)timer0()每隔4毫秒調(diào)用一次。這樣每個(gè)數(shù)碼管輪流顯示4毫秒,掃描一遍共需16毫秒,也就是閃爍的頻率大概是60Hz,人眼看到的就是4個(gè)數(shù)碼管同時(shí)在顯示了。返回熄滅狀態(tài)指示燈顯示模式是?顯示緩沖區(qū)置成時(shí)間顯示緩沖區(qū)置成里程數(shù)碼管段碼置成0,消除移位時(shí)的閃爍選通下一個(gè)數(shù)碼管閃爍處理鎖存段碼顯示個(gè)狀態(tài)指示燈時(shí)間模式里程模式用戶模式 顯示流程圖 聲音提示功能的設(shè)計(jì)和狀態(tài)指示燈的設(shè)計(jì)目的一樣,給小車加入聲音提示功能也是為了更直觀地顯示各種狀態(tài)。在操作者通過遙控器給小車發(fā)出命令后,蜂鳴器將響一聲,及時(shí)的提示操作者已經(jīng)收到命令。這是挺有必要的,因?yàn)榧t外遙控方式并不是很可靠,有時(shí)操作者發(fā)出的遙控命令小車可能是收不到的,因此操作者幾乎處于“盲操作”狀態(tài)。加入了聲音提示功能后,小車有沒有接收到遙控命令很容易就能知道了。此外,當(dāng)小車遇到障礙時(shí)也會給出聲音報(bào)警信號。本設(shè)計(jì)中所采用的蜂鳴器使用很簡便,只需給其正負(fù)端加上5V左右的電壓就能夠發(fā)出聲音,在其內(nèi)部已經(jīng)含有一個(gè)振蕩電路。工作電流大約10mA,因此可以用P0口的某一位直接驅(qū)動。聲音提示功能被設(shè)計(jì)成一個(gè)單獨(dú)的任務(wù),原因是為了能讓蜂鳴器響若干聲,而同時(shí)單片機(jī)又能做其他的事情。其他模塊通過beep(n)函數(shù)設(shè)置靜態(tài)變量n_beep,告訴聲音提示模塊需要響n聲,大約50毫秒響一聲后自動會將n_beep減去1,一直減到0后不再發(fā)聲。 遮擋校準(zhǔn)方案 前輪轉(zhuǎn)向模塊的設(shè)計(jì) 前輪轉(zhuǎn)向的機(jī)械結(jié)構(gòu)設(shè)計(jì)。通過步進(jìn)電機(jī)來控制前輪轉(zhuǎn)到一定的角度,并且采用了一個(gè)遮擋型的紅外對管來檢測轉(zhuǎn)向的中點(diǎn),以便在開機(jī)時(shí)能自動找到轉(zhuǎn)向的中點(diǎn)。而且在一定程度上可以校準(zhǔn)由步進(jìn)電機(jī)的失步帶來的角度誤差。 前輪轉(zhuǎn)向中點(diǎn)校準(zhǔn)功能的設(shè)計(jì) 紅外對管檢測電路,在紅外發(fā)射管和接收管之間無遮擋時(shí),電壓比較器輸出低電平;當(dāng)之間有遮擋時(shí),電壓比較器輸出高電平。當(dāng)前輪轉(zhuǎn)到中點(diǎn)時(shí),細(xì)桿正好能遮擋住紅外對管,此時(shí)電壓比較器輸出一個(gè)高電平;當(dāng)前輪偏離中點(diǎn)時(shí),輸出低電平。 步進(jìn)電機(jī)驅(qū)動芯片本設(shè)計(jì)中前輪的轉(zhuǎn)向電機(jī)是從廢棄的軟驅(qū)上拆卸下來的步進(jìn)電機(jī),體積小、性能好、使用方便,并且有專門的驅(qū)動芯片。,輸入、。當(dāng)控制信號的周期為40Hz左右時(shí),步進(jìn)電機(jī)工作在最佳狀態(tài)。 前輪轉(zhuǎn)向任務(wù)的軟件設(shè)計(jì)前輪轉(zhuǎn)向設(shè)計(jì)成一個(gè)單獨(dú)的任務(wù),由定時(shí)器0中斷處理函數(shù)每16毫秒調(diào)用一次。其他模塊可以調(diào)用函數(shù)setdegree()設(shè)置需要轉(zhuǎn)到的角度,然后由轉(zhuǎn)向任務(wù)負(fù)責(zé)轉(zhuǎn)到所指定的角度,在轉(zhuǎn)向期間,單片機(jī)可以做其他的事情;其他模塊還可以調(diào)用getnowdegree()取得當(dāng)前轉(zhuǎn)到的角度。 步進(jìn)電機(jī)驅(qū)動芯片AāBBACH inBCH in 步進(jìn)電機(jī)控制時(shí)序 后輪驅(qū)動模塊的設(shè)計(jì) 直流電機(jī)驅(qū)動芯片L298N后輪采用直流電機(jī)來驅(qū)動,和步進(jìn)電機(jī)相比較直流電機(jī)驅(qū)動力大,電源利用率高。因?yàn)橹绷麟姍C(jī)的轉(zhuǎn)速很高,所以必須加入齒輪箱進(jìn)行減速,減速后驅(qū)動力變大,轉(zhuǎn)速降低。小車的行駛速度大概在20cm/s左右。為了控制直流電機(jī)的正反轉(zhuǎn)來實(shí)現(xiàn)小車的前進(jìn)和后退,采用了直流電機(jī)驅(qū)動芯片L298N。前進(jìn)時(shí)5腳輸入方波占空比為100%(即持續(xù)高電平),7腳為低電平;后退時(shí)5腳為低電平,7腳輸入方波占空比為100%。另外,改變方波的占空比可以實(shí)現(xiàn)對直流電機(jī)的調(diào)速,由于本設(shè)計(jì)中小車速度已調(diào)整到較低水平,所以無需再調(diào)速。100nF100nF 直流電機(jī)驅(qū)動芯片L298N 后輪驅(qū)動任務(wù)的軟件設(shè)計(jì)本設(shè)計(jì)中只需控制后輪的正、反轉(zhuǎn),無需調(diào)速,所以后輪驅(qū)動模塊的設(shè)計(jì)要比前輪轉(zhuǎn)向模塊簡單很多,并且不建立后輪驅(qū)動任務(wù)也能實(shí)現(xiàn),因?yàn)橹恍枰诟淖冃≤嚨男羞M(jìn)狀態(tài)的時(shí)候改變單片機(jī)和L298N相連的I/O口電平狀態(tài)即可。而本設(shè)計(jì)中將后輪驅(qū)動模塊也設(shè)計(jì)成一個(gè)單獨(dú)的任務(wù)是考慮到以后功能擴(kuò)展的方便。以后可以通過PWM方式對后輪直流電機(jī)進(jìn)行調(diào)速,那就必須把后輪驅(qū)動模塊設(shè)計(jì)成一個(gè)單獨(dú)任務(wù)了。目前本模塊對其他模塊主要提供了以下幾個(gè)接口函數(shù)。setspeed(n),n0時(shí),小車前進(jìn);n0時(shí),小車后退;n=0時(shí),小車停止。getspeed(),前進(jìn)時(shí)返回1;后退時(shí)返回1;停止時(shí)返回0。imstop(),該函數(shù)實(shí)現(xiàn)反電動勢剎車功能。 里程檢測模塊的設(shè)計(jì) 探頭的選型與安裝可以用這樣的思路來設(shè)計(jì)里程檢測模塊,在車軸上安裝一個(gè)圓盤,圓盤上均勻的開一些缺口,: 里程檢測遮光圓盤的設(shè)計(jì)車輪每轉(zhuǎn)過一圈圓盤將把紅外對管遮擋4次,小車勻速行駛時(shí)檢測電路輸出占空比為50%的方波。 軟件消抖與硬件消抖的比較從檢測電路輸出的方波在其上升和下降沿處是不穩(wěn)定的,有抖動,統(tǒng)計(jì)里程的原理是檢測上升和下降沿的個(gè)數(shù),抖動必將引起里程統(tǒng)計(jì)的誤差,因此要考慮消抖。消抖的方法有多種,用硬件電路可以實(shí)現(xiàn)消抖功能,例如加一級施密特觸發(fā)器或加一級單穩(wěn)態(tài)觸發(fā)器都可以在一定程度上消除抖動。硬件消抖后的信號可以直接接到單片機(jī)的計(jì)數(shù)器引腳,利用單片機(jī)內(nèi)部的計(jì)數(shù)器來統(tǒng)計(jì)里程,但這樣的方法硬件代價(jià)比較大,而且需要使用單片機(jī)的計(jì)數(shù)器或中斷才能實(shí)現(xiàn)。所以考慮用軟件的方法來消除抖動。 軟件消抖示意圖軟件消抖的思路是每隔T1對原信號采樣一次,假設(shè)抖動的時(shí)間寬度為T2,高、低電平的寬度為T,則只要滿足T2T1(TT2),采樣后的信號上升和下降沿的個(gè)數(shù)就是正確的。每次采樣的時(shí)候兼做沿的個(gè)數(shù)統(tǒng)計(jì),將總數(shù)存放在靜態(tài)變量li_cheng中,再乘上一個(gè)常數(shù)即是小車行駛的里程值。: 里程檢測任務(wù)的軟件設(shè)計(jì)里程檢測模塊被設(shè)計(jì)成一個(gè)獨(dú)立的任務(wù),由定時(shí)器0的中斷處理函數(shù)每隔32毫秒調(diào)用一次,也就是說采樣的時(shí)間間隔為32毫秒,這基本上能夠滿足T2T1(TT2)的關(guān)系。該模塊對外提供了以下幾個(gè)接口函數(shù):void licheng(void):里程檢測任務(wù)函數(shù),由定時(shí)器0的中斷處理函數(shù)調(diào)用,完成采樣和上升沿、下降沿的個(gè)數(shù)統(tǒng)計(jì);unsigned int getlicheng(void):獲取里程值函數(shù),單位為上升和下降沿的個(gè)數(shù),后輪每轉(zhuǎn)過1/8圈對應(yīng)一個(gè)上升或下降沿;unsigned int getlichenglimi(void):該函數(shù)也是獲取里程值,單位是厘米;void setlicheng(unsigned int lc):設(shè)置里程值函數(shù)。由于記錄里程值的變量是unsigned int型,所以表示的里程值范圍為:065535(沿個(gè)數(shù)),大約是1366米,對于本設(shè)計(jì)而言,這個(gè)范圍是足夠了。 超聲測距模塊的設(shè)計(jì) 超聲測距的理論依據(jù)發(fā)射傳感器接收傳感器超聲波回波障礙直接耦合 超聲測距原理圖超聲測距的依據(jù)是超聲波在空氣中以一定的速度ν傳播,遇到障礙后聲波反射回來,被超聲波接收傳感器檢測到,根據(jù)發(fā)射和接收到回波之間的時(shí)間差t就可以計(jì)算出障礙的距離,計(jì)算公式是:S=νt/2。 超聲發(fā)射電路發(fā)射電路要求能給出40KHz的方波,可以由硬件電路振蕩產(chǎn)生,也可以用軟件產(chǎn)生,本設(shè)計(jì)中采用軟件產(chǎn)生的方式。將某個(gè)I/O口置成1后執(zhí)行12個(gè)空指令,再將這個(gè)I/O口置成0后執(zhí)行9個(gè)空指令,加上循環(huán)結(jié)構(gòu)需要兩個(gè)時(shí)鐘周期正好是25個(gè)時(shí)鐘周期,采用12MHZ的晶振對應(yīng)25微秒。每次發(fā)10個(gè)周期
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1