




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
龍昌輝:LCD1602體溫計系統(tǒng)設(shè)計華東交通大學(xué)理工學(xué)院畢業(yè)設(shè)計前言數(shù)字體溫計在生活、科技等地方都用到,單片機的普及與應(yīng)用使人們的生活更加簡易與方便,用它來比較傳統(tǒng)水銀溫度計,該設(shè)計能更精確的顯示人體體溫測量。溫度測量涉及我們?nèi)粘I钜约肮ぷ鞯榷喾矫娴念I(lǐng)域。但是由于水銀體溫計使用方便而且較為傳統(tǒng)所以在實際應(yīng)用中用到比較多。目前所使用的水銀溫度計分辨率大概都在1到0.1之間。再加上水銀溫度計測溫的方法與其構(gòu)造都已成熟,所以沒有太大改進的余地,人們幾乎已經(jīng)習(xí)慣了水銀溫度計的現(xiàn)狀沒有過多的去研究,導(dǎo)致它沒有更好的發(fā)展。水銀體溫計測量溫度時會帶來很大的不便,因為水銀溫度計的刻度的間隔一般情況下都很密,不易分辨,導(dǎo)致讀數(shù)困難,并且它們的熱容量較大,要達(dá)到熱平衡所需要的時間也較長,使用起來比較不便。水銀是一種污染比較嚴(yán)重的物質(zhì)。為了更精確的測量出人體的局部溫度,也改進與發(fā)展了不少測量體溫的方法和儀器。目前,出現(xiàn)的電子體溫計正逐步的普及人們的生活與用于科技發(fā)展,對于我們來說是一個很好的消息,較之傳統(tǒng)測溫方法有了很大進步。溫度計從傳統(tǒng)的水銀溫度計到電子式溫度計發(fā)展的很迅速,現(xiàn)在大多數(shù)領(lǐng)域都有觸及。傳感器是電子式的重要構(gòu)成部分能傳感溫度的高低,溫度計的精度度與靈敏度基本能決定溫度計對溫度的精確測量范圍與控制范圍和用途等。溫度傳感器在應(yīng)用上非常廣泛,到目前為止已經(jīng)研究并制造出很多種溫度傳感器,使得溫度監(jiān)控系統(tǒng)的性能優(yōu)良。該設(shè)計較之普通電子體溫計有大幅度的提高:設(shè)計電路簡單,消耗低,精確度高,并且可實現(xiàn)超過溫度設(shè)定值報警。在該設(shè)計進行之前,查找了大量的有關(guān)書籍與參考文獻,全方位的分析了該設(shè)計的利與弊,并且研究與之有關(guān)的溫度傳感器以及液晶顯示屏,最后選定最優(yōu)設(shè)計方案:利用DS18B20測量溫度,LCD1602顯示測量溫度值,并且用AT89C51作為中央處理芯片。在以理論研究設(shè)計的基礎(chǔ)上,該設(shè)計應(yīng)用了C語言的編程與protues仿真,最后實現(xiàn)了溫度測量的精確度。同時在溫度顯示增加了按鍵的部分,按下按鍵就可保持當(dāng)前的溫度值,使它不會受到外部溫度的影響,繼續(xù)測溫只需要再次按下按鍵。當(dāng)測量的溫度值大于該設(shè)計本身的設(shè)定值時蜂鳴器就會報警。該設(shè)計的數(shù)字體溫計對溫度的精確度很高,要想精確度能達(dá)到0.0625,本設(shè)計可用DS18B20的12位分辨率。用LCD1602顯示測量的溫度,可讓我們直觀的看到顯示測量的溫度值。1系統(tǒng)方案設(shè)計1.1溫度傳感模塊的選定方案一:利用名稱為LM35的溫度傳感器設(shè)計方案。該方案電路較為復(fù)雜,在設(shè)計過程中所需要的器件也很多,成本也較高,并且在測溫的時候需要用到放大器和A/D轉(zhuǎn)換來處理信號是比較復(fù)雜的。方案二:采用熱敏電阻設(shè)計方案。熱敏電阻雖然價格相對便宜,原理也比較簡單,但是線性度不是很好,一旦沒有進行線性補償?shù)?,很難達(dá)到精確度;如果對非線性補償,電路的結(jié)構(gòu)就會很復(fù)雜,在設(shè)計過程中很難調(diào)整。方案三:用DS18B20溫度傳感器來采集溫度與測量。DS18B20可集成放大器與A/D轉(zhuǎn)換,不需要外部的器件,它有獨立的單線接口只需要一個端口引腳就可以通訊,使電路得到簡化。測量溫度時數(shù)字量的轉(zhuǎn)換時間也比較短,可以用3.0~5.5V的電源供電。待機狀態(tài)無功耗。根據(jù)仔細(xì)分析,本設(shè)計采用的是方案三。1.2顯示模塊的選定方案一:用數(shù)碼管來顯示。在我們平常用的數(shù)碼管種類比較多,顯示的測溫值數(shù)據(jù)也讀不相同。數(shù)碼管需要譯碼器,在設(shè)計的時候過程較為復(fù)雜,并且想要顯示所測體溫值數(shù)據(jù)需要用七段碼。方案二:用LCD1602來顯示。在設(shè)計時遇到液晶屏是否可以顯示時,可以看液晶分子的狀態(tài)就可以LCD1602顯示中想要顯示所測量的溫度值是否可以顯示出來。用LCD1602顯示可以讓使用者直接的看到顯示的數(shù)字溫度值,并且它的功耗也較低。根據(jù)仔細(xì)分析,本設(shè)計采用方案二。1.3總體方案設(shè)計本設(shè)計采集溫度選用的是DS18B20。(1)把DS18B20采集的數(shù)據(jù)經(jīng)過單片機I/O口輸入,通過單片機把數(shù)據(jù)處理之后轉(zhuǎn)換成1602能夠顯示的測溫值。(2)利用液晶屏來顯示測出的溫度值。(3)溫度超過了設(shè)計中的要求值時蜂鳴器就會發(fā)出警報。(4)按下按鍵能夠讓溫度固定,使它不會受外部環(huán)境等因素的影響,再次按下按鍵就可以繼續(xù)測溫。1.4總體結(jié)構(gòu)框圖通過上面方案的闡述,該系統(tǒng)采用單片機最小系統(tǒng)為核心,加上LCD1602顯示模塊、DS18B20人體體溫采集模塊以及串口模塊四部分組成。整個系統(tǒng)總框圖如圖2-1所示:圖1.1系統(tǒng)結(jié)構(gòu)框圖
2設(shè)計原理2.1單片機AT89C512.1.1單片機簡介單片機指的是一個集成在芯片上相當(dāng)于計算機一個完整系統(tǒng)。同時集成比如接口和定時器以及實時時鐘等設(shè)備。目前一些單片機系統(tǒng)能夠?qū)⒕W(wǎng)絡(luò)與圖像以及輸出和輸入系統(tǒng)集成在一塊小芯片上。單片機微控制器所表示大概意思:一塊芯片相當(dāng)于一臺計算機。它重量輕、價格也較為便宜,能為學(xué)習(xí)、實踐應(yīng)用和研究開發(fā)帶來便利的條件以及讓我們進一步了解單片機的工作原理與用途。2.1.2AT89C51本設(shè)計中的AT89C51是一種性能較高的微處理器含有4K字節(jié)的閃爍的低電壓,并且我們可以用它進行編程。較之對比工業(yè)上使用的MCS-51指令集與輸出管腳相互兼容。含有ATMEL的AT89C51能讓控制系統(tǒng)方案稱為更加具有靈活的程度方案并且它的價格方面也是比較便宜的。圖2.1AT89C51引腳圖[1]GND:接地引腳。VCC:電源引腳。
P0:P0口為一個8位的雙向I/O口,每個管腳可以吸收8個TTL門電流。P0口是沒有上拉電阻的,可以外接一個。這就是P0在設(shè)計中的作用和操作過程。P1:當(dāng)把P1口寫成“1”的時候,P2口管腳將把其內(nèi)部上拉電阻進行拉高,可當(dāng)作輸入。用FLASH編程與檢驗的時候,P1口將會當(dāng)作第八位接收地址。以上就是P1在設(shè)計中的作用也操作過程。P2:當(dāng)P2口寫成“1”的時侯,P2口管腳將把其內(nèi)部上拉電阻進行拉高,當(dāng)作輸入。根據(jù)P2口的特性:內(nèi)部上拉電阻就可以輸出電流。
P3:當(dāng)P3口在高電平的狀態(tài)下,可以作為輸入端,并且可以用于輸入。P3口管腳起到的作用及操作過程。RST:復(fù)位和輸入。EA:當(dāng)EA保持低電平的狀態(tài)時,這個時候應(yīng)當(dāng)注意加密方式1時,其內(nèi)部就會鎖定RESET,在用設(shè)計軟件的過程中,EA引腳可為編程電源。
XTAL1:反向放大器輸入。
XTAL2:就是反向振蕩器輸出。振蕩器的作用:在反向放大器中的輸出與輸入的分別是管腳18與管腳19,如上圖所示XTAL1及XTAL2的管腳分布。這個反向放大器能配置成片內(nèi)振蕩器??刹捎锰沾膳c石英振蕩器。外接電容C1,C2沒有太大要求,但是電容容量大小會影響到震蕩頻率的高低與震蕩器工作時的穩(wěn)定性以及起振的程序難易和溫度的穩(wěn)定性。芯片擦除:在重復(fù)編程的時候必須要被執(zhí)行。2.1.3AT89C51閑散節(jié)電模式AT89C51在閑散模式的情況下就會成為省電模式,在掉電的模式情況下閑散模式作用是相同的??梢杂脤iT用來控制的寄存器PCON中PD與IDL位來實現(xiàn)。在PD=1時,掉電工作模式就會被激活單片機則進入掉電的工作狀態(tài)。如過要兩種工作模式同時進行,就是PD與IDL同時為1是,就會先將掉電模式激活。閑散工作模式情況下,其它片內(nèi)的外設(shè)依舊會保持激活的狀態(tài)只有中央處理器CPU處于睡眠狀態(tài),這樣的方式是因為軟件而產(chǎn)生的。在這個時候,片內(nèi)隨機存取數(shù)據(jù)存儲器是沒有改變的特殊功能寄存器的內(nèi)容同樣沒有改變。閑散模式復(fù)位終止是可以由所有允許的中斷請求和硬件來做到的。在程序里最開始的是中斷,就會進入中斷服務(wù)的程序,當(dāng)執(zhí)行了中斷服務(wù)程序緊隨RETI指令之后,接下來執(zhí)行的指令是把單片機模式調(diào)整進入閑散工作的模式,這是后面的一條指令。閑散工作模式終止可以通過硬件復(fù)位來完成。激活閑散模式的那條指令后面的一條指令不應(yīng)是一條對端口或外部存儲器的寫入指令[2]。2.1.4AT89C51掉電模式在硬件復(fù)位的時候,能夠使整個系統(tǒng)重新啟動并且再次進行工作,在這個過程中就可以從掉電模式提出。在掉電的模式的情況下,時鐘振蕩器停震,單片機處于掉電模式片內(nèi)RAM的數(shù)據(jù)被保持,只能用復(fù)位來喚醒。該設(shè)計里,采用的是將單片機P3.7口接入到DS18B20的通訊端口P0口與P2.5、P2.6口接入LCD1602液晶顯示屏,而P2.0口與P1.5口分別接入按鍵和接蜂鳴器。2.2溫度傳感器DS18B202.2.1DS18B20性能(1)
電壓的范圍在3.0~5.5V;(2)
測溫的范圍是-55~+125℃;(3)
可以編程分辨率9~12位;(4)
要想把溫度值轉(zhuǎn)換成數(shù)字12位分辨率時間應(yīng)該在750ms之內(nèi);(5)
負(fù)壓特性:在設(shè)計過程中,將電源的正負(fù)極接反,本設(shè)計LCD1602電子體溫計系統(tǒng)不能正常進行測溫及顯示。2.2.2DS18B20的外形和內(nèi)部結(jié)構(gòu)圖2.2DS18B20簡單介紹DS18B20構(gòu)成部分:溫度傳感器溫度報警觸發(fā)器配置寄存器64位光刻ROMDS18B20管腳排列與簡介如圖2.3所示:圖2.3DS18B20外形圖[3]引腳定義:(1)DQ為數(shù)字信號輸入/輸出端;(2)GND為電源地;(3)VDD為電源輸入端(需要外接供電)DS18B20內(nèi)部結(jié)構(gòu):2.2.3相關(guān)數(shù)據(jù)DS18B20格式表(溫度值)如圖2.3:圖2.2溫度格式表bit7bit6bit5bit4bit3bit2bit1bit0LSByte232221202-12-22-32-4bit15bit14bit13bit12bit11bit10bit9bit8MSByteSSSSS262524表2.3溫度數(shù)據(jù)表溫度數(shù)字輸出(二進制)數(shù)字輸出(十六進制)+125oC000000001111101000FAH+25oC00000000001100100032H+1/2oC00000000000000010001H0oC00000000000000000000H-1/2oC1111111111111111FFFFH-25oC1111111111001110FFCEH-55oC1111111110010010FF92H2.2.4DS18B20寄存器配置溫度值分辨率設(shè)置表:表2.4分辨率數(shù)據(jù)即時間R1R0分辨率溫度最大轉(zhuǎn)換時間009位93.75ms0110位187.5ms1011位375ms1112位750ms2.2.5高速暫存存儲器本設(shè)計所用的是有由9個字節(jié)組成的存儲器,即高速暫存存儲器。該存儲器對應(yīng)溫度的計算(如下表):S位一般有兩種情況:當(dāng)S=0時,二進制與十進制之間相互轉(zhuǎn)換。當(dāng)S=1時,原字節(jié)的補碼變?yōu)樵a。具體溫度值如表2.5所示。表2.5DS18B20暫存寄存器功能對應(yīng)字節(jié)寄存器結(jié)構(gòu)及組成部分對應(yīng)字節(jié)地址溫度值低位0溫度值高位1高溫限值2低溫限值3配置寄存器4溫度值不變5溫度值不變6溫度值不變7CRC檢驗8在被控制的情況下,DS18B20想要完成轉(zhuǎn)換需要三個步驟。步驟如下:對DS18B20進行復(fù)位。發(fā)送RAN指令。完成轉(zhuǎn)換。表2.6所示ROM的指令表[4]指令約定代碼功
能讀ROM33H讀DS18B20ROM中的編碼。符合ROM55H發(fā)出這個命令后,可以幫助DS18B20做讀寫準(zhǔn)備。搜索ROM0F0H設(shè)計原件運行準(zhǔn)備。跳過ROM0CCH直接通過暫存存儲器下達(dá)溫度轉(zhuǎn)換命令。蜂鳴警報器命令0ECH溫度超過設(shè)計的要求值就會下達(dá)報警命令蜂鳴器就會發(fā)出警報。2.7表RAM指令表指令約定代碼功
能溫度變換44H把得到的結(jié)果存入RAM。讀暫存器0BEH內(nèi)部RAM中9字節(jié)的內(nèi)容。寫暫存器4EH傳送第3、4兩字節(jié)的數(shù)據(jù)。復(fù)制暫存器48H把RAM中第3、4字節(jié)的內(nèi)容復(fù)制并傳送至EEPROM中。重調(diào)EEPROM0B8H把EEPROM中的內(nèi)容恢復(fù)到RAM中讀供電方式0B4H讀DS18B20的供電模式。2.2.6DS18B20使用中注意事項DS18B20在測溫的時候含有很多優(yōu)點,例如;簡易、使用方便。如果使用雙絞線帶屏蔽的電纜的信號傳輸?shù)拈L度效果會更好。因為總線分布電容能讓信號波形產(chǎn)生畸變所以會產(chǎn)生這種情況。所以長距離測溫之前必須要檢查電路中的電容和電阻之間是否可以讓整個電路正常進行。在DS18B20的有關(guān)資料中均未提及單總線上所掛DS18B20數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個DS18B20,在實際應(yīng)用中并非如此[5]。2.3液晶屏LCD16022.3.1液晶顯示簡介(1)液晶顯示原理原理;運用其物理特性,利用電壓就可以控制其顯示的地方,通電就可以顯示,顯示出想要得到的圖形。液晶顯示器包含了許多優(yōu)點,例如;厚度比較的薄、也適用集成電路直接驅(qū)動及得到彩色圖像等特點,在實際生活中應(yīng)用也很普及,比如我們的電腦以及電視機等電子產(chǎn)品。(2)字符一個字符的組成可以用8×8的點陣來組成,但是相當(dāng)?shù)膹?fù)雜,找起來不方便,而且每字節(jié)的不同位是“1”,其余的是“0”,是“1”的點亮,是“0”的不亮。如此就可以組成字符。液晶顯示的基本原理如上兩點所訴。2.3.2LCD1602的基本參數(shù)及引腳功能圖2.4LCD1602尺寸[6](1)1602LCD的主要技術(shù)參數(shù)如下1.顯示容量是16×2個字符2.芯片進行工作時,電壓為4.5—5.5V3.工作電流為2.0mA(5.0V)4.模塊的工作電壓為5V(2)引腳功能的說明各引腳接口說明如表2.8所示;編號符號引腳說明1VSS接地引腳2VDD電源引腳3VL液晶顯示4RS命令選擇5R讀選擇6E使能信號7D0數(shù)據(jù)8D1數(shù)據(jù)表2.8LCD1602引腳說明2.3.3LCD1602的指令說明及時序(1)基本操作時序①讀狀態(tài):輸入:RS=L,RW=H,E=H輸出:D0~D7=狀態(tài)字②寫指令:輸入:RS=L,RW=L,D0~D7=指令碼,E=高脈沖輸出:無③讀數(shù)據(jù):輸入:RS=H,RW=H,E=H輸出:D0~D7=數(shù)據(jù)④寫數(shù)據(jù):輸入:RS=H,RW=L,D0~D7=數(shù)據(jù),E=高脈沖輸出:無(2)ARM地址映射圖表2.9LCD1602的部分ARM地址000102030405060708404142434445464748在實驗的時候要顯示字符時需要提前輸入顯示字符地址,這樣我們就知道在哪里顯示字符。液晶模塊初始化的時候必須要先設(shè)置它的顯示模式,在液晶模塊顯示字符的時候光標(biāo)不需要人工操作,它是左右移動的。在每一次輸入指令之前都先要判斷液晶模塊是不是處于忙的情況下,就可以進行顯示。在1602液晶模塊之內(nèi)的字符發(fā)生存儲器中,字符的種類有:英文字母的大小寫與阿拉伯?dāng)?shù)字以及常用的一些符號和日文等等種類字符,這些字符都有自己的固定代碼。(3)指令說明①初始化設(shè)置 表2.10LCD1602初始化指令碼功能00111000設(shè)置16×2字符,5×7點陣,8位數(shù)據(jù)接口00001DCBD=1D=0時分別是開關(guān)關(guān)顯示C=1C=0時分別是顯示與不顯示光標(biāo)B=1B=0時光標(biāo)的亮與不亮000001NSN=1地址加一,S=1整屏顯示將會向左移N=0,地址加一,S=0當(dāng)寫入一個字符,整屏顯示不移動②數(shù)據(jù)控制可以通過控制器來訪問ARM。③數(shù)據(jù)指針表2.11數(shù)據(jù)指針指令碼功能80H+地址碼設(shè)置數(shù)據(jù)地址指針④其他設(shè)置表2.12設(shè)置及功能指令碼功能01H顯示清屏:1.數(shù)據(jù)指針清零2.所有顯示清零02H顯示回車:1.數(shù)據(jù)指針清零(4)初始化過程延時15ms,寫指令38H。延時5ms,寫指令38H延時5ms,寫指令38H寫指令38H:寫指令08H,顯示關(guān)閉。寫指令0CH:顯示開、及光標(biāo)設(shè)置,寫指令01H:顯示清屏。
3系統(tǒng)硬件設(shè)計3.1硬件總體設(shè)計思路在進行本設(shè)計時可按照數(shù)字體溫計特點及要求,本設(shè)計所注重是設(shè)計一款功耗比較低,成本相對便宜及電路簡易,方便攜帶以及用起來方便的體溫計,本設(shè)計用處比較廣泛,可用于家庭測量人體體溫也可以用于醫(yī)院。此設(shè)計硬件設(shè)計我們選用的一些相關(guān)芯片是完全符合該設(shè)計所要達(dá)到的要求的,它能夠精確的測溫值,它的顯示溫度在一位小數(shù)點以及精度是可達(dá)到0.0625oC。本設(shè)計總體設(shè)計簡單介紹:通過單片機處理所測的溫度信號,在LCD1602顯示,當(dāng)溫度超過設(shè)計要求溫值時,蜂鳴器就會發(fā)出警報。按鍵可以起到復(fù)位的作用再次進行操作。硬件設(shè)計總體原理圖如圖3.1所示:圖3.1系統(tǒng)原理圖3.2單片機時鐘電路與復(fù)位電路設(shè)計時鐘電路與復(fù)位電路原理圖如圖3.2所示圖3.2時鐘電路原理圖3.2.1時鐘電路設(shè)計51單片機產(chǎn)生時鐘信號可分為內(nèi)外部時鐘的方法。根據(jù)設(shè)計要求,本設(shè)計選用的是內(nèi)部時鐘的方法。我們將在單片機XTAL1與XTAL2引腳外接上晶振,這兩個電容器起到了穩(wěn)定頻率與快速起振的作用,電容值5-30pF,此設(shè)計選用的是22pF。晶振CYS頻率要求不能大于12MHZ,所以本設(shè)計用的是12MHZ晶振。在晶振頻率是12MHZ時機器周期就是1us[7]。3.2.2復(fù)位電路設(shè)計此設(shè)計選用的是上電復(fù)位電路。在此設(shè)計做實驗的時候上電復(fù)位接通電源,單片機就會自動實現(xiàn)復(fù)位操作。在圖3.2電路中上電的時候RST引腳就會獲得得高電平,電容C1在不斷的充電的情況下RST引腳的高電平就慢慢的下降。RST引腳高電平只需要保持2個機器周期,單片機就能進行復(fù)位操作。本設(shè)計復(fù)位電路中R1采用10K歐姆,C3采用10uF[8]。3.3溫度傳感設(shè)計模塊DS18B20VCC端接入電源GND端接地,并且DQ數(shù)據(jù)通訊端接的是單片機的P3.7口并聯(lián)上拉電阻。因為DS18B20內(nèi)部集成了A/D轉(zhuǎn)換電路及放大器兩個部分,所以此設(shè)計中溫度傳感模塊只要將傳感器與單片機的管腳連接起來,然后把采集得到的溫度信號傳送至單片機進行處理就可以完成溫度傳感。原理如圖3.3:圖3.3溫度傳感模塊原圖理3.4顯示模塊設(shè)計LCD1602是可以用電阻的大小的調(diào)節(jié)來調(diào)整亮度的,要設(shè)置液晶的背光可以用BLK與BLA,D0-D7管腳連接到單片機P0口。1602連接到P0口的時候要外接上拉電阻是因為單片機的P0口并沒有內(nèi)部上拉的電阻。RS連接到P2.6管腳,RW連接到P2.5管腳、E管腳連接的是P2.7管腳。BLA是背光源的正極,接電源的時侯須要串聯(lián)1K的限流電阻,BLK是背光源負(fù)極,液晶顯示亮暗的程度可用VL端接滑動變阻器來調(diào)節(jié)[9]。。圖3.4顯示模塊原理圖3.5報警模塊設(shè)計在這個設(shè)計里我們使用的報警模塊是蜂鳴器,因為蜂鳴器在工作的時候電流比較大,所以單片機的I/O口是不能直接驅(qū)動,必須用放大電路來驅(qū)動。此設(shè)計將電流放大用的是三極管。原理圖如圖3.5,放大器的C極可接到蜂鳴器的GND端,放大器B極和單片機P1.5口連接。P1.5是低電平的時候,放大器C極和B極是導(dǎo)通的以及C極和E極之間的電流放大就會驅(qū)動蜂鳴器發(fā)出報警[10]。而P1.5是高電平的時侯,C極和E極間是不導(dǎo)通的,蜂鳴器也不會發(fā)出報警。在這個模塊里三極管分別起到了放大及開關(guān)的作用。圖3.5報警模塊原理圖
4系統(tǒng)軟件設(shè)計4.1軟件流程圖圖4.1軟件流程圖4.2溫度檢測模塊據(jù)我們所知道的DS18B20許多特性,本設(shè)計可用C語言編程將芯片進行初始化之后,再啟動溫度檢測,最后讀取數(shù)值。設(shè)計中讀取的數(shù)值是2位字節(jié)用二進制,在高字節(jié)高5位是符號位而低3位是整數(shù)位以及低字節(jié)高4位是整數(shù)位低4位是小數(shù)位。在設(shè)計過程中進行數(shù)據(jù)的處理時,是先把低字節(jié)的高四位與高字節(jié)的低三位組合起來成為新數(shù)據(jù)A,然后將A和100相除所得的整數(shù)位B用作溫度的百位,B和10相除的之后得到的整數(shù)位用做溫度的十位N,而A與100相除所得的的余數(shù)可用來作為十位。因為我們的設(shè)計是制作數(shù)字體溫計數(shù)據(jù)都為正數(shù),所以我們一定要把符號位給屏蔽掉[11]。其中程序代碼如下:4.2.1LCD1602初始化把1602顯示的模式設(shè)置成16×2顯示5×7點陣,8位數(shù)據(jù)接口。4.2.2寫指令及寫數(shù)據(jù)為了方便調(diào)用,設(shè)計中我們可以把寫指令與數(shù)據(jù)用子函數(shù)來進行編寫。4.2.3程序代碼程序如下所示;4.3顯示模塊本設(shè)計選用LCD1602來顯示測溫數(shù)據(jù),可以方便觀察及記錄測出的溫度數(shù)據(jù)。4.4主函數(shù)主函數(shù)能實現(xiàn)的功能分別是,子函數(shù)調(diào)用與實現(xiàn)報警功能以及實現(xiàn)按鍵功能。當(dāng)在實驗時出現(xiàn)按鍵按下時當(dāng)前溫度保持不變的情況,應(yīng)該再一次按下按鍵系統(tǒng)就會繼續(xù)測溫。主函數(shù)程序見附錄(2)所示。5系統(tǒng)整體設(shè)計5.1系統(tǒng)仿真設(shè)計中已經(jīng)將路圖設(shè)計和軟件編程做好之后接下來應(yīng)該對系統(tǒng)進行protues仿真。在第一次仿真的時侯,把程序下載進單片機中之后,系統(tǒng)測量的溫度值錯誤而且不能顯示溫度值以及液晶屏顯示的時候也有閃爍的現(xiàn)象,仿真出來很多錯誤的地方。經(jīng)過仔細(xì)的查找與檢查,出現(xiàn)這些問題是因為在編程的時候DS18B20測量溫度延時的時間沒有很精確,并且LCD1602初始化的時候顯示模式也沒有達(dá)到設(shè)計的符合及要求。在這之后把程序中的測溫延時時間與初始化部分都進行了修改和完善再次進行仿真。通過修改和完善再次仿真,系統(tǒng)測溫沒有錯誤并且能夠在超溫的時候進行報警,按鍵的功能也能實現(xiàn),完全的復(fù)合此設(shè)計的要求。圖5.1系統(tǒng)仿真圖
結(jié)論在這兩個月中,通過查找資料以及老師的教導(dǎo),我努力的完成了本設(shè)計并且沒有很大的錯誤。此設(shè)計題目為LCD1602電子體溫計,經(jīng)過不斷的完善與修改,設(shè)計出來的系統(tǒng)也實現(xiàn)了測量溫度的時候的精確度和報警及按鍵能準(zhǔn)確的應(yīng)用。這個設(shè)計分別進行了硬件設(shè)計與軟件編程,這個設(shè)計可以準(zhǔn)確的測量溫度并且。顯示出來,可以讓使用者清楚的看到溫度值的數(shù)據(jù)。這個設(shè)計的數(shù)字體溫計有許多優(yōu)點;使用的元器件少,電路也簡單,測溫的時間比較短,功耗較低,體積較小方便攜帶容易操作,適用于所有人群不管是老人還是小孩只要按照說明都可使用,具有廣闊的市場前景。目前,數(shù)字電子體溫計也有很多領(lǐng)域在使用,在不久的將來便會普及到人們的生活及科技應(yīng)用中。隨著電子體溫計的發(fā)展與不斷的創(chuàng)新,在以后的電子體溫計這個行業(yè)中,也會出現(xiàn)更加高科技的產(chǎn)品,更加的有利于它的普及與應(yīng)用。
致謝本設(shè)計已經(jīng)成功的準(zhǔn)確實現(xiàn)并且完成了。我要發(fā)自內(nèi)心的感謝我的指導(dǎo)老師楊威老師,因為楊老師耐心教導(dǎo)和親自指教使我圓滿的完成了本次畢業(yè)設(shè)計任務(wù),在這里我要非常的感謝楊老師,他是一個有責(zé)任有細(xì)心的人。從開題報告到論文修改以及后來具體的設(shè)計到最后的提交畢業(yè)設(shè)計論文的過程中,楊老師的修改意見對我提供了很大幫助以及讓我知道如何著手開始寫本設(shè)計。在畢業(yè)設(shè)計的幾個月里,每次遇到問題只要找到楊老師,楊老師就會在QQ群里對我進行細(xì)心的指導(dǎo)解答我所遇到的問題以及重點指出我錯誤的地方然后教我如何去修改。在這期間也經(jīng)常帶著電腦去找楊老師,他總是耐心地檢查我的論文的時候發(fā)現(xiàn)了錯誤或者不足的地方,總是對著我耐心的解釋論文中錯誤與要糾正的地方,會多次重點強調(diào)和提醒我回去之后一定要修改如何去修改。我深深的被楊老師這種嚴(yán)謹(jǐn)?shù)慕虒W(xué)態(tài)度以及和藹的待人方式所折服了。衷心的感謝楊老師,楊老師辛苦了。在這兩個月的時間里,我的室友及同學(xué)對我做畢業(yè)設(shè)計的幫助也很大,因為在做這個設(shè)計的時候有些東西我也不是很明白,所以就會和他們一起參考,遇到都不懂的問題就一起去尋找答案,這種互相幫助以及一起學(xué)習(xí)的感覺是很好的,我要謝謝他們在做設(shè)計的時間里為我解決的問題和提供的幫助,謝謝我的室友及同學(xué)們,跟你們在一起學(xué)習(xí)和探討我很快樂!希望你們的畢業(yè)設(shè)計也能完成的很好,發(fā)自內(nèi)心的感謝幫助過我的人,謝謝!
參考文獻[1]李全利單片機原理及接口技術(shù).高等教育出版社2009.1[2]譚浩強.C語言程序設(shè)計[M].清華大學(xué)出版社.2004.6[3]康華光.電子技術(shù)基礎(chǔ)模擬部分.高等教育出版社.2004.6[4]清華電子學(xué)教研組.模擬電子技術(shù)基礎(chǔ).高等教育出版社.2000.3[5]徐愛鈞.智能測量控制儀表原理與設(shè)計(第二版).北京航空航天大學(xué)出版社.2007.8[6]謝子美.電子線路設(shè)計.實驗.測試(第三版).華中科技大學(xué)出版社.2006.8[7]黃繼昌.傳感器工作原理及應(yīng)用實例[M].人民郵電出版社,1998[8]陳杰.傳感器與檢測技術(shù)[M].高等教育出版社,2002[9]王元慶,董戴.液晶顯示屏溫度特性的試驗研究[M].電子測量與儀器學(xué)報,2004[10]ThomasL.LFloyd.DigitalFundamental,NinthEdition.PublishingHouseofElectronisIndustry.2008.3[11]MamdaniE.H.ApplicationsofFuzzyAlgorithmforSimpleDynamicPlant.Proc[J].2007
附錄系統(tǒng)程序(1)#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitBUFFER=P1^5;sbitDQ=P3^7;sbitlcdrs=P2^6;sbitlcden=P2^7;sbitlcdrw=P2^5;sbitAN=P2^0;sbitAM=P2^1;ucharcodeTemp_Disp_Title[]={"CurrentTemp:"};uchartemp_buffer[]={"TEMP:"};ucharcodexs[]={0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9};//小數(shù)位ucharTemp_value[]={0x00,0x00};//為DS18B20讀取的字節(jié)分配地址ucharDisplay_Digit[]={0,0,0,0};uintT;voiddelay(uint);voiddelay1602(uint);voidinit_ds18b20();voidwrite_byte(uchardate);voiddisplay_temp();voidwrite_com(uchar);voidwrite_2(uchar);voidinit1602();ucharread_byte();voidread_temp();voidmain(){ bitzhi=0; AN=1; init1602();//1602初始化 read_temp();//讀取溫度 delay(50000); while(1) { read_temp(); if(zhi==0) display_temp();//按鍵沒有按下時顯示溫度 if(Display_Digit>2) //設(shè)定報警溫度 if(zhi==0) BUFFER=0; delay(2000); BUFFER=1; delay1602(1); if(AN==0)//檢測按鍵 { delay1602(5); //去抖 if(AN==0) //按下按鍵 { zhi=~zhi; //while(1);//保持當(dāng)前溫度 while(!AN); //松手檢測 } } }}voiddelay(uintt) { while(t--); }voiddelay1602(uintz){ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--) ; }/****************************初始化,檢測DS18B20是否在線*****************************/voidinit_ds18b20(){ DQ=1; delay(8); DQ=0; delay(85); DQ=1; delay(14); delay(5);}voidwrite_byte(uchardate){ uchari; for(i=0;i<8;i++) { DQ=0; //寫數(shù)據(jù)前將數(shù)據(jù)線拉低 DQ=date&0x01;//從最低位開始寫 delay(5);//留出ds18b20采樣時間 DQ=1;//采樣完將數(shù)據(jù)拉高,等待下一次采樣 date>>=1;//date右移一位 } delay(5);}ucharread_byte(){ uinti,value; for(i=0;i<8;i++) { DQ=0; value>>=1;//右移一位,同時起延時作用 DQ=1; if(DQ==1) value|=0x80;//從高位開始讀 delay(5); } returnvalue;}voidread_temp(){ init_ds18b20(); write_byte(0xcc);//跳過ROM write_byte(0
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鐵藝圍欄維修施工方案
- 代理招商合同協(xié)議書
- TDGHHX 001-2024 朱頂紅商品種球采收規(guī)范
- 西藏輕質(zhì)混凝土施工方案
- 裝修腳手架搭拆施工方案
- 隧洞施工方案模擬圖
- 行政辦公運轉(zhuǎn)方案
- 平房區(qū)保溫陽臺施工方案
- 標(biāo)準(zhǔn)戶外廣告牌施工方案
- (三模)榆林市2025屆高三第三次模擬檢測政治試卷(含答案詳解)
- 火災(zāi)自動報警系統(tǒng)檢查表
- 骨髓細(xì)胞圖譜
- 高風(fēng)險作業(yè)培訓(xùn)課件
- 試驗檢測單位安全培訓(xùn)課件
- 2024年安徽省C20教育聯(lián)盟中考一模道德與法治試卷(含答案)
- 公路瀝青路面設(shè)計標(biāo)準(zhǔn)規(guī)范
- 急性腎小球腎炎的護理PPT文檔
- 印刷業(yè)數(shù)字化轉(zhuǎn)型
- 加油站春季安全教育培訓(xùn)
- 高壓隔膜壓濾機安裝方案
- 外加劑摻合料試題帶答案
評論
0/150
提交評論