單片機(jī)溫度檢測系統(tǒng)設(shè)計(jì)_第1頁
單片機(jī)溫度檢測系統(tǒng)設(shè)計(jì)_第2頁
單片機(jī)溫度檢測系統(tǒng)設(shè)計(jì)_第3頁
單片機(jī)溫度檢測系統(tǒng)設(shè)計(jì)_第4頁
單片機(jī)溫度檢測系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)課程設(shè)計(jì)說明書 題 目: 溫度檢測系統(tǒng)設(shè)計(jì) 系 部: 專 業(yè): 班 級: 學(xué)生姓名: 學(xué) 號: 指導(dǎo)教師: 2015年 12 月 14 日單片機(jī)課程設(shè)計(jì)說明書目 錄1 設(shè)計(jì)任務(wù)與要求11.1 設(shè)計(jì)任務(wù)11.2 設(shè)計(jì)要求12 設(shè)計(jì)方案12.1 設(shè)計(jì)思路12.2 單片機(jī)STC89C52RC22.2.1 單片機(jī)STC89C52RC功能介紹22.2.2 STC89C52RC管腳介紹2 2.2.3 STC89C52RC單片機(jī)器件參數(shù)32.3 溫度傳感器DS18B2032.3.1 DS18B20的主要特性32.3.2 DS18B20的外形和內(nèi)部結(jié)構(gòu)32.4 液晶顯示器LCD160242.4.1 液晶

2、顯示器LCD1602功能介紹4 2.4.2 LCD1602管腳介紹53 硬件電路設(shè)計(jì)5 3.1 系統(tǒng)框圖6 3.2 最小的單片機(jī)系統(tǒng)63.2.1 時(shí)鐘電路6 3.2.2 復(fù)位電路6 3.3 溫度檢測系統(tǒng)設(shè)計(jì)7 3.4 液晶顯示電路設(shè)計(jì)74 主要參數(shù)計(jì)算與分析85 軟件設(shè)計(jì)85.1 整體系統(tǒng)分析85.2 程序流程圖96 proteus軟件仿真107 實(shí)物制作117.1 器材清單117.2 最小系統(tǒng)板制作127.3 溫度檢測系統(tǒng)電路板制作127.4 溫度檢測展示127.5 焊接點(diǎn)展示137.6 作品檢查138 結(jié)論14附錄15參考文獻(xiàn)201 設(shè)計(jì)任務(wù)與要求11 設(shè)計(jì)任務(wù) 利用電阻、瓷片電容、電解電

3、容、12MHz晶振、STC89C52單片機(jī)、DS18B20溫度傳感器、液晶顯示器、1P杜邦線彩色、排針、最小系統(tǒng)板、電位器、洞洞板等,完成一個(gè)溫度檢測系統(tǒng)。 1、采用單片機(jī)及溫度傳感器設(shè)計(jì)溫度檢測系統(tǒng); 2、溫度檢測結(jié)果采用液晶顯示器輸出; 3、必須具有上電自檢功能及外接電源,公共地線接口。1. 2 設(shè)計(jì)思路 1、熟悉此電路工作原理。 2、掌握組裝與調(diào)試方法。 3、畫出Proteus原理圖,PCB圖。 4、用Proteus仿真。 5、測量范圍099攝氏度,精度誤差小于1攝氏度。 6、一份設(shè)計(jì)說明書。 7、做出所設(shè)計(jì)的系統(tǒng)的實(shí)物。2 設(shè)計(jì)方案2. 1 設(shè)計(jì)方案 由于本設(shè)計(jì)是測溫電路,可以使用熱敏

4、電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以可以采用溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。 故針對上述現(xiàn)象,本文設(shè)計(jì)了一種由單片機(jī)控制的溫度采集與顯示系統(tǒng),它以STC89C52單片機(jī)為核心,采用溫度傳感器DS18B20實(shí)現(xiàn)對溫度信號的采集以及運(yùn)用LCD1602液晶顯示器來顯示數(shù)據(jù)。在溫度信號的采集方面,采用D

