單片機課程考核報告_第1頁
單片機課程考核報告_第2頁
單片機課程考核報告_第3頁
單片機課程考核報告_第4頁
單片機課程考核報告_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、成績課程實踐考核報告題 目 基于單片機和DS18B20多點溫度檢測控制裝置課 程 名 稱 單片機應(yīng)用系統(tǒng)設(shè)計 院 部 名 稱 機電學(xué)院 專 業(yè) 電氣工程及其自動化 班 級 電氣工程及其自動化(1)學(xué) 生 姓 名 顧奇 學(xué) 號 1304102004 課程考核地點 工科樓 C304 任 課 教 師 李國利 金陵科技學(xué)院教務(wù)處制目錄緒論3一、設(shè)計任務(wù)及要求41.1設(shè)計任務(wù)41.2 考察內(nèi)容4二、設(shè)計思路42.1設(shè)計思路圖42.2設(shè)計框圖5多點測溫控制裝置52.3設(shè)計思路5三、系統(tǒng)硬件部分設(shè)計63.1硬件介紹6AT89C516DS18B208LCD1602133.2、系統(tǒng)電路設(shè)計15AT89C51單片

2、機15DS18B20 LCD1602顯示電路16獨立鍵盤設(shè)計 小燈和直流電機控制模塊163.3總電路圖17四、系統(tǒng)軟件設(shè)計部分184.1程序流程圖184.2程序開發(fā)過程19頭文件部分內(nèi)容(詳見附錄)19主函數(shù)主要內(nèi)容(詳見附錄)20五、系統(tǒng)仿真過程及結(jié)果22六、系統(tǒng)實物制作與調(diào)試256.1系統(tǒng)實物器件清單256.2 實物制作過程256.3實物調(diào)試圖片26七、心得體會27八、參考文獻28九、附錄文件28緒論在人類的生活環(huán)境中,溫度扮演著極其重要的角色。無論你生活在哪里,從事什么工作,無時無刻不在與溫度打著交道。自18世紀(jì)工業(yè)革命以來,工業(yè)發(fā)展對是否能掌握溫度有著絕對的聯(lián)系。在冶金、鋼鐵、石化、水

3、泥、玻璃、醫(yī)藥等等行業(yè),可以說幾乎80%的工業(yè)部門都不得不考慮著溫度的因素。 溫度對于工業(yè)如此重要,由此推進了溫度傳感器的發(fā)展。傳感器主要大體經(jīng)過了三個發(fā)展階段:模擬集成溫度傳感器。該傳感器是采用硅半導(dǎo)體集成工藝制成,因此亦稱硅傳感器或單片集成溫度傳感器。此種傳感器具有功能單一(僅測量溫度)、測溫誤差小、價格低、響應(yīng)速度快、傳輸距離遠(yuǎn)、體積小、微功耗等,適合遠(yuǎn)距離測溫、控溫,不需要進行非線性校準(zhǔn),外圍電路簡單。它是目前在國內(nèi)外應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有AD590、AD592、TMP17、LM135等;模擬集成溫度控制器。模擬集成溫度控制器主要包括溫控開關(guān)、可編程溫度控制器,典型產(chǎn)

4、品有LM56、AD22105和MAX6509。某些增強型集成溫度控制器(例如TC652/653)中還包含了A/D轉(zhuǎn)換器以及固化好的程序,這與智能溫度傳感器有某些相似之處。但它自成系統(tǒng),工作時并不受微處理器的控制,這是二者的主要區(qū)別;智能溫度傳感器。能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀(jì)90年代中期問世的。它是微電子技術(shù)、計算機技術(shù)和自動測試技術(shù)(ATE)的結(jié)晶。智能溫度傳感器內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)換器、信號處理器、存儲器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(CPU)、隨機存取存儲器(RAM)和只讀存儲器(ROM)。智能溫度傳感器的特點是能輸出溫度數(shù)據(jù)及相關(guān)

