單片機(jī)顯示接口實(shí)驗(yàn)報(bào)告范文
一、實(shí)驗(yàn)?zāi)康?/strong>
1.了解溫度傳感器電路的工作原理
2. 了解溫度控制的基本原理
3. 掌握一線總線接口的使用
二、實(shí)驗(yàn)說明
這是一個(gè)綜合硬件實(shí)驗(yàn),分兩大功能:溫度的測量和溫度的控制。 1.DALLAS最新單線數(shù)字溫度傳感器DS18B20簡介
Dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持 “一線總線”接口的溫度傳感器,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費(fèi)電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V~5.5V的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。
DS18B20測量溫度范圍為 -55°C~+125°C,在-10~+85°C范圍內(nèi),精度為±0.5°C。DS18B20可以程序設(shè)定9~12位的分辨率,及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在EEPROM中,掉電后依然保存。
DS18B20內(nèi)部結(jié)構(gòu)
DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列如下:
DQ為數(shù)字信號(hào)輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。
光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。
DS18B20中的溫度傳感器可完成對(duì)溫度的測量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號(hào)位。
這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘以0.0625
即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘以0.0625即可得到實(shí)際溫度。
例如+125℃的數(shù)字輸出為07D0H,+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為
DS18B20溫度傳感器的存儲(chǔ)器
DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2RAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。
暫存存儲(chǔ)器包含了8個(gè)連續(xù)字節(jié),前兩個(gè)字節(jié)是測得的溫度信息,第一個(gè)字節(jié)的內(nèi)容是溫度的低八位,第二個(gè)字節(jié)是溫度的高八位。第三個(gè)和第四個(gè)字節(jié)是TH、TL的易失性拷貝,第五個(gè)字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個(gè)字節(jié)的內(nèi)容在每一次上電復(fù)位時(shí)被刷新。第六、七、八個(gè)字節(jié)用于內(nèi)部計(jì)算。第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。
低五位一直都是1 ,TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式。在DS18B20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng)。R1和R0用來設(shè)置分辨率,如下表所示:(DS18B20出廠時(shí)被設(shè)置為12位)
根據(jù)DS18B20的通訊協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號(hào)后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。
2.本實(shí)驗(yàn)在讀取溫度的基礎(chǔ)上,完成類似空調(diào)恒溫控制的實(shí)驗(yàn)。用加熱電阻代替加熱電機(jī)。溫度值通過LED靜態(tài)顯示電路以十進(jìn)制形式顯示出來,制冷采用自然冷卻。
三、實(shí)驗(yàn)內(nèi)容及步驟
本實(shí)驗(yàn)需要用到單片機(jī)最小應(yīng)用系統(tǒng)(F1區(qū))、串行靜態(tài)顯示(I3區(qū))和溫度傳感器模塊(C3區(qū))。
1.DS18B20的'CONTROL接最小應(yīng)用系統(tǒng)P1.4,OUT接最小應(yīng)用系統(tǒng)P2.0,最小系統(tǒng)的P1.0,P1.1接串行靜態(tài)顯示的DIN,CLK端。
2.用串行數(shù)據(jù)通信線連接計(jì)算機(jī)與仿真器,然后將仿真器插到模塊的鎖緊插座中,請(qǐng)注意仿真器的方向:缺口朝上。
3.打開Keil uVision2仿真軟件,首先建立本實(shí)驗(yàn)的項(xiàng)目文件,接著添加TH44_ DS18B20.ASM源程序,進(jìn)行編譯,直到編譯無誤。
4.編譯無誤后,全速運(yùn)行程序。程序正常運(yùn)行后,按下自鎖開關(guān)‘控制’SIC。LED數(shù)顯為 “XX”為十進(jìn)制溫度測量值, “XX”為十進(jìn)制溫度設(shè)定值,按下自鎖開關(guān)“控制”SIC則加熱源開始加熱,溫度也隨著變化,當(dāng)加熱到設(shè)定的控制溫度時(shí)如40度時(shí),停止加熱。
5.也可以把源程序編譯成可執(zhí)行文件,用ISP燒錄器燒錄到89S52/89S51芯片中。(ISP燒錄器的使用查看附錄二) 四、源程序
;單片機(jī)內(nèi)存分配申明!
TEMPER_L EQU 29H ;用于保存讀出溫度的低8位TEMPER_H EQU 28H ;用于保存讀出溫度的高8位FLAG1 EQU 38H ;是否檢測到DS18B20標(biāo)志位A_BIT EQU 20H ;數(shù)碼管個(gè)位數(shù)存放內(nèi)存位置B_BIT EQU 21H ;數(shù)碼管十位數(shù)存放內(nèi)存位置LEDBUF EQU 30HTEMPEQU 55HDIN BIT P1.0CLK BIT P1.1
ORG 0000HLJMP STARTORG 0100H START: SETBP1.4 MAIN:
LCALL GET_TEMPER;調(diào)用讀溫度子程序
;進(jìn)行溫度顯示,這里我們考慮用網(wǎng)站提供的兩位數(shù)碼管來顯示溫度 ;顯示范圍00到99度,顯示精度為1度
;因?yàn)?2位轉(zhuǎn)化時(shí)每一位的精度為0.0625度,我們不要求顯示小數(shù)所以可以拋棄29H的低4位
;將28H中的低4位移入29H中的高4位,這樣獲得一個(gè)新字節(jié),這個(gè)字節(jié)就是實(shí)際測量獲得的溫度
;這個(gè)轉(zhuǎn)化溫度的方法可是我想出來的哦~~非常簡潔無需乘于0.0625系數(shù)
MOV A,29H
MOV C,40H;將28H中的最低位移入CRRC AMOV C,41HRRC AMOV C,42HRRC AMOV C,43HRRC AMOV 29H,A
LCALL DISPLAYRESULT
LCALL DISPLAYLED;調(diào)用數(shù)碼管顯示子程序LCALL DELAY1 AJMP MAIN
; 這是DS18B20復(fù)位初始化子程序 INIT_1820:SETB P2.0NOPCLR P2.0
;主機(jī)發(fā)出延時(shí)537微秒的復(fù)位低脈沖MOV R1,#3 TSR1:MOV R0,#107DJNZ R0,$DJNZ R1,TSR1
SETB P2.0;然后拉高數(shù)據(jù)線NOPNOPNOPMOV R0,#25H TSR2:
JNB P2.0,TSR3;等待DS18B20回應(yīng)DJNZ R0,TSR2
LJMP TSR4 ; 延時(shí) TSR3:
SETB FLAG1; 置標(biāo)志位,表示DS1820存在LJMP TSR5 TSR4:
CLR FLAG1 ; 清標(biāo)志位,表示DS1820不存在
【單片機(jī)顯示接口實(shí)驗(yàn)報(bào)告范文】相關(guān)文章:
實(shí)驗(yàn)報(bào)告范文(15篇)01-20
實(shí)驗(yàn)報(bào)告范文(集錦15篇)01-20
倉儲(chǔ)實(shí)踐實(shí)驗(yàn)報(bào)告01-13
《血染的實(shí)驗(yàn)報(bào)告》讀后感01-20
民間文學(xué)課題實(shí)驗(yàn)報(bào)告01-20
美國研究顯示幸福主要由精神決定10-04
《血染的實(shí)驗(yàn)報(bào)告》讀后感3篇01-20
任務(wù)管理器用戶名不能顯示解決辦法02-13