




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
./2012~2013學(xué)年第2學(xué)期《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)報(bào)告題目:基于DS18B20的溫度采集系統(tǒng)設(shè)計(jì)專業(yè):自動(dòng)化班級(jí):姓名:指導(dǎo)教師:電氣工程學(xué)院2013年6月6日1、任務(wù)書(shū)課題名稱基于DS18B20的溫度采集系統(tǒng)設(shè)計(jì)指導(dǎo)教師〔職稱執(zhí)行時(shí)間2012~2013學(xué)年第2學(xué)期第10周學(xué)生學(xué)號(hào)承擔(dān)任務(wù)設(shè)計(jì)目的通過(guò)該課程設(shè)計(jì)進(jìn)一步熟悉單片機(jī)的基本知識(shí)與工作原理;熟悉DS18B20溫度傳感器的部資源及其使用方法;學(xué)會(huì)使用Protues仿真軟件進(jìn)行單片機(jī)系統(tǒng)設(shè)計(jì)的方法;學(xué)會(huì)使用LCD1602對(duì)所需要顯示的容進(jìn)行顯示。設(shè)計(jì)要求要求:1.液晶第一行顯示"Temperature";2.使用DS18B20溫度傳感器采集當(dāng)前的溫度,并采集的溫度值液晶第二行顯示。3.設(shè)計(jì)溫度的上下界限,超過(guò)溫度上限或下限時(shí),蜂鳴器報(bào)警同時(shí)一個(gè)發(fā)光二極管閃爍報(bào)警。摘要隨著信息技術(shù)的飛速發(fā)展,嵌入式智能電子技術(shù)已滲透到社會(huì)生產(chǎn)、工業(yè)控制以及人們?nèi)粘I畹母鱾€(gè)方面。單片機(jī)又稱為嵌入式微型控制器,在智能儀表、工業(yè)控制、智能終端、通信設(shè)備、醫(yī)療器械、汽車電器、導(dǎo)航系統(tǒng)和家用電器等很多領(lǐng)域都有著廣泛的應(yīng)用,已成為當(dāng)今電子信息領(lǐng)域應(yīng)用最廣泛的技術(shù)之一。本文主要介紹了一個(gè)基于STC89C52RC單片機(jī)的測(cè)溫系統(tǒng),詳細(xì)描述了利用液晶顯示器件溫度傳感器DS18B20開(kāi)發(fā)測(cè)溫系統(tǒng)的原理,重點(diǎn)對(duì)傳感器與單片機(jī)的硬件連接和軟件編程進(jìn)行了詳細(xì)分析。主要地介紹了數(shù)字溫度傳感器DS18B20的數(shù)據(jù)采集過(guò)程,進(jìn)而對(duì)各部分硬件電路的工作原理進(jìn)行了介紹。溫度傳感器DS18B20與STC89C52RC結(jié)合構(gòu)成了最簡(jiǎn)溫度檢測(cè)系統(tǒng),該系統(tǒng)可以方便的實(shí)現(xiàn)溫度采集和顯示,它使用起來(lái)相當(dāng)方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點(diǎn),適合我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的溫度測(cè)量,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。關(guān)鍵詞:?jiǎn)纹瑱C(jī)STC89C52RC、DS18B20溫度傳感器、液晶顯示器LCD1602基于DS18B20的溫度采集系統(tǒng)設(shè)計(jì)目錄第一章緒論41.1溫度檢測(cè)系統(tǒng)的介紹41.1.1溫度檢測(cè)系統(tǒng)的組成41.1.2溫度檢測(cè)的實(shí)際意義4第二章溫度檢測(cè)系統(tǒng)方案的選取52.1溫度檢測(cè)系統(tǒng)方案的選取5溫度檢測(cè)模塊52.1.2溫度顯示模塊62.2溫度檢測(cè)系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)7第三章硬件電路的設(shè)計(jì)83.1STC89C52RC的介紹83.2DS18B20的介紹93.2.1DS18B20的主要特點(diǎn)93.2.2DS18B20的結(jié)構(gòu)93.2.3DS18B20的測(cè)溫原理103.3LCD1602的介紹133.4硬件設(shè)計(jì)14硬件設(shè)計(jì)目標(biāo)14硬件功能模塊劃分14接口和連接方式14硬件仿真電路15第四章軟件設(shè)計(jì)164.11602液晶顯示處理部分164.218B20函數(shù)處理部分16第五章心得體會(huì)19參考文獻(xiàn)20附錄21緒論1.1溫度檢測(cè)系統(tǒng)的介紹溫度檢測(cè)在各領(lǐng)域應(yīng)用的非常廣泛,可以說(shuō)滲透到了社會(huì)的每一個(gè)領(lǐng)域。人們的生活與溫度檢測(cè)息息相關(guān),在工業(yè)生產(chǎn)過(guò)程中需要實(shí)時(shí)測(cè)量溫度,在農(nóng)業(yè)生產(chǎn)中也離不開(kāi)溫度的測(cè)量,因此研究溫度的測(cè)量方法和裝置具有重要的意義。溫度檢測(cè)系統(tǒng)的組成溫度檢測(cè)的首要問(wèn)題是溫度傳感器的選取。溫度傳感器的發(fā)展經(jīng)歷了三個(gè)發(fā)展階段:①傳統(tǒng)的分立式溫度傳感器、②模擬式集成溫度傳感器、③智能集成溫度傳感器。目前的智能溫度傳感器<也稱數(shù)字溫度傳感器>是在20世紀(jì)90年代中期問(wèn)世的,它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)<ATE>的結(jié)晶。它的優(yōu)點(diǎn)是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器<MCU>。目前溫度傳感器正在朝著基于單片機(jī)的基礎(chǔ)上從模擬式向數(shù)字式,從集成化向智能化、網(wǎng)絡(luò)化的方向飛速發(fā)展,并朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開(kāi)發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片機(jī)測(cè)溫系統(tǒng)等高科技的方向迅速發(fā)展。我們采用DS18B20數(shù)字溫度傳感器采集溫度信號(hào),使用MCS-51單片機(jī)控制溫度傳感器,然后將采集到的溫度信號(hào)在LCD1602液晶顯示屏上顯示。這種溫度檢測(cè)系統(tǒng)性能較好,并易于實(shí)現(xiàn)。溫度檢測(cè)的實(shí)際意義在工業(yè)生產(chǎn)和實(shí)踐研究中,像電力、化工、石油、冶金、航空航天、機(jī)械制造、糧食存儲(chǔ)、酒類生產(chǎn)等領(lǐng)域,溫度常常是表征對(duì)象和過(guò)程狀態(tài)的重要參數(shù)之一。比如,發(fā)電廠鍋爐的溫度必須控制在一定的圍之;許多化學(xué)反應(yīng)的工藝過(guò)程必須在適當(dāng)?shù)臏囟认虏拍苷_M(jìn)行;煉油過(guò)程中,原油必須在不同的溫度和壓力條件下進(jìn)行分餾才能得到汽油、柴油、煤油等產(chǎn)品。沒(méi)有合適的溫度環(huán)境,許多電子設(shè)備就不能正常工作,糧倉(cāng)的儲(chǔ)糧就會(huì)變質(zhì)霉?fàn)€,酒類的品質(zhì)就沒(méi)有保障。由此可見(jiàn),溫度的檢測(cè)對(duì)日常生活很重要。第二章溫度檢測(cè)系統(tǒng)方案的選取2.1溫度檢測(cè)系統(tǒng)方案的選取由于溫度檢測(cè)的方法多種多樣,而不同的檢測(cè)方法適合不同的場(chǎng)所。我們針對(duì)溫度檢測(cè)提出了溫度采集系統(tǒng)的多種設(shè)計(jì)方案。由于溫度檢測(cè)系統(tǒng)基本組成為溫度檢測(cè)模塊和溫度變送傳輸模塊以及溫度顯示模塊。下面對(duì)這些不同模塊的選取分別進(jìn)行具體地分析。溫度檢測(cè)模塊方案一:采用熱敏電阻。因熱敏電阻是溫度敏感元件,使用它來(lái)感受溫度變化,其電阻值的變化是可以衡量溫度大小的。但熱敏電阻測(cè)溫具有精度低,可靠性差,不適用檢測(cè)變化小的溫度信號(hào)等特點(diǎn),所以這種方法不適用于精度要求高的場(chǎng)合。
方案二:采用單總線數(shù)字溫度傳感器DS18B20測(cè)量溫度。因?yàn)樗苯虞敵鰯?shù)字信號(hào),便于單片機(jī)進(jìn)行處理及控制,同時(shí)也節(jié)省了硬件電路。該芯片的物理化學(xué)性質(zhì)很穩(wěn)定,元件線形性能好。當(dāng)溫度在0—100攝氏度圍變化時(shí),最大線形偏差小于1攝氏度。方案三:在溫度測(cè)量系統(tǒng)中,也可采用單片機(jī)溫度傳感器,比如AD590,LM35等。但這些芯片輸出的都是模擬信號(hào),必須經(jīng)過(guò)A/D轉(zhuǎn)換后才能送給計(jì)算機(jī),這樣就使測(cè)溫系統(tǒng)的硬件結(jié)構(gòu)變的復(fù)雜。另外,這種測(cè)溫系統(tǒng)難以實(shí)現(xiàn)多點(diǎn)測(cè)溫,也要用到復(fù)雜的算法,一定程度上也增加了軟件實(shí)現(xiàn)的難度。
經(jīng)過(guò)討論分析,為符合課程設(shè)計(jì)要求,我們選用方案二。溫度檢測(cè)模塊示意圖溫度顯示模塊方案一:采用8位段數(shù)碼管。將單片機(jī)得到的數(shù)據(jù)通過(guò)數(shù)碼管顯示出來(lái)。該方案簡(jiǎn)單易行,但所需的元件較多,可讀性差,一旦設(shè)定后很難再加入其他的功能,而且溫度顯示格式受限制,耗電量大,不宜用電池給系統(tǒng)供電。
方案二:采用液晶顯示器件。液晶顯示具有平穩(wěn)、省電、美觀等優(yōu)點(diǎn),更容易滿足題目要求。而且對(duì)后續(xù)的工藝兼容性高,只需將修改軟件中程序設(shè)計(jì)即可,可操作性強(qiáng),也易于讀數(shù)。LCD1602液晶顯示器具有兩行十六個(gè)字符的顯示,能同時(shí)顯示其它的信息如日期、時(shí)間、星期、溫度。
通過(guò)比較,我們選用方案二。溫度顯示模塊示意圖2.2溫度檢測(cè)系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)采用STC89C52RC單片機(jī)作為控制核心對(duì)溫度傳感器DS18B20進(jìn)行控制,由它讀取溫度信號(hào)并進(jìn)行計(jì)算處理后送到液晶顯示器LCD1602顯示。按照系統(tǒng)設(shè)計(jì)功能的要求,確定系統(tǒng)由3個(gè)模塊組成:主控制器、測(cè)溫電路和顯示電路。溫度檢測(cè)系統(tǒng)總體電路結(jié)構(gòu)框圖如下圖所示。溫度檢測(cè)系統(tǒng)電路結(jié)構(gòu)框圖第三章硬件電路的設(shè)計(jì)3.1STC89C52RC的介紹STC89C52RC單片機(jī)是宏晶科技推出的新一代超強(qiáng)抗干擾、高速、低功耗的單片機(jī)。它的指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可任意選擇,最新的D版本部集成MAX810專用復(fù)位電路。〔1.增強(qiáng)型6時(shí)鐘/機(jī)器周期,12時(shí)鐘/機(jī)器周期8051CPU〔2.工作電壓:5.5V-3.4V〔5V單片機(jī)/3.8V-2.0V〔3V單片機(jī)〔3.工作頻率圍:0-40MHz,相當(dāng)于普通8051的0~80MHz.實(shí)際工作頻率可達(dá)到48MHz.〔4.用戶應(yīng)用程序空間4K/8K/13K/16K/20K/32K/64K字節(jié)〔5.片上集成1280字節(jié)/512字節(jié)RAM〔6.通用I/O口〔32/36個(gè),復(fù)位后為:P1/P2/P3/P4是準(zhǔn)雙向口,P0口是開(kāi)漏輸出,作為總線擴(kuò)展使用時(shí),不用加上拉電阻,作為I/O口使用時(shí),需加上拉電阻?!?.ISP〔在系統(tǒng)可編程/IAP〔在應(yīng)用可編程,無(wú)需專用編程器/仿真器,可通過(guò)串口〔P3.0/P3.1直接下載用戶程序,8K程序3秒即可完成一片〔8.EEPROM功能〔9.看門(mén)狗〔10.部集成MAX810專用復(fù)位電路〔D版本才有,外部20M以下時(shí),可省外部復(fù)位電路3.2DS18B20的介紹DS18B20的主要特點(diǎn)溫度傳感器的種類眾多,在高精度、高可靠性的應(yīng)用場(chǎng)合時(shí)DALLAS〔達(dá)拉斯公司生產(chǎn)的DS18B20溫度傳感器比較理想。它體積小,硬件開(kāi)消低,抗干擾能力強(qiáng),精度高,附加功能強(qiáng)。與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式。它具有獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信,并可通過(guò)數(shù)據(jù)線供電,電壓圍為3.0~5.5V。DS18B20的結(jié)構(gòu)TO-92封裝的DS18B20的引腳排列見(jiàn)下圖。圖DS18B20實(shí)物圖及封裝其引腳功能描述見(jiàn)下表。表3.2.1DS18B20詳細(xì)引腳功能描述序號(hào)名稱引腳功能描述1GND接地信號(hào)2DQ數(shù)據(jù)輸入/輸出引腳。開(kāi)漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。3VDD可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。DS18B20的部結(jié)構(gòu)示意圖如下圖所示。C64C64位ROM和單線接口高速緩存存儲(chǔ)器與控制邏輯溫度傳感器高溫觸發(fā)器TH低溫觸發(fā)器TL配置寄存器8位CRC發(fā)生器VddI/O圖DS18B20部結(jié)構(gòu)64位ROM的結(jié)構(gòu)起始8位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前面56位的CRC檢驗(yàn)碼,這也是多個(gè)DS18B20可以采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器TH和TL,可通過(guò)軟件寫(xiě)入戶報(bào)警上下限。DS18B20溫度傳感器的部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EERAM。高速暫存器RAM由9個(gè)字節(jié)的存儲(chǔ)器組成。第0-1個(gè)字節(jié)是溫度的顯示位;第2和第3個(gè)字節(jié)是TH和TL,同時(shí)第2和第3個(gè)字節(jié)的數(shù)字可以更新;第4個(gè)字節(jié)是配置寄存器,同時(shí)第4個(gè)字節(jié)的數(shù)字也可以更新;第5、6、7三個(gè)字節(jié)是保留的。第8字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。表列出了溫度數(shù)據(jù)在高速暫存器RAM的第0和第1個(gè)字節(jié)中的存儲(chǔ)格式。表溫度數(shù)據(jù)存儲(chǔ)格式位7位6位5位4位3位2位1位0232221202-12-22-32-4位15位14位13位12位11位10位9位8SSSSS262524DS18B20的測(cè)溫原理DS18B20的測(cè)溫原理是這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入。器件中還有一個(gè)計(jì)數(shù)門(mén),當(dāng)計(jì)數(shù)門(mén)打開(kāi)時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門(mén)的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將-55℃所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中。DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號(hào)線,3腳接電源。另一種是寄生電源供電方式,如圖所示單片機(jī)端口接單線總線,為保證在有效的DS18B20時(shí)鐘周期提供足夠的電流,可用一個(gè)MOSFET管來(lái)完成對(duì)總線的上拉。圖DS18B20的接口電路當(dāng)DS18B20處于寫(xiě)存儲(chǔ)器操作和溫度A/D轉(zhuǎn)換操作時(shí),總線上必須有上拉,上拉開(kāi)啟時(shí)間最大為10us。采用寄生電源供電方式時(shí)VDD端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。由于DS18B20是在一根I/O線上讀寫(xiě)數(shù)據(jù),因此,對(duì)讀寫(xiě)的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。DS18B20有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、寫(xiě)數(shù)據(jù)、讀數(shù)據(jù)。所有時(shí)序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫(xiě)時(shí)序開(kāi)始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫(xiě)命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。〔1DS18B20的初始化時(shí)序先將數(shù)據(jù)線置高電平1延時(shí)〔該時(shí)間要求不是很嚴(yán)格,但盡可能短一點(diǎn)數(shù)據(jù)線拉到低電平0延時(shí)750us〔該時(shí)間圍可以設(shè)定為480-960us圍數(shù)據(jù)線拉到高電平1延時(shí)等待。如果初始化成功則在15-60ms產(chǎn)生一個(gè)由DS18B20返回的低電平0,據(jù)該狀態(tài)可以確定它的存在。若CPU讀到數(shù)據(jù)線上的低電平0后,還要進(jìn)行延時(shí),其延時(shí)的時(shí)間從發(fā)出高電平算起最少480us將數(shù)據(jù)線再次拉到高電平1后結(jié)束〔2DS18B20的寫(xiě)數(shù)據(jù)數(shù)據(jù)線先置低電平0延時(shí)確定的時(shí)間為15us按從低位到高位的順序發(fā)送數(shù)據(jù)〔一次只發(fā)送一位延時(shí)時(shí)間為45us將數(shù)據(jù)線拉到高電平1重復(fù)1-5步驟,直到發(fā)送完整個(gè)字節(jié)最后將數(shù)據(jù)線拉到1〔3DS18B20的讀數(shù)據(jù)將數(shù)據(jù)線拉高到1延時(shí)2us將數(shù)據(jù)線拉低到0延時(shí)6us將數(shù)據(jù)線拉高到1延時(shí)4us讀數(shù)據(jù)線的狀態(tài)得到一個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理重復(fù)1-7步驟,直到讀取完一個(gè)字節(jié)3.3LCD1602的介紹LCD1602液晶顯示器也叫1602字符型液晶顯示器。它是一種專門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成。每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。LCD1602是指顯示的容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊。管腳功能LCD1602引腳圖LCD1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:VSS為電源地第2腳:VCC接5V電源正極第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器第5腳:RW為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。第6腳:E<或EN>端為使能<enable>端。第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。操作控制1602液晶模塊部的字符發(fā)生存儲(chǔ)器〔CGROM>已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形。這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)、和日文假名等。每一個(gè)字符都有一個(gè)固定的代碼,比如大寫(xiě)的英文字母"A"的代碼是01000001B〔41H,顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母"A"。因?yàn)?602識(shí)別的是ASCII碼,試驗(yàn)可以用ASCII碼直接賦值,在單片機(jī)編程中還可以用字符型常量或變量賦值,如'A’。指令集1602通過(guò)D0~D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。顯示模式設(shè)置:<初始化>00111000[0x38]設(shè)置16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口;顯示開(kāi)關(guān)及光標(biāo)設(shè)置:<初始化>00001DCBD顯示<1有效>、C光標(biāo)顯示<1有效>、B光標(biāo)閃爍<1有效>000001NSN=1<讀或?qū)懸粋€(gè)字符后地址指針加1&光標(biāo)加1>,N=0<讀或?qū)懸粋€(gè)字符后地址指針減1&光標(biāo)減1>,S=1且N=1<當(dāng)寫(xiě)一個(gè)字符后,整屏顯示左移>s=0當(dāng)寫(xiě)一個(gè)字符后,整屏顯示不移動(dòng)數(shù)據(jù)指針設(shè)置:數(shù)據(jù)首地址為80H,所以數(shù)據(jù)地址為80H+地址碼<0-27H,40-67H>其他設(shè)置:01H<顯示清屏,數(shù)據(jù)指針=0,所有顯示=0>;02H<顯示回車,數(shù)據(jù)指針=0>。3.4硬件設(shè)計(jì)硬件設(shè)計(jì)目標(biāo)系統(tǒng)通過(guò)溫度傳感器DS18B20的數(shù)據(jù)線DQ與主控芯片51單片機(jī)的P3.3相連接,DS18B20將采集到的數(shù)據(jù)送給單片機(jī),經(jīng)過(guò)單片機(jī)處理后,顯示在8位數(shù)據(jù)線與單片機(jī)P0口的液晶顯示器LCD上。串口經(jīng)過(guò)MAX232的電平轉(zhuǎn)換后R1OUT和T1IN接到單片機(jī)的RXD與TXD來(lái)實(shí)現(xiàn)與用C語(yǔ)言編輯的計(jì)算機(jī)軟件的界面間的通信。液晶LCD的RS、RWˉ、E分別接到單片機(jī)的P2.0~P2.2來(lái)實(shí)現(xiàn)單片機(jī)控制液晶的讀寫(xiě)命令和數(shù)據(jù)的顯示控制。硬件功能模塊劃分〔1STC89C52RC單片機(jī):實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的控制。〔2DS18B20、LCD1602:溫度傳感器DS18B20的數(shù)據(jù)線DQ與主控芯片51單片機(jī)的P3.3相連接,DS18B20將采集到的數(shù)據(jù)送給單片機(jī),經(jīng)過(guò)單片機(jī)處理后,顯示在8位數(shù)據(jù)線與單片機(jī)P0口的液晶LCD上。接口和連接方式〔1液晶LCD1602的數(shù)據(jù)和指令選擇控制端RS接到單片機(jī)的P2.0,讀寫(xiě)控制接到單片節(jié)的P2.1,數(shù)據(jù)讀寫(xiě)控制位E接到單片機(jī)的P2.2,8位數(shù)據(jù)線DB0~DB7接到單片機(jī)的P0口?!?4個(gè)按鍵K1~K4分別接到單片機(jī)的P1.0~P1.3?!?DS18B20的DQ接到單片機(jī)的P3.3.硬件仿真電路第四章軟件設(shè)計(jì)4.11602液晶顯示處理部分在本次設(shè)計(jì)系統(tǒng)中定義了P2^2口為1602液晶的使能端;P2^0為數(shù)據(jù)命令的選擇端;P2^1為讀,寫(xiě)選擇端。定義了有關(guān)的函數(shù);write_〔向1602寫(xiě)入命令碼函數(shù),write_date〔向1602寫(xiě)入數(shù)據(jù)函數(shù);display〔1602顯示函數(shù);lcd_init〔1602初始化;lcd_display〔1602顯示初始化。具體程序如下所示;voidlcd_init<>//1602初始化{write_<0x38>;//兩行顯示,5*7點(diǎn)陣delayms<5>;//延時(shí)5毫秒write_<0x01>;//顯示清屏delayms<5>;write_<0x0c>;//開(kāi)顯示,不顯示光標(biāo),光標(biāo)不閃爍delayms<5>;write_<0x06>;//當(dāng)讀或?qū)懸粋€(gè)字符后地址指針加一,且光標(biāo)加一delayms<5>;}voidlcd_display<>//1602顯示初始化{lcd_init<>;//1602初始化write_<0x80>;//第一行第一個(gè)字符開(kāi)始顯示display<str1>;//第一行顯示temperaturewrite_<0xc0>;//第二行第一個(gè)字符開(kāi)始顯示display<str2>;//顯示空白}4.218B20函數(shù)處理部分在本次設(shè)計(jì)系統(tǒng)中P3^3口用來(lái)單片機(jī)與溫度傳感器通訊;它用到的相關(guān)函數(shù)如下;ds_init<>18B20初始化;ds_write<>向18B20中寫(xiě)入數(shù)據(jù);ds_read<>由18B20讀取數(shù)據(jù);ds_temp<>從18B20中讀取溫度值;ds_dis<>把溫度值送入1602中顯示。具體程序如下所示;voidds_init<>//18B20初始化{dq=1;delayus<4>;//CPU將總線拉高dq=0;delayus<480>;//CPU將總線拉低延時(shí)480微妙dq=1;delayus<60>;//CPU將總線拉高延時(shí)60微妙if<dq==0>delayus<240>;//CPU判斷是否為低電平,是的話說(shuō)明溫度傳感器在線上}voidds_write<uchardate1>//向18B20中寫(xiě)入數(shù)據(jù)注意寫(xiě)入是按從低位到高位的順序發(fā)送數(shù)據(jù)一次只發(fā)送一位。uchards_read<>//由18B20讀取數(shù)據(jù),讀的時(shí)候也是從最低位讀uintds_temp<>//從18B20中讀取溫度值{uchara,b;ds_init<>;//初始化溫度傳感器ds_write<0xcc>;//忽略ROM指令ds_write<0x44>;//開(kāi)始溫度轉(zhuǎn)換ds_init<>;//初始化溫度傳感器ds_write<0xcc>;//忽略ROM指令ds_write<0xbe>;//讀取溫度值a=ds_read<>;//讀取低八位b=ds_read<>;//讀取高八位tvalue=b;//tvalue<<=8;//tvalue=tvalue|a;//得到16位的溫度值if<tvalue<0x0fff>//判斷溫度大于0tflag=0;else{tvalue=~tvalue+1;//如果溫度小于0,取反加一tflag=1;//}tvalue=tvalue*<0.625>;//乘以最小分辨率得到溫度值return<tvalue>;//}voidds_dis<>//把溫度值送入1602中顯示{ucharflagdat;disdata[0]=tvalue/1000+0x30;//溫度百位disdata[1]=tvalue%1000/100+0x30;//溫度十位disdata[2]=tvalue%100/10+0x30;//溫度個(gè)位disdata[3]=tvalue%10+0x30;//小數(shù)點(diǎn)后一位if<tflag==0>flagdat=0x20;//如果溫度大于0,不顯示if<tflag==1>flagdat=0x2d;//如果溫度小于0顯示負(fù)號(hào)if<disdata[0]==0x30>{disdata[0]=0x20;//百位為0不顯示if<disdata[1]==0x30>{disdata[1]=0x20;//十位為0不顯示}}write_<0xc0>;write_date<flagdat>;//第二行第一個(gè)顯示溫度正負(fù)write_<0xc1>;write_date<disdata[0]>;//第二行第二個(gè)顯示溫度百位write_<0xc2>;write_date<disdata[1]>;//第二行第三個(gè)顯示溫度十位write_<0xc3>;write_date<disdata[2]>;//第二行第四個(gè)顯示溫度個(gè)位write_<0xc4>;//write_date<0x2e>;//第二行第五個(gè)顯示小數(shù)點(diǎn)write_<0xc5>;//write_date<disdata[3]>;//第二行第六個(gè)顯示小數(shù)點(diǎn)后一位}voidmain<>//主程序{lcd_display<>;//1602顯示初始化while<1>{ds_temp<>;//從18B20中讀取溫度ds_dis<>;//1602顯示溫度}}第五章心得體會(huì)作為一名自動(dòng)化專業(yè)的大三學(xué)生,我覺(jué)得做單片機(jī)課程設(shè)計(jì)是十分有意義而且是十分必要的。在已度過(guò)的大學(xué)時(shí)間里,我們接觸的大多數(shù)是專業(yè)課。我們?cè)谡n堂上掌握的僅僅是專業(yè)課的理論知識(shí),如何去鍛煉我們的實(shí)踐能力?如何把我們所學(xué)的專業(yè)課理論知識(shí)運(yùn)用到實(shí)踐中去呢?我想此次做的課程設(shè)計(jì)就為我們提供了良好的實(shí)踐平臺(tái)。課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要方法,是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說(shuō)是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握單片機(jī)的開(kāi)發(fā)技術(shù)是十分重要的。這次單片機(jī)課程設(shè)計(jì)我們歷時(shí)一個(gè)星期,從理論到實(shí)踐,不僅學(xué)到了很多新的東西同時(shí)也鞏固了以前所學(xué)過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,僅掌握理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在這次課程設(shè)計(jì)后我發(fā)現(xiàn)自己在一點(diǎn)一滴的努力中對(duì)單片機(jī)的興趣也在逐漸增加。這次的課程設(shè)計(jì)還讓我學(xué)會(huì)了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。更重要的是,我們?cè)谶@一次課程設(shè)計(jì)過(guò)程中,學(xué)會(huì)了堅(jiān)持不懈,不輕言放棄?;仡櫰鸫舜螁纹瑱C(jī)課程設(shè)計(jì),我們感慨頗多,最重要的是感觸是:遇到一個(gè)問(wèn)題時(shí),最重要的一件事就是馬上思考檢查問(wèn)題出在哪邊,而不是抱怨或者馬上請(qǐng)教同學(xué)老師。只有這樣我們才能真正的學(xué)會(huì)單片機(jī),自己的獨(dú)立處理問(wèn)題的能力才會(huì)得到提高。還有無(wú)論編程中遇到什么問(wèn)題,都不要怨天尤人。無(wú)論自己的程序有多好,都不能驕傲。只有這樣做到不驕不躁,力量才會(huì)源源不斷,才會(huì)有更多的靈感。所以非常感老師給我們這次學(xué)習(xí)的機(jī)會(huì),使得我們小組每個(gè)人都在本次課程設(shè)計(jì)中都有了極大的提高。參考文獻(xiàn)[1]郭天祥.新概念51單片機(jī)C語(yǔ)音教程——入門(mén)提高開(kāi)發(fā)拓展攻略[M].北京電子工業(yè)2009.[2]廣興.電子元器件與實(shí)用電路基礎(chǔ)[M].電子工業(yè)2005.[3]方大千朱麗.電子控制系統(tǒng)裝置制作入門(mén)[M].國(guó)防2006.[4]向舉,麗娜.基于單片機(jī)的智能溫度測(cè)控系統(tǒng)的設(shè)計(jì)[J].大學(xué)學(xué)報(bào)<自然科學(xué)版>.2012<03>[5]黃文力,鄧小磊.DS18B20數(shù)字溫度傳感器接口程序的時(shí)序[J].儀器儀表用戶.2011<06>[6]黃曉林.一種實(shí)用型智能恒溫控制系統(tǒng)設(shè)計(jì)[J].自動(dòng)化技術(shù)與應(yīng)用.2011<11>[7]王文,王直.基于ARM和DS18B20的溫度監(jiān)測(cè)系統(tǒng)[J].電子設(shè)計(jì)工程.2011<20>[8]錫華,賈磊磊.溫度傳感器DS18B20序列號(hào)批量搜索算法[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用.2011<09>附錄#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitlcden=P2^2;//1602使能sbitlcdrd=P2^0;//數(shù)據(jù)、命令選擇端sbitlcdrw=P2^1;//讀,寫(xiě)選擇端sbitdq=P3^3;//18B20數(shù)據(jù)線ucharcodestr1[]="temperature:";ucharcodestr2[]="";uchardatadisdata[5];uinttvalue;uchartflag;voiddelayms<uintms>//延時(shí)毫秒{uinti,j;for<i=ms;i>0;i-->for<j=100;j>0;j-->;}voidwrite_<uchar>//向1602中寫(xiě)入命令碼{lcden=0;lcdrd=0;lcdrw=0;P0=;delayms<1>;lcden=1;delayms<1>;lcden=0;}voidwrite_date<uchardate>//向1602中寫(xiě)入數(shù)據(jù){lcden=0;lcdrd=1;lcdrw=0;P0=date;delayms<1>;lcden=1;delayms<1>;lcden=0;}voiddisplay<uchar*p>//1602顯示{while<*p!='\0'>{write_date<*p>;p++;delayms<1>;}}voidlcd_init<>//1602初始化{write_<0x38>;delayms<5>;write_<0x01>;delayms<5>;write_<0x0c>;delayms<5>;write_<0x06>;delayms<5>;}voidlcd_display<>//1602顯示初始化{lcd_init<>;write_<0x80>;display<str1>;write_<0xc0>;display<str2>;}voiddelayus<uinti>//延時(shí)微妙{while<i-->;}voidds_init<>//18B20初始化{dq=1;delayus<4>;dq=0;delayus<480>;dq=1;delayus<60>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45230-2025數(shù)據(jù)安全技術(shù)機(jī)密計(jì)算通用框架
- 借用林地協(xié)議合同范本
- 包裝紙盒合同范本
- 北京車輛過(guò)戶合同范本
- 軍事拓展協(xié)議合同范本
- 企業(yè)價(jià)值咨詢合同范本
- 動(dòng)產(chǎn)個(gè)人抵押合同范本
- 人工勞務(wù)外包合同范本
- 企業(yè)綠化合同范本
- 農(nóng)業(yè)機(jī)械改裝項(xiàng)目合同范例
- 4.7 數(shù)學(xué)建?;顒?dòng):生長(zhǎng)規(guī)律的描述教學(xué)設(shè)計(jì)
- 手術(shù)風(fēng)險(xiǎn)及醫(yī)療意外險(xiǎn)告知流程
- 余杭區(qū)住宅房屋裝修備案申請(qǐng)表
- 住宅建筑工程施工重點(diǎn)與難點(diǎn)應(yīng)對(duì)措施方案
- 中醫(yī)婦科病證診斷療效標(biāo)準(zhǔn)
- 綜合實(shí)踐活動(dòng)六年級(jí)下冊(cè) 飲料與健康課件 (共16張PPT)
- 數(shù)量金融的概況和歷史課件
- 護(hù)士職業(yè)素養(yǎng)課件
- 專業(yè)醫(yī)院lovo常用文件產(chǎn)品介紹customer presentation
- 叉車日常使用狀況點(diǎn)檢記錄表(日常檢查記錄)
- ME基礎(chǔ)知識(shí)培訓(xùn)PPT學(xué)習(xí)教案
評(píng)論
0/150
提交評(píng)論