5、的溫度控制量,適配各種微控制器(MCU);并且它是在硬件的基礎(chǔ)上通過軟件來實現(xiàn)測試功能的,其智能化程度也取決于軟件的開發(fā)水平。 溫度傳感器的發(fā)展趨勢。 進入21世紀(jì)后,溫度傳感器正朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。 在傳統(tǒng)的溫度測量系統(tǒng)設(shè)計中,往往采用模擬技術(shù)進行設(shè)計,這樣就不可避免地遇到諸如引線誤差補償、多點測量中的切換誤差和信號調(diào)理電路的誤差等問題;而其中某一環(huán)節(jié)處理不當(dāng),就可能造成整個系統(tǒng)性能的下降。隨著現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展,特別是大規(guī)模集成電路設(shè)計技術(shù)的發(fā)展,微型化、集成化、數(shù)字化正成為傳感器發(fā)展的一

6、個重要方向。美國Dallas半導(dǎo)體公司推出的數(shù)字溫度傳感器DS18B20,具有獨特的單總線接口,僅需要占用一個通用I/0端口即可完成與微處理器的通信;在-10+85 溫度范圍內(nèi)具有05 精度;用戶可編程設(shè)定912位的分辨率。以上特性使得DS18B20非常適用于構(gòu)建高精度、多點溫度測量系統(tǒng)。 本次設(shè)計就是基于單片機和DS18B20的多點溫度檢測報警裝置。一、設(shè)計任務(wù)及要求1.1設(shè)計任務(wù)利用DS18B20和AT89C51設(shè)計一個溫度測量系統(tǒng),系統(tǒng)功能:實現(xiàn)三點溫度檢測,用LCD顯示溫度;溫度測量范圍:-55125,精度0.1。設(shè)定溫度上下限,當(dāng)溫度高于上限值或低于下限值時,系統(tǒng)能自動驅(qū)動降溫與升溫

7、設(shè)備工作。要求一種合理、可行的溫度檢測報警系統(tǒng)。1.2 考察內(nèi)容專業(yè)知識應(yīng)用能力:包括電路分析、電子技術(shù)、單片機、檢測技術(shù)、電氣控制等課程。運用知識的能力:包括對DS18B20芯片、液晶LCD1602、按鍵,以及對Keil4軟件、PROTEUS軟件的學(xué)習(xí),流程圖繪制。要求完成的工作量包括:1)現(xiàn)場仿真演示效果;2)結(jié)合課題進行答辯;3)上交課題要求的各類設(shè)計技術(shù)文檔。二、設(shè)計思路2.1設(shè)計思路圖2.2設(shè)計框圖多點測溫控制裝置2.3設(shè)計思路通過多個DS18B20進行溫度采集,采集信號傳給單片機,單片機區(qū)分信號,將各個傳感器的溫度在LCD1602上顯示。由獨立鍵盤設(shè)置溫度高溫、低溫的數(shù)值,當(dāng)溫度低

8、于設(shè)置的低溫數(shù)值,單片機驅(qū)動發(fā)光二極管,代替電阻絲加熱的過程;當(dāng)溫度高于設(shè)置的高溫數(shù)值,單片機驅(qū)動直流電機轉(zhuǎn)動,代表電風(fēng)扇工作降溫的過程。三、系統(tǒng)硬件部分設(shè)計3.1硬件介紹AT89C51AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸

9、出管腳相兼容。由于將多功能8位CPU和閃速存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖所示。VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。P1口:P1口是一個內(nèi)部提供

10、上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八

11、位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(計時器0外部輸入)P3.5 T1(計時器1

12、外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA

13、將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。DS18B20DS18B20是美國DSLLAS半導(dǎo)體公司推出的第一篇支持“一線總線”接口的溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強、易配微處理器等優(yōu)點,可直接將溫度轉(zhuǎn)化成串型數(shù)字信號供處理器處理。 1.DS18B20溫度傳感器特性 1) 適應(yīng)電壓范圍寬,電壓范圍在3.05.5V,在寄生電源方式下可有數(shù)據(jù)線供電。 2) 獨特的單線接口方式,它與微處理器連接時僅需

