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

正文內(nèi)容

汽車倒車測距儀畢業(yè)設(shè)計論文-資料下載頁

2024-12-03 15:38本頁面

【導(dǎo)讀】隨著社會經(jīng)濟(jì)的發(fā)展,交通運(yùn)輸業(yè)日益興旺,汽車的數(shù)量在大幅攀升,交通擁擠狀況也日趨嚴(yán)重,撞車事件屢屢發(fā)生,造成了不可避免的人身傷亡和經(jīng)濟(jì)損失,針對這種情況,設(shè)計一種響應(yīng)快,可靠性高且較為經(jīng)濟(jì)的汽車防撞預(yù)警系統(tǒng)勢在必行。本文介紹了一種基于80C51單片機(jī)控制的汽車倒車測距儀。采用超聲波測距技術(shù)與單片機(jī)技術(shù)相結(jié)合,利用超聲波傳輸中距離和時間的關(guān)系運(yùn)算,80C51單片機(jī)計算出車后的障礙物與汽車尾部的距離,并通過數(shù)碼顯示車后的障礙物與汽車尾部的距離遠(yuǎn)近,實時發(fā)出報警信號,使駕駛員能時刻了解倒車時車后的環(huán)境并采取積極有效措施,從而大大提高了駕駛的安全性。本設(shè)計通過對各模塊的硬件和軟件的設(shè)計,基本能夠達(dá)到設(shè)計要求,滿足汽車倒車安全指標(biāo)。有鑒于此,汽車產(chǎn)品家族中,專為倒車泊車而設(shè)計的“倒車測距儀”應(yīng)運(yùn)而生。倒車測距儀的加裝可以解決駕駛?cè)藛T的后顧之憂,大大降低倒車事故的發(fā)生。

  