5、S18B20型溫度傳感器,與傳統(tǒng)的熱敏電阻相比,它能夠直接讀出被測溫度,并可根據(jù)實(shí)際要求通過簡單的編碼實(shí)現(xiàn)912位的數(shù)字式讀數(shù)方式,可在-50300范圍內(nèi)顯示數(shù)據(jù),在-10+85時(shí)精度為±0.5。2.2 單片機(jī)STC89C52RC2.2.1 單片機(jī)STC89C52RC功能介紹 STC89C52RC是STC生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),是高速、低功耗、超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,

6、3個(gè)16 位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。2.2.2 STC89C52RC管腳介紹STC89C52RC單片機(jī),選用PDIP封裝。管腳如圖3-1所示:圖2-1 PDIP封裝的STC89C52 單片機(jī)的引腳功能說明: 1、電源引腳

7、VCC(40 腳):電源端,工作電壓為5V。 GND(20腳): 接地端。 2、時(shí)鐘電路引腳XTAL1(19 腳)和XTAL2(18 腳)。 3、復(fù)位 RST(9 腳)。 4、輸入輸出(I/O)引腳 P0.0-P0.7(39腳-32腳):輸入輸出腳,稱為P0 口,是一個(gè)8 位漏極開路型雙向I/O 口,內(nèi)部不帶上拉電阻。 P1.0-P1.7(1腳 - 8腳):輸入輸出腳,稱為P1 口,是一個(gè)帶內(nèi)部上拉電阻的8 位雙向I/0 口。 P2.0-P2.7(21腳28腳):輸入輸出腳,稱為P2 口,是一個(gè)帶內(nèi)部上拉電阻的8 位雙向I/O 口。 P3.0-P3.7 (10腳17腳):輸入輸出腳,稱為P3

8、口,是一個(gè)帶內(nèi)部上拉電阻的8 位雙向I/O 口。P3 端口具有復(fù)用功能。 2.2.3 STC89C52RC單片機(jī)器件參數(shù) 1、增強(qiáng)型8051單片機(jī),6 時(shí)鐘/機(jī)器周期和12 時(shí)鐘/機(jī)器周期可以任意 選擇,指令代碼完全兼容傳統(tǒng)8051。 2、工作電壓:5.5V3.3V(5V單片機(jī))/3.8V2.0V(3V 單片機(jī))。 3、工作頻率范圍:040MHz,相當(dāng)于普通8051 的080MHz,實(shí)際工作 頻率可達(dá)48MHz 4、用戶應(yīng)用程序空間為8K字節(jié)。 5、片上集成512 字節(jié)RAM。 6、通用I/O 口(32 個(gè)),復(fù)位后為:P0/P1/P2/P3 是準(zhǔn)雙向口/弱上拉, P0 口是漏極開路輸出,作為

9、總線擴(kuò)展用時(shí),不用加上拉電阻,作為 I/O 口用時(shí),需加上拉電阻。 7、ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無 需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程 序,數(shù)秒即可完成一片 8、具有EEPROM 功能。 9、共3 個(gè)16 位定時(shí)器/計(jì)數(shù)器。即定時(shí)器T0、T1、T2。 10、外部中斷4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒。 11、通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART。 12、工作溫度范圍:-40+85(工業(yè)級)/075(商業(yè)級)。 13、PDIP封

10、裝。2.3 溫度傳感器DS18B20 DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有LTM8877,LTM8874等等。主要根據(jù)應(yīng)用場合的不同而改變其外觀。2.3.1 DS18B20的主要特性 1、適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù) 據(jù)線供電。 2、獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。 3、 DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫。 4、DS18B20在使用中不