14、要一條口線即可實現(xiàn)微處理器與 DS18B20的雙向通信。 3) 支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。 4) 在使用中不需要任何外圍元件,全部傳感器元件及轉(zhuǎn)換電路集成在形如一只三極管 的集成電路內(nèi)。 5) 測溫范圍-55+125,在-10+85時精度為0.5。 6) 可編程分辨率為912位,對應(yīng)的可分辨率溫度分別為0.5,0.25,0.125和 0.0625,可實現(xiàn)高精度測溫。 7) 在9位分辨率時,最多在93.78ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字;12位分辨率時,最多在750ms 內(nèi)把溫度轉(zhuǎn)換為數(shù)字,顯示速度快。 8) 測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線

15、”串行送給CPU,同時可傳送CRC 校驗碼,具有極強的抗干擾糾錯能力。 9) 負(fù)壓特性。電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。2.應(yīng)用范圍1) 冷凍庫、糧倉、儲罐、電信機房、電力機房、電纜線槽等測溫和控制領(lǐng)域。 2) 軸瓦、缸體、紡織、空調(diào)等狹小空間工業(yè)設(shè)備測溫和控制。 3) 汽車空調(diào)、冰箱、冷柜以及中低緯度干燥箱等。 4) 供熱、制冷管道熱量計量、中央空調(diào)分戶熱能計量等。DS18B20實物圖接線方法面對著扁平的那一面,左負(fù)右正,一旦接反就會立刻發(fā)熱,有可能燒毀!同時,接反也是導(dǎo)致該傳感器總是顯示85的原因。特點獨特的一線接口,只需要一條口線通信 多點能力,簡化了分布式溫度傳感

16、應(yīng)用 無需外部元件 可用數(shù)據(jù)總線供電,電壓范圍為3.0 V至5.5 V 無需備用電源 測量溫度范圍為-55 C至+125 。華氏相當(dāng)于是-67 F到257華氏度 -10 C至+85 C范圍內(nèi)精度為0.5 C溫度傳感器可編程的分辨率為912位,溫度轉(zhuǎn)換為12位數(shù)字格式最大值為750毫秒,用戶可定義的非易失性溫度報警設(shè)置,應(yīng)用范圍包括恒溫控制、工業(yè)系統(tǒng)、電子產(chǎn)品溫度計、或任何熱敏感系統(tǒng)描述該DS18B20的數(shù)字溫度計提供9至12位(可編程設(shè)備溫度讀數(shù))。由于DS18B20是一條口線通信,所以中央微處理器與DS18B20只有一個一條口線連接。為讀寫以及溫度轉(zhuǎn)換可以從數(shù)據(jù)線本身獲得能量,不需要外接電源

17、。 因為每一個DS18B20的包含一個獨特的序號,多個ds18b20s可以同時存在于一條總線。這使得溫度傳感器放置在許多不同的地方。它的用途很多,包括空調(diào)環(huán)境控制,感測建筑物內(nèi)溫設(shè)備或機器,并進行過程監(jiān)測和控制。DS18B20采用一線通信接口。因為一線通信接口,必須在先完成ROM設(shè)定,否則記憶和控制功能將無法使用。主要首先提供以下功能命令之一: 1 )讀ROM, 2 )ROM匹配, 3 )搜索ROM, 4 )跳過ROM, 5 )報警檢查。這些指令操作作用在沒有一個器件的64位光刻ROM序列號,可以在掛在一線上多個器件選定某一個器件,同時,總線也可以知道總線上掛有有多少,什么樣的設(shè)備。若指令成功