【正文】 的畢業(yè)設(shè)計過程中給予我很大的幫助,在軟件設(shè)計出現(xiàn)問題時,幫助我分析原因,不斷調(diào)試,解決了在系統(tǒng)軟件設(shè)計時遇到的許多問題。本次畢業(yè)設(shè)計已至尾聲。由于實際設(shè)計經(jīng)驗的匱乏,在許多地方難免有考慮不周全的,如果沒有XXX老師的指導(dǎo)和督促,以及其他老師和同學(xué)的幫助和支持,完成這個設(shè)計是有一定的難度的。所以要感謝所有給我授過課的老師,無論是基礎(chǔ)課老師還是專業(yè)課老師都表示深深謝意。 最后,再次感謝所有幫助過我的老師和同學(xué)。 附錄1 單片機(jī)整體電路原理圖 附錄2 超聲波測距模塊原理圖附錄3 程序清單include //包括一個52標(biāo)準(zhǔn)內(nèi)核的頭文件define uchar unsigned char //定義一下方便使用define uint unsigned intdefine ulong unsigned longsbit Trig = P1^0。 //產(chǎn)生脈沖引腳sbit Echo = P3^2。 //回波引腳sbit kai=P1^3。sbit wei1=P1^4。sbit wei2=P1^5。sbit wei3=P1^6。sbit wei4=P1^7。sbit sp=P3^7。uchar ge,shi,bai,qian,temp,flag,outeH,outeL,i,a,la。 //自定義寄存器bit succeed_flag。 //測量成功標(biāo)志//********函數(shù)聲明void conversion(uint temp_data)。void delay_20us()。uchar code table[]={ 0x44,0xde,0x62,0x52,0xd8, 0x51,0x41,0xd6,0x40,0x50, 0xbf,0xc8}。void delay(uint z){ uint x,y。 for (x=z。x0。x) for (y=110。y0。y)。} void keyscan(){ if (wei1==0) { delay(5)。 if (wei1==0) { if (a==0) a=1。 else if (a==1) a=0。 } while (!wei1)。 delay(5)。 while (!wei1)。 }}void warn(){ if (bai=3amp。amp。shi=0amp。amp。ge=0) sp=1。 if (bai3amp。amp。bai0) { sp=0。 delay(1000)。 sp=1。 } if (bai==0) { sp=0。 //delay1(10)。 //beep=1。 }}void display(uint ge,uint shi,uint bai,uint qian){ wei1=0。 P2=table[qian]。 wei1=1。 P2=0xff。 delay(5)。 wei2=0。 P2=table[bai]。 wei2=1。 P2=0xff。 delay(5)。 wei3=0。 P2=table[shi]。 wei3=1。 P2=0xff。 delay(5)。 wei4=0。 P2=table[ge]。 wei4=1。 P2=0xff。 delay(5)。 }void chaoshengbo(){ uint distance_data,a,b。 uchar CONT_1。 i=0。 flag=0。 Trig=0。 //首先拉低脈沖輸入引腳 EA=0。 Trig=1。 delay_20us()。 Trig=0。 //產(chǎn)生一個20us的脈沖,在Trig引腳 while(Echo==0)。 //等待Echo回波引腳變高電平 //succeed_flag=0。 //清測量成功標(biāo)志 EX0=1。 //打開外部中斷 TH1=0。 //定時器1清零 TL1=0。 //定時器1清零 TF1=0。 // TR1=1。 //啟動定時器1 EA=1。 while(TH1 30)。//等待測量的結(jié)果,(可用中斷實現(xiàn)) TR1=0。 //關(guān)閉定時器1 EX0=0。 //關(guān)閉外部中斷 if(succeed_flag==1) { distance_data=outeH。 //測量結(jié)果的高8位 distance_data=8。 //放入16位的高8位 distance_data=distance_data|outeL。//與低8位合并成為16位結(jié)果數(shù)據(jù) distance_data*=12。 //因為定時器默認(rèn)為12分頻 distance_data/=59。 //微秒的單位除以59等于厘米 } //為什么除以59等于厘米, Y米=(X秒*340)/2 // X秒=( 2*Y米)/340 ==》X秒=*Y米 ==》厘米=微秒/59 if(succeed_flag==0) { distance_data=0。 //沒有回波則清零 } a=distance_data。 if(b==a) CONT_1=0。 if(b!=a) CONT_1++。 if(CONT_1=3) { CONT_1=0。 b=a。 conversion(b)。 } }void main(void) // 主程序{ uint la=0。 Trig=0。 //首先拉低脈沖輸入引腳 TMOD=0x11。 //定時器0,定時器1,16位工作方式 TR0=1。 //啟動定時器0 IT0=0。 //由高電平變低電平,觸發(fā)外部中斷 ET0=1。 //打開定時器0中斷 ET1=1。 //打開定時器1中斷 EX0=0。 //關(guān)閉外部中斷 EA=1。 //打開總中斷0 kai=0。 ge=0。 shi=0。 bai=0。 while(1) //程序循環(huán) { keyscan()。 if (a==1) { chaoshengbo()。 for(la = 0。 la 30。 la++) { display(ge,shi,bai,qian)。 } warn()。 } }}//外部中斷0,用做判斷回波電平INTO_() interrupt 0 // 外部中斷是0號 { outeH =TH1。 //取出定時器的值 outeL =TL1。 //取出定時器的值 succeed_flag=1。 //至成功測量的標(biāo)志 EX0=0。 //關(guān)閉外部中斷 }//定時器0中斷,用做顯示timer0() interrupt 1 // 定時器0中斷是1號 { TH0=0。 //寫入定時器0初始值 TL0=0。 }//定時器1中斷,用做超聲波測距計時timer1() interrupt 3 // 定時器0中斷是1號 { TH1=0。 TL1=0。 }//顯示數(shù)據(jù)轉(zhuǎn)換程序void conversion(uint temp_data) { uchar ge_data,shi_data,bai_data,qian_data。 qian_data=temp_data/1000。 temp_data=temp_data%1000。 bai_data=temp_data/100 。 temp_data=temp_data%100。 //取余運(yùn)算 shi_data=temp_data/10 。 temp_data=temp_data%10。 //取余運(yùn)算 ge_data=temp_data。 EA=0。 qian=qian_data。 bai = bai_data。 shi = shi_data。 ge = ge_data 。 EA=1。 }void delay_20us() { uchar bt 。 for(bt=0。bt100。bt++)。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1