11、需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。 5、溫范圍-55+125,在-10+85時(shí)精度為±0.5。 6、可編程 的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測溫。2.3.2 DS18B20的外形和內(nèi)部結(jié)構(gòu) DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM 、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的外形及管腳排列如圖3-2所示:圖2-2 溫度傳感器DS18B20 DS18B20引腳定義: (1)GND為電源地; (2)DQ為數(shù)字信號輸入/輸出端; (3)

12、VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。2.4 液晶顯示器LCD16022.4.1 液晶顯示器LCD1602功能介紹 1602液晶顯示器也叫1602字符型液晶顯示器,它是一種專門用來顯示字母、數(shù)字、符號等的點(diǎn)陣型液晶模塊。它由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形(用自定義CGRAM,顯示效果也不好)。如圖3-3所示:圖2-3液晶顯示器LCD16022.4.2 LCD1602管腳介紹LCD1602采用標(biāo)準(zhǔn)的16腳接口,如圖3-3所示,

13、其中從左到右為1-16腳: 第1腳:GND為電源地 第2腳:VCC接5V電源正極 第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地電源時(shí)對比度最高(對比度過高時(shí)會 產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對比度)。 第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。 第5腳:RW為讀寫信號線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。 第6腳:E(或EN)端為使能(enable)端,高電平(1)時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令。 第7-14腳:D0D7為8位雙向數(shù)據(jù)端。第15-16腳:空腳或背燈電源,15腳背光正極,16腳背光負(fù)極。2

14、.4.3 LCD1602主要特性 1、3.3V或5V工作電壓,對比度可調(diào)。 2、內(nèi)含復(fù)位電路。 3、提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能。 4、有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM。 5、內(nèi)建有192個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM。6、8個(gè)可由用戶自定義的5X7的字符發(fā)生器CGRAM。3 硬件電路設(shè)計(jì)3.1 系統(tǒng)框圖溫度檢測系統(tǒng)由USB接口電源,DS18B20溫度傳感器組成的溫度檢測模塊,STC89C52單片機(jī)組成的核心電路,復(fù)位電路、時(shí)鐘電路及液晶顯示器組成的顯示電路構(gòu)成。如圖3-4所示:STC89C52單片機(jī)時(shí)鐘電路模塊復(fù)位電路模塊LCD1602 顯示

15、模塊 DS18B20 溫度檢測模塊電源模塊圖3-1 系統(tǒng)框圖3.2 最小的單片機(jī)系統(tǒng)單片機(jī)最小系統(tǒng)以AT89C52RC為核心,外加時(shí)鐘電路和復(fù)位電路,電路結(jié)構(gòu)簡單,抗干擾能力強(qiáng),成本相對較低,非常符合本設(shè)計(jì)的所有要求。3.2.1 時(shí)鐘電路時(shí)鐘電路在單片機(jī)的外部通過XTAL1,XTAL2這兩個(gè)引腳跨接晶體振蕩器和微調(diào)電容,構(gòu)成穩(wěn)定的自激振蕩器。本系統(tǒng)采用的為12MHz的晶振,一個(gè)機(jī)器周期為1us,C1、C2為22pF。如圖3-5所示圖3-2 時(shí)鐘電路仿真圖3.2.2 復(fù)位電路復(fù)位電路分為上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位,RST引腳是復(fù)位信號的輸入端,復(fù)位信號是高電平有效。上電自動(dòng)復(fù)位通過電容C3和電阻