18、地使DS18B20完成溫度測量,數(shù)據(jù)存儲在DS18B20的存儲器。一個控制功能指揮指示DS18B20的演出測溫。測量結(jié)果將被放置在DS18B20內(nèi)存中,并可以讓閱讀發(fā)出記憶功能的指揮,閱讀內(nèi)容的片上存儲器。溫度報警觸發(fā)器TH和TL都有一字節(jié)EEPROM 的數(shù)據(jù)。如果DS18B20不使用報警檢查指令,這些寄存器可作為一般的用戶記憶用途。在片上還載有配置字節(jié)以理想的解決溫度數(shù)字轉(zhuǎn)換。寫TH,TL指令以及配置字節(jié)利用一個記憶功能的指令完成。通過緩存器讀寄存器。所有數(shù)據(jù)的讀,寫都是從最低位開始。DS18B20有六條控制命令溫度轉(zhuǎn)換 44H 啟動DS18B20進行溫度轉(zhuǎn)換讀暫存器 BEH 讀暫存器9字節(jié)

19、二進制數(shù)字寫暫存器 4EH 將數(shù)據(jù)寫入暫存器的TH、TL字節(jié)復(fù)制暫存器 48H 把暫存器的TH、TL字節(jié)寫到E2PROM中重新調(diào)E2PROM B8H 把E2PROM中的TH、TL字節(jié)寫到暫存器TH、TL字節(jié)讀電源供電方式 B4H 啟動DS18B20發(fā)送電源供電方式的信號給主CPU初始化(1) 先將數(shù)據(jù)線置高電平“1”。(2) 延時(該時間要求的不是很嚴(yán)格,但是盡可能的短一點)(3) 數(shù)據(jù)線拉到低電平“0”。(4) 延時750微秒(該時間的時間范圍可以從480到960微秒)。(5) 數(shù)據(jù)線拉到高電平“1”。(6) 延時等待(如果初始化成功則在15到60微秒時間之內(nèi)產(chǎn)生一個由DS18B20所返回的

20、低電平“0”。據(jù)該狀態(tài)可以來確定它的存在,但是應(yīng)注意不能無限的進行等待,不然會使程序進入死循環(huán),所以要進行超時控制)。(7) 若CPU讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時,其延時的時間從發(fā)出的高電平算起(第(5)步的時間算起)最少要480微秒。(8) 將數(shù)據(jù)線再次拉高到高電平“1”后結(jié)束。寫操作(1) 數(shù)據(jù)線先置低電平“0”。(2) 延時確定的時間為15微秒。(3) 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。(4) 延時時間為45微秒。(5) 將數(shù)據(jù)線拉到高電平。(6) 重復(fù)上(1)到(6)的操作直到所有的字節(jié)全部發(fā)送完為止。(7) 最后將數(shù)據(jù)線拉高。讀操作(1)將數(shù)據(jù)線拉高“1”

21、。(2)延時2微秒。(3)將數(shù)據(jù)線拉低“0”。(4)延時3微秒。(5)將數(shù)據(jù)線拉高“1”。(6)延時5微秒。(7)讀數(shù)據(jù)線的狀態(tài)得到1個狀態(tài)位,并進行數(shù)據(jù)處理。(8)延時60微秒。 DS18B20寄生電源供電方式 如下面圖3.7(a)所示,在寄生電源供電方式下,DS18B20從單線信號線上汲取能量:在信號線DQ處于高電平期間把能量儲存在內(nèi)部電容里,在信號線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。 獨特的寄生電源方式有三個好處: 1) 進行遠(yuǎn)距離測溫時,無需本地電源 2) 可以在沒有常規(guī)電源的條件下讀取ROM 3) 電路更加簡潔,僅用一根I/O口實現(xiàn)測溫 要想

22、使DS18B20進行精確的溫度轉(zhuǎn)換,I/O線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由于每個DS18B20在溫度轉(zhuǎn)換期間工作電流達到1mA,當(dāng)幾個溫度傳感器掛在同一根I/O線上進行多點測溫時,只靠4.7K上拉電阻就無法提供足夠的能量,會造成無法轉(zhuǎn)換溫度或溫度誤差極大。 因此,該電路只適應(yīng)于單一溫度傳感器測溫情況下使用,不適宜采用電池供電系統(tǒng)中。并且工作電源VCC必須保證在5V,當(dāng)電源電壓下降時,寄生電源能夠汲取的能量也降低,會使溫度誤差變大。 DS18B20寄生電源強上拉供電方式改進的寄生電源供電方式如下面圖3.7(b)所示,為了使DS18B20在動態(tài)轉(zhuǎn)換周期中獲得足夠的電流供應(yīng),當(dāng)進行溫度轉(zhuǎn)換

