單片機溫度檢測系統(tǒng)設(shè)計.doc
《單片機溫度檢測系統(tǒng)設(shè)計.doc》由會員分享,可在線閱讀,更多相關(guān)《單片機溫度檢測系統(tǒng)設(shè)計.doc(24頁珍藏版)》請在裝配圖網(wǎng)上搜索。
單片機課程設(shè)計說明書 題 目: 溫度檢測系統(tǒng)設(shè)計 系 部: 專 業(yè): 班 級: 學生姓名: 學 號: 指導教師: 2015年 12 月 14 日目 錄1 設(shè)計任務與要求11.1 設(shè)計任務11.2 設(shè)計要求12 設(shè)計方案12.1 設(shè)計思路12.2 單片機STC89C52RC22.2.1 單片機STC89C52RC功能介紹22.2.2 STC89C52RC管腳介紹2 2.2.3 STC89C52RC單片機器件參數(shù)32.3 溫度傳感器DS18B2032.3.1 DS18B20的主要特性32.3.2 DS18B20的外形和內(nèi)部結(jié)構(gòu)32.4 液晶顯示器LCD160242.4.1 液晶顯示器LCD1602功能介紹4 2.4.2 LCD1602管腳介紹53 硬件電路設(shè)計5 3.1 系統(tǒng)框圖6 3.2 最小的單片機系統(tǒng)63.2.1 時鐘電路6 3.2.2 復位電路6 3.3 溫度檢測系統(tǒng)設(shè)計7 3.4 液晶顯示電路設(shè)計74 主要參數(shù)計算與分析85 軟件設(shè)計85.1 整體系統(tǒng)分析85.2 程序流程圖96 proteus軟件仿真107 實物制作117.1 器材清單117.2 最小系統(tǒng)板制作127.3 溫度檢測系統(tǒng)電路板制作127.4 溫度檢測展示127.5 焊接點展示137.6 作品檢查138 結(jié)論14附錄15參考文獻201 設(shè)計任務與要求11 設(shè)計任務 利用電阻、瓷片電容、電解電容、12MHz晶振、STC89C52單片機、DS18B20溫度傳感器、液晶顯示器、1P杜邦線彩色、排針、最小系統(tǒng)板、電位器、洞洞板等,完成一個溫度檢測系統(tǒng)。 1、采用單片機及溫度傳感器設(shè)計溫度檢測系統(tǒng); 2、溫度檢測結(jié)果采用液晶顯示器輸出; 3、必須具有上電自檢功能及外接電源,公共地線接口。1. 2 設(shè)計思路 1、熟悉此電路工作原理。 2、掌握組裝與調(diào)試方法。 3、畫出Proteus原理圖,PCB圖。 4、用Proteus仿真。 5、測量范圍099攝氏度,精度誤差小于1攝氏度。 6、一份設(shè)計說明書。 7、做出所設(shè)計的系統(tǒng)的實物。2 設(shè)計方案2. 1 設(shè)計方案 由于本設(shè)計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應,在將隨被測溫度變化的電壓或電流采集過來,進行A/D轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。進而考慮到用溫度傳感器,在單片機電路設(shè)計中,大多都是使用傳感器,所以可以采用溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進行轉(zhuǎn)換,就可以滿足設(shè)計要求。 故針對上述現(xiàn)象,本文設(shè)計了一種由單片機控制的溫度采集與顯示系統(tǒng),它以STC89C52單片機為核心,采用溫度傳感器DS18B20實現(xiàn)對溫度信號的采集以及運用LCD1602液晶顯示器來顯示數(shù)據(jù)。在溫度信號的采集方面,采用DS18B20型溫度傳感器,與傳統(tǒng)的熱敏電阻相比,它能夠直接讀出被測溫度,并可根據(jù)實際要求通過簡單的編碼實現(xiàn)912位的數(shù)字式讀數(shù)方式,可在-50300范圍內(nèi)顯示數(shù)據(jù),在-10+85時精度為0.5。2.2 單片機STC89C52RC2.2.1 單片機STC89C52RC功能介紹 STC89C52RC是STC生產(chǎn)的單時鐘/機器周期(1T)的單片機,是高速、低功耗、超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。具有以下標準功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復位電路,3個16 位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz,6T/12T可選。2.2.2 STC89C52RC管腳介紹STC89C52RC單片機,選用PDIP封裝。管腳如圖3-1所示:圖2-1 PDIP封裝的STC89C52 單片機的引腳功能說明: 1、電源引腳 VCC(40 腳):電源端,工作電壓為5V。 GND(20腳): 接地端。 2、時鐘電路引腳XTAL1(19 腳)和XTAL2(18 腳)。 3、復位 RST(9 腳)。 4、輸入輸出(I/O)引腳 P0.0-P0.7(39腳-32腳):輸入輸出腳,稱為P0 口,是一個8 位漏極開路型雙向I/O 口,內(nèi)部不帶上拉電阻。 P1.0-P1.7(1腳 - 8腳):輸入輸出腳,稱為P1 口,是一個帶內(nèi)部上拉電阻的8 位雙向I/0 口。 P2.0-P2.7(21腳28腳):輸入輸出腳,稱為P2 口,是一個帶內(nèi)部上拉電阻的8 位雙向I/O 口。 P3.0-P3.7 (10腳17腳):輸入輸出腳,稱為P3 口,是一個帶內(nèi)部上拉電阻的8 位雙向I/O 口。P3 端口具有復用功能。 2.2.3 STC89C52RC單片機器件參數(shù) 1、增強型8051單片機,6 時鐘/機器周期和12 時鐘/機器周期可以任意 選擇,指令代碼完全兼容傳統(tǒng)8051。 2、工作電壓:5.5V3.3V(5V單片機)/3.8V2.0V(3V 單片機)。 3、工作頻率范圍:040MHz,相當于普通8051 的080MHz,實際工作 頻率可達48MHz 4、用戶應用程序空間為8K字節(jié)。 5、片上集成512 字節(jié)RAM。 6、通用I/O 口(32 個),復位后為:P0/P1/P2/P3 是準雙向口/弱上拉, P0 口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為 I/O 口用時,需加上拉電阻。 7、ISP(在系統(tǒng)可編程)/IAP(在應用可編程),無需專用編程器,無 需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程 序,數(shù)秒即可完成一片 8、具有EEPROM 功能。 9、共3 個16 位定時器/計數(shù)器。即定時器T0、T1、T2。 10、外部中斷4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒。 11、通用異步串行口(UART),還可用定時器軟件實現(xiàn)多個UART。 12、工作溫度范圍:-40+85(工業(yè)級)/075(商業(yè)級)。 13、PDIP封裝。2.3 溫度傳感器DS18B20 DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有LTM8877,LTM8874等等。主要根據(jù)應用場合的不同而改變其外觀。2.3.1 DS18B20的主要特性 1、適應電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù) 據(jù)線供電。 2、獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。 3、 DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。 4、DS18B20在使用中不需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。 5、溫范圍-55+125,在-10+85時精度為0.5。 6、可編程 的分辨率為912位,對應的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現(xiàn)高精度測溫。2.3.2 DS18B20的外形和內(nèi)部結(jié)構(gòu) DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM 、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的外形及管腳排列如圖3-2所示:圖2-2 溫度傳感器DS18B20 DS18B20引腳定義: (1)GND為電源地; (2)DQ為數(shù)字信號輸入/輸出端; (3)VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。2.4 液晶顯示器LCD16022.4.1 液晶顯示器LCD1602功能介紹 1602液晶顯示器也叫1602字符型液晶顯示器,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。如圖3-3所示:圖2-3液晶顯示器LCD16022.4.2 LCD1602管腳介紹LCD1602采用標準的16腳接口,如圖3-3所示,其中從左到右為1-16腳: 第1腳:GND為電源地 第2腳:VCC接5V電源正極 第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度)。 第4腳:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。 第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。 第6腳:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負跳變時執(zhí)行指令。 第7-14腳:D0D7為8位雙向數(shù)據(jù)端。第15-16腳:空腳或背燈電源,15腳背光正極,16腳背光負極。2.4.3 LCD1602主要特性 1、3.3V或5V工作電壓,對比度可調(diào)。 2、內(nèi)含復位電路。 3、提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能。 4、有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM。 5、內(nèi)建有192個5X7點陣的字型的字符發(fā)生器CGROM。6、8個可由用戶自定義的5X7的字符發(fā)生器CGRAM。3 硬件電路設(shè)計3.1 系統(tǒng)框圖溫度檢測系統(tǒng)由USB接口電源,DS18B20溫度傳感器組成的溫度檢測模塊,STC89C52單片機組成的核心電路,復位電路、時鐘電路及液晶顯示器組成的顯示電路構(gòu)成。如圖3-4所示:STC89C52單片機時鐘電路模塊復位電路模塊LCD1602 顯示模塊 DS18B20 溫度檢測模塊電源模塊圖3-1 系統(tǒng)框圖3.2 最小的單片機系統(tǒng)單片機最小系統(tǒng)以AT89C52RC為核心,外加時鐘電路和復位電路,電路結(jié)構(gòu)簡單,抗干擾能力強,成本相對較低,非常符合本設(shè)計的所有要求。3.2.1 時鐘電路時鐘電路在單片機的外部通過XTAL1,XTAL2這兩個引腳跨接晶體振蕩器和微調(diào)電容,構(gòu)成穩(wěn)定的自激振蕩器。本系統(tǒng)采用的為12MHz的晶振,一個機器周期為1us,C1、C2為22pF。如圖3-5所示圖3-2 時鐘電路仿真圖3.2.2 復位電路復位電路分為上電自動復位和按鍵手動復位,RST引腳是復位信號的輸入端,復位信號是高電平有效。上電自動復位通過電容C3和電阻R1來實現(xiàn)。如圖3-6所示:圖3-3 復位電路原理圖 按鍵手動復位是復位鍵來實現(xiàn)的,上圖3-6中未添加復位鍵,復位鍵可添加在正5V電源與單片機RST管腳之間。3.3 溫度檢測系統(tǒng)設(shè)計DS18B20采用單線進行數(shù)據(jù)傳輸,第2管腳外接一個4.7k上拉電阻與單片機的P3.6口相連進行數(shù)據(jù)的雙向傳輸,第3管腳外接正5V電源,第1管腳接地。如圖3-7所示:圖3-4 溫度檢測仿真圖 外部電源供電方式是DS18B20的最佳工作方式,工作溫度可靠,抗干擾能力強,電路也簡單,并且可以開發(fā)出穩(wěn)定可靠的多點溫度監(jiān)控系統(tǒng)。3.4 液晶顯示電路設(shè)計LCD1602液晶顯示屏采用標準的16腳接口,VSS管腳接地,VDD管腳接正5V電源,VEE管腳接電位器RV1,RS管腳外接單片機的P1.1口,RW管腳接地,E管腳外接單片機的P1.2口,D0-D7管腳分別接單片機的P2.0-P2.7口,仿真圖未標識出的A、K管腳為背光燈電源管腳,分別接正5V電源和地。如圖3-8所示: 圖3-5液晶顯示電路原理圖液晶顯示器雖然加了驅(qū)動電路,但并不發(fā)光,液晶顯示器發(fā)出來的光是由背光發(fā)出的,燈管的特性類似于家用日光燈,工作時需要高壓。這部分電路通常稱為高壓背光電路?;蚪懈邏罕彻怛?qū)動電路。液晶顯示器所消耗的電能基本全是由背光消耗。相對而言,這部分電路工作在高壓大電流下,很容易出現(xiàn)故障,液晶顯示器的自然故障大多數(shù)是這個部分出現(xiàn)了電路故障。4 主要參數(shù)計算與分析溫度顯示一共 2 個字節(jié),LSB 是低字節(jié),MSB 是高字節(jié),其中 MSB 是字節(jié)的高位,LSB 是字節(jié)的低位。大家可以看出來,二進制數(shù)字,每一位代表的溫度的含義,都表示出來了。其中 S表示的是符號位,低 11 位都是 2 的冪,用來表示最終的溫度。DS18B20 的溫度測量范圍是從-55 度到+125 度,而溫度數(shù)據(jù)的表現(xiàn)形式,有正負溫度,寄存器中每個數(shù)字如同卡尺的刻度一樣分布。如表一所示:TEMPERATUREDIGITAL OUTPUT(Binary)DIGITAL OUTPUT(Hex)+125度0000 0111 1101 000007D0h+25.0625度0000 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ù)字最低位變化 1,代表溫度變化 0.0625 度的映射關(guān)系。當 0 度的時候,那就是0x0000,當溫度 125 度的時候,對應十六進制是 0x07D0,當溫度是零下 55 度的時候,對應的數(shù)字是 0xFC90。反過來說,當數(shù)字是 0x0001 的時候,那溫度就是0.05,達到了設(shè)計要求。5 軟件設(shè)計5.1 整體系統(tǒng)分析溫度檢測系統(tǒng)由溫度及中斷初始化,溫度檢測,溫度輸入處理,溫度顯示等幾部分模塊組成。如圖5-1所示: 圖5-1 軟件設(shè)計5.2 程序流程圖程序流程圖包括:開始后先進行各個模塊的初始化,然后再進行溫度(數(shù)據(jù))的采樣處理,最后由液晶顯示器輸出溫度。如圖5-2所示:開始單片機開始初始化LCD顯示初始化中斷初始化DS18B20初始化 DS18B20進行溫度采集LCD顯示實時溫度等待圖5-2 程序流程圖6 Proteus軟件仿真溫度檢測系統(tǒng)設(shè)計的 Proteus原理圖設(shè)計,找到12MHz晶振、STC89C52單片機、DS18B20溫度傳感器、液晶顯示器等器件,并用線進行連接,注意電源與地。如圖6-1所示:圖6-1 溫度檢測系統(tǒng)仿真圖 加載程序液晶屏顯示溫度。如圖6-2所示:圖6-2 溫度檢測系統(tǒng)模擬運行 通過調(diào)整DS18B20中的“+”“-”即可改變顯示數(shù)值。7 實物制作7.1 器材清單 實物制作用到的器件有以下幾種,如表二所示: 名稱封裝型號參數(shù)數(shù)量瓷片電容直插30PF2石英晶體直插11.0592MHZ1電阻直插1/4W10K1電解電容直插22UF/16V1CPU雙列直插STC89C52RCHD1CPU座雙列直插DIP-401電阻直插1/4W4.7K1溫度傳感器直插DS18B201電位器直插3296W-10310K1液晶顯示器LCD160211P杜邦線彩色母對母兩頭插好杜邦頭孔對孔40根一排單根長度20cm30針排針直插腳距2.54高111X40單排插針30線最小系統(tǒng)板1洞洞板9X7CM單面1表二 溫度檢測單片機元器件明細表7.2 最小系統(tǒng)板制作 焊接最小系統(tǒng)板,把電容、極性電容、12Mhz晶振、電阻、排針、底座插到最小系統(tǒng)板上,因為背面電路都已連接好,只需在各個位置焊上個元器件即可。實物圖如圖7-1所示:圖7-1 最小系統(tǒng)電路實物圖7.3 溫度檢測系統(tǒng)電路板制作DS18B20焊接時應注意1,2,3腳,電路板最右面焊排針,以便輸入信號。輸入程序前用杜邦線將各個模塊進行連接。實物圖如圖7-2所示:圖7-2 溫度檢測系統(tǒng)電路實物圖7.4 溫度檢測展示室內(nèi)溫度測量如圖7-3所示:圖7-3 室溫 用手指捏住DS18B20一段時間,再次進行溫度的測量。如圖7-4所示:圖7-4 手指加熱7.5 焊接點展示每個焊點以方正,不帶刺,均勻為好。當焊好電路后,仔細檢查焊點質(zhì)量與是否導通。如圖7-5所示:圖7-5 焊接點展示7.6 作品檢查 1、首先按照仿真圖將實物焊接,注意焊接的質(zhì)量,不要出現(xiàn)虛焊等現(xiàn)象。 2、通電觀察現(xiàn)象。 3、通電后無反應。 4、將單片機換一塊最小系統(tǒng)板,檢查是否原來最小系統(tǒng)板有問題及單片機是否有問題。 5、液晶顯示器的顯示和仿真是否有不同。 6、檢查單片機引腳與液晶顯示器連接的順序是否正確.程序是否匹配。 7、液晶顯示器不亮或亮的很暗。 8、檢查線路的正負極是否接反,檢查限流電阻阻值是否正確,檢查是否有斷路現(xiàn)象。當焊好電路后通電之后,發(fā)現(xiàn)電路不亮,檢查了一下單片機向外的接口,虛焊了個地方,重新焊好后,接入液晶顯示器,發(fā)現(xiàn)有一組液晶顯示器不亮,原因是未連接背光電路,重新連接后,通電,試驗成功。8 結(jié)論 本系統(tǒng)充分利用了STC89C52RC芯片的I/O引角。系統(tǒng)統(tǒng)采用MSC-51系列單片機為中心器件來設(shè)計溫度檢測系統(tǒng),實現(xiàn)了能根據(jù)實際溫度通過單片機芯片的P2口控制液晶顯示器的顯示;系統(tǒng)設(shè)計簡便、實用性強、操作簡單、程序設(shè)計簡便。系統(tǒng)不足之處在于電路18B20易損壞、以及液晶顯示不明顯等。由于本設(shè)計涉及到的知識面比較廣,再加上本人在相關(guān)領(lǐng)域知識的缺乏,所以本設(shè)計的性能指標還是有待改善的,并讓我明白了仿真和真實動手是具有差距的,想的和做的并不一樣。要特別注重細節(jié),制作實物時出現(xiàn)液晶屏不顯示故障,當時只認為是程序或焊接有問題,最后才發(fā)現(xiàn)只是電位器沒調(diào)節(jié)好。這次課程設(shè)計,使我對所學的知識與技能、分析和解決問題的能力進行了可貴的鍛煉,使我深刻領(lǐng)會了單片機的基本原理以及了解到單片機應用系統(tǒng)開發(fā)過程的艱難。在常用編程設(shè)計思路技巧的掌握方面都向前邁了一大步。通過這次的課程設(shè)計,我充分意識到了自己所學的東西還是非常有限的,明確了以為要努力的方向,不能只學習課本上的理論知識,還要了解一些書本上無法學到的東西,為自己的以后奠定了一定的基礎(chǔ)。 附錄:C語言程序:#include#include#define uchar unsigned char #define uint unsigned int#define LCDIO P2 /1602數(shù)據(jù)口sbit DQ=P36;/ds18b20與單片機連接口sbit rs=P11; /1602數(shù)據(jù)命令選擇引腳/sbit rd=1;/讀寫選擇 sbit lcden=P12;/1602選通引腳float f_temp; /浮點型溫度值 uint tvalue;/溫度值uchar tflag;uchar code table=The temperature ; /每行顯示16個字符uchar code table1=is: 000.0C wfu;uchar data disdata5;void delay(uint z)/短延時uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_com(uchar com)/1602寫命令子程序rs=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(0x38);/0011 1000B,功能模式設(shè)置,設(shè)置為8為數(shù)據(jù)口,兩行顯示,5*7點陣write_com(0x0c);/0000 1011B,顯示開及光標設(shè)置,關(guān)顯示,顯示光標,光標閃爍write_com(0x06);/0000 0110B,顯示光標移動設(shè)置,讀或?qū)懸粋€字符,地址指針減一且光標減一,寫一個字符屏幕顯示不移動write_com(0x01);/0000 0001B,顯示清屏,數(shù)據(jù)指針和所有顯示清屏write_com(0x80);/1000 000B,關(guān)閉顯示delay(5);write_com(0x80);/1000 000B,設(shè)置為2行顯示,寫入第一行字符的地址,第一行地址是00-2Ffor(num=0;num16;num+) write_date(tablenum);/寫入第一行數(shù)據(jù)delay(5);write_com(0x80+0x40);/1100 0000B,設(shè)置為2行顯示,寫入第二行字符的地址,第而行地址是40-67for(num=0;num0;i-) DQ = 0; /給脈沖信號dat=1;DQ = 1; /給脈沖信號if(DQ)dat|=0x80;delay_18B20(10);return(dat);void ds1820wr(uchar wdata)/*寫數(shù)據(jù)*/unsigned char i=0;for (i=8; i0; 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(0x00);/Th/ds1820wr(0x00);/Tlds1820wr(0x7f);/12 bits溫度分辨率x1f, 0x3f, 0x5f ,0x7f溫度讀數(shù)分辨率分別對應0.5, 0.25, 0.125 ,0.0625 /ds1820wr(0xcc); /跳過讀EPROM序列 /ds1820wr(0x48); 將RAM 中第3 、4 字節(jié)的內(nèi)容復制到EEPROM中ds1820rst(); ds1820wr(0xcc);/*跳過讀序列號*/_nop_();ds1820wr(0x44);/*啟動溫度轉(zhuǎn)換*/ds1820rst(); ds1820wr(0xcc);/*跳過讀序列號*/ ds1820wr(0xbe);/*讀取溫度*/ a=ds1820rd();b=ds1820rd();tvalue=b;tvalue=8;tvalue=tvalue|a;if(tvalue0?0.5:-0.5);return(tvalue);void ds1820disp()/溫度值顯示 uchar flagdat; disdata0=tvalue/1000+0x30;/百位數(shù) disdata1=tvalue%1000/100+0x30;/十位數(shù) disdata2=tvalue%100/10+0x30;/個位數(shù) disdata3=tvalue%10+0x30;/小數(shù)位 if(tflag=0) flagdat=0x20;/正溫度不顯示符號 else flagdat=0x2d;/負溫度顯示負號:- if(disdata0=0x30) disdata0=0x20;/如果百位為0,不顯示 if(disdata1=0x30) disdata1=0x20;/如果百位為0,十位為0也不顯示 write_com(0x80+0x44); /1100 0000B,設(shè)置為2行顯示,寫入第二行字符的地址,第而行地址是40-67 write_date(flagdat);/顯示符號位 write_com(0x80+0x45); write_date(disdata0);/顯示百位 write_com(0x80+0x46); write_date(disdata1);/顯示十位 write_com(0x80+0x47); write_date(disdata2);/顯示個位 write_com(0x80+0x48); write_date(0x2e);/顯示小數(shù)點 write_com(0x80+0x49); write_date(disdata3);/顯示小數(shù)位 write_com(0x80+0x4a); write_date(C);void main()init();read_temp();/讀取溫度ds1820disp();/顯示while(1)read_temp();/讀取溫度ds1820disp();/顯? 參考文獻:1 吳黎明、王桂棠、洪添勝等. 單片機原理及應用技術(shù) M . 北京: 科學出版社,2005.2 馮文旭. 單片機原理及應用 M . 北京: 機械工業(yè)出版社,2008.3 康華光. 電子技術(shù)基礎(chǔ)M.北京:高等教育出版社,2010.4 張?zhí)m紅、鄒華等. 單片機原理及應用 M . 北京: 機械工業(yè)出版社,20125 李伯成. 基于MCS-51單片機的嵌入式系統(tǒng)的設(shè)計M.北京:電子工業(yè)出 版社,2004.6 樓然苗、李光飛. 單片機課程設(shè)計指導M.北京:北京航空航天大學出版 社,1997.- 1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 單片機 溫度 檢測 系統(tǒng) 設(shè)計
鏈接地址:http://italysoccerbets.com/p-6669919.html