16、R1來實(shí)現(xiàn)。如圖3-6所示:圖3-3 復(fù)位電路原理圖 按鍵手動(dòng)復(fù)位是復(fù)位鍵來實(shí)現(xiàn)的,上圖3-6中未添加復(fù)位鍵,復(fù)位鍵可添加在正5V電源與單片機(jī)RST管腳之間。3.3 溫度檢測系統(tǒng)設(shè)計(jì)DS18B20采用單線進(jìn)行數(shù)據(jù)傳輸,第2管腳外接一個(gè)4.7k上拉電阻與單片機(jī)的P3.6口相連進(jìn)行數(shù)據(jù)的雙向傳輸,第3管腳外接正5V電源,第1管腳接地。如圖3-7所示:圖3-4 溫度檢測仿真圖 外部電源供電方式是DS18B20的最佳工作方式,工作溫度可靠,抗干擾能力強(qiáng),電路也簡單,并且可以開發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng)。3.4 液晶顯示電路設(shè)計(jì)LCD1602液晶顯示屏采用標(biāo)準(zhǔn)的16腳接口,VSS管腳接地,VDD管腳

17、接正5V電源,VEE管腳接電位器RV1,RS管腳外接單片機(jī)的P1.1口,RW管腳接地,E管腳外接單片機(jī)的P1.2口,D0-D7管腳分別接單片機(jī)的P2.0-P2.7口,仿真圖未標(biāo)識出的A、K管腳為背光燈電源管腳,分別接正5V電源和地。如圖3-8所示: 圖3-5液晶顯示電路原理圖液晶顯示器雖然加了驅(qū)動(dòng)電路,但并不發(fā)光,液晶顯示器發(fā)出來的光是由背光發(fā)出的,燈管的特性類似于家用日光燈,工作時(shí)需要高壓。這部分電路通常稱為高壓背光電路?;蚪懈邏罕彻怛?qū)動(dòng)電路。液晶顯示器所消耗的電能基本全是由背光消耗。相對而言,這部分電路工作在高壓大電流下,很容易出現(xiàn)故障,液晶顯示器的自然故障大多數(shù)是這個(gè)部分出現(xiàn)了電路故障。

18、4 主要參數(shù)計(jì)算與分析溫度顯示一共 2 個(gè)字節(jié),LSB 是低字節(jié),MSB 是高字節(jié),其中 MSB 是字節(jié)的高位,LSB 是字節(jié)的低位。大家可以看出來,二進(jìn)制數(shù)字,每一位代表的溫度的含義,都表示出來了。其中 S表示的是符號位,低 11 位都是 2 的冪,用來表示最終的溫度。DS18B20 的溫度測量范圍是從-55 度到+125 度,而溫度數(shù)據(jù)的表現(xiàn)形式,有正負(fù)溫度,寄存器中每個(gè)數(shù)字如同卡尺的刻度一樣分布。如表一所示:TEMPERATUREDIGITAL OUTPUT(Binary)DIGITAL OUTPUT(Hex)+125度0000 0111 1101 000007D0h+25.0625度0

19、000 0001 1001 00010191h+10.125度0000 0000 1010 001000A2h+0.5度0000 0000 0000 10000008h0度0000 0000 0000 00000000h-0.5度1111 1111 1111 1000FFF8h-10.125度1111 1111 0101 1110FF5Eh-25.0625度1111 1110 0110 1111FF6Fh-55度1111 1100 1001 0000FC90h表一 實(shí)際溫度對照表二進(jìn)制數(shù)字最低位變化 1,代表溫度變化 0.0625 度的映射關(guān)系。當(dāng) 0 度的時(shí)候,那就是0x0000,當(dāng)溫度 1

20、25 度的時(shí)候,對應(yīng)十六進(jìn)制是 0x07D0,當(dāng)溫度是零下 55 度的時(shí)候,對應(yīng)的數(shù)字是 0xFC90。反過來說,當(dāng)數(shù)字是 0x0001 的時(shí)候,那溫度就是0.05,達(dá)到了設(shè)計(jì)要求。5 軟件設(shè)計(jì)5.1 整體系統(tǒng)分析溫度檢測系統(tǒng)由溫度及中斷初始化,溫度檢測,溫度輸入處理,溫度顯示等幾部分模塊組成。如圖5-1所示: 圖5-1 軟件設(shè)計(jì)5.2 程序流程圖程序流程圖包括:開始后先進(jìn)行各個(gè)模塊的初始化,然后再進(jìn)行溫度(數(shù)據(jù))的采樣處理,最后由液晶顯示器輸出溫度。如圖5-2所示:開始單片機(jī)開始初始化LCD顯示初始化中斷初始化DS18B20初始化 DS18B20進(jìn)行溫度采集LCD顯示實(shí)時(shí)溫度等待圖5-2 程