23、或拷貝到E2存儲器操作時,用MOSFET把I/O線直接拉到VCC就可提供足夠的電流,在發(fā)出任何涉及到拷貝到E2存儲器或啟動溫度轉(zhuǎn)換的指令后,必須在最多10S內(nèi)把I/O線轉(zhuǎn)換到強上拉狀態(tài)。在強上拉方式下可以解決電流供應(yīng)不足的問題,因此也適合于多點測溫應(yīng)用,缺點就是要多占用一根I/O口線進行強上拉切換。 DS18B20的外部電源供電方式如下面圖3.7(c)所示,在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,其VDD端用35.5V電源供電,此時I/O線不需要強上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,同時在總線上理論可以掛接任意多個DS18B20傳感器,組成多點測溫系統(tǒng)。注意

24、:在外部供電的方式下,DS18B20的GND引腳不能懸空,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85。DS18B20工作原理DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s 減為750ms。高溫度系數(shù)晶振 隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預(yù)置在55所對應(yīng)的一個基數(shù)值。計數(shù)器1對 低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重 新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到計數(shù)器

25、2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即 為所測溫度。圖3中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預(yù)置值。DS18B20內(nèi)部結(jié)構(gòu)圖LCD1602工業(yè)字符型液晶,能夠同時顯示16x02即32個字符。(16列2行)注:為了表示的方便 ,后文皆以1表示高電平,0表示低電平。1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖

26、形(用自定義CGRAM,顯示效果也不好)。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。市面上字符液晶大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:GND為電源地第2腳:VCC接5V電源正極第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度)。第4腳:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選

27、擇指令寄存器。第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,第6腳:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負(fù)跳變時執(zhí)行指令。第714腳:D0D7為8位雙向數(shù)據(jù)端。第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。3.2、系統(tǒng)電路設(shè)計AT89C51單片機 這部分為單片機復(fù)位電路和時鐘電路。單片機復(fù)位后,程序計數(shù)器PC=0000H,即指向程序存儲器0000H單元,使CPU從首地址重新開始執(zhí)行程序。產(chǎn)生單片機復(fù)位的條件是:在RST引腳端出現(xiàn)滿足復(fù)位時間要求的高電平狀態(tài),該時間等于系統(tǒng)時鐘震蕩周期建立時間再加2個機器周期時間(一般不小于10ms)。 時鐘電路

28、通過單片機的XTAL1和XTAL2引腳外接定時元件12M的晶振,電容C1和C2一般去30pF左右,主要作用是幫助振蕩器起震。晶體振蕩頻率高,則系統(tǒng)的時鐘頻率也越高,單片機運行速速也就越快。DS18B20 LCD1602顯示電路 三個DS18B20采用單總線接線的方式獨立鍵盤設(shè)計 小燈和直流電機控制模塊 獨立鍵盤由鍵盤設(shè)置高溫和低溫的數(shù)值。直流電機由三極管驅(qū)動繼電器組合控制,小燈用發(fā)光二極管直接接單片機。3.3總電路圖因為單片機判斷不同溫度傳感器的溫度,并驅(qū)動動直流電機和發(fā)光二極管的方式和程序均相同,故只用一組直流電動機和發(fā)光二極管進行仿真,其余為節(jié)省器材,仿真時省略。四、系統(tǒng)軟件設(shè)計部分4.1

