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

正文內容

論文汽車倒車超聲波報警器的畢業(yè)設計-資料下載頁

2025-05-19 10:08本頁面

【導讀】題目《汽車倒車超聲波報警器的設計與實現》。本科畢業(yè)論文(設計)

  

【正文】 白 ,華成英 .模擬電子技術基礎(第四版 )[M].北京:高等教育出版社, ~59 [14] 俞志根 .傳感器與檢測技術 (第二版 )[M].北京:科學出版社, ~ 85 [15] ARM Limited. CortexM3 Technical Reference . [16] NXP Limited. UM10360 LPC17xx User manual().20xx. 本科畢業(yè)論文(設計) 22 附錄 程序代碼 include include define uchar unsigned char define uint unsigned int define ulong unsigned long define led P0//數據端口 void convert(uint dat)。//數據轉換函數聲明 sbit trig=P2^6。sbit echo=P2^7。 ulong time=0。//超聲波往返的時間 uchar timer=0。//400ms 定時 ulong S=0。//距離值 bit flag=0。//溢出標記 bit flag1=0。 uchar code display[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff,0x7f}。 //數碼管驅動信號 09, ,滅 ,點 sbit wei4=P2^5。sbit wei3=P2^4。sbit wei2=P2^3。sbit wei1=P2^2。//數碼管位選 sbit s2=P1^2。sbit s3=P1^3。sbit s4=P1^4。//s2 加, s3 減, s4 確定, s1 設置 sbit alarm=P1^0。 sbit red=P2^1。sbit green=P2^0。 uchar buf[4]={0,0,0,0}。//數碼管顯示數據緩存 ,高 低 uint up=100。down=50。//上下限初始值 void delay1m(uint x) { uint i,j。 for(i=0。ix。i++) //連數 x次,約 x ms for(j=0。j120。j++)。 //數 120 次,約 1 ms } /********************************************************/ void scan() //掃描數碼管 { wei4=wei3=wei2=1。wei1=0。led=display[buf[3]]。delay1m(4)。 wei4=wei3=wei1=1。wei2=0。led=display[buf[2]]amp。0x7f。delay1m(4)。 wei4=wei1=wei2=1。wei3=0。led=display[buf[1]]。delay1m(4)。 wei1=wei3=wei2=1。wei4=0。led=display[buf[0]]。delay1m(4)。 } /********************************************************/ void Conut()//計算出距離值 { if(flag1==0){flag1=1。buf[0]=buf[1]=buf[2]=buf[3]=11。} else if(flag1==1) 本科畢業(yè)論文(設計) 23 { time=TH0*256+TL0。 TH0=0。TL0=0。 S=(ulong)(time*175)/1000。 //算出來是 cm*10,擴大 10 倍方便顯示 if((S5000)||flag==1) //超出測量范圍或溢出測量失敗顯示“ ” { flag=0。 buf[0]=buf[1]=buf[2]=buf[3]=10。 } else { buf[0]=S/1000。if(buf[0]==0){buf[0]=11。} buf[1]=S/100%10。if((buf[0]==11)amp。amp。(buf[1]==0)){buf[1]=11。} buf[2]=S/10%10。 buf[3]=S%10。 } } } /********************************************************/ void time0_interrupt() interrupt 1 //T0 中斷用來計數器溢出 ,超過測距范圍 { flag=1。//中斷溢出標 志 } /********************************************************/ void time1_interrupt() interrupt 3 //T1 中斷用來掃描數碼管和計 400ms 啟動模塊 { static num=1。//數碼管掃描用變量 TH1=(655354000)/256。//定時 4ms TL1=(655354000)%256。 switch(num) { case 1:led=0xff。wei4=wei3=wei2=1。wei1=0。led=display[buf[3]]。break。 case 2:led=0xff。wei4=wei3=wei1=1。wei2=0。if(buf[2]!=10){led=display[buf[2]]amp。0x7f。}else{led=display[buf[2]]。}break。 case 3:led=0xff。wei4=wei1=wei2=1。wei3=0。led=display[buf[1]]。break。 case 4:led=0xff。wei1=wei3=wei2=1。wei4=0。led=display[buf[0]]。break。 default:break。 } num++。if(num4){num=1。} timer++。 if(timer=100) //400ms 啟動一次模塊 { timer=0。 本科畢業(yè)論文(設計) 24 trig=1。 _nop_()。_nop_()。_nop_()。_nop_()。 _nop_()。_nop_()。_nop_()。_nop_()。 _nop_()。_nop_()。_nop_()。_nop_()。 //大于 10us 的高電平 _nop_()。_nop_()。_nop_()。_nop_()。 trig=0。 } } /***********************************************************************主函數****************************************************/ void main() { TMOD=0x11。 //設 T0,T1 均為方式 1 TH0=0。TL0=0。 TH1=(655354000)/256。//定時 4ms TL1=(655354000)%256。 ET0=ET1=TR1=EX0=EA=1。 //允許 T0, T1 中斷 ,開啟總中斷 IT0=1。PX0 = 1。//外中斷 0 優(yōu)先 trig=0。echo=0。 up*=10。down*=10。//擴大 10 倍方便顯示 while(1) { while(!echo)。 //當 echo 為低電平時等待 TR0=1。 //echo=1 時 ,即收到回響信號開啟計數 while(echo)。 //當 echo 為高電平,計數并等待 TR0=0。 //關閉計數 Conut()。 //計算距離值 if(((S0)amp。amp。(S=5000))amp。amp。(flag!=1)amp。amp。(flag1==1))//距離沒有超出,時間沒有溢出 { if(Sup){alarm=red=0。green=1。} else if(Sdown){alarm=green=0。red=1。} else if((S=up)amp。amp。(S=down)){alarm=1。red=green=1。} } else{red=green=alarm=1。} } } //====================================== 距 離 上 下 限 報 警 值 調 整 函 數============================== void extern0()interrupt 0 { TR0=TR1=0。TH0=TL0=0。red=green=alarm=1。 convert(up)。 do 本科畢業(yè)論文(設計) 25 { scan()。 if(!s2)//加 { delay1m(3)。 if(!s2) { up++。 if(up20xx){up=1000。} while(!s2)。 convert(up)。 } } else if(!s3)//減 { delay1m(3)。 if(!s3) { up。 if(updown){up=1000。} while(!s3)。 convert(up)。 } } }while(s4)。//確定 alarm=0。delay1m(500)。alarm=1。//蜂鳴器響一聲 convert(down)。 do { scan()。 if(!s2)//加 { delay1m(3)。 if(!s2) { down++。 if(downup){down=500。} while(!s2)。 convert(down)。 } } else if(!s3)//減 { delay1m(3)。 本科畢業(yè)論文(設計) 26 if(!s3) { down。 if(down100){down=500。} while(!s3)。 convert(down)。 } } }while(s4)。//確定 TR0=TR1=1。//開啟測距,計時 } //============================================== 數 據 轉 換 函 數========================================================== void convert(uint dat) { buf[0]=dat/1000。if(buf[0]==0){buf[0]=11。} buf[1]=dat/100%10。if((buf[0]==11)amp。amp。(buf[1]==0)){buf[1]=11。} buf[2]=dat/10%10。 buf[3]=dat%10。 } 本科畢業(yè)論文(設計) 27 致 謝 經過幾個月的努力,畢業(yè)設計基本完成了。在畢業(yè)設計的實踐中,學到很多有 用的知識,也積累了寶貴的經驗。 在此要特別感謝 馮卡門老師,在做設計期間得到老師的精心指導,他 對我們要求非常嚴格。畢業(yè)設計的順利完成離不開老師的幫助的。同時感謝身邊的同學,他們?yōu)槲姨峁┝撕芏鄬氋F的資料。本次畢業(yè)設計自始至終在他們的指導和幫助下完成的 ,在此再一次向他們致以深深的敬意和感謝 ! 由于本人能力有限,系統(tǒng)中仍然有很多方面需要改進。希望各位老師給予指正。同時感謝母校對我四年來的教育和關心,在這里我不僅學到了專業(yè)知識,還學到了很多做人的道理。使我明確了以后的方向,樹立了良好的價值觀,在這里學到的一切都使我終 身受益。 再次衷心感謝所有關心和幫助過我的老師和同學,謝謝你們 !
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1