21、序流程圖6 Proteus軟件仿真溫度檢測系統(tǒng)設(shè)計(jì)的 Proteus原理圖設(shè)計(jì),找到12MHz晶振、STC89C52單片機(jī)、DS18B20溫度傳感器、液晶顯示器等器件,并用線進(jìn)行連接,注意電源與地。如圖6-1所示:圖6-1 溫度檢測系統(tǒng)仿真圖 加載程序液晶屏顯示溫度。如圖6-2所示:圖6-2 溫度檢測系統(tǒng)模擬運(yùn)行 通過調(diào)整DS18B20中的“+”“-”即可改變顯示數(shù)值。7 實(shí)物制作7.1 器材清單 實(shí)物制作用到的器件有以下幾種,如表二所示: 名稱封裝型號參數(shù)數(shù)量瓷片電容直插30PF2石英晶體直插11.0592MHZ1電阻直插1/4W10K1電解電容直插22UF/16V1CPU雙列直插STC89

22、C52RCHD1CPU座雙列直插DIP-401電阻直插1/4W4.7K1溫度傳感器直插DS18B201電位器直插3296W-10310K1液晶顯示器LCD160211P杜邦線彩色母對母兩頭插好杜邦頭孔對孔40根一排單根長度20cm30針排針直插腳距2.54高111X40單排插針30線最小系統(tǒng)板1洞洞板9X7CM單面1表二 溫度檢測單片機(jī)元器件明細(xì)表7.2 最小系統(tǒng)板制作 焊接最小系統(tǒng)板,把電容、極性電容、12Mhz晶振、電阻、排針、底座插到最小系統(tǒng)板上,因?yàn)楸趁骐娐范家堰B接好,只需在各個(gè)位置焊上個(gè)元器件即可。實(shí)物圖如圖7-1所示:圖7-1 最小系統(tǒng)電路實(shí)物圖7.3 溫度檢測系統(tǒng)電路板制作DS1

23、8B20焊接時(shí)應(yīng)注意1,2,3腳,電路板最右面焊排針,以便輸入信號。輸入程序前用杜邦線將各個(gè)模塊進(jìn)行連接。實(shí)物圖如圖7-2所示:圖7-2 溫度檢測系統(tǒng)電路實(shí)物圖7.4 溫度檢測展示室內(nèi)溫度測量如圖7-3所示:圖7-3 室溫 用手指捏住DS18B20一段時(shí)間,再次進(jìn)行溫度的測量。如圖7-4所示:圖7-4 手指加熱7.5 焊接點(diǎn)展示每個(gè)焊點(diǎn)以方正,不帶刺,均勻?yàn)楹?。?dāng)焊好電路后,仔細(xì)檢查焊點(diǎn)質(zhì)量與是否導(dǎo)通。如圖7-5所示:圖7-5 焊接點(diǎn)展示7.6 作品檢查 1、首先按照仿真圖將實(shí)物焊接,注意焊接的質(zhì)量,不要出現(xiàn)虛焊等現(xiàn)象。 2、通電觀察現(xiàn)象。 3、通電后無反應(yīng)。 4、將單片機(jī)換一塊最小系統(tǒng)板,檢

