LCD時(shí)鐘溫度計(jì)的設(shè)計(jì)_第1頁
LCD時(shí)鐘溫度計(jì)的設(shè)計(jì)_第2頁
LCD時(shí)鐘溫度計(jì)的設(shè)計(jì)_第3頁
LCD時(shí)鐘溫度計(jì)的設(shè)計(jì)_第4頁
LCD時(shí)鐘溫度計(jì)的設(shè)計(jì)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、LCD時(shí)鐘溫度計(jì)的設(shè)計(jì)摘 要我們設(shè)計(jì)的LCD時(shí)鐘溫度系統(tǒng)是由中央控制器、溫度檢測器、時(shí)鐘系統(tǒng)、存儲(chǔ)器、顯示器及鍵盤部分組成??刂破鞑捎脝纹瑱C(jī)W78E516B,溫度檢測部分采用DS18B20溫度傳感器,時(shí)鐘系統(tǒng)用時(shí)鐘芯片DS1302,用LCD液晶12232F作為顯示器,用AT24C16作為存儲(chǔ)器件。單片機(jī)通過時(shí)鐘芯片DS1302獲取時(shí)間數(shù)據(jù),對(duì)數(shù)據(jù)處理后顯示時(shí)間;溫度傳感器DS18B20采集溫度信號(hào)送該給單片機(jī)處理,存儲(chǔ)器通過單片機(jī)對(duì)某些時(shí)間點(diǎn)的數(shù)據(jù)進(jìn)行存儲(chǔ);單片機(jī)再把時(shí)間數(shù)據(jù)和溫度數(shù)據(jù)送液晶顯示器12232F顯示,12232F還可以顯示漢字;鍵盤是用來調(diào)時(shí)和溫度查詢的。關(guān)鍵字:單片機(jī) 匯編語言

2、 查表 LCD液晶 DS18B20 AT24C161.1 方案設(shè)計(jì)與論證按照系統(tǒng)的設(shè)計(jì)功能要求,本時(shí)鐘溫度系統(tǒng)的設(shè)計(jì)必須采用單片機(jī)軟件系統(tǒng)實(shí)現(xiàn),用單片機(jī)的自動(dòng)控制能力配合按鍵控制,來控制時(shí)鐘、溫度的存儲(chǔ)和查詢及顯示。初步確定設(shè)計(jì)系統(tǒng)由單片機(jī)主控模塊、時(shí)鐘模塊、測溫模塊、存儲(chǔ)模塊、顯示模塊、鍵盤接口模塊共6個(gè)模塊組成,電路系統(tǒng)框圖如圖(1)所示。主控器件AT89C52溫度檢測DS0820時(shí)鐘DS1302存儲(chǔ)器AT24C16LCD顯示器12232F鍵盤部分圖1 對(duì)于單片機(jī)的選擇,如果用8031系列,由于它沒有內(nèi)部RAM,系統(tǒng)又需要大量內(nèi)存存儲(chǔ)數(shù)據(jù),因而不可用;51系列單片機(jī)的ROM為4K,對(duì)于我們

3、設(shè)計(jì)的系統(tǒng)可能有點(diǎn)小,這里我們用W78E516B,它與AT89C52單片機(jī)產(chǎn)品兼容,有8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器W78E516B是一種低功耗、高性能CMOS8位微控制器。 時(shí)鐘功能的實(shí)現(xiàn)有兩種方案:一是用軟件實(shí)現(xiàn),直接用單片機(jī)的定時(shí)器編程以實(shí)現(xiàn)時(shí)鐘;二是用專門的時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘的記時(shí),再把時(shí)間數(shù)據(jù)送入單片機(jī),由單片機(jī)控制顯示。比較兩種方案,用軟件實(shí)現(xiàn)時(shí)鐘固然可以,但是程序運(yùn)行的每一步都需要時(shí)間,多一步或少一步程序都會(huì)影響記時(shí)的準(zhǔn)確度,用專用時(shí)鐘芯片可以實(shí)現(xiàn)準(zhǔn)確記時(shí)。選二方案。時(shí)鐘和溫度的顯示可以用數(shù)碼管,但是數(shù)碼管的只能顯示簡單的數(shù)字,我們設(shè)計(jì)的系統(tǒng)有很多東西需要顯示,還是用顯示功能