29、程序流程圖4.2程序開發(fā)過程頭文件部分內(nèi)容(詳見附錄)本次試驗使用了LCD1602和DS1820兩個特殊頭文件,主要包括了LCD的初始化函數(shù)、讀寫顯示函數(shù)等和DS1820的溫度讀取返回函數(shù)。主函數(shù)主要內(nèi)容(詳見附錄)1、載入頭文件并定義引腳功能2、鍵盤掃描函數(shù)3、直流電機和發(fā)光二極管控制函數(shù)LD為發(fā)光二極管控制引腳的電平,DJ為直流電機控制引腳的電平,值為1時亮燈、電機轉(zhuǎn)動,值為0時燈熄滅,直流電機不轉(zhuǎn)動。4、溫度數(shù)據(jù)處理函數(shù)temp1為需要顯示的第一個溫度傳感器的溫度temp為第一個傳感器中讀取的溫度的數(shù)據(jù)先判斷數(shù)據(jù)的正負(fù),如果為負(fù),顯示符號為“-”,并取反加一,否則符號為“+”。再對數(shù)據(jù)的

30、整數(shù)位,和小數(shù)位進行轉(zhuǎn)換。五、系統(tǒng)仿真過程及結(jié)果溫度檢測并顯示,此時顯示三點溫度;下限22,上限28。判斷第一處溫度在上下限中間,電機不轉(zhuǎn)燈不亮。判斷第一個溫度傳感器的溫度小于下限,電機不轉(zhuǎn)燈亮。判斷第一個溫度傳感器的溫度在大于上限,電機轉(zhuǎn)動燈不亮。按住調(diào)節(jié)按鈕,調(diào)節(jié)高、低溫數(shù)值分別為19和32之后的結(jié)果。六、系統(tǒng)實物制作與調(diào)試6.1系統(tǒng)實物器件清單元件名稱 元件型號參數(shù) 數(shù)量單片機 AT89C51 1個溫度傳感器 DS18B20 3個液晶顯示屏 LCD1602 1個按鍵 6個電阻 10K 9個 100 1個滑動變阻器 10K 1個電阻排 8端口 1個電容 1nF 2個 1uF 1個晶振 11

31、.0592MHz 1個三極管 2N3906 1個繼電器 5V 1個直流電機 3V 1個發(fā)光二極管 紅色 1個6.2 實物制作過程本次制作的是多點測溫裝置,一開始的時候是設(shè)計成三個傳感器接三個端口的,但后來了解到DS18B20支持單總線的傳輸方式,就采取了現(xiàn)在的模式,我們小組利用手上的開發(fā)板和溫度傳感器來進行制作。單點測溫和多點測溫是有很大區(qū)別的,只有一個傳感器的時候,可以跳過序列碼,但多個的時候,就要讀取DS18B20的序列碼并加以區(qū)分,一開始對這個序列碼的功用不是很了解,查了許多資料,知道這個序列碼有冗余碼的算法,這給我們程序編程帶來很大問題,為了解決這個問題,我們最后采用了一種方式,就是先

32、利用DS18B20讀取命令,編了序列碼讀取程序,把每個DS18B20的64位序列碼給讀出來,然后直接編在我們后來的程序里,這樣程序就可以直接讀已知序列碼的對應(yīng)傳感器的溫度。再后來的外圍電路制作過程中,我們發(fā)現(xiàn)單片機的負(fù)載驅(qū)動還是很小的,稍微大一點負(fù)載還是要用三級管來控制的。最后因為是開發(fā)板的制作,所以整個制作過程并沒有要焊接的地方,這給我們省了很多功夫。6.3實物調(diào)試圖片七、心得體會這次課程設(shè)計讓我受益匪淺,無論從知識上還是其他的各個方面。上課的時候的學(xué)習(xí)從來沒有見過真正的單片機,只是從理論的角度去理解枯燥乏味。但在實習(xí)中見過甚至使用了單片機及其系統(tǒng),能夠理論聯(lián)系實際的學(xué)習(xí),開闊了眼界,提高了