24、查是否原來最小系統(tǒng)板有問題及單片機(jī)是否有問題。 5、液晶顯示器的顯示和仿真是否有不同。 6、檢查單片機(jī)引腳與液晶顯示器連接的順序是否正確.程序是否匹配。 7、液晶顯示器不亮或亮的很暗。 8、檢查線路的正負(fù)極是否接反,檢查限流電阻阻值是否正確,檢查是否有斷路現(xiàn)象。當(dāng)焊好電路后通電之后,發(fā)現(xiàn)電路不亮,檢查了一下單片機(jī)向外的接口,虛焊了個(gè)地方,重新焊好后,接入液晶顯示器,發(fā)現(xiàn)有一組液晶顯示器不亮,原因是未連接背光電路,重新連接后,通電,試驗(yàn)成功。8 結(jié)論 本系統(tǒng)充分利用了STC89C52RC芯片的I/O引角。系統(tǒng)統(tǒng)采用MSC-51系列單片機(jī)為中心器件來設(shè)計(jì)溫度檢測系統(tǒng),實(shí)現(xiàn)了能根據(jù)實(shí)際溫度通過單片機(jī)

25、芯片的P2口控制液晶顯示器的顯示;系統(tǒng)設(shè)計(jì)簡便、實(shí)用性強(qiáng)、操作簡單、程序設(shè)計(jì)簡便。系統(tǒng)不足之處在于電路18B20易損壞、以及液晶顯示不明顯等。由于本設(shè)計(jì)涉及到的知識面比較廣,再加上本人在相關(guān)領(lǐng)域知識的缺乏,所以本設(shè)計(jì)的性能指標(biāo)還是有待改善的,并讓我明白了仿真和真實(shí)動(dòng)手是具有差距的,想的和做的并不一樣。要特別注重細(xì)節(jié),制作實(shí)物時(shí)出現(xiàn)液晶屏不顯示故障,當(dāng)時(shí)只認(rèn)為是程序或焊接有問題,最后才發(fā)現(xiàn)只是電位器沒調(diào)節(jié)好。這次課程設(shè)計(jì),使我對所學(xué)的知識與技能、分析和解決問題的能力進(jìn)行了可貴的鍛煉,使我深刻領(lǐng)會了單片機(jī)的基本原理以及了解到單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程的艱難。在常用編程設(shè)計(jì)思路技巧的掌握方面都向前邁了一

26、大步。通過這次的課程設(shè)計(jì),我充分意識到了自己所學(xué)的東西還是非常有限的,明確了以為要努力的方向,不能只學(xué)習(xí)課本上的理論知識,還要了解一些書本上無法學(xué)到的東西,為自己的以后奠定了一定的基礎(chǔ)。 附錄:C語言程序:#include<reg52.h>#include<intrins.h>#define uchar unsigned char #define uint unsigned int#define LCDIO P2 /1602數(shù)據(jù)口sbit DQ=P36;/ds18b20與單片機(jī)連接口sbit rs=P11; /1602數(shù)據(jù)命令選擇引腳/sbit rd=1;/讀寫選擇 s

27、bit lcden=P12;/1602選通引腳float f_temp; /浮點(diǎn)型溫度值 uint tvalue;/溫度值uchar tflag;uchar code table="The temperature " /每行顯示16個(gè)字符uchar code table1="is: 000.0C wfu"uchar data disdata5;void delay(uint z)/短延時(shí)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void write_com(uchar com)/1602寫命令子程序r

