




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 . . . 項目名稱基于AT89S52的數(shù)字溫度計設(shè)計目錄項目名稱1基于AT89S52的數(shù)字溫度計設(shè)計1第1章緒論41.1 概述41.2 數(shù)字溫度計的特點與問題4第2章設(shè)計方案52.1 設(shè)計指標(biāo)52.1.1檢測圍52.1.2 檢測誤差52.1.3 系統(tǒng)反應(yīng)速度52.2 基于單總線溫度檢測芯片的檢測方案52.3 關(guān)鍵技術(shù)62.3.1單總線技術(shù)62.3.2單片機(jī)開發(fā)技術(shù)6第3章具體設(shè)計與實現(xiàn)73.1 系統(tǒng)總體設(shè)計73.2 硬件設(shè)計83.2.1 溫度檢測系統(tǒng)設(shè)計83.2.2 單片機(jī)最小系統(tǒng)設(shè)計93.2.3 顯示系統(tǒng)設(shè)計93.2.4 電源系統(tǒng)設(shè)計103.3 軟件設(shè)計103.3.1溫度傳感器驅(qū)動設(shè)計1
2、03.3.2顯示驅(qū)動設(shè)計153.3.3開關(guān)控制設(shè)計183.3.4系統(tǒng)軟件設(shè)計21第4章系統(tǒng)集成與測試224.1軟件調(diào)試224.2硬件調(diào)試234.3系統(tǒng)測試23結(jié)論24致25參考文獻(xiàn)26附錄127附錄228第1章 緒 論1.1 概述數(shù)字溫度計相對與傳統(tǒng)的溫度計,用數(shù)字信號來表示溫度變化,方便計算機(jī)控制系統(tǒng)進(jìn)行處理和記錄,應(yīng)用單片機(jī)使儀器儀表智能化,可以提高測量的自動化程度和精度,廣泛應(yīng)用于各行各業(yè)。測量溫度的關(guān)鍵是溫度傳感器。隨著技術(shù)飛速發(fā)展,傳感器已進(jìn)入第三代數(shù)字傳感器。本測溫系統(tǒng)采用的DS18B20就是屬于這種傳感器。DS18B20是美國DALLAS半導(dǎo)體公司推出的數(shù)字式溫度傳感器,是DS1
3、820的更新產(chǎn)品。它能夠直接讀出被測溫度,可通過簡單的編程實現(xiàn)9位-12位的數(shù)字讀數(shù)方式,并且,從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根口線(單線接口)讀寫。溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS18B20供電,而無需額外電源,因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡單、靈活。可靠性高。微控制器層面主要是對系統(tǒng)的工作進(jìn)行控制,其中包括各個芯片的初始化、對DS18B20的總體控制、對按鍵的檢測和處理以與對LED的顯示設(shè)置。可以說,這個層次是數(shù)字溫度計系統(tǒng)的基礎(chǔ)與支撐。數(shù)碼管主要解決字符的顯示。單片機(jī)通過對相應(yīng)引腳的設(shè)置和控制,經(jīng)過轉(zhuǎn)換之后進(jìn)行顯示。1.2
4、數(shù)字溫度計的特點與問題數(shù)字溫度計相對與傳統(tǒng)的溫度計,用數(shù)字信號來表示溫度變化,方便計算機(jī)控制系統(tǒng)進(jìn)行處理和記錄,通常采集溫度的傳感器特性,信號的轉(zhuǎn)換裝置,和信號的傳輸裝置對數(shù)字溫度機(jī)的使用圍和性能都有極其重要的影響,傳統(tǒng)的數(shù)字溫度計因為成本和技術(shù)等原因,采用熱敏電阻的檢測方式,采集的模擬電壓信號容易收到干擾,且需要模數(shù)轉(zhuǎn)換的效果也差。本文設(shè)計了一種基于單總線芯片的數(shù)字溫度計,克服傳統(tǒng)數(shù)字溫度計在信號傳輸,信號轉(zhuǎn)換上的問題。第2章 設(shè)計方案2.1 設(shè)計指標(biāo)2.1.1檢測圍溫度檢測圍決定了溫度計的使用圍和場合,由本設(shè)計的溫度檢測器件DS18B20的性能決定了極限溫度檢測圍為55125,在系統(tǒng)時間過
5、程中,單片機(jī)的處理精度,器件的響應(yīng)時間等各種因數(shù)的影響,實際的檢測圍會小于這個圍。2.1.2 檢測誤差數(shù)字溫度計必須在檢測圍有良好的精度,也就是在設(shè)計溫度檢測圍必須有良好的檢測線性,在高溫和低溫場合,系統(tǒng)都應(yīng)該有一樣的精度和誤差,本設(shè)計的溫度檢測器件DS18B20置9位的模擬/數(shù)字轉(zhuǎn)換電路,其檢測的分辨率可達(dá)0.0625。2.1.3 系統(tǒng)反應(yīng)速度相對傳統(tǒng)的靠熱脹冷縮原理的液體溫度計,數(shù)字溫度計必須要有很高的檢測響應(yīng)速度,以準(zhǔn)確的反映溫度變化的過程。這就使本設(shè)計的系統(tǒng)方案必須適當(dāng)縮短采集/轉(zhuǎn)換/處理/顯示溫度信號的周期,以提高系統(tǒng)的反應(yīng)速度。影響這個反應(yīng)速度的主要因素是單總線的讀寫周期和LED顯
6、示的讀寫周期。同時為照顧人眼判讀溫度數(shù)據(jù)的反應(yīng)時間需要,本設(shè)計把系統(tǒng)檢測反應(yīng)速度設(shè)置在1S左右。2.2 基于單總線溫度檢測芯片的檢測方案單總線的數(shù)字溫度芯片是集成在芯片的溫度檢測電路和單總線接口電路構(gòu)成的,由于模擬信號在芯片就轉(zhuǎn)換成為數(shù)字信號并以總線的方式串行輸出,使得溫度/電磁環(huán)境對信號傳輸?shù)母蓴_最小,單總線的接口也能滿足長距離信號傳輸?shù)牟季€成本問題。同時單總線系統(tǒng)還可以擴(kuò)展出一個總線上接入采集多個溫度采集點的形式,給設(shè)計和應(yīng)用帶來更多的靈活性。綜上所述:本設(shè)計選擇使用單總線溫度檢測芯片的檢測方案。圖2-1 單總線溫度檢測結(jié)構(gòu)2.3 關(guān)鍵技術(shù)2.3.1單總線技術(shù)單總線技術(shù)是指接收和發(fā)射都在同
7、一條線上的數(shù)字總線通信技術(shù),其收發(fā)需要遵循嚴(yán)格的邏輯時序,在初始化設(shè)備后,主機(jī)要先訪問總線上所有設(shè)備的地址,然后對所需要的設(shè)備發(fā)出工作指令,隨后接受總線設(shè)備發(fā)出的數(shù)據(jù)信息,這就要求本設(shè)計的主機(jī)要在總線的時間序列協(xié)議下雙向的讀寫。圖2-2 單總線接口電路2.3.2單片機(jī)開發(fā)技術(shù)單片機(jī)是單片微機(jī)的簡稱,是在單一芯片上實現(xiàn)計算機(jī)系統(tǒng)的簡稱??亢唵蔚耐鈬娐?,就可構(gòu)件一個單片機(jī)運行的最小系統(tǒng),但是單片機(jī)的開始需要借助個人電腦,在個人電腦上,編寫和調(diào)試開發(fā)語言,并將編譯好后的機(jī)器語言通過下載器燒寫到單片機(jī),使單片機(jī)運行預(yù)先設(shè)計的程序。單片機(jī)的開發(fā)需要個人電腦上運行的單片機(jī)開發(fā)環(huán)境,程序下載器和開發(fā)板,如
8、所用的AT89S52單片機(jī),就需要KEIL開發(fā)環(huán)境,并口下載線和開發(fā)板。在本設(shè)計方案中,選用的是ATMEL公司的52系列的AT89S52單片機(jī),屬于復(fù)雜指令(CISC)運算單片機(jī),AT89S52是一種低功耗、高性能CMOS 8位微控制器,它具有8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片晶振與時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM容被保
9、存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。使該型號的單片機(jī)有極高的性能價格比。它的KEIl開發(fā)環(huán)境支持在WINDOWS平臺上的C語言與匯編語言程序開發(fā),方便軟件設(shè)計的模塊化和結(jié)構(gòu)化的開發(fā)模式。第3章 具體設(shè)計與實現(xiàn)3.1 系統(tǒng)總體設(shè)計該系統(tǒng)由單總線溫度檢測系統(tǒng),顯示系統(tǒng),開關(guān)系統(tǒng)三個部分構(gòu)成,同時把系統(tǒng)設(shè)計分為硬件和軟件兩部分來設(shè)計。本設(shè)計采用ATMEL的52系列AT89S52單片機(jī)應(yīng)用系統(tǒng)來實現(xiàn)設(shè)計要求,高性能、低功耗的8位微處理器,非易失性的程序和數(shù)據(jù)存儲器,在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程Flash,使得 AT89S52為眾多嵌入式控制應(yīng)用
10、系統(tǒng)提供高靈活、超有效的解決方案。溫度采集與A/D轉(zhuǎn)換,采用DALLAS公司的DS18B20。DS18B20是DALLAS公司生產(chǎn)的總線式數(shù)字溫度傳感器,具有3個引腳;溫度測量圍為55125,可編程為9位12位A/D轉(zhuǎn)換精度,測溫分辨率可達(dá)0.0625,被測溫度用符號擴(kuò)展的16位數(shù)字量串行輸出;其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生;多個DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。以上特點使DS18B20非常適用于遠(yuǎn)距離多點溫度檢測系統(tǒng)。數(shù)據(jù)顯示裝置采用的是LED數(shù)碼管,LED數(shù)碼管結(jié)
11、構(gòu)簡單,價格便宜。分為共陰和共陽兩類,八段LED顯示管是通過同名管腳上所加的電平高低來控制發(fā)光二極管是否點亮從而顯示不同的字形。數(shù)字溫度計系統(tǒng)基本工作原理為:首先檢測單總線情況,判斷是否有單總線芯片在工作,然后對于數(shù)字溫度傳感器采集到的溫度數(shù)值,單片機(jī)對溫度數(shù)值進(jìn)行處理,然后作溫度顯示。在圖3-1中,在系統(tǒng)中控制模塊主要由AT89S52負(fù)責(zé)整個系統(tǒng)的控制工作,顯示模塊主要由LED數(shù)碼管顯示信息,溫度采集是由數(shù)字溫度傳感器DS18B20實現(xiàn)的。圖3-1 系統(tǒng)模塊圖3.2 硬件設(shè)計3.2.1 溫度檢測系統(tǒng)設(shè)計DS18B20數(shù)字溫度計提供912位溫度讀數(shù),只是器件的溫度。信息經(jīng)過單線接口送入DS18
12、B20或從DS18B20送出,因此從主機(jī)CPU到DS18B20僅需要一條線。DS18B20的電源可以由數(shù)據(jù)線本身提供而不需要外部電源。因為每一個DS18B20在出廠時已經(jīng)給定了唯一的序號,因此任意多個DS18B20可以存放在同一條單線總線上。這允許在許多不同的地方放置溫度敏感器件。DS18B20的測量圍從-55到+125 ,增量值為0.5,可在1s把溫度變成數(shù)字。每一個DS18B20包括一個唯一的64位長的序號,該序號值存放在DS18B20部的ROM中。開始8位是產(chǎn)品類型編碼。接著的48位是每個器件唯一的序號。最后8位是前面56位的CRC(循環(huán)冗余校驗)碼。DS18B20中還有用于貯存測得的溫
13、度值的兩個8位貯存器RAM,編號為0號和1號。1號存貯器存放溫度值的符號,如果溫度為負(fù),則1號存貯器8位全為1,否則全為0。0號存貯器用于存放溫度值的補碼,LSB(最低位)的1表示0.625。將存貯器中的二進(jìn)制數(shù)求補再轉(zhuǎn)換成十進(jìn)制數(shù)并除以2,就得到被測溫度值。每只DS18B20都可以設(shè)置成兩種供電方式,即數(shù)據(jù)總線供電方式和外部供電方式。采取數(shù)據(jù)總線供電方式可以節(jié)省一根導(dǎo)線,但完成溫度測量的時間較長;采取外部供電方式則多用一根導(dǎo)線,但測量速度較快。本設(shè)計采用DS18B20單總線溫度檢測芯片,在芯片上只有3個接口,分別對應(yīng)電源VCC,地線GND,信號線TX/RX,由于DS18B20芯片使用5V的供
14、電方式,本設(shè)計直接將電源VCC先上直接串入一個4.7K左右歐姆的電阻并上拉到信號線上來實現(xiàn)芯片的供電,這樣的供電的方式就叫作寄生供電3,這樣設(shè)計的原因是單總線的收發(fā)都是同一根線,若在總線上有多個設(shè)備,這需要在尋找指定設(shè)備和設(shè)備應(yīng)答上使總線保持嚴(yán)格的通訊時序。圖3-2 單總線電路圖3.2.2 單片機(jī)最小系統(tǒng)設(shè)計AT89S52是ATMEL公司推出的單片機(jī),它是一款采用低功耗CMOS工藝生產(chǎn)的8位單片機(jī)。系統(tǒng)可編程特性,使得無需購買昂貴的仿真器和編程器也可進(jìn)行單片機(jī)嵌入系統(tǒng)的設(shè)計和開發(fā)。AT89S52具有8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個1
15、6 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片晶振與時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。3.2.3 顯示系統(tǒng)設(shè)計為方便用戶直觀地看到當(dāng)前的溫度,本設(shè)計使用數(shù)碼管顯示器。LED顯示器常用的工作方式有靜態(tài)顯示方式和動態(tài)顯示方式。所謂靜態(tài)顯示方式就是當(dāng)顯示器顯示一個字符時,相應(yīng)的發(fā)光二極管始終保持導(dǎo)通或截止。在顯示的過程中,其狀態(tài)是靜止不變的,直到一個字符顯示完畢
16、。而動態(tài)顯示方式在顯示每一個字符的過程中,都是一位一位的輪流點亮要顯示的各個位。每一位點亮后保留,然后去點亮下一個要點亮的位,這樣反復(fù)循環(huán)。本系統(tǒng)采用的是LED的動態(tài)顯示。在多位LED顯示時,為了簡化硬件電路,常常將所有位的段選線并聯(lián)在一起,由一個8位的I/O口控制,而各位的共陽極或共陰極引腳則分別有單獨的I/O口來控制,以實現(xiàn)各位的分時復(fù)用。3.2.4 電源系統(tǒng)設(shè)計電源系統(tǒng)為整個溫度檢測系統(tǒng)提供穩(wěn)定可靠的電源,本系統(tǒng)5V穩(wěn)壓電路設(shè)計采用的方案是實驗板上接口提供的5電源。3.3 軟件設(shè)計軟件設(shè)計和開發(fā)本設(shè)計使用的是基于C語言的KELL環(huán)境,使得本設(shè)計能夠讓軟件構(gòu)件更加結(jié)構(gòu)化,模塊化,并方便修改
17、和擴(kuò)展。下面本設(shè)計將軟件分為單總線驅(qū)動,LED顯示驅(qū)動,溫度轉(zhuǎn)化模塊,主程序大循環(huán)三個模塊來說明。readTemp()單總線驅(qū)動模塊溫度轉(zhuǎn)化模塊LED顯示模塊Init_18B20()主程序大循環(huán)san()read_byte()workTemp()write_byte()圖3-3 軟件結(jié)構(gòu)圖3.3.1溫度傳感器驅(qū)動設(shè)計由于本設(shè)計的系統(tǒng)只有一個18B20芯片,所以需要在總線上只訪問一個設(shè)備。采用單總線數(shù)據(jù)傳輸方式,DS18B20的數(shù)據(jù)I/O均由同一條線完成。因此,對讀寫的操作時序要求嚴(yán)格。為保證DS18B20的嚴(yán)格I/O時序,需要做較精確的延時。為了得到精確的延時,采用了硬件延時的方法。在DS18
18、B20操作中,用到的延時有15 s,90 s,270 s,540 s等。因這些延時均為15 s的整數(shù)倍,因此可編寫一個DELAY15(n)函數(shù),只要用該函數(shù)進(jìn)行大約15 s×N的延時即可。有了比較精確的延時保證,就可以對DS18B20進(jìn)行讀寫操作、溫度轉(zhuǎn)換與顯示等操作。 同時為了方便程序的模塊化,將單總線驅(qū)動設(shè)計為初始化函數(shù) init_1820(),讀溫度函數(shù)read_byte(),寫指令函數(shù):write_byte() 3個大的函數(shù)模塊。 (1) 初始化主機(jī)發(fā)一個復(fù)位脈沖(最短為480gs的低電平),接著主機(jī)釋放總
19、線進(jìn)入接收狀態(tài),DS 18B20在檢測到1/O引腳上的上升沿之后,等待15-60gs然后發(fā)出存在脈沖(60-240gs的低電平)。圖3-4 18B20初始化時序圖原碼如下:/*函數(shù)名:Init_18B20( ) 函數(shù)功能:初始化返回值:presence*/uchar Init_18B20(void) unsigned char presence; DQ=1;DQ = 0; /主機(jī)發(fā)復(fù)位脈沖,延時480960us Delay(40);DQ = 1; / 釋放總線 Delay(3); /等待1560uspresence = DQ; / 獲取存在脈沖 Delay(8); / 60240us的低電平
20、DQ = 1; return(presence); 圖3-5 18B20初始化流程圖(2)寫數(shù)據(jù)線從高電平拉至低電平,產(chǎn)生寫起始信號。在15gs之將所需寫的位送到數(shù)據(jù)線上,在15gs到60gs之間對數(shù)據(jù)線進(jìn)行采樣,如果采樣為高電平,就寫1,如果為低電平,寫0就發(fā)生。在開始另一個寫周期前必須有1gs 以上的高電平恢復(fù)期。圖3-6 寫數(shù)據(jù)時序圖原代碼如下:/*函數(shù)名:write_byte( ) 函數(shù)功能:寫一個字節(jié)返回值:無*/ void write_byte(uchar Data) uchar i=0; for (i=0;i<8;i+) /循環(huán)次數(shù) DQ = 0; /將總線拉置低電平 _n
21、op_();_nop_();_nop_();_nop_(); DQ = Data&0x01;/對總線數(shù)據(jù)進(jìn)行采樣,采樣時間在1560uS Delay(6); DQ = 1; /釋放總線 Data>>=1; Delay(1); 圖3-7 寫數(shù)據(jù)流程圖(3)讀主機(jī)將數(shù)據(jù)線從高電平拉至低電平1GIs 以上,再使數(shù)據(jù)線升為高電平,從而產(chǎn)生讀起始信號。主機(jī)在讀時間片下降沿之后15gs完成讀位。每個讀周期最短的持續(xù)期為60gs,各個讀周期之間也必須有1gS以上的高電平恢復(fù)期。圖3-8 讀數(shù)據(jù)流程圖原代碼如下:/*函數(shù)名:read_bit( ) 函數(shù)功能:讀一位返回值:DQ*/uchar
22、 read_bit( void )uchar i;DQ=0;/總線拉低_nop_();_nop_();/稍作延時 _nop_();_nop_();_nop_(); DQ=1;/釋放總線,采樣并發(fā)送數(shù)據(jù)位,在15us完成for(i=0;i<6;i+);return (DQ);/*函數(shù)名:read_byte( ) 函數(shù)功能:讀一個字節(jié)返回值:Data*/uchar read_byte(void) uchar Data=0;圖3-9 讀數(shù)據(jù)流程圖 for(i=0;i<8;i+)/循環(huán)8次 DQ=1;_nop_();_nop_();_nop_(); if(read_bit() Data|=
23、(0x01<<i); /移位處理數(shù)據(jù) return Data;3.3.2顯示驅(qū)動設(shè)計本設(shè)計采用LED數(shù)碼管顯示模塊。LED模塊的讀寫操作、數(shù)據(jù)顯示操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平)。從DS18B20讀取的溫度,經(jīng)過單片機(jī)的處理,將要顯示的溫度轉(zhuǎn)化為LED可以顯示的字符碼,再將字符碼信號傳遞給74LS244段驅(qū)動,再通過74LS244位驅(qū)動選擇一位LED數(shù)碼管,并延時,將數(shù)據(jù)顯示出來。開 始初始化LED段 選位 選延時顯示圖3-10 LED驅(qū)動流程圖驅(qū)動程序原碼如下:/*函數(shù)名:workTemperature( ) 函數(shù)功能:轉(zhuǎn)換溫度返回值:無*/void
24、 workTemperature(void)/顯示溫度 if(temp_data1>127) /正、負(fù)數(shù)判斷 temp_data1=(256-temp_data1); temp_data0=(256-temp_data0); n=1; /負(fù)溫度求補碼 display0=temp_data0&0x0f; /查表得小數(shù)位的值 if (display0>9) display0=9;/計算出各位 display4=(temp_data0&0xf0)>>4)|(temp_data1&0x0f)<<4); display3=display4/10
25、0; display1=display4%100; display2=display1/10; display1=display1%10; if(!display3) /高位為0,不顯示 display3=0x0a; if(!display2) /次高位為0,不顯示 display2=0x0a; if(n)display4=0x0b; /負(fù)溫度時最高位顯示"-" else display4=0x0a; /+ /*函數(shù)名:scan( ) 函數(shù)功能:數(shù)碼管顯示返回值:無*/scan()char k; segment = 0x39;/0xc6; /顯示 Cbt = 0x7f; D
26、elay(300); segment = 0x63;/0x9c; /顯示 bt = 0xbf; Delay(300); for(k=0;k<4;k+) /4位LED掃描控制 DIN=0; segment=dis_7displayk; /數(shù)據(jù)顯示 if (k=1)DIN=1; else DIN=0; /小數(shù)點顯示 bt=scan_conk; /位選 Delay(100); /延時 3.3.3開關(guān)控制設(shè)計將單片機(jī)與鍵盤相連,當(dāng)按下某個鍵時,開始測量溫度,當(dāng)按下另外一個鍵時,停止測量溫度。否是開 始按下一個鍵顯示溫度不顯示溫度按鍵是否是0x00圖3-11 開關(guān)控制流程圖代碼如下:/*函數(shù)名:k
27、eyboard_san()函數(shù)功能:鍵盤掃描,采用全掃描返回值:按鍵的行列位置的指針。*/uchar keyboard_san()P2=0xf0;temp=P2;if(temp<0xf0)for(cloum=0x00;cloum<0x04;cloum+)if(temp(0x10<<cloum)=0xf0)keyboard0=cloum;break;P2=0x0f;temp=P2;for(row=0x00;row<0x04;row+)if(temp(0x01<<row)=0x0f)keyboard1=row;returnkeyboard_numberke
28、yboard0keyboard1;break;elsereturn 0xff;3.3.4系統(tǒng)軟件設(shè)計開 始初始化溫度變量是否關(guān)閉開關(guān)按照本設(shè)計的系統(tǒng)設(shè)計功能,系統(tǒng)需要不停地采集當(dāng)前溫度并顯示出來,所以本設(shè)計的程序設(shè)置為大循環(huán)結(jié)構(gòu),也就是當(dāng)系統(tǒng)上電或復(fù)位后,需要不斷采集溫度數(shù)據(jù)并顯示。復(fù)位DS18B20讀溫度數(shù)據(jù)初始化硬件顯示溫度并延時結(jié) 束否 是圖3-12 系統(tǒng)流程圖主程序原碼如下:/*函數(shù)名:main( ) 函數(shù)功能:主函數(shù)返回值:無*/void main(void) char h;get(); /得到按下的鍵值if(value=0x00) /開關(guān) while(1) readTemperat
29、ure(); /讀出DS18B20溫度數(shù)據(jù) workTemperature(); for(h=0;h<100;h+) /顯示溫度值2s scan(); 第4章 系統(tǒng)集成與測試4.1軟件調(diào)試軟件調(diào)試,是對單總線驅(qū)動程序,顯示驅(qū)動程序,以與主循環(huán)程序的運行進(jìn)行調(diào)試,測試各函數(shù)的運算圍和形參的邊界問題,以與檢查系統(tǒng)是否嚴(yán)重的邏輯缺陷。圖4-1 軟件調(diào)試界面 軟件調(diào)試我們使用KELL開發(fā)工具,可以對源程序進(jìn)行調(diào)試/編譯/下載燒寫。為具體觀察單片機(jī)的運行流程,我們在程序中加入斷點,可以分步跟蹤程序的運行流程。4.2硬件調(diào)試硬件調(diào)試是電路系統(tǒng)進(jìn)行調(diào)試,首先保證電路實物的接線和原電路設(shè)計圖一致,檢查各電路元器件有無損壞和性能參數(shù)是否匹配,電路板上的焊點無斷路和短路的現(xiàn)象發(fā)生。我們調(diào)試硬件的主要工具是萬用表,在上電前檢查主要電路的連接通斷情況,在上電后再檢查各信號端口,電源接入點的電壓和電平信號是否正常,長時間運行時元器件有無嚴(yán)重發(fā)熱的情況。另外,還可以用示波器對單總線的信號進(jìn)行測量,觀察DS18B20是否正常工作。4.3系統(tǒng)測試系統(tǒng)測試,主要是將各功能的軟硬件功能聯(lián)合起來調(diào)試,如將單總線溫度芯片與單片機(jī)相
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中外服裝史知到課后答案智慧樹章節(jié)測試答案2025年春德州學(xué)院
- 銀川市重點中學(xué)2025屆高三下學(xué)期教學(xué)質(zhì)量監(jiān)測(三模)英語試題含解析
- 新疆哈密市第十五中學(xué)2024-2025學(xué)年高三(高補班)下學(xué)期期末語文試題試卷含解析
- 吉首大學(xué)《給排水管道工程》2023-2024學(xué)年第二學(xué)期期末試卷
- 郴州思科職業(yè)學(xué)院《傳熱學(xué)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西財經(jīng)大學(xué)現(xiàn)代經(jīng)濟(jì)管理學(xué)院《運籌學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 河北交通職業(yè)技術(shù)學(xué)院《醫(yī)用生物材料C》2023-2024學(xué)年第二學(xué)期期末試卷
- 工程造價咨詢依據(jù)
- 2025年衛(wèi)浴柜行業(yè)現(xiàn)狀分析:全球衛(wèi)浴柜市場規(guī)模將達(dá)410億美元
- 2025年茶飲市場分析:規(guī)模、競爭與未來展望
- 2021年無人機(jī)駕駛員考試題庫及答案(完整版)
- 人教版英語四年級上冊《Unit-3-My-friends》單元教學(xué)課件
- 宿舍專項檢查表
- 同位素水文學(xué)研究綜述
- 樁基靜載試驗
- 鋰電池企業(yè)標(biāo)準(zhǔn)質(zhì)量手冊
- (完整版)離婚協(xié)議書標(biāo)準(zhǔn)版下載
- 山西焦煤集團(tuán)正仁煤業(yè)有限公司礦產(chǎn)資源開發(fā)利用、地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 2023年安徽高校教師崗前培訓(xùn)結(jié)業(yè)統(tǒng)考試題及參考答案
- 駕駛員安全技術(shù)交底
- 醫(yī)院臨床、醫(yī)技科室績效考核辦法
評論
0/150
提交評論