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

正文內容

基于單片機的超聲波測距系統(tǒng)實現-資料下載頁

2024-12-06 02:19本頁面

【導讀】等惡劣條件下,測量距離存在不可克服的缺陷,超聲波測距能很好的解決此類的問題。設計;對系統(tǒng)進行誤差分析。單片機應用系統(tǒng)概述……………本設計任務主要內容……………超聲波的基本理論……………………DS18B20溫度采集程序………………Altiumdesigner原理圖的繪制…………………

  

【正文】 35 t = 8。 t = t | a。 //字節(jié)合并 return (t)。 //返回結果給調用 } 距離計算程序 距離計算中,實行了溫度補償和夾角補償。程序如下: /**************************************** 距離計算函數 ****************************************/ void puter(void) //距離計算函數 { float c,d,s。 uint t。 if(temp0x8000) //溫度大于 0 c=+*temp*。 else //溫度小于 0 c=*temp*。 t=jsh*256+jsl120。 //計數時間 d=(c*t*)/2。 d*=d。 //直角三角形勾股定理 電子與電氣工程系畢業(yè)設計論文 36 s=。 //補償 distance=sqrt(s)。 //開方運算 } 數據轉換程序 經過求的數據原碼無法直接用于顯示,必須轉換為 LCD 所接受的 BCD 碼的形式,而且在溫度補償和距離計算中沒有考慮小數點的存在,而實際顯示必須考慮小數和有效位數,這樣就必須對數據進行取舍。 /************************************** 數據轉換函數 **************************************/ void hextobcd(void) //轉化成 2進制 { float tp。 unsigned long int tmp。 fuhao=0。 if(temp0x8000) tp=temp*。 else //溫度小于 0,求補碼得到原碼 { bm()。 tp=temp*。 fuhao=1。 電子與電氣工程系畢業(yè)設計論文 37 } tp*=10。 tmp=tp。 num[12]=tmp/100。 //數據轉換后放到顯示數組里面 if(fuhao) num[12]=num[12]|0x80。 //最高位加上負號 num[13]=tmp/10(tmp/100)*10。 tmp=distance。 num[25]=tmp/1000。 tmp%=1000。 num[26]=tmp/100。 tmp%=100。 num[27]=tmp/10。 tmp%=10。 num[28]=tmp/1。 } LCD 顯示程序 LCD 液晶顯示程序分為液晶初始化、讀忙、寫指令和寫數據操作,液晶顯示器是一塊慢器件,所以在執(zhí)行每條指令之前必須確定模塊忙標志為低電平(不 電子與電氣工程系畢業(yè)設計論文 38 忙),否側此指令無效。液晶顯示程序如下: /************************************ LCD 顯示函數 **************************************/ void display(void) { { uchar a,b,d。 //Init_LCD()。 Write_Comm(0x01)。//清顯示 Write_Comm(0x80)。//寫首地址 for(a=0。a16。a++) { d=dispbuf[a]。 if((a11)amp。amp。(a14)) { d=numcode[num[a]]。 //待顯示的結果 } if(14==a) { d=0xdf。 } 電子與電氣工程系畢業(yè)設計論文 39 Write_Data(d)。 //寫入要顯示的數據 } Write_Comm(0xc0)。 //換行,換到第二行 for(b=16。b33。b++) { d=dispbuf[b]。 if((b24)amp。amp。(b29)) { d=numcode[num[b]]。 } Write_Data(d)。 } } } LCD 是一個慢顯示器件,所以在寫入數據前必須確定 LCD 處在不忙的狀態(tài)。下面的函數是判讀 LCD 是否為忙狀態(tài)。 void Read_Busy(void)//讀忙信號判斷 { do{ Lcd_Data = 0xff。 RS = 0。 RW = 1。 電子與電氣工程系畢業(yè)設計論文 40 E = 0。 delay()。 E = 1。 }while(Busy)。 } /*********************寫入指令函數 ****************************/ void Write_Comm(uchar lcdm) { Lcd_Data = lcdm。 RS = 0。 RW = 0。 E = 0。 Read_Busy()。 E = 1。 } /*********************寫入數據函數 ****************************/ void Write_Data(uchar lcddata) { Lcd_Data = lcddata。 RS = 1。 RW = 0。 電子與電氣工程系畢業(yè)設計論文 41 E = 0。 Read_Busy()。 E = 1。 } /**********************LCD 的初始化 ***************************/ void Init_LCD(void) { delay()。 //稍微延時,等待 LCD 進入工作狀態(tài) Write_Comm(0x01)。//清顯示 // Write_Comm(0x02)。//光標歸位 Write_Comm(0x38)。//8位 2行 5*8 Write_Comm(0x06)。//文字不動,光標右移 Write_Comm(0x0c)。//顯示開 /關,光標開閃爍開 // Write_Comm(0x18)。//左移 } 在程序中,我們將測量的各種結果存放到一個數組 num[]中,然后通過這個數組的數據到預先存放字符的數組中去按 num[]中的數據的順序去讀取出預存在 numcode[]中的字符然后送到 LCD 中顯示,注意 LCD 的顯示必須做一系列的 初始化和忙標志的判讀操作。 電子與電氣工程系畢業(yè)設計論文 42 基于 Proteus 的軟件仿真 Proteus 是一款功能強大的軟件,其 ISIS 用來做仿真十分方便,尤其是單片機系統(tǒng)的仿真,我們在本設計的開發(fā)初期,用 Proteus 來仿真我們的設計,以便驗證我們的設計,對設計的正確性做出分析。首先在軟件中找到我們設計用的元件,然后連接好電路圖,設置好各個元件的參數值,特別注意液晶顯示屏的連接需要接上拉電阻。 圖 Proteus 仿真 用 Proteus 繪制好電路圖后導入程序文 件(用 Keil 編譯過后的 HEX 文件),然后就可以執(zhí)行仿真,我們在仿真的時候 ,由于在軟件中沒有 CX20216模型,所以 ,則程序開始就認為返回信號獲得了,所以顯示了一個最小測量值 111mm,而溫度為 18176。 C,通過調節(jié)DS18B20模型的溫度可以測試顯示溫度是否正確,從圖中可以看出顯示的溫度就是 DS18B20的預設溫度值。下面我們在來看看 生。由于是頻率比較高的信號( 40KHz),所以不能通過二極管來觀察到,所以在仿真的時候 的是低電平狀態(tài),這時必須用示波器來查看,如圖: 電子與電氣工程系畢業(yè)設計論文 43 圖 波形 從上圖看出, ,由于軟件是間隔 60MS 發(fā)送一次 40KHz的信號,所以可以看到這樣的尖脈沖信號產生。軟件仿真說明我們的軟件設計非常成功。 電子與電氣工程系畢業(yè)設計論文 44 第五章 PCB 設計 軟件和硬件設計完成后就可以開始制作樣機,首先是元件的選擇,通過找資料和比較,本設計采用 Atmel 公司的 AT89S52單片機,液晶顯示采用 YB1602A;超聲波發(fā)送采用 TI 公司的 74F04,接收采用索尼公司的紅外接收芯片 CX20216,超聲波發(fā)射接收頭采用 40T, 40R。電源采用 LM7805穩(wěn)壓。溫度傳感器采用DALLS 公司的 : 圖 DALLS 的 DS18B20 電子與電氣工程系畢業(yè)設計論文 45 Altium Designer 原理圖的繪制 Altium Desinger6是 Protel 的最新高端版本,其功能強大,集成原理圖設計,PCB 設計,信號完整性分析, SPICE 仿真, FPGA 設計等。 Altium dedsigner6操作更加容易,功 能更加完善。我們采用它來做我們的原理圖和 PCB 設計。首先繪制原理圖。 繪制原理圖時注意:連線簡潔,在同一圖紙上元件線路多則使用網絡標號來表示, 而多張圖紙使用端口 Port 來連接他們: 連線要清楚的表示連接關系,當連接線路比較多而且集中時可以使用總線 來連接它們。繪制完成后對所有元件做一個編號操作和編譯檢查。 元件封裝的建立 在繪制完成原理圖后接下來就是確定元件的封裝。元件的封裝必須按照元件實務來確定其大小,比如焊盤大小、外輪廓的大小等,繪制封裝過程中注意焊盤 必須設置成多層上,元件的外輪廓繪 制在 Top OverLay,通常第一焊盤設置成方形。建立之后必須和原理圖元件關聯起來。一些典型的元件封裝如下: 圖 典型元件封裝 電子與電氣工程系畢業(yè)設計論文 46 PCB 的電磁兼容設計 電磁兼容是指系統(tǒng)能在規(guī)定的電磁環(huán)境中正常工作而且不對該環(huán)境中其他設備產生過量的電磁干擾。為了提高系統(tǒng)的電磁兼容能力,必須從設計初始開始就對電磁兼容給予足夠的重視,電磁兼容可以從 3個要素考慮 .即電磁干擾源、電磁干擾可能的傳播途徑、極易接收電磁干擾的敏感器件很電路入手。在 PCB設計中基本的原則如下: 1 抑制干擾源 (1) 繼電器線圈加續(xù)流二極管,消除斷開線圈時的反電動勢干擾。 (2) 大電流機械開關處并接火花抑制電路(一般為 RC 串聯電路, R 一般選擇幾千歐到幾十千歐,電容選擇 )。 ( 3)給電機加濾波電路,電容電感引線要盡量短。 ( 4)電路板上每個 IC 并接一個 ~ F? 的高頻電容,減小 IC 對電源的影響。高頻電容布線盡量靠近電源并且粗短。 ( 5)避免布線時走 90176。折線,盡量使用弧線或者 45176。折現布線,以減少高頻噪聲的輻射。 2 切 斷干擾傳播途徑 ( 1)設計時充分考慮電源對單片機的影響。需要給單片機電源加濾波電容和穩(wěn)壓器,減小電源噪聲對單片機的影響。 ( 2)如果單片機 I/O 口控制電機等噪聲設備,在 I/O 口與噪聲源處必須加隔離。 ( 3)晶振布線要盡量靠近單片機引腳,用地線把時鐘區(qū)隔離起來、晶振外殼接地并固定。 ( 4)電路板合理分區(qū),劃分
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1