28、s=0;/RS是數(shù)據(jù)命令選擇短,高電平寫數(shù)據(jù),低電平寫命令/rd=1; lcden=0;/1602選通端,高電平選通,低電平禁止P2=com;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date)/1602寫數(shù)據(jù)子程序rs=1;/RS是數(shù)據(jù)命令選擇短,高電平寫數(shù)據(jù),低電平寫命令/rd=1;/?lcden=0;/1602選通端,高電平選通,低電平禁止P2=date;delay(5);lcden=1;delay(5);lcden=0;void init()/1602初始化程序uchar num;lcden=0;write_com(

29、0x38);/0011 1000B,功能模式設(shè)置,設(shè)置為8為數(shù)據(jù)口,兩行顯示,5*7點(diǎn)陣write_com(0x0c);/0000 1011B,顯示開及光標(biāo)設(shè)置,關(guān)顯示,顯示光標(biāo),光標(biāo)閃爍write_com(0x06);/0000 0110B,顯示光標(biāo)移動(dòng)設(shè)置,讀或?qū)懸粋€(gè)字符,地址指針減一且光標(biāo)減一,寫一個(gè)字符屏幕顯示不移動(dòng)write_com(0x01);/0000 0001B,顯示清屏,數(shù)據(jù)指針和所有顯示清屏write_com(0x80);/1000 000B,關(guān)閉顯示delay(5);write_com(0x80);/1000 000B,設(shè)置為2行顯示,寫入第一行字符的地址,第一行地址是0

30、0-2Ffor(num=0;num<16;num+) write_date(tablenum);/寫入第一行數(shù)據(jù)delay(5);write_com(0x80+0x40);/1100 0000B,設(shè)置為2行顯示,寫入第二行字符的地址,第而行地址是40-67for(num=0;num<16;num+)/寫入第二行數(shù)據(jù)write_date(table1num);/寫入第二行數(shù)據(jù)delay(5); void delay_18B20(unsigned int i)/延時(shí)1微秒 while(i-);void ds1820rst()/*ds1820復(fù)位*/DS18B20要求數(shù)據(jù)線拉低500US

31、即可復(fù)位。 unsigned char x=0; DQ = 1; /DQ復(fù)位 delay_18B20(4); /延時(shí) DQ = 0; /DQ拉低 delay_18B20(100); /精確延時(shí)大于480us DQ = 1; /拉高 delay_18B20(40); uchar ds1820rd()/*讀數(shù)據(jù)*/ unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i-) DQ = 0; /給脈沖信號dat>>=1;DQ = 1; /給脈沖信號if(DQ)dat|=0x80;delay_18B20(10);return(da

32、t);void ds1820wr(uchar wdata)/*寫數(shù)據(jù)*/unsigned char i=0;for (i=8; i>0; i-) DQ = 0;DQ = wdata&0x01;delay_18B20(10);DQ = 1;wdata>>=1;read_temp()/*讀取溫度值并轉(zhuǎn)換*/uchar a,b;ds1820rst(); ds1820wr(0xCC);/跳過ROM_nop_();/ds1820wr(0x4E);/寫EEPROM,發(fā)出向內(nèi)部RAM的3、4 字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)/ ds1820wr(0x0

33、0);/Th/ds1820wr(0x00);/Tlds1820wr(0x7f);/12 bits溫度分辨率x1f, 0x3f, 0x5f ,0x7f溫度讀數(shù)分辨率分別對應(yīng)0.5, 0.25, 0.125 ,0.0625 /ds1820wr(0xcc); /跳過讀EPROM序列 /ds1820wr(0x48); 將RAM 中第3 、4 字節(jié)的內(nèi)容復(fù)制到EEPROM中ds1820rst(); ds1820wr(0xcc);/*跳過讀序列號*/_nop_();ds1820wr(0x44);/*啟動(dòng)溫度轉(zhuǎn)換*/ds1820rst(); ds1820wr(0xcc);/*跳過讀序列號*/ ds1820wr(0xbe);/*讀取溫度*/ a=ds1820rd();b=ds1820rd();tvalue=b;tvalue<<=8;tvalue=tvalue|a;if(tvalue<0x0fff)tflag=0;elsetvalue=tvalue+1;tflag=1;/tvalue=tvalue*(0.425);/溫度值擴(kuò)大10倍,精確到1位小數(shù)f_temp=tvalue*(0.0625); / 溫度在寄存器中為12位,分辨率為0.0625tvalue=f_temp*10+0.5; /乘以10表示小數(shù)點(diǎn)后面只取1位,加0.5時(shí)四舍五入 /f_temp=f_temp+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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論