




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、前 言隨著現(xiàn)代信息技術(shù)的飛速發(fā)展,溫度測(cè)量控制系統(tǒng)在工業(yè)、農(nóng)業(yè)及人們的日常生活中扮演著一個(gè)越來(lái)越重要的角色,它對(duì)人們的生活具有很大的影響,所以溫度采集控制系統(tǒng)的設(shè)計(jì)與研究有十分重要的意義。本次設(shè)計(jì)的目的在于學(xué)習(xí)基于51單片機(jī)的多路溫度采集控制系統(tǒng)設(shè)計(jì)的基本流程。本設(shè)計(jì)采用單片機(jī)作為數(shù)據(jù)處理與控制單元,為了進(jìn)行數(shù)據(jù)處理,單片機(jī)控制數(shù)字溫度傳感器,把溫度信號(hào)通過(guò)單總線從數(shù)字溫度傳感器傳遞到單片機(jī)上。單片機(jī)數(shù)據(jù)處理之后,發(fā)出控制信息改變報(bào)警和控制執(zhí)行模塊的狀態(tài),同時(shí)將當(dāng)前溫度信息發(fā)送到led進(jìn)行顯示。本系統(tǒng)可以實(shí)現(xiàn)多路溫度信號(hào)采集與顯示,可以使用按鍵來(lái)設(shè)置溫度限定值,通過(guò)進(jìn)行溫度數(shù)據(jù)的運(yùn)算處理,發(fā)出
2、控制信號(hào)達(dá)到控制蜂鳴器和繼電器的目的。我所采用的控制芯片為at89c51,此芯片功能較為強(qiáng)大,能夠滿足設(shè)計(jì)要求。通過(guò)對(duì)電路的設(shè)計(jì),對(duì)芯片的外圍擴(kuò)展,來(lái)達(dá)到對(duì)某一車間溫度的控制和調(diào)節(jié)功能。1.總體設(shè)計(jì)方案 1.1 溫度控制系統(tǒng)設(shè)計(jì)方案主控制器單片機(jī)復(fù)位報(bào)警點(diǎn)按鍵調(diào)六位數(shù)碼管顯示溫度傳感器 圖1.溫度控制系統(tǒng)的系統(tǒng)款圖 溫度控制系統(tǒng)主要是由四部分組成:其中包括cpu單片機(jī)處理器;外圍輸入設(shè)備按鍵,其功能是設(shè)置溫度報(bào)警的上下限;數(shù)碼管顯示部分,顯示當(dāng)前等我溫度和溫度的上下限;溫度傳感器,也是最重要的部分其功能是采集周圍的溫度;蜂蜜器用于報(bào)警使用,但溫度超過(guò)上線溫度和下線溫度時(shí)則發(fā)出報(bào)警聲,直到溫度恢
3、復(fù)正常。 1.2溫度控制系統(tǒng)的方案和原理 該系統(tǒng)的設(shè)計(jì)方案是通過(guò)溫度傳感器ds18b20將周圍的環(huán)境溫度進(jìn)行采集,等待單片機(jī)將其采集,當(dāng)采集的信號(hào)一到就釋放信號(hào)。而單片機(jī)通過(guò)單線總線的方式對(duì)ds18b20采集的信號(hào)進(jìn)行采集并且將其轉(zhuǎn)化成數(shù)字信號(hào)通過(guò)數(shù)碼管進(jìn)行顯示。而獨(dú)立按鍵是用來(lái)設(shè)置溫度的上下限的。其原理是:?jiǎn)纹瑱C(jī)對(duì)采集的溫度進(jìn)行處理并且進(jìn)行采集,將采集到的溫度使用數(shù)碼管進(jìn)行顯示,并且將采集的溫度和存儲(chǔ)的上下限溫度進(jìn)行比較,當(dāng)溫度超過(guò)上下限制的時(shí)候驅(qū)動(dòng)蜂鳴器鳴叫,直到溫度達(dá)到正常溫度是蜂鳴器停止工作;而使用兩個(gè)獨(dú)立按鍵則是用來(lái)設(shè)計(jì)溫度上下限。2.單元模塊設(shè)計(jì) 2.1主控制器 單片機(jī)at89c5
4、1具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。at89c51單片機(jī)是atmel公司生產(chǎn)的高性能8位單片機(jī),主要功能特性如下: 兼容mcs-51指令系統(tǒng); 32個(gè)雙向i/o口,兩個(gè)16位可編程定時(shí)/計(jì)數(shù)器; 1個(gè)串行中斷,兩個(gè)外部中斷源; 可直接驅(qū)動(dòng)led; 低功耗空閑和掉電模式; 4 kb可反復(fù)擦寫(1 000次)flasi rom; 全靜態(tài)操作o24 mhz; 1288 b內(nèi)部ram。該款芯片的超低功耗和良好的性能價(jià)格比使其非常適合嵌入式產(chǎn)品應(yīng)用。 2.2溫度傳感器ds18b20 ds18b20溫度傳感器是
5、美國(guó)dallas半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)位的數(shù)字值讀數(shù)方式。 2.2.1 ds18b20特性介紹 ds18b20是dallas公司的最新單線數(shù)字溫度傳感器,它的體積更小、適用電壓更寬、更經(jīng)濟(jì),ds18b20是世界上第一片支持“一線總線”接口的溫度傳感器,一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念,它的測(cè)量溫度范圍為55125,在1085范圍內(nèi),精度為0.5,現(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性,適合于惡劣環(huán)境的
6、現(xiàn)場(chǎng)溫度測(cè)量,如:環(huán)境控制、設(shè)備或過(guò)程控制、測(cè)溫類消費(fèi)電子產(chǎn)品等,與前一代產(chǎn)品不同,新的產(chǎn)品支持35.5v的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便,而且新一代產(chǎn)品更便宜,體積更小,ds18b20可以程序設(shè)定912位的分辨率,精度為0.5??梢赃x擇更小的封裝方式,更寬的電壓適用范圍,分辨率設(shè)定及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在e2prom中,掉電后依然保存,ds18b20的性能是新一代產(chǎn)品中最好的,性能價(jià)格比也非常出色,繼“一線總線”的早期產(chǎn)品后,ds18b20開辟了溫度傳感器技術(shù)的新概念,ds18b20和ds18b22使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟(jì)的測(cè)溫系統(tǒng)。 2.2.2 ds
7、18b20的內(nèi)部結(jié)構(gòu)ds18b20采用3腳pr35封裝或腳soic封裝,其內(nèi)部結(jié)構(gòu)框圖如圖2所示,主要由4部分組成:64位光刻rom,溫度傳感器,非揮發(fā)的溫度報(bào)警觸發(fā)器th和tl,配制寄存器。ds18b20的管腳排列如圖所示。圖3. ds18b20引腳圖2.2.3 ds18b20溫度傳感器的存儲(chǔ)器 64位rom的結(jié)構(gòu)開始8位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前面56位的crc檢驗(yàn)碼,這也是多個(gè)ds18b20可以采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器和,可通過(guò)軟件寫入戶報(bào)警上下限。 ds18b20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存和一個(gè)非易失性的可電擦除的
8、eeram。高速暫存ram的結(jié)構(gòu)為8字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖3所示。頭2個(gè)字節(jié)包含測(cè)得的溫度信息,第8和第4字節(jié)和的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第5個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。ds18b20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖3所示。低5位一直為1,是工作模式位,用于設(shè)置ds18b20在工作模式還是在測(cè)試模式,ds18b20出廠時(shí)該位被設(shè)置為0,用戶要去改動(dòng),r1和0決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。 由表1可見,ds18b20溫度轉(zhuǎn)換的時(shí)間比較長(zhǎng),而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將
9、分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。高速暫存的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的crc碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當(dāng)ds18b20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1、2字節(jié)。單片機(jī)可以通過(guò)單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0.0625lsb形式表示。當(dāng)符號(hào)位時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表2是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。ds18b20完成
10、溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與ram中的th、t字節(jié)內(nèi)容作比較。若th或ttl,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對(duì)主機(jī)發(fā)出的報(bào)警搜索命令作出響應(yīng)。因此,可用多只ds18b20同時(shí)測(cè)量溫度并進(jìn)行報(bào)警搜索。在64位rom的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余檢驗(yàn)碼(crc)。主機(jī)rom的前56位來(lái)計(jì)算crc值,并和存入ds18b20的crc值作比較,以判斷主機(jī)收到的rom數(shù)據(jù)是否正確。2.2.4 ds18b20控制方法 在硬件上,ds18b20與單片機(jī)的連接有兩種方法,一種是vcc接外部電源,gnd接地,i/o與單片機(jī)的i/o線相連;另一種是用寄生電源供電,此時(shí)udd、gnd接地,i/o接單片機(jī)i/o。無(wú)
11、論是內(nèi)部寄生電源還是外部供電,i/o口線要接5k左右的上拉電阻。 ds18b20有六條控制命令,如表所示: 表2 指令表指 令 約定代碼 操 作 說(shuō) 明 溫度轉(zhuǎn)換 44h 啟動(dòng)ds18b20進(jìn)行溫度轉(zhuǎn)換 讀暫存器 beh 讀暫存器9個(gè)字節(jié)內(nèi)容 寫暫存器 4eh 將數(shù)據(jù)寫入暫存器的th、tl字節(jié) 復(fù)制暫存器 48h 把暫存器的th、tl字節(jié)寫到e2ram中 重新調(diào)e2ram b8h 把e2ram中的th、tl字節(jié)寫到暫存器th、tl字節(jié) 讀電源供電方式 b4h 啟動(dòng)ds18b20發(fā)送電源供電方式的信號(hào)給主cpu cpu對(duì)ds18b20的訪問(wèn)流程是:先對(duì)ds18b20初始化,再進(jìn)行rom操作命令,
12、最后才能對(duì)存儲(chǔ)器操作,數(shù)據(jù)操作。ds18b20每一步操作都要遵循嚴(yán)格的工作時(shí)序和通信協(xié)議。如主機(jī)控制ds18b20完成溫度轉(zhuǎn)換這一過(guò)程,根據(jù)ds18b20的通訊協(xié)議,須經(jīng)三個(gè)步驟:每一次讀寫之前都要對(duì)ds18b20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條rom指令,最后發(fā)送ram指令,這樣才能對(duì)ds18b20進(jìn)行預(yù)定的操作。 2.2.5 ds18b20的測(cè)溫原理ds18b20的測(cè)溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器的脈沖輸入。器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),d
13、s18b20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將55所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器、溫度寄存器中,計(jì)數(shù)器和溫度寄存器被預(yù)置在55所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器的預(yù)置值減到時(shí),溫度寄存器的值將加,減法計(jì)數(shù)器的預(yù)置將重新被裝入,減法計(jì)數(shù)器重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測(cè)溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍未關(guān)閉就重復(fù)上述過(guò)程,直到溫度寄存
14、器值大致被測(cè)溫度值。 2.2.6 ds18b20溫度傳感器與單片機(jī)的接口電路ds18b20可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)ds18b20的1腳接地,2腳作為信號(hào)線,3腳接電源。另一種是寄生電源供電方式,如圖4 所示單片機(jī)端口接單線總線,為保證在有效的ds18b20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)mosfet管來(lái)完成對(duì)總線的上拉。當(dāng)ds18b20處于寫存儲(chǔ)器操作和溫度a/d轉(zhuǎn)換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開啟時(shí)間最大為10us。采用寄生電源供電方式時(shí)vdd端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。 3.溫度控制系統(tǒng)程序設(shè)計(jì)本軟件系統(tǒng)有1個(gè)主程序,6個(gè)子程序
15、組成。6個(gè)子程序?yàn)槎〞r(shí)/計(jì)數(shù)器0中斷服務(wù)程序、溫度采集及模數(shù)轉(zhuǎn)換子程序adcon、溫度計(jì)算子程序calcu、驅(qū)動(dòng)控制子程序drvcon、十進(jìn)制轉(zhuǎn)換子程序metriccon及數(shù)碼管顯示子程序disp。 3.1主程序主程序進(jìn)行系統(tǒng)初始化操作,主要是進(jìn)行定時(shí)/計(jì)數(shù)器的初始化。 3.2 定時(shí)/計(jì)數(shù)器0中斷服務(wù)程序應(yīng)用定時(shí)計(jì)數(shù)器0中斷的目的是進(jìn)行定時(shí)采樣,消除數(shù)碼管溫度顯示的閃爍現(xiàn)象,用戶可以根據(jù)實(shí)際環(huán)境溫度變化率進(jìn)行采樣時(shí)間調(diào)整。每當(dāng)定時(shí)時(shí)間到,調(diào)用溫度采集機(jī)模數(shù)轉(zhuǎn)換子程序adcon,得到一個(gè)溫度樣本,并將其轉(zhuǎn)換為數(shù)字量,傳送給89c51單片機(jī),然后在調(diào)用溫度計(jì)算子程序calcu,驅(qū)動(dòng)控制子程序drv
16、con,十進(jìn)制轉(zhuǎn)換子程序mertriccon,溫度數(shù)碼顯示子程序disp。 3.3 溫度采集及模數(shù)轉(zhuǎn)換子程序adcon該子程序進(jìn)行溫度采樣并將其轉(zhuǎn)換為8位數(shù)字量傳送給89c51的p0口。采樣得到的溫度數(shù)據(jù)存放在片內(nèi)ram的20h單元中。 3.4 溫度計(jì)算子程序calcu根據(jù)熱敏電阻的分度值和電路參數(shù)計(jì)算出出一張溫度表,存放在datatab數(shù)據(jù)表中,由于篇幅關(guān)系,本程序只給出0-49的溫度數(shù)據(jù)。一個(gè)溫度有兩個(gè)字節(jié)組成,前一字節(jié)為溫度值,后一字節(jié)為該溫度所對(duì)應(yīng)的熱敏電阻上的電壓的數(shù)字量。根據(jù)采樣值,通過(guò)查表及比較的方法計(jì)算出當(dāng)前的溫度值,并將其存入片內(nèi)ram的21h單元。采用查表法計(jì)算溫度值時(shí)為了
17、克服熱敏電阻的阻值溫度特性曲線的非線性,提高測(cè)量精度。 3.5 驅(qū)動(dòng)控制子程序drvcon該子程序調(diào)節(jié)溫度,當(dāng)溫度高于上限溫度時(shí)(本程序設(shè)為30), p1.0輸出驅(qū)動(dòng)控制信號(hào),驅(qū)動(dòng)外設(shè)工作降溫;當(dāng)溫度下降到下限溫度時(shí)(本程序設(shè)為25),p1.0停止輸出,溫度上升,周而復(fù)始;工作狀態(tài)有l(wèi)ed1-led4指示。 3.6十進(jìn)制轉(zhuǎn)換子程序metriccon將存放于內(nèi)部ram21h單元的當(dāng)前溫度值得二進(jìn)制數(shù)形式轉(zhuǎn)換為十進(jìn)制數(shù)(bcd碼)形式,以便輸出顯示,轉(zhuǎn)換結(jié)果存放在片內(nèi)ram的32h單元(百位)、31h(十位)、30h單元(個(gè)位)。 3.7數(shù)碼顯示子程序disp 該子程序利用89c51串口的方式0串
18、行移位寄存器工作方式,將片內(nèi)ram的30h、31h、32h單元的bcd碼查表轉(zhuǎn)換為七段碼后由rxd端串行發(fā)出去,然后經(jīng)74ls164串并轉(zhuǎn)換,將七段值傳送給數(shù)碼管,以十進(jìn)制形式顯示出當(dāng)前溫度值。4系統(tǒng)軟件算法分析 系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序等。 4.1主程序流程主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理ds18b20的測(cè)量的當(dāng)前溫度值,溫度測(cè)量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測(cè)量一次被測(cè)溫度,其程序流程見下圖所示.開始reset(ds18b20復(fù)位)reconfig(寫ds18b20暫存器設(shè)定)gettemper(讀溫
19、度命令)tempercov(轉(zhuǎn)化為一字節(jié)溫度值) redkey(讀鍵盤) bd(實(shí)際溫度與上下限比較,亮燈,打鈴) fb(bcd碼轉(zhuǎn)換)dir(顯示) 圖4 主函數(shù)流程圖4.2 ds18b20復(fù)位子程序 此部分程序在執(zhí)行前先將dat復(fù)位,然后通過(guò)對(duì)dat的判斷來(lái)檢測(cè)ds18b20的回應(yīng),并進(jìn)行相應(yīng)的置位,通過(guò)r2計(jì)數(shù)的控制來(lái)將c中的數(shù)據(jù)送入數(shù)據(jù)線,一共寫入一字節(jié),本程序當(dāng)r2=8時(shí)共計(jì)數(shù)8次,送入的數(shù)據(jù)正好一字節(jié),其程序流程見下圖所示。setb datclr dat(復(fù)位)setb dat(拉高數(shù)據(jù)線) 等待ds18b20回應(yīng) dat=0?flag1=0 n flag1=1(置標(biāo)志位,ds18
20、b20存在) y setb dat 子程序返回 圖5 ds18b20流程圖 4.3 讀溫度值命令 此子程序主要是通過(guò)flag1的判斷來(lái)進(jìn)行如何執(zhí)行,若存在,則跳過(guò)rom,并由ds18b20發(fā)出溫度轉(zhuǎn)換命令,并讀取命令,最終在ds18b20中讀取兩字節(jié)溫度。若不存在,則返回,對(duì)應(yīng)程序流程圖如下。flag1=1?(ds18b20是否存在?)返回 n跳過(guò)rom匹配 yds18b20中寫入44h(發(fā)出溫度轉(zhuǎn)換命令)ds18b20中寫入0beh(讀取溫度指令)rdtemp(從ds18b20中讀取兩字節(jié)溫度子程序)子程序返回圖6 溫度讀取流程圖 4.4 按鍵設(shè)置 此程序是通過(guò)對(duì)四個(gè)按鍵有無(wú)按下的判斷來(lái)對(duì)其
21、相應(yīng)的th、tl值進(jìn)行相應(yīng)的設(shè)置,其流程圖如下。子程序返回上限值th增一jb=0?(鍵按下) k1下限值tl減一上限值th減一 k4 k2 k3下限值tl減一圖7 按鍵設(shè)計(jì)流程圖 4.5響鈴與亮燈的設(shè)置 此程序是通過(guò)tempnum與th的比較來(lái)進(jìn)行是否響鈴與亮燈,其流程圖如下圖。tempnumth?setb p1.6(響鈴) ytempumth nsetb p1.7(亮燈) y n子程序返回 圖8 蜂鳴器程序流程圖5 設(shè)計(jì)總結(jié)經(jīng)過(guò)將近兩周的單片機(jī)課程設(shè)計(jì),終于完成了數(shù)字溫度傳感器測(cè)溫現(xiàn)實(shí)系統(tǒng)的設(shè)計(jì),雖然有些地方可能還存在一些小缺點(diǎn),但從心底里說(shuō),還是高興的,畢竟這次設(shè)計(jì)把實(shí)物都做了出來(lái),高興之
22、余不得不深思呀!在本次設(shè)計(jì)的過(guò)程中,我們發(fā)現(xiàn)很多的問(wèn)題,雖然以前還做過(guò)這樣的設(shè)計(jì)但這次設(shè)計(jì)真的讓我們長(zhǎng)進(jìn)了很多。在調(diào)程序的時(shí)候按鍵一度成為我們的難點(diǎn),但經(jīng)過(guò)反復(fù)調(diào)整修改程序,還是實(shí)現(xiàn)了按鍵功能。單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì),需要有很巧妙的程序算法,雖然以前寫過(guò)幾次程序,但我們覺的寫好一個(gè)程序并不是一件簡(jiǎn)單的事,有好多的東西,只有我們?nèi)ピ囍隽?,才能真正的掌握,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。 從這次的課程設(shè)計(jì)中,我們真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的寫與讀的過(guò)程中才能提高,這就是我在
23、這次課程設(shè)計(jì)中的最大收獲。6 參考文獻(xiàn)1李朝青.單片機(jī)原理及接口技術(shù):北京航空航天大學(xué)出版社,1998.1-292李廣弟.單片機(jī)基礎(chǔ).北京:北京航空航天大學(xué)出版社,1994.42-913閻石.數(shù)字電子技術(shù)基礎(chǔ)(第三版). 北京:高等教育出版社,1989.28-294廖常初.現(xiàn)場(chǎng)總線概述j.電工技術(shù),1999.111-1234 胡學(xué)海.單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì):電子工業(yè)出版社,2005.8.101-1346 李勛.單片機(jī)實(shí)用教程:北京航空航天大學(xué)出版社,2006.5.104-107附錄1:系統(tǒng)原理圖附錄2:元件清單序號(hào)名稱 廠家 價(jià)格(元)189c51stc 1028155 nec 8374ls
24、14 美國(guó)德州 247407 ir 3575452 36工陰極數(shù)碼管 lg 0.67 ds18b20 達(dá)來(lái)絲 6.58 排電阻(0.1k*8) 風(fēng)華 0.29 電解電容 三和 0.0510瓷片電容 (國(guó)產(chǎn)) 0.0211 獨(dú)石電容 飛利浦0.0512 三極管 0.213發(fā)光二極管 0.114按鈕開關(guān) 0.0615晶振(11.0592) 116蜂鳴器 華宇 0.6附錄3 程序部分#include#include#includeconfing.hvoid main()hc138(5);p0 = 0x00; /關(guān)閉蜂蜜器、繼電器hc138(0); /鎖存p0 = 0xff;/消隱hc138(4);p
25、0 = 0xff; /關(guān)閉ledhc138(0); /鎖存while(1)read_ds18b20_temp();display();key();get();alarm();void hc138(unsigned char x)p2 = ( x5 )|( p2&0x1f);void delay(unsigned char i) unsigned char k;while(i-)for(k = 0 ; k 20 ; k +);void read_ds18b20_temp() init_ds18b20(); /初始化 write_ds18b20(0xcc); /跳過(guò)rom區(qū) write_ds18b
26、20(0x44); /溫度轉(zhuǎn)換 init_ds18b20(); write_ds18b20(0xcc); write_ds18b20(0xbe); /讀取地址 temp_l = read_ds18b20(); /讀取低字節(jié) temp_h = read_ds18b20(); /讀取高字節(jié) temp_h = temp_h4; wen_h = temp_h|temp_l; /整數(shù)部分void get()/讀取密碼table0 = read_dat(0x01);delay(10);table1 = read_dat(0x02);delay(10);void set()write_dat(0x01,a0);delay(10);write_da
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025酒店的承包經(jīng)營(yíng)合同
- 2025LED廣告屏制作安裝合同
- 2025設(shè)備抵押借款合同范本
- 2025鋁合金門窗工程承包合同
- 2025年購(gòu)房資金短缺的借款合同范本
- 2025城市供電特許經(jīng)營(yíng)合同樣本
- 2025租賃擔(dān)保合同模板
- 2025大學(xué)生個(gè)人車輛租賃合同
- 2025年農(nóng)業(yè)用地流轉(zhuǎn)合同模板
- 2025跨國(guó)租賃合同范本
- 2025年保安證考試答題技巧與試題答案
- 2025年食品安全員試題及答案
- 中級(jí)宏觀經(jīng)濟(jì)學(xué)知到課后答案智慧樹章節(jié)測(cè)試答案2025年春浙江大學(xué)
- 第19課《十里長(zhǎng)街送總理》 統(tǒng)編版語(yǔ)文(五四學(xué)制)六年級(jí)上冊(cè)
- (完整版)四級(jí)短對(duì)話真題里的虛擬語(yǔ)氣
- 2025 ACC-AHA急性冠脈綜合征患者管理指南解讀課件
- 《強(qiáng)化危險(xiǎn)化學(xué)品“一件事”全鏈條安全管理措施》知識(shí)培訓(xùn)
- 智慧樹知到《形勢(shì)與政策(北京大學(xué))》2025春期末答案
- 2025年中國(guó)尼龍注塑件市場(chǎng)調(diào)查研究報(bào)告
- 《智慧能源體系》課程教學(xué)大綱
- 大象版五年級(jí)下冊(cè)《科學(xué)》全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論