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

正文內(nèi)容

基于單片機(jī)控制的超聲波傳感器的系統(tǒng)設(shè)計(jì)論文含中英文翻譯資料-資料下載頁(yè)

2025-06-02 22:33本頁(yè)面
  

【正文】 度傳感器 DS18B20 內(nèi)部結(jié)構(gòu)如圖 ,它主要由四部分組成:64 位光刻 ROM、溫度靈敏組件、非易失性溫度報(bào)警觸發(fā)器 TH 和 TL、配置寄存器。 ROM 中的 64 位序列號(hào)是出廠前被光刻好的,它可以看作是該 DS18B20 的地址序列碼,每個(gè) DS18B20 的 64 位序列號(hào)均不相同。64 位 ROM 從高位到低位依次由 8 位 CRC、48 位列號(hào)和 8 位家族代碼(28H)組成。這也是多個(gè) DS18B20可以采用連接到一個(gè)口線上進(jìn)行多點(diǎn)測(cè)溫的原因。 DS18B20 溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存 RAM 和一個(gè)非易失性的可電擦除的 E2PROM。高速暫存 RAM 包含 8 字節(jié)存儲(chǔ)器,其結(jié)構(gòu)如圖 所示。前兩個(gè)字節(jié)包含測(cè)得的溫度信息。第 3 和第 4 字節(jié)是 TH 和 TL 的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第 5 字節(jié)為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。 高速暫存RAM結(jié)構(gòu)圖 DS18B20 工作時(shí)按此寄存器中的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值。該字節(jié)各位的定義如表 所示。 表 配置寄存器的位定義 由表 可知,配置寄存器的低 5 位一直為 1,TM 是測(cè)試模式位,用于設(shè)置 DS18B20 在工作模式還是在測(cè)試模式。R1 和 R0 決定溫度轉(zhuǎn)換精度位數(shù),即用來(lái)設(shè)置分辨率,分辨率的定義規(guī)定如表 。 表 DS18B20 分辨率的定義規(guī)范 由表 可見(jiàn),DS18B20 溫度轉(zhuǎn)換時(shí)間比較長(zhǎng),而且設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間就越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。 高速暫存 RAM 的第 8 字節(jié)保留未用,表現(xiàn)為全邏輯 1。第 9 字節(jié)讀出前面 8 個(gè)字節(jié)的 CRC 碼,用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。 DS18B20 的測(cè)溫原理 DS18B20 的測(cè)溫原理如圖 ,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器 1,高溫度系數(shù)振蕩器隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器 2 的脈沖輸入。圖 ,當(dāng)計(jì)數(shù)門(mén)打開(kāi)時(shí),DS18B20 就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門(mén)的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器決定,每次測(cè)量前,首先將55℃所對(duì)應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器 1和溫度寄存器中,減法計(jì)數(shù)器 1 和溫度寄存器被預(yù)置在55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。 圖 DS18B20 測(cè)溫原理圖減法計(jì)數(shù)器 1 對(duì)低溫度系數(shù)振蕩器產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器 1 的預(yù)置值減到 0 時(shí)溫度寄存器的值將加 1,減法計(jì)數(shù)器 1 的預(yù)置值將重新被裝入,減法計(jì)數(shù)器 1 重新開(kāi)始對(duì)低溫度系數(shù)振蕩器產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù)。如此循環(huán)直到減法計(jì)數(shù)器 2 計(jì)數(shù)到 0 時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。圖 ,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門(mén)仍未關(guān)閉就重復(fù)上述過(guò)程,直至溫度寄存器值達(dá)到被測(cè)溫度值,這就是 DS18B20 的測(cè)溫原理。 DS18B20 與單片機(jī)的接口電路 DS18B20 與單片機(jī)接口電路如圖 所示。DS18B20 采用單總線方式和AT89C51 單片機(jī)相連,即 DS18B20 的 1 腳接地,3 腳接地,2 腳接至AT89C51 的 引腳,同時(shí)將 引腳采用一只 的電阻上拉至 VCC。 DS18B20接線圖 DS18B20 的主要指令 ROM(讀 ROM)[33H] 該命令允許總線控制器讀到 DS18B20 的 8 位系列編碼、惟一的序列號(hào)和 8位 CRC 碼。只有在總線上存在單只 DS18B20 時(shí)才能使用此命令。 ROM (匹配 ROM) [55H] 這是一個(gè)匹配 ROM 命令,后跟 64 位 ROM 序列號(hào),讓總線控制器在多點(diǎn)總線上定位一只特定的 DS18B20。只有與 64 位 ROM 序列完全匹配的 DS18B20 才能響應(yīng)隨后的存儲(chǔ)器操作。 ROM (缺省 ROM) [0CCH] 該命令允許總線控制器不用提供 64 位 ROM 編碼就使用存儲(chǔ)器操作命令。 ROM (搜索 ROM) [0F0H] 搜索 ROM 命令允許總線控制器用排除法識(shí)別總線上所有從機(jī)的 64 位編碼。 Search (報(bào)警搜索) [0ECH] 該命令的流程與 Search ROM 相同。然而,只有在最近一次測(cè)溫后遇到符合報(bào)警條件的情況下,DS18B20 才會(huì)響應(yīng)該命令。 Scratchpad (寫(xiě)便箋式存貯器) [4EH] 該命令向 DS18B20 的暫存器 TH 和 TL 中寫(xiě)入數(shù)據(jù),可以在任何時(shí)刻發(fā)出復(fù)位命令來(lái)中止寫(xiě)入。 7. Read Scratchpad (讀便箋式存貯器) [0BEH ] 該命令讀取暫存器的內(nèi)容。讀取將從第 1 字節(jié)開(kāi)始,一直進(jìn)行下去,直到第9(CRC)字節(jié)讀完。如果不想讀完所有字節(jié),控制器可以在任何時(shí)間發(fā)出復(fù)位命令來(lái)中止讀取。 Scratchpad (復(fù)制便箋式存貯器) [48H] 該命令把暫存器的內(nèi)容拷貝到 DS18B20 的 E2PROM 存儲(chǔ)器中,即把溫度報(bào)警觸發(fā)字節(jié)存入非易失性存儲(chǔ)器里中。 T(溫度轉(zhuǎn)換) [44H] 該命令啟動(dòng)一次溫度轉(zhuǎn)換而無(wú)需其它數(shù)據(jù)。溫度轉(zhuǎn)換命令被執(zhí)行后 DS18B20保持等待狀態(tài)。 E2PROM(重新調(diào)用 E2PROM) [0B8H] 該命令把報(bào)警觸發(fā)器里的值拷貝回暫存器。這種拷貝操作在 DS18B20 上電時(shí)自動(dòng)執(zhí)行,這樣器件一上電暫存器里馬上就存在有效的數(shù)據(jù)了。若在該命令發(fā)出之后發(fā)出讀數(shù)據(jù)隙,器件會(huì)輸出溫度轉(zhuǎn)換忙的標(biāo)識(shí):0 表示忙,1 表示完成。 Power Supply (讀供電方式) [0B4H] 若把該命令發(fā)給 DS18B20 后發(fā)出讀時(shí)間隙,器件會(huì)返回它的電源模式:0表示寄生電源,1 表示外部電源。 執(zhí)行電路設(shè)計(jì)執(zhí)行元件為電磁閥,其具體型號(hào)不知道。但是我們已知其輸入電壓為30V,輸入電流為3A。為驅(qū)動(dòng)如此大電流的器件,我們選用了大電流可調(diào)集成穩(wěn)壓器W138。 W138主要特性參數(shù) 型號(hào)輸出電壓(V)最大輸出電流(A)最小輸入輸出電壓差()電壓調(diào)整率(%/V)電流調(diào)整率(mA)使用溫度()W138520: W138典型接法電路 C1為防止電路發(fā)生自激而設(shè)定,VD1是保護(hù)二極管。C2接在穩(wěn)壓器調(diào)整端與接地端之間,其作用是將RP1上的紋波旁路掉。以提高穩(wěn)壓器的紋波抑制性能,接入C2后若輸入端與輸出端短路,C2的反向高峰電流會(huì)流向調(diào)整端,使基準(zhǔn)電壓和誤差放大器受損。電路中的VD2可以防止這種現(xiàn)象的發(fā)生。VD1,: 整流管基本參數(shù)型號(hào)最大正向整流電流(A)最高反向電壓(V)正向電壓降(V)反向漏電流()儲(chǔ)存溫度 ()2CZ30AM30140 有了相應(yīng)的電源,那么我們又當(dāng)如何來(lái)控制電磁閥的啟閉那?很明顯單片機(jī)的輸出信號(hào)無(wú)法直接控制這個(gè)電磁閥。我們采用可控硅來(lái)實(shí)現(xiàn)弱電與強(qiáng)電之間的變換,從而使電磁閥受單片機(jī)的控制。這里的可控硅我們選用可關(guān)斷晶閘管(GTO)。: 3CTG系列可關(guān)斷晶閘管型號(hào)最大可關(guān)斷電流(A)門(mén)極反響峰值電壓(V)正向平均壓降(V)門(mén)極電流(mA)關(guān)斷時(shí)間()儲(chǔ)存溫度()外形3CTG554010100F2: 執(zhí)行部分電路 至此,系統(tǒng)的硬件電路已經(jīng)全設(shè)計(jì)完了,整個(gè)系統(tǒng)的電路圖見(jiàn)附錄A5 系統(tǒng)軟件設(shè)計(jì) 單片機(jī)編程語(yǔ)言的選擇 51 系列單片機(jī),現(xiàn)有四種語(yǔ)言支持,即 BASIC、PL/M、匯編和 C 語(yǔ)言。 BASIC 通常附在 PC 機(jī)上,是初學(xué)編程的第一種語(yǔ)言。一個(gè)新變量名定義之后可在程序中作變量使用,非常易學(xué),根據(jù)解釋的行可以找到錯(cuò)誤而不是當(dāng)程序執(zhí)行完才能顯現(xiàn)出來(lái)。BASIC 由于逐行解釋自然很慢,每一行必須在執(zhí)行時(shí)轉(zhuǎn)換成機(jī)器代碼,需要花費(fèi)許多時(shí)間而不能做到實(shí)時(shí)性。BASIC 為簡(jiǎn)化使用變量,所有變量都用浮點(diǎn)值。BASIC 用于要求編程簡(jiǎn)單而對(duì)編程效率和運(yùn)行速度要求不高的場(chǎng)合。 PL/M 是 Intel 從 8080 微處理器開(kāi)始為其系列產(chǎn)品開(kāi)發(fā)的編程語(yǔ)言。 它是一種結(jié)構(gòu)化語(yǔ)言,它的編譯器好像匯編器一樣可產(chǎn)生緊湊代碼。PL/M 總的來(lái)說(shuō)是一種“高級(jí)匯編語(yǔ)言”,可詳細(xì)控制著代碼的生成。但對(duì)于 51 系列單片機(jī),PL/M不支持復(fù)雜的算術(shù)運(yùn)算、浮點(diǎn)變量而無(wú)豐富的庫(kù)函數(shù)支持,所以學(xué)習(xí) PL/M 無(wú)異于學(xué)習(xí)一種新語(yǔ)言。 匯編語(yǔ)言是單片機(jī)開(kāi)發(fā)的低級(jí)語(yǔ)言,它具有程序執(zhí)行效率高、占用內(nèi)存容量小、實(shí)時(shí)性好、與硬件結(jié)合緊密等優(yōu)點(diǎn)。但是匯編語(yǔ)言也有致命的缺點(diǎn),就是使用它開(kāi)發(fā)的程序移植性差、編程復(fù)雜、開(kāi)放性差、可讀性較差等。 C 語(yǔ)言是一種源于 UNIX 操作系統(tǒng)的語(yǔ)言,它是一種結(jié)構(gòu)化語(yǔ)言。與匯編相比,C 語(yǔ)言有如下優(yōu)點(diǎn):首先,C 語(yǔ)言對(duì)單片機(jī)的指令系統(tǒng)不要求了解,僅要求對(duì) 51 的存儲(chǔ)器結(jié)構(gòu)有初步了解即可;其次,C 語(yǔ)言具備較高的可移植性,提供了種類(lèi)豐富的運(yùn)算符和數(shù)據(jù)類(lèi)型,極大地方便了程序設(shè)計(jì)。它有功能豐富的庫(kù)函數(shù),運(yùn)算速度快、編譯效率高,且可以直接實(shí)現(xiàn)對(duì)系統(tǒng)硬件的控制;同時(shí),C 語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,支持自頂向下的結(jié)構(gòu)化程序設(shè)計(jì)技術(shù),它具有完善的模塊程序結(jié)構(gòu),在軟件開(kāi)發(fā)中可以采用模塊化程序設(shè)計(jì)方法。用 C 語(yǔ)言開(kāi)發(fā)系統(tǒng)可以大大縮短開(kāi)發(fā)周期,明顯增強(qiáng)程序的可讀性,便于改進(jìn)和擴(kuò)充。有利于研制出規(guī)模更大、性能更完備的系統(tǒng)。同時(shí),采用語(yǔ)言進(jìn)行編程時(shí),不必對(duì)單片機(jī)和接口結(jié)構(gòu)有很深的了解。使用C 語(yǔ)言進(jìn)行 8051 系列單片機(jī)系統(tǒng)開(kāi)發(fā),編程者可以專(zhuān)注于應(yīng)用軟件部分的設(shè)計(jì),不必將大量的精力花在內(nèi)存分配等底層工作上,從而大大加快了軟件開(kāi)發(fā)的速度。因此,本系統(tǒng)采用 C51 語(yǔ)言來(lái)進(jìn)行系統(tǒng)的軟件設(shè)計(jì)。 并具備匯編語(yǔ)言的功能,使用靈活、可讀性較強(qiáng),可以很方便的進(jìn)行單片機(jī)的程序移植。 系統(tǒng)的軟件規(guī)劃 在系統(tǒng)硬件構(gòu)架了節(jié)能控制系統(tǒng)的基本功能之后,系統(tǒng)軟件所實(shí)現(xiàn)的功能主要是針對(duì)系統(tǒng)功能的實(shí)現(xiàn)及數(shù)據(jù)的處理和應(yīng)用。根據(jù)第三章所述系統(tǒng)總體設(shè)計(jì)方案和所完成的功能,系統(tǒng)軟件需要實(shí)現(xiàn)以下功能: 在系統(tǒng)硬件中,已經(jīng)完成了發(fā)射電路、接收放大電路、濾波及二值化的設(shè)計(jì)。在系統(tǒng)軟件中,要完成脈沖串的輸出。 為了得到發(fā)射信號(hào)與接收回波間的時(shí)間差,要讀出此時(shí)計(jì)數(shù)器的計(jì)數(shù)值,但不能作為距離值直接顯控制輸出,因?yàn)橛?jì)數(shù)值與實(shí)際的距離值之間轉(zhuǎn)換公式為:S=*V*T=*(+)*T,其中,T為發(fā)射信號(hào)到接收之間經(jīng)歷的時(shí)間。信號(hào)處理主要包括計(jì)數(shù)值與距離值換算,期間要進(jìn)行溫度補(bǔ)償。溫度補(bǔ)償是一個(gè)非常繁雜的部分。 算出距離之后要和給定的距離值比較,以決定該如何控制執(zhí)行元件。最終達(dá)到節(jié)能控制的目的。 程序結(jié)構(gòu)本系統(tǒng)采用了單片機(jī)AT89C51,用單片機(jī)C語(yǔ)言實(shí)現(xiàn)軟件編程。整個(gè)系統(tǒng)軟件功能的實(shí)現(xiàn)可以分為主程序、子程序、在初始化以及發(fā)射脈沖串程序后打開(kāi)定時(shí)器開(kāi)始計(jì)時(shí),程序進(jìn)入中斷響應(yīng)的等待。程序初始化過(guò)程,主要是定時(shí)器計(jì)數(shù)器工作方式以及初值進(jìn)行設(shè)置。: 系統(tǒng)流程圖 主程序部分主程序是單片機(jī)程序的主體,整個(gè)單片機(jī)系統(tǒng)軟件的功能的實(shí)現(xiàn)都是在其中完成的,在此過(guò)程中主程序調(diào)用了子程序及中斷服務(wù)程序。程序首先完成初始化過(guò)程,然后是一個(gè)重復(fù)的控制發(fā)射信號(hào)的過(guò)程,而且每次發(fā)射周期結(jié)束都會(huì)判斷在發(fā)射信號(hào)后延時(shí)等待的過(guò)程中是否發(fā)生了中斷,即是否有回波產(chǎn)生來(lái)判斷程序的流程。其程序如下:main(){ Power_Up()。 //單片機(jī)上電初始化 d18b20_PowerUp()。 //DS18B20上電初始化 d=1。 //允許發(fā)送超聲波標(biāo)記位 while(1) //死循環(huán) { if(d==1) { EX1=0。 //外部中斷1 for(a=6。a0。a) //一次發(fā)射5個(gè)超聲波 { P1_0=1。 // delay5(2)。 //延時(shí)10微秒 P1_0=0。 delay5(3)。 //延時(shí)15微秒 } TR0=1。 //開(kāi)啟T0定時(shí)器(0初值) delay200(2)。 //延時(shí)400微秒 EX1=1。 //外部中斷1允許 d=0。 //清除發(fā)送超聲波標(biāo)記位 } e=TH0。 if(e=250) //65425微秒(約十米遠(yuǎn))之后,延時(shí)2S后關(guān)火 { delay200(1000) ; d=1。 P1_2=1。 } }}這其中調(diào)用了2個(gè)初始化函數(shù),1個(gè)單片機(jī)的初始化,1個(gè)DS18B20的初始化。程序初始化過(guò)程,主要是定時(shí)器計(jì)數(shù)器工作方式以及初值進(jìn)行設(shè)置。其具體函數(shù)如下:void Power_Up(void){ TMOD = 0x11。 //Time0/1為16定時(shí)器(方式1)
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1