4、更好的液晶顯示器比較好,它能顯示更多的數(shù)據(jù),用可以顯示漢字的液晶顯示器還可以增加顯示信息的可讀性,讓人看起來會(huì)很方便。1.2 系統(tǒng)硬件電路的設(shè)計(jì)根據(jù)方案的選擇,系統(tǒng)由W78E516B、時(shí)鐘芯片DS1302、AT24C16存儲(chǔ)電路、液晶顯示電路、鍵掃描電路組成。其各功能模塊如下:1.2.1 復(fù)位電路上電復(fù)位采用電平方式開關(guān)復(fù)位。如圖(2)所示。 上電復(fù)位用RC電路,電容用20F,電阻用10K。1.2.2 晶振電路單片機(jī)的晶振頻率應(yīng)低于40MHZ,所以我們采用12MHZ,加兩個(gè)30F電容。圖(3)所示。 圖(2) 圖(3)1.2.3 液晶顯示電路設(shè)計(jì)顯示電路采用12232F液晶顯示器。12232F

5、是一種內(nèi)置8192個(gè)16*16點(diǎn)漢字庫和128個(gè)16*8點(diǎn)ASCII字符集圖形點(diǎn)陣液晶顯示器,它主要由行驅(qū)動(dòng)器/ 列驅(qū)動(dòng)器及128×32全點(diǎn)陣液晶顯示器組成??赏瓿蓤D形顯示,也可以顯示7.5×2個(gè)(16×16點(diǎn)陣)漢字.與外部CPU接口采用串行方式控制。主要技術(shù)參數(shù)和性能:1.電源:VDD:+3.0+5.5V。(電源低于4.0伏LED背光需另外供電)2.顯示內(nèi)容:122(列)×32(行)點(diǎn)。3.全屏幕點(diǎn)陣。4.2M ROM(CGROM)總共提供8192個(gè)漢字(16×16點(diǎn)陣)。5.16K ROM(HCGROM)總共提供128個(gè)字符(16

6、5;8點(diǎn)陣)。6.2MHZ頻率。7.工作溫度: 0 +60 ,存儲(chǔ)溫度: -20 +701.2.4 溫度傳感器設(shè)計(jì)由于傳統(tǒng)的熱敏電阻等測溫元件測出的一般都是電壓,再轉(zhuǎn)換成對(duì)應(yīng)的溫度,需要比較多的外部元件支持,且硬件電路復(fù)雜,制作成本相對(duì)較高。而DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,它能直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式。電路圖如圖(4)所示。圖(4)DS18B20的性能特點(diǎn)如下:(1) 獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;(2) 多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;(3)

7、 無須外部器件;(4) 可通過數(shù)據(jù)線供電,電壓范圍為3.05.5V;(5) 零待機(jī)功耗;(6) 溫度以9或12位數(shù)字量讀書;(7) 用戶可定義的非易失性溫度報(bào)警設(shè)置;(8) 報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;(9) 負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8個(gè)字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖4.1所示。頭兩個(gè)字節(jié)包含測得的溫度信息,第三和第四字節(jié)是TH和TL的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第五個(gè)字節(jié)為配置寄存器,它的內(nèi)容用

8、于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)按此寄存器中的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值。該字節(jié)各位的定義如圖4.2所示。低5位一直為1,TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式。溫度 LSB溫度 MSBTH 用戶字節(jié)1TL 用戶字節(jié)2配置寄存器保留保留保留 CRC圖 4.1高速暫存RAM結(jié)構(gòu)圖1字節(jié)2字節(jié) 3字節(jié) 4字節(jié) 5字節(jié)6字節(jié) 7字節(jié) 8字節(jié)9字節(jié)EEROMTH 用戶字節(jié)1TL 用戶字節(jié)2TMR1R011111圖 4.2 配置寄存器 1.2.5 存儲(chǔ)電路 存儲(chǔ)電路采用ATMEL公司生產(chǎn)的AT24C16(圖(5)所示),具有16KB的存儲(chǔ)空間。其管腳接法

9、是1、2、3、4接地,5、6分別接單片機(jī)的端口,7、8接5V電源。 圖(5)1.2.6 時(shí)鐘模塊的設(shè)計(jì)我們采用DS1302作為主要計(jì)時(shí)芯片,主要為了提高計(jì)時(shí)精度,更重要的就是DS1302可以在很小的后備電源下繼續(xù)計(jì)時(shí),并可編程選擇充電電流來對(duì)后備電源進(jìn)行充電,可以保證后備電源基本不耗電。電路圖如圖(6)所示。圖(6)1.2.7 鍵盤接口的設(shè)計(jì)由于按鍵只有4個(gè),分別實(shí)現(xiàn)為時(shí)間調(diào)整、時(shí)間的加減、查詢溫度。用查詢法完成讀鍵功能。系統(tǒng)原理圖:單片機(jī)W78E516B是本系統(tǒng)的核心部分,它控制著數(shù)據(jù)顯示、溫度檢測存儲(chǔ)數(shù)據(jù)等功能。根據(jù)以上各功能模塊得到應(yīng)用電路總原理圖。 1.3 軟件系統(tǒng)的設(shè)計(jì)1.3.1 主