33、單片機知識的理解和水平。在這次課程設(shè)計中又讓我體會到了合作與團結(jié)的力量,當(dāng)遇到不會或是設(shè)計不出來的地方,我們就會在QQ群里討論或者是同學(xué)之間相互幫助。團結(jié)就是力量,無論在現(xiàn)在的學(xué)習(xí)中還是在以后的工作中,團結(jié)都是至關(guān)重要的,有了團結(jié)會有更多的理念、更多的思維、更多的情感。單片機是很重要的一門課程,老師和一些工作的朋友都曾說過,如果學(xué)好一門單片機,就憑這個技術(shù)這門手藝找一個好工作也不成問題。盡管我們在課堂學(xué)到的內(nèi)容很有限,但在以后的學(xué)習(xí)中單片機還需要好好的深入研究和學(xué)習(xí),學(xué)好了單片機也就多了一項生存的本錢。最后感謝老師對我們的精心指導(dǎo)和幫助,感謝同學(xué)們對我的幫助。八、參考文獻1黨峰、王敬農(nóng)、高國旺

34、.基于DS18B20的數(shù)字式溫度計的實現(xiàn)J.山西電子技術(shù),2007(3) 2趙海蘭、趙祥偉智能溫度傳感器DS18B20的原理與應(yīng)用J.現(xiàn)代電子技術(shù),2003,26(14) 3程院蓮.基于單總線器件DS18B20的智能溫度測量J.現(xiàn)代教育裝備,2010(23) 4宋起超 趙洪濤.基于DSl8B20的多點溫度巡回檢測系統(tǒng)研制J.交通科技與經(jīng)濟,2007 5馬云峰.單片機與數(shù)字溫度傳感器DS18B20的接口設(shè)計J.計算機測量與控制,2002(04) 6郭天祥.新概念51單片機C語言教程入門、提高、開發(fā)、拓展全攻略.電子工業(yè)出版社M,2011 7林立、張俊亮、曹旭東.單片機原理及應(yīng)用(基于Proteu

35、s和Keil C)M.北京:電子工業(yè)出版社,2009 九、附錄文件主程序:#include#include#include #include #includeLCD1602.h#includeds1820.h#define uchar unsigned char#define unit unsigned intsbit DJ=P35;sbit LD=P34;sbit TJ=P10;sbit SXZ=P11;sbit SXY=P12;sbit XXZ=P14;sbit XXY=P13;uchar fh0,fh1,fh2;uint temp,temp1,temp2,temp3,temp1x,tem

36、p2x,temp3x,bw1,sw1,bw2,sw2,bw3,sw3;uint GB=28,DB=22;/顯示數(shù)據(jù)組uchar displaytemp116= ; /uchar displaytemp216= ; /uchar get_serial=168,0,0,7,86,244,171,40, 7,0,0,3,17,216,118,40, 66,0,0,3,17,154,163,40,/獲取的八個DS18B20內(nèi)部RAM64位序列號 ;/* 延時函數(shù) *void delays(unsigned int us) while(us-); /* 顯示處理函數(shù) *void DISPLAY()dis

37、playtemp10=fh0;bw1=temp1/100;if(bw1=0) displaytemp11= ; /若百位為0則不顯示else displaytemp11=bw1+0x30; sw1=(temp1%100)/10;if(sw1=0) if(bw1=0)displaytemp12= ;elsedisplaytemp12=0;else displaytemp12=sw1+0x30; displaytemp13=(temp1%100)%10+0x30;displaytemp14=.;displaytemp15=temp1x/10+0x30;displaytemp16=0x27;disp

38、laytemp17=0x43; displaytemp18=fh1;bw2=temp2/100;if(bw2=0) displaytemp19= ; else displaytemp19=bw2+0x30; sw2=(temp2%100)/10;if(sw2=0) if(bw2=0)displaytemp110= ;elsedisplaytemp110=0;elsedisplaytemp110=sw2+0x30; displaytemp111=(temp2%100)%10+0x30;displaytemp112=.;displaytemp113=temp2x/10+0x30;displaytemp114=0x27;displaytemp115=0x43;displaytemp20=fh2;bw3=temp3/100;if(bw3=0) displaytemp21= ; else displaytemp21=bw3+0x30; sw3=(temp3%100)/10;if(sw3=0) if(bw3=0)displayte

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論