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

正文內(nèi)容

畢業(yè)設(shè)計基于單片機的超聲波測距系統(tǒng)實現(xiàn)-閱讀頁

2024-12-23 18:00本頁面
  

【正文】 , LM7805引腳排列和典型應用如下圖: 圖 LM7805引腳和典型應用 云南機電職業(yè)技術(shù)學院 電氣工程系 —— 電氣自動 化技術(shù) 25 圖 LM7805內(nèi)部結(jié)構(gòu)圖 云南機電職業(yè)技術(shù)學院 電氣工程系 —— 電氣自動 化技術(shù) 26 表 LM7805電氣參數(shù) 本設(shè)計電源電路如下: 圖 電源電路 輸入電壓( 21V)經(jīng)過 7805的穩(wěn)壓輸出 +5V 的電壓,圖中的 IN4007為保護 7805,防止電源極性接反損壞 7805,濾波電容采用 100uF 電解和 104瓷片電容并聯(lián)使用,電磁兼容的實踐證明,兩個差 100倍的電容并聯(lián)使用效果很好。 (5)主程序,分為系統(tǒng)初始化、按鍵處理以及各個子程序的調(diào)度管理等部分。 (3)按鍵 S 為測量啟動鍵; (4)系統(tǒng)采用 90C52RD+的內(nèi)時鐘: 12MHz; (5)沒有使用看門狗功能; (6)超聲波發(fā)送一定時間后才開始啟動檢測,避免直達信號造成誤判。 for(i=0。i++) for(j=0。j++)。 //初始化 display()。 //標準復位 waitforstarting: //檢測按鍵 while(START)。i20。 if(START) goto waitforstarting。 //蜂鳴器鳴音一次提示按鍵按下 i=100000。 BUZZER=1。 while(i)。 //啟動定時器 0 ET0=1。 //啟動溫度轉(zhuǎn)換 while(1) { if(sta_flag) //60MS 到了,超聲波已經(jīng)發(fā)送 { while(0==CSBIN)。 jsh=TH1。 if(15==count) //1S 到,檢測溫度 { temp=wd()。 testtemp()。 //刷新顯示 } puter()。 //轉(zhuǎn)化成 BCD 碼 云南機電職業(yè)技術(shù)學院 電氣工程系 —— 電氣自動 化技術(shù) 31 sta_flag=0。 for(i=0。i++) //顯示清零 { num[i]=0。 TH0=0x15。 P0=0。 //超聲波發(fā)送關(guān)閉 CSBIN=1。 //開放總中斷 Init_LCD()。 TL0=0xA0。 TL1=0。 //標志置為 1 count++。 //開始發(fā)送超聲波 40KHz _nop_()。 CNT=1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 TR1=1。 //延時避開直達信號 } 超聲波的接收和處理 超聲波由超聲波接收頭接收,經(jīng)過 CX20216檢波放大變換后送到單片機的 ,程序中通過指令: Wile(0==CSBIN); 來查詢,接收到超聲波信號后往下面執(zhí)行,進行計算處理。 DS18B20溫度采集程序 DS18B20的工作流程是 ,初始化 ? ROM 操作指令 ? 存儲器操作指令 ? 數(shù)據(jù)傳輸。 (1)DS18B20的初始化 云南機電職業(yè)技術(shù)學院 電氣工程系 —— 電氣自動 化技術(shù) 34 DS18B20的初始化的實質(zhì)是使 DS18B20復位,主要是通過判斷存在脈沖的形式來實現(xiàn)的。 /************************************* DS18B20復位函數(shù) **************************************/ void Init_18B20(void)//初始化 18B20 { DQ = 1。 DQ = 0。 //480us DQ = 1。 //稍做延時后 如果 x=0則初始化成功 x=1則初始化失敗 if(DQ) flag=0。 Delay(20)。寫入程序如下: /********************字節(jié)寫入函數(shù) *****************************/ void WriteOneChar(unsigned char dat)//寫一個字節(jié) { unsigned char i = 0。 i 0。 DQ = datamp。 //寫入命令 Delay(5)。 dat=1。 uchar dat = 0。 i 0。 // 給脈沖信號 dat = 1。 // 給脈沖信號 if(DQ) dat |= 0x80。 } return (dat)。 云南機電職業(yè)技術(shù)學院 電氣工程系 —— 電氣自動 化技術(shù) 37 (4)DS18B20溫度讀取函數(shù) /*****************讀取溫度函數(shù) *******************/ uint wd(void) { unsigned int a = 0, b = 0, t = 0。 //初始化 DS18B20 WriteOneChar(0xCC)。 //讀取溫度寄存器 a = ReadOneChar()。 t = b。 t = t | a。 //返回結(jié)果給調(diào)用 } 距離計算程序 距離計算中,實行了溫度補償和夾角補償。 uint t。 else //溫度小于 0 c=*temp*。 //計數(shù)時間 d=(c*t*)/2。 //直角三角形勾股定理 s=。 //開方運算 } 數(shù)據(jù)轉(zhuǎn)換程序 經(jīng)過求的數(shù)據(jù)原碼無法直接用于顯示,必須轉(zhuǎn)換為 LCD 所接受的 BCD 碼的形式,而且在溫度補償和距離計算中沒有考慮小數(shù)點的存在,而實 際顯示必須考慮小數(shù)和有效位數(shù),這樣就必須對數(shù)據(jù)進行取舍。 unsigned long int tmp。 if(temp0x8000) tp=temp*。 tp=temp*。 } tp*=10。 num[12]=tmp/100。 //最高位加上負號 num[13]=tmp/10(tmp/100)*10。 num[25]=tmp/1000。 num[26]=tmp/100。 num[27]=tmp/10。 num[28]=tmp/1。液晶顯示程序如下: /************************************ LCD 顯示函數(shù) **************************************/ void display(void) { { uchar a,b,d。 云南機電職業(yè)技術(shù)學院 電氣工程系 —— 電氣自動 化技術(shù) 41 Write_Comm(0x01)。//寫首地址 for(a=0。a++) { d=dispbuf[a]。amp。 //待顯示的結(jié)果 } if(14==a) { d=0xdf。 //寫入要顯示的數(shù)據(jù) } Write_Comm(0xc0)。b33。 if((b24)amp。(b29)) { d=numcode[num[b]]。 } } } LCD 是一個慢顯示器件,所以在寫入數(shù) 據(jù)前必須確定 LCD 處在不忙的狀態(tài)。 void Read_Busy(void)//讀忙信號判斷 { do{ Lcd_Data = 0xff。 RW = 1。 delay()。 }while(Busy)。 云南機電職業(yè)技術(shù)學院 電氣工程系 —— 電氣自動 化技術(shù) 43 RS = 0。 E = 0。 E = 1。 RS = 1。 E = 0。 E = 1。 //稍微延時,等待 LCD 進入工作狀態(tài) 云南機電職業(yè)技術(shù)學院 電氣工程系 —— 電氣自動 化技術(shù) 44 Write_Comm(0x01)。//光標歸位 Write_Comm(0x38)。//文字不動,光標右移 Write_Comm(0x0c)。//左移 } 在程序中,我們將測量的各種結(jié)果存放到一個數(shù)組 num[]中,然后通過這個數(shù)組的數(shù)據(jù)到預先存放字符的數(shù)組中去按 num[]中的數(shù)據(jù)的順序去讀取出預存在 numcode[]中的字符然后送到 LCD 中顯示,注意 LCD 的顯示必須做一系列的初始化和忙標志的判讀操作。首先在軟件中找到我們設(shè)計用的元件,然后連接好電路圖,設(shè)置好各個元件的參數(shù)值,特別注意液晶顯示屏的連接需要接上拉電阻。 C,通過調(diào)節(jié) DS18B20模型的溫度可以測試顯示溫度是否正確,從圖中可以看出顯示的溫度就是 DS18B20的預設(shè)溫度值。由于是頻率比較高的信號( 40KHz),所以不能通過二極管來觀察到,所以在仿真的時候 ,這時必須用示波器來查看,如圖: 云南機電職業(yè)技術(shù)學院 電氣工程系 —— 電氣自動 化技術(shù) 46 圖 波形 從上圖看出, ,由于軟件是 間隔 60MS 發(fā)送一次 40KHz的信號,所以 可以 看到這樣的尖脈沖信號產(chǎn)生。 云南機電職業(yè)技術(shù)學院 電氣工程系 —— 電氣自動 化技術(shù) 47 第五章 PCB 設(shè)計 (注: PCB 為我們培訓時的重點,所以對 PCB 運用還勉強可以 ,整個培訓過程學的最好的就是 protel,在此再次感謝鄭樹華老師 ) 軟件和硬件設(shè)計完成后就可以開始制作樣機,首先是元件的選擇,通過找資料和比較,本設(shè)計采用 STC 公司的 STC90C52RD+單片機,液晶顯示采用YB1602A;超聲波發(fā)送采用 TI 公司的 74F04,接收采用索尼公司的紅外接收 芯片 CX20216,超聲波發(fā)射接收頭采用 40T, 40R。溫度傳感器采用 DALLS 公司的 : 圖 DALLS 的 DS18B20 云南機電職業(yè)技術(shù)學院 電氣工程系 —— 電氣自動 化技術(shù) 48 Altium Designer 原理圖的繪制 (注:因為我英文屬于菜鳥級別,本文中的 Altium Designer 部分,多半為網(wǎng)友的杰作) Altium Desinger6是 Protel 的最新高端版本,其功能強大,集成原理圖設(shè)計, PCB設(shè)計,信號完整性分析, SPICE仿真, FPGA設(shè)計等。我們采用它來做我們的原理圖和 PCB 設(shè)計。 繪制原理圖時注意:連線簡潔,在同一圖紙上元件線路多則使用網(wǎng)絡(luò)標號來表示, 而多張圖紙使用端口 Port 來連接他們: 連線要清楚的表示連接關(guān)系,當連接線路比較多而且集中時可以使用總線 來連接它們。 元件封裝的建立 在繪制完成原理圖后接下來就是確定元件的封裝。建立之后必須和原理圖元件關(guān)聯(lián)起來。為了提高系統(tǒng)的電磁兼容能力,必須從設(shè)計初始開始就對電磁兼容給予足夠的重視,電磁兼容可以從 3個要素考慮 .即電磁干擾源、電磁干擾可能的傳播途徑、極易接收電磁干擾的敏感器件很電路入手。 (2) 大電流機械開關(guān)處并接火花抑制電路(一般為 RC 串聯(lián)電路, R 一般選擇幾千歐到幾十千歐,電容選擇 )。 ( 4)電路板上每個 IC 并接一個 ~ F? 的高頻電容,減小 IC 對電源的影響。
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1