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

正文內(nèi)容

遙控小汽車的設(shè)計(jì)研究畢業(yè)論文-文庫(kù)吧資料

2025-07-04 06:38本頁(yè)面
  

【正文】 動(dòng)程序?qū)⒉蛔鲞^多介紹。本模塊將障礙檢測(cè)的距離限定在30厘米以內(nèi),因?yàn)樘h(yuǎn)的地方有無障礙意義不大。以前超聲測(cè)距任務(wù)為例,:當(dāng)探測(cè)到前(后)方有障礙時(shí)從單片機(jī)就通過串口通信報(bào)告主單片機(jī)前(后)方有障礙。開中斷有回波?關(guān)中斷發(fā)射超聲波束開中斷超時(shí)?發(fā)送“有障礙”消息發(fā)送“無障礙”消息返回YNYN 超聲探測(cè)流程圖 超聲接收電路 超聲測(cè)距任務(wù)的軟件設(shè)計(jì)超聲測(cè)距任務(wù)放在從單片機(jī)上,由兩個(gè)任務(wù)組成:前超聲測(cè)距任務(wù)和后超聲測(cè)距任務(wù)。 超聲接收電路:前后兩個(gè)超聲波接收傳感器共用一個(gè)接收電路,因?yàn)榍昂髢陕肥欠謺r(shí)工作的,所以并不會(huì)引起混淆。:本設(shè)計(jì)中共有兩路超聲波傳感器,一路探測(cè)前方是否有障礙,一路探測(cè)后方是否有障礙。每次發(fā)10個(gè)周期的超聲波。 超聲發(fā)射電路發(fā)射電路要求能給出40KHz的方波,可以由硬件電路振蕩產(chǎn)生,也可以用軟件產(chǎn)生,本設(shè)計(jì)中采用軟件產(chǎn)生的方式。 超聲測(cè)距模塊的設(shè)計(jì) 超聲測(cè)距的理論依據(jù)發(fā)射傳感器接收傳感器超聲波回波障礙直接耦合 超聲測(cè)距原理圖超聲測(cè)距的依據(jù)是超聲波在空氣中以一定的速度ν傳播,遇到障礙后聲波反射回來,被超聲波接收傳感器檢測(cè)到,根據(jù)發(fā)射和接收到回波之間的時(shí)間差t就可以計(jì)算出障礙的距離,計(jì)算公式是:S=ν該模塊對(duì)外提供了以下幾個(gè)接口函數(shù):void licheng(void):里程檢測(cè)任務(wù)函數(shù),由定時(shí)器0的中斷處理函數(shù)調(diào)用,完成采樣和上升沿、下降沿的個(gè)數(shù)統(tǒng)計(jì);unsigned int getlicheng(void):獲取里程值函數(shù),單位為上升和下降沿的個(gè)數(shù),后輪每轉(zhuǎn)過1/8圈對(duì)應(yīng)一個(gè)上升或下降沿;unsigned int getlichenglimi(void):該函數(shù)也是獲取里程值,單位是厘米;void setlicheng(unsigned int lc):設(shè)置里程值函數(shù)。每次采樣的時(shí)候兼做沿的個(gè)數(shù)統(tǒng)計(jì),將總數(shù)存放在靜態(tài)變量li_cheng中,再乘上一個(gè)常數(shù)即是小車行駛的里程值。所以考慮用軟件的方法來消除抖動(dòng)。消抖的方法有多種,用硬件電路可以實(shí)現(xiàn)消抖功能,例如加一級(jí)施密特觸發(fā)器或加一級(jí)單穩(wěn)態(tài)觸發(fā)器都可以在一定程度上消除抖動(dòng)。 里程檢測(cè)模塊的設(shè)計(jì) 探頭的選型與安裝可以用這樣的思路來設(shè)計(jì)里程檢測(cè)模塊,在車軸上安裝一個(gè)圓盤,圓盤上均勻的開一些缺口,: 里程檢測(cè)遮光圓盤的設(shè)計(jì)車輪每轉(zhuǎn)過一圈圓盤將把紅外對(duì)管遮擋4次,小車勻速行駛時(shí)檢測(cè)電路輸出占空比為50%的方波。getspeed(),前進(jìn)時(shí)返回1;后退時(shí)返回1;停止時(shí)返回0。目前本模塊對(duì)其他模塊主要提供了以下幾個(gè)接口函數(shù)。而本設(shè)計(jì)中將后輪驅(qū)動(dòng)模塊也設(shè)計(jì)成一個(gè)單獨(dú)的任務(wù)是考慮到以后功能擴(kuò)展的方便。另外,改變方波的占空比可以實(shí)現(xiàn)對(duì)直流電機(jī)的調(diào)速,由于本設(shè)計(jì)中小車速度已調(diào)整到較低水平,所以無需再調(diào)速。為了控制直流電機(jī)的正反轉(zhuǎn)來實(shí)現(xiàn)小車的前進(jìn)和后退,采用了直流電機(jī)驅(qū)動(dòng)芯片L298N。因?yàn)橹绷麟姍C(jī)的轉(zhuǎn)速很高,所以必須加入齒輪箱進(jìn)行減速,減速后驅(qū)動(dòng)力變大,轉(zhuǎn)速降低。其他模塊可以調(diào)用函數(shù)setdegree()設(shè)置需要轉(zhuǎn)到的角度,然后由轉(zhuǎn)向任務(wù)負(fù)責(zé)轉(zhuǎn)到所指定的角度,在轉(zhuǎn)向期間,單片機(jī)可以做其他的事情;其他模塊還可以調(diào)用getnowdegree()取得當(dāng)前轉(zhuǎn)到的角度。當(dāng)控制信號(hào)的周期為40Hz左右時(shí),步進(jìn)電機(jī)工作在最佳狀態(tài)。 步進(jìn)電機(jī)驅(qū)動(dòng)芯片本設(shè)計(jì)中前輪的轉(zhuǎn)向電機(jī)是從廢棄的軟驅(qū)上拆卸下來的步進(jìn)電機(jī),體積小、性能好、使用方便,并且有專門的驅(qū)動(dòng)芯片。 前輪轉(zhuǎn)向中點(diǎn)校準(zhǔn)功能的設(shè)計(jì) 紅外對(duì)管檢測(cè)電路,在紅外發(fā)射管和接收管之間無遮擋時(shí),電壓比較器輸出低電平;當(dāng)之間有遮擋時(shí),電壓比較器輸出高電平。通過步進(jìn)電機(jī)來控制前輪轉(zhuǎn)到一定的角度,并且采用了一個(gè)遮擋型的紅外對(duì)管來檢測(cè)轉(zhuǎn)向的中點(diǎn),以便在開機(jī)時(shí)能自動(dòng)找到轉(zhuǎn)向的中點(diǎn)。其他模塊通過beep(n)函數(shù)設(shè)置靜態(tài)變量n_beep,告訴聲音提示模塊需要響n聲,大約50毫秒響一聲后自動(dòng)會(huì)將n_beep減去1,一直減到0后不再發(fā)聲。工作電流大約10mA,因此可以用P0口的某一位直接驅(qū)動(dòng)。此外,當(dāng)小車遇到障礙時(shí)也會(huì)給出聲音報(bào)警信號(hào)。這是挺有必要的,因?yàn)榧t外遙控方式并不是很可靠,有時(shí)操作者發(fā)出的遙控命令小車可能是收不到的,因此操作者幾乎處于“盲操作”狀態(tài)。返回熄滅狀態(tài)指示燈顯示模式是?顯示緩沖區(qū)置成時(shí)間顯示緩沖區(qū)置成里程數(shù)碼管段碼置成0,消除移位時(shí)的閃爍選通下一個(gè)數(shù)碼管閃爍處理鎖存段碼顯示個(gè)狀態(tài)指示燈時(shí)間模式里程模式用戶模式 顯示流程圖 聲音提示功能的設(shè)計(jì)和狀態(tài)指示燈的設(shè)計(jì)目的一樣,給小車加入聲音提示功能也是為了更直觀地顯示各種狀態(tài)。由定時(shí)器0中斷處理函數(shù)timer0()每隔4毫秒調(diào)用一次。同樣在4個(gè)數(shù)碼管掃描顯示的過程中也應(yīng)避免數(shù)碼管的閃爍。為了在74LS273鎖存數(shù)據(jù)時(shí)避免狀態(tài)指示燈的閃爍。鎖存P2口給出的段碼數(shù)據(jù)。 顯示模塊電原理圖: 顯示模塊原理圖顯示任務(wù)由主單片機(jī)完成。掃描顯示的原理是將各個(gè)數(shù)碼管的段碼端口分別并聯(lián)在一起,由位選端口輪流選通各個(gè)數(shù)碼管,并讓每個(gè)數(shù)碼管分別顯示幾毫秒,由于人眼的視覺慣性,看到的將是多個(gè)數(shù)碼管同時(shí)在顯示。對(duì)于多個(gè)數(shù)碼管的顯示,有靜態(tài)方式和動(dòng)態(tài)掃描方式。每一段相當(dāng)于一個(gè)發(fā)光二極管,各個(gè)發(fā)光二極管的陽(yáng)極或陰極接在一起,分別稱作共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。 遙控電路與語(yǔ)音識(shí)別模塊的連接語(yǔ)音識(shí)別模塊采用凌陽(yáng)61板,可以將SPCE061A單片機(jī)的輸出引腳直接接到TX2的輸入端,與按鍵實(shí)現(xiàn)“線與”功能,這樣遙控發(fā)射端的按鍵和凌陽(yáng)單片機(jī)都可以通過遙控電路給小車發(fā)送命令。另外,為了方便操作,將TX2的5路功能擴(kuò)展成9功能,即在遙控發(fā)射端可以接9個(gè)按鍵。 遙控發(fā)射原理圖 遙控發(fā)射端按鍵數(shù)目的擴(kuò)展 遙控接收電路圖。 遙控模塊原理圖。方案一,使用MC14502MC145027編解碼芯片,其特殊的編碼方式保證了信息的可靠傳輸,但是外圍器件參數(shù)的選定較為煩瑣,并且不能利用到其所提供的地址功能,也就是說傳輸?shù)男畔?dāng)中地址碼部分是多余的,這就降低了信道的利用率。 編解碼芯片的選型由于在遙控端的按鍵數(shù)目有多個(gè),而紅外通道傳輸?shù)闹荒苁怯?、1組成的串行代碼,所以需要在發(fā)射端對(duì)按鍵進(jìn)行“并串”編碼,在接收端相應(yīng)的要進(jìn)行“串并”解碼。鑒于本設(shè)計(jì)不需要遠(yuǎn)距離遙控,所以綜合考慮之下采用紅外遙控較為合適。在軟件方面通過對(duì)結(jié)構(gòu)的特殊設(shè)計(jì),基本上實(shí)現(xiàn)了多任務(wù)并發(fā)運(yùn)行,并且通過軟件的分層結(jié)構(gòu)將功能實(shí)現(xiàn)和具體的硬件分離開,再加上消息驅(qū)動(dòng)的結(jié)構(gòu),這將給后續(xù)的各模塊軟件的設(shè)計(jì)帶來方便。 case MSG_K_HOU: //“后退”按鍵消息處理 … break。有了這個(gè)消息搜集模塊后,主任務(wù)執(zhí)行的大部分時(shí)間就會(huì)停留在getmsg()函數(shù)內(nèi)等待消息,當(dāng)有按鍵命令或遇到障礙時(shí)返回消息值,主任務(wù)對(duì)其進(jìn)行相應(yīng)的處理。extern uchar imgetch(void)。在消息搜集模塊的頭文件中定義了如下若干個(gè)消息://消息的結(jié)構(gòu)為:高三位,消息分類碼,可以加快消息處理的速//度;低五位,消息值。所以為了簡(jiǎn)化編程,讓這些事件在主任務(wù)中能得到統(tǒng)一的處理,可以給這些事件編上號(hào),然后由一個(gè)消息搜集模塊去等待各種消息。在從單片機(jī)上有四個(gè)任務(wù):(1) 尋找光源方向任務(wù):該任務(wù)作為從單片機(jī)的背景任務(wù),由main()函數(shù)調(diào)用,然后一直循環(huán)的執(zhí)行;(2) 前超聲測(cè)障任務(wù):chaosheng_qian(),由從單片機(jī)的定時(shí)器中斷處理函數(shù)timer0()每隔64毫秒調(diào)用一次;(3) 后超聲測(cè)障任務(wù):chaosheng_hou(),每64毫秒調(diào)用一次,和chaosheng_qian()的調(diào)用相差32毫秒;(4) 旋轉(zhuǎn)機(jī)構(gòu)轉(zhuǎn)動(dòng)任務(wù):driver_dianji(),將尋找光源方向的轉(zhuǎn)動(dòng)機(jī)構(gòu)旋轉(zhuǎn)到指定的角度。此外,關(guān)于RAM的分配是在編譯的時(shí)候完成的,各個(gè)任務(wù)一般要用一些全局的靜態(tài)變量來標(biāo)識(shí)自身狀態(tài)。(2) 相應(yīng)的任務(wù)上、下文的保存與恢復(fù)也不是由任務(wù)調(diào)度器實(shí)現(xiàn)的,而是由C語(yǔ)言編譯器在函數(shù)調(diào)用時(shí)自動(dòng)保存與恢復(fù)了主任務(wù)的上、下文;其他的任務(wù)不用保存上、下文,每次進(jìn)入執(zhí)行都是從相應(yīng)函數(shù)的第一行開始,寄存器值也不用保存。0x0f))gw_dianji()。0x1f))licheng()。0x0f))dianji()。//每4毫秒調(diào)用一次顯示任務(wù) led_disp()。amp。 ++。 if(++9) { =0。 //維護(hù)系統(tǒng)時(shí)間 +=4。 //記錄系統(tǒng)時(shí)間的全局變量void timer0(void) interrupt 1{ //重裝定時(shí)器0的計(jì)數(shù)初值 TH0=(65536TIME_OVERLOAD)/256。 //分鐘數(shù),0255}TIME。 //100毫秒數(shù)09 uchar t_sec。以下是定時(shí)器0中斷處理函數(shù)的程序清單:///////////////////////////////////////////////////////定時(shí)器0中斷處理函數(shù)//每4毫秒中斷一次//產(chǎn)生時(shí)鐘節(jié)拍//負(fù)責(zé)維護(hù)一個(gè)系統(tǒng)時(shí)間變量和任務(wù)調(diào)度/////////////////////////////////////////////////////define TIME_OVERLOAD 3960 //定時(shí)器計(jì)數(shù)初值//記錄時(shí)間的結(jié)構(gòu)的定義typedef struct{ uchar t_ms。靜態(tài)變量保存該任務(wù)的各種狀態(tài),并且其他模塊和該系統(tǒng)復(fù)位初始化主任務(wù)設(shè)計(jì)成無限循環(huán)結(jié)構(gòu)定時(shí)器0中斷處理函數(shù)任務(wù)1任務(wù)2任務(wù)3任務(wù)n 多任務(wù)結(jié)構(gòu)示意圖任務(wù)進(jìn)行通信也是通過置取這些靜態(tài)變量來實(shí)現(xiàn)的。還有一點(diǎn)需要說明,就是各個(gè)任務(wù)是由一些函數(shù)和一些靜態(tài)變量組成。簡(jiǎn)單的說,一般的多任務(wù)系統(tǒng)是任務(wù)調(diào)度器循環(huán)的調(diào)用各個(gè)需要執(zhí)行的任務(wù),進(jìn)而可以更有效的利用系統(tǒng)的各種資源。為了充分利用單片機(jī)的CPU,內(nèi)存等資源,本系統(tǒng)中引入了多任務(wù)的軟件結(jié)構(gòu),即從宏觀上來看單片機(jī)同時(shí)在做多件事情。:軟件的分層結(jié)構(gòu)是很多系統(tǒng)中普遍采用的一種軟件結(jié)構(gòu),比如TCP/IP協(xié)議就是一種典型的分層結(jié)構(gòu)。硬件驅(qū)動(dòng)層的軟件負(fù)責(zé)直接操作硬件,并且給上層的軟件提供一定的接口,這樣有助于上層的軟件實(shí)現(xiàn)更復(fù)雜的功能,并且系統(tǒng)的硬件有所改動(dòng)時(shí)也只需改動(dòng)相應(yīng)的驅(qū)動(dòng)模塊即可。簽于本系統(tǒng)采用AT89C52單片機(jī)為控制器,本身的各種資源都很有限,引入一個(gè)操作系統(tǒng)代價(jià)太大,所以考慮直接來優(yōu)化系統(tǒng)的軟件結(jié)構(gòu),同樣可以達(dá)到“多任務(wù)”、“實(shí)時(shí)”等要求。:按鍵主控單片機(jī)從單片機(jī)遙控接收顯示模塊里程檢測(cè)路線記錄漏粉控制前輪轉(zhuǎn)向超聲探測(cè)障礙光源方向探測(cè)后輪驅(qū)動(dòng)串行通信遙控發(fā)射語(yǔ)音識(shí)別 系統(tǒng)原理框圖軟件在一個(gè)智能系統(tǒng)中扮演著舉足輕重的作用,軟件設(shè)計(jì)的好壞直接關(guān)系著整個(gè)系統(tǒng)的性能。本設(shè)計(jì)中采用了兩片AT89C52單片機(jī),通過串行接口通信。所謂主從式結(jié)構(gòu)是指從單片機(jī)片機(jī)根據(jù)主單片機(jī)發(fā)出的命令來完成某項(xiàng)功能,并且把結(jié)果報(bào)告給主單片機(jī),這樣的結(jié)構(gòu)在某種程度上可以簡(jiǎn)化系統(tǒng)。由于系統(tǒng)需要完成的功能較多,CPU的負(fù)荷也較重,再加之單片機(jī)內(nèi)的定時(shí)器/計(jì)數(shù)器、中斷、I/O口等資源有限,如果選用一片單片機(jī)必將會(huì)給系統(tǒng)的設(shè)計(jì)帶來一些困難。有些模塊的功能是由硬件完成,有些模塊的功能由軟、硬件配合完成,有些模塊則是由軟件、硬件、機(jī)械三部分共
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1