10、程序 系統(tǒng)主程序首先對(duì)系統(tǒng)進(jìn)行初始化,包括設(shè)置定時(shí)器、中斷和端口;然后顯示開機(jī)畫面。由于單片機(jī)沒有停止指令,所以可以設(shè)計(jì)系統(tǒng)程序不斷地循環(huán)執(zhí)行上述顯示效果。下圖是系統(tǒng)的流程圖。 圖1.3.21.3.2 時(shí)間顯示程序 我們采用了時(shí)鐘芯片DS1302,所以只需從DS1302各寄存器中讀出小時(shí)、分鐘、秒,再處理即可。在首次對(duì)DS1302進(jìn)行操作之前,必須對(duì)它進(jìn)行初始化,然后從DS1302中讀取數(shù)據(jù),再經(jīng)過處理后,送給顯示緩沖單元。流程圖見圖1.3.2。1.3.3 時(shí)間調(diào)整程序設(shè)計(jì)調(diào)整時(shí)間用3個(gè)調(diào)整按鈕,1個(gè)做為移位控制用,另外兩個(gè)做為加減用,分別定義控制按鈕、加按鈕、減按鈕。在調(diào)整時(shí)間過程中,要調(diào)整

11、的那位與別的位應(yīng)該有區(qū)別,所以增加了閃爍功能,即調(diào)整的那位一直在閃爍直到調(diào)整下一位。閃爍原理就是讓要調(diào)整的那一位,每隔一定時(shí)間熄滅一次,比如說50MS。利用定時(shí)器計(jì)時(shí),當(dāng)達(dá)到50MS溢出時(shí),就送給該位熄滅符,在下一次溢出時(shí),再送正常顯示的值,不斷交替,直到調(diào)整該位結(jié)束,此時(shí)送正常顯示值給該位,再進(jìn)入下一位調(diào)整閃爍程序,時(shí)間調(diào)整程序程序流程圖如圖1.3.3。1.3.4 讀取溫度子程序主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測量溫度值,溫度測量每1s進(jìn)行一次,流程圖如圖1.3.4。讀出溫度子程序的主要功能是讀出RAM中的9個(gè)字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫

12、度數(shù)據(jù)的改寫。其程序流程圖如圖1.3.5。1.3.5 溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時(shí)轉(zhuǎn)換時(shí)間約為750毫秒,在本程序設(shè)計(jì)中采用1秒顯示程序延時(shí)法等待轉(zhuǎn)換的完成。1.3.6 計(jì)算溫度子程序計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖1.3.6。YESYESNONO初始化調(diào)用顯示子程序讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開始命令1秒到?初次上電?圖1.3.4 DS18B20溫度計(jì)主程序流程圖YESNONOYES結(jié)束讀取操作,CRC校驗(yàn)移入溫度暫存器9字節(jié)完?CRC校驗(yàn)正確?圖1.3.5 讀

13、出溫度子程序流程圖發(fā)DS18B20復(fù)位命令位命令發(fā)跳過ROM命令發(fā)讀取溫度命令YESNO開 始溫度值取補(bǔ)碼置“-”標(biāo)志計(jì)算小數(shù)位溫度BCD值溫度零 下?圖1.3.6 計(jì)算溫度子程序流程圖置“+”標(biāo)志計(jì)算整數(shù)位溫度BCD值結(jié)束NOYESNOYES結(jié)束溫度數(shù)據(jù)移入顯示寄存器十位數(shù)顯示符號(hào)百位數(shù)不顯示十位數(shù)零?百位數(shù)零?圖1.3.7 顯示數(shù)據(jù)刷新子程序流程圖百位數(shù)顯示數(shù)據(jù)(不顯示符號(hào))1.3.7 顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要時(shí)對(duì)顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為零時(shí)將符號(hào)顯示位移入下一位。程序流程圖如圖1.3.7。1.3.8 溫度數(shù)據(jù)的計(jì)算處理方法從DS18B20讀取出的

14、二進(jìn)制值必須先轉(zhuǎn)換成十進(jìn)制值,才能用于字符的顯示。因?yàn)镈S18B20的轉(zhuǎn)換精度為9-12位可選的,為了提高精度采用12位。在采用12位轉(zhuǎn)換精度時(shí),溫度寄存器里的值是以0.0625為步進(jìn)的,即溫度值為溫度寄存器里的二進(jìn)制值乘以0.0625,就是實(shí)際的十進(jìn)制溫度值。下表就是二進(jìn)制和十進(jìn)制的近似對(duì)應(yīng)關(guān)系表。表 1 小數(shù)部分二進(jìn)制和十進(jìn)制的近似對(duì)應(yīng)關(guān)系表小數(shù)部分二進(jìn)制值0123456789ABCDEF十進(jìn)制值0011233455667889存儲(chǔ)時(shí)間對(duì)應(yīng)的溫度數(shù)據(jù)開始是否為6點(diǎn)?是否為9點(diǎn)?是否為12點(diǎn)?是否為15點(diǎn)?是否為00點(diǎn)?是否為18點(diǎn)?存儲(chǔ)最高最低溫度溫度結(jié)束NYNYNYNYNYNY Y圖1.

15、3.81.4.7 溫度值存儲(chǔ)子程序根據(jù)要求,系統(tǒng)要存儲(chǔ)某幾個(gè)時(shí)間點(diǎn)的溫度,在時(shí)鐘到達(dá)這幾個(gè)時(shí)間點(diǎn)時(shí),通過軟件判斷,把此時(shí)的溫度數(shù)據(jù)讀到單片機(jī)內(nèi)存,再通過24C16的讀寫程序把溫度數(shù)據(jù)存儲(chǔ)到24C16對(duì)應(yīng)地址單元,這樣溫度數(shù)據(jù)就儲(chǔ)存起來了。程序流程圖見圖1.3.8。1.4.8 查詢子程序 根據(jù)實(shí)際要求將某一天某一個(gè)時(shí)間的具體溫度值可進(jìn)行查看,以及當(dāng)天溫度的最高、最低溫度(可查詢10天)。通過按鈕確定要顯示第幾天的溫度值,把溫度值讀到單片機(jī)內(nèi)存,發(fā)命令給24C16的讀寫程序,查找對(duì)應(yīng)的地址單元,把地址單元內(nèi)容讀取出來。程序流程圖見圖1.3.9。顯示前一天0點(diǎn)時(shí)溫度開始溫度查詢鍵按下時(shí)間1S天數(shù)改變

16、鍵按下1S溫度查詢鍵按下時(shí)間1S時(shí)間改變鍵按下1S查最高最低溫度鍵按下1S結(jié) 束轉(zhuǎn)天數(shù)改變轉(zhuǎn)時(shí)間改變顯示當(dāng)天最高最低溫度 圖1.3.91.4 測試方法與實(shí)驗(yàn)數(shù)據(jù)1.4.1測試儀器 萬用表、溫度計(jì)、51系列仿真器1.4.2 硬件調(diào)試1.硬件調(diào)試時(shí),可先檢查印制板及焊接的質(zhì)量是否符合要求,有無虛焊點(diǎn)及線路間有無短路、斷路。然后用萬用表測試或通電檢測,檢查無誤后,可通電檢查LCD液晶顯示器亮度情況,一般情況下取背光電壓為45.5V即可得到滿意的效果。2.DS1302與單片機(jī)相連的只有3根線,很容易檢查,主要檢查DS1302管腳與晶振、電源是否連接好。3.DS18B20在測溫程序設(shè)計(jì)中,向DS18B20發(fā)溫度命令轉(zhuǎn)換后,程序要等待DS18B20的返回信號(hào),一旦線路不好或斷線,將陷入死循環(huán),所以線路一定要檢查清楚。1.4.3 軟件調(diào)試 軟件調(diào)試是在MedWin編譯器下進(jìn)行,源程序編譯及仿真調(diào)試應(yīng)分段或以子程序?yàn)閱挝恢饌€(gè)進(jìn)行,最后結(jié)合硬件實(shí)時(shí)調(diào)試。 子程序調(diào)試包括:1. DS1302的計(jì)時(shí)和讀寫程序、顯示程序;2. AT24C16讀寫程序;3. DS18B20讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計(jì)算溫度子程序、顯示數(shù)據(jù)刷新子程序。 本系統(tǒng)需用微機(jī)的“超級(jí)終端”進(jìn)行控制。調(diào)試

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論