多路溫度檢測及報警系統(tǒng)單片機課程設計_第1頁
多路溫度檢測及報警系統(tǒng)單片機課程設計_第2頁
多路溫度檢測及報警系統(tǒng)單片機課程設計_第3頁
多路溫度檢測及報警系統(tǒng)單片機課程設計_第4頁
多路溫度檢測及報警系統(tǒng)單片機課程設計_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、遼東學院信息技術學院微控制器原理與接口技術課程設計報告設計題目: 多路溫度檢測及報警系統(tǒng)專業(yè)班級: 電子信息工程、 b1006姓 名: 田 洪 雨 教師評語:成績 評閱教師 張俊芳 日期 一、摘要本課程設計是基于ds18b20在lcd1602液晶顯示的多路溫度檢測及報警系統(tǒng)。本課題以at89c51單片機系統(tǒng)為核心,能對多點溫度進行實時巡檢。ds18b20是一種可組網的高精度數(shù)字式溫度傳感器,由于其具有單總線的獨特優(yōu)點,可以使用戶輕松的組建起傳感器網絡,并可使多點溫度測量電路變得簡單、可靠。本文結合實際使用經驗,介紹了ds18b20溫度傳感器在單片機下的硬件連接及軟件編程,并給出了軟件流程圖。關

2、鍵詞:ds18b20、lcd1602、高低溫報警 二、課程設計目的通過單片機原理與應用課程設計,使學生掌握單片機及其擴展系統(tǒng)設計的方法和設計原則及相應的硬件調試的方法。進一步加深單片機及其擴展系統(tǒng)設計和應用的理解。三、課程設計題目多路溫度檢測及報警系統(tǒng)四、課程設計內容及要求1、設計內容:1)有上電指示燈;2)能正確手動復位;3)有4位數(shù)碼管顯示,能按照分秒進制顯示時間;4)自定義的擴展功能。2、設計要求:1)獨立設計原理圖及相應的硬件電路。2)針對選擇的設計題目,設計系統(tǒng)軟件。軟件要做到:操作方便,實用性強,穩(wěn)定可靠。3)設計說明書格式規(guī)范,層次合理,重點突出。并附上設計原理圖及相應的源程序。

3、五、系統(tǒng)硬件電路設計系統(tǒng)主要由硬件和軟件兩大部分構成,當接收到系統(tǒng)發(fā)出的溫度轉換命令后, ds18b20開始進行溫度轉換操作并把轉化后的結果放到16 位暫存寄存器中的溫度寄存器內, 然后與系統(tǒng)進行數(shù)據(jù)通信, 系統(tǒng)將溫度讀出并驅動led 數(shù)碼管顯示。如果溫度值低于設定下限值或高于設定上限值, 則自動啟動報警裝置。由于ds18b20 單總線通信功能是分時完成的,它有嚴格的時隙概念,因此讀寫時序很重要。該系統(tǒng)結構圖單 片 機at89s51顯示電路按鍵電路復位電路測溫電路報警電路1、單片機最小系統(tǒng)電路設計at89s51 是低電壓,高性能 cmos 8 位單片機,片內含 8k bytes 的可反復擦寫的

4、flash只讀程序存儲器和256 bytes 的隨機存取數(shù)據(jù)存儲器(ram),器件采用高密度、非易失性存儲技術生產,與標準 mcs-51 指令系統(tǒng)及8052產品引腳兼容,片內置通用8位中央處理器(cpu)和 flash 存儲單元,功能強大 at89s51單片機適合于許多較為復雜控制應用場合。at89s51單片機為40引腳雙列直插芯片,有四個i/o口p0、p1、p2、p3,每一條i/o線都能獨立地作輸出或輸入。at89s51 dip管腳封裝at89s51其結構圖如圖所示(1)一個8位微處理器cpu(2)片內數(shù)據(jù)存儲器ram和特殊功能寄存器sfr(3)片內程序存儲器rom(4)兩個定時/計數(shù)器t0

5、、t1,可用作定時器,也可用以對外部脈沖進行計 數(shù)(5)四個8位可編程的并行i/o端口,每個端口既可作輸入,也可作輸出(6)一個串行端口,用于數(shù)據(jù)的串行通信(7)中斷控制系統(tǒng)(8)內部時鐘電路功能特性概述:at89s51 提供以下標準功能:8k字節(jié) flash 閃速存儲器,256字節(jié)內部 ram,32 個 i/o 口線,3 個 16 位定時/計數(shù)器,一個 6 向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,at89s52 可降至 0hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止 cpu 的工作,但允許 ram,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。

6、掉電方式保存 ram 中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。單片機at89s52的p0口作為輸入口。p0與ds12887的ad相連,進行時間圖2-3數(shù)據(jù)的采集;p3.7(rd)與ds12887的17腳ds相連,p3.3與ds12887的19腳irq相連,p2.7與ds12887的13腳cs相連;30腳ale與ds12887的14腳as相連。單片機的第18引腳和19引腳接時鐘電路,xtal1接外部晶振和微調電容的一端,xtal2接外部晶振和微調電容的另一端。對外接電容的值雖然沒圖2-4 主控電路及其最小系統(tǒng)電路圖有嚴格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩

7、器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為11.0592mhz,電容應盡可能的選擇陶瓷電容,電容值約為22f。第9引腳為復位輸入端,接上電容,電阻后構成上電復位電路。20引腳為接地端,40引腳為電源端。/ea端(31引腳)接+5v電壓。由此就構成了單片機主控模塊的最小系統(tǒng),如圖2-4所示。2、ds18b20電路設計dsl820數(shù)字溫度計是美國dallas公司生產的數(shù)字溫度計,它提供9位(二進制)溫度讀數(shù),指示器件的溫度。信息經過單線接口送入dsl8b20或從dsl8b20送出,因此從主機cpu到dsl8b20僅需一條線。dsl820的電源可以由數(shù)據(jù)線本身提供而不

8、需要外部電源。因為每一個dsl820在出廠時已經給定了唯一的序號,因此任意多dsl820可以存放在同一條單線總線上。這允許在許多不同的地方放置溫度敏感器件。dsl820的測量范圍從-55到+125,增量值為0.5,可在l s(典型值)內把溫度變換成數(shù)字。每一個dsl820包括一個唯一的64位長的序號,該序號值存放在dsl820內部的rom(只讀存貯器)中。開始8位是產品類型編碼(dsl820編碼均為10h)。接著的48位是每個器件唯一的序號,最后8位是前面56位的crc(循環(huán)冗余校驗)碼。以下是ds18b20的內部結構圖。ds18b20有4個主要的數(shù)據(jù)部件: 64位激光rom。64位激光rom

9、從高位到低位依次為8位crc、48位序列號和8位家族代碼(28h)組成。 溫度靈敏元件。 非易失性溫度報警觸發(fā)器th和tl??赏ㄟ^軟件寫入用戶報警上下限值。 配置寄存器。配置寄存器為高速暫存存儲器中的第五個字節(jié)。ds18b20在0工作時按此寄存器中的分辨率將溫度轉換成相應精度的數(shù)值 ds18b20的測溫范圍為-55+125,在-10+85范圍內,精度為0.5。在電壓低于3.4v時精度誤差較大。在本系統(tǒng)中使用了兩個ds18b20溫度傳感器,測溫范圍為0100,另外根據(jù)器件穩(wěn)定工作的特點,考慮到驅動能力的不足,采用外加5v電源以滿足傳感器精度高的要求。本系統(tǒng)為多點溫度測試。ds18b20采用外部供

10、電方式,理論上可以在一根數(shù)據(jù)總線上掛256個ds18b20,但實際應用中發(fā)現(xiàn),如果掛接20個以上的ds18b20就會產生功耗問題。另外單總線長度也不宜超過0.5m,否則會影響到數(shù)據(jù)的傳輸。在這種情況下我們可以采用分組的方式,用單片機的多個i/o來驅動多路ds18b20。在實際應用中還可以使用一個mosfet將i/o口線直接和電源相連,起到上拉的作用。在本電路板的設計中考慮到初步實踐的準確性,暫使用2個ds18b20連接單片機的p3.2口。對ds18b20的設計,需要注意以下問題(1)對硬件結構簡單的單線數(shù)字溫度傳感器ds18b20 進行操作,需要用較為復雜的程序完成。編制程序時必須嚴格按芯片數(shù)

11、據(jù)手冊提供的有關操作順序進行,讀、寫時間片程序要嚴格按要求編寫。尤其在使用ds18b20 的高測溫分辨力時,對時序及電氣特性參數(shù)要求更高。(2)有多個測溫點時,應考慮系統(tǒng)能實現(xiàn)傳感器出錯自動指示,進行自動ds18b20 序列號和自動排序,以減少調試和維護工作量。(3)測溫電纜線建議采用屏蔽4 芯雙絞線,其中一對線接地線與信號線,另一組接vcc和地線,屏蔽層在源端單點接地。ds18b20 在三線制應用時,應將其三線焊接牢固;在兩線應用時,應將vcc與gnd接在一起,焊接牢固。若vcc脫開未接,傳感器只送85.0 的溫度值。(4)實際應用時,要注意單線的驅動能力,不能掛接過多的ds18b20,同時

12、還應注意最遠接線距離。另外還應根據(jù)實際情況選擇其接線拓撲結構。3、lcd1602電路設計由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(crt)那樣需要不斷刷新新亮點。因此,液晶顯示器畫質高且不會閃爍。數(shù)字式接口液晶顯示器都是數(shù)字式的,和單片機系統(tǒng)的接口更加簡單可靠,操作更加方便。體積小、重量輕液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來達到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。功耗低相對而言,液晶顯示器的功耗主要消耗在其內部的電極和驅動ic上,因而耗電量比其它顯示器要少得多。lcd1602的實物圖如圖4,主要參數(shù)如下: 顯示容

13、量:162個字符 芯片工作電壓:4.55.5v工作電流:2.0ma(5.0v)模塊最佳工作電壓:5.0v字符尺寸:2.954.35(wh)mm1602液晶顯示采用標準的16腳接口,其中:(模塊背面有標注)第1腳:vss為地電源第2腳:vdd接5v正電源 第3腳:v0為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10k的電位器調整對比度第4腳:rs為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:rw為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當rs和rw共同為低電平時可以寫入指令或者顯示地址;當

14、rs為高電平、rw為低電平時可以寫入數(shù)據(jù)。第6腳:e端為使能端,當e端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:d0d7為8位雙向數(shù)據(jù)線。第1516腳:空腳1602液晶模塊內部的字符發(fā)生存儲器(cgrom)已經存儲了不同的點陣字符圖形,這些字符有,阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,其中數(shù)字與字母同ascii碼兼容。它的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平)指令1:清顯示,指令碼01h,光標復位到地址00h位置指令2:光標復位,光標返回到地址00h指令3:光標和顯示模式設置i/d:光標移

15、動方向,高電平右移,低電平左移s:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效指令4:顯示開關控制。d:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示c:控制光標的開與關,高電平表示有光標,低電平表示無光標b:控制光標是否閃爍,高電平閃爍,低電平不閃爍 指令5:光標或顯示移位s/c:高電平時移動顯示的文字,低電平時移動光標指令6:功能設置命令dl:高電平時為4位總線,低電平時為8位總線n:低電平時為單行顯示,高電平時雙行顯示f:低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符(有些模塊是dl:高電平時為8位總線,低電平時為4位總線)指令7:字符發(fā)生器ram

16、地址設置指令8:ddram地址設置指令9:讀忙信號和光標地址bf:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)指令11:讀數(shù)據(jù)指令表:序號指令rsrwd7d6d5d4d3d2d1d01清屏00000000012光標返回000000001*3輸入模式00000001i/ds4顯示控制0000001dcb5光標/字符移位000001s/cr/l*6功能00001dlnf*7置字符發(fā)生器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址0 0 1 顯示數(shù)據(jù)存貯器地址9讀忙標志和地址0 1 bf 計數(shù)器地址10寫數(shù)據(jù)到指令7.8所設地址1 0 要寫的數(shù)據(jù)

17、11從指令7.8所設的地址讀數(shù)據(jù)1 1 讀出的六、系統(tǒng)軟件設計軟件是系統(tǒng)的主要組成部分,也是整個調試的重點和難點工作。本系統(tǒng)的軟件由c語言編寫,程序的主要功能是負責溫度的實時顯示、讀出并處理ds18b20的測量的當前溫度值。開始執(zhí)行初始化時序發(fā)出跳過rom匹配命令啟動溫度轉換延時750ms等待溫度轉換完成執(zhí)行初始化時序發(fā) 出 匹 配rom命令1crc 校 練正 確?溫度數(shù)據(jù)格式轉換結束讀 取 便 箋 存 儲 器 內容 并 進 行 crc 校 練發(fā) 出 讀 便 箋存 儲 器 命 令發(fā)出64位序列號1ny七、實驗結果 當溫度小于10度或者高于60度時,報警燈亮。八、心得體會本次課程設計再一次的加深

18、了我們對控制理論與單片機控制技術的理解,鍛煉了我們的實踐能力。在本次課程設計以前,我一直認為我已經把單片機學懂了,誰知道到了課程設計的時候才發(fā)現(xiàn)原來并不是那么一回事,學海無涯,我也終于對這句話有了更深刻的認識。通過兩周的單片機綜合課程設計,我鞏固了以前學的知識,并學了些新的東西,做課設之前我們找了很多的資料,仔細研究了所需器件的說明書,通過看說明書我知道了各個部件的連線,主要是串口通信的研究,以前我們做系統(tǒng)都是由單機組成的,這種只能是很小的系統(tǒng),大系統(tǒng)為了實現(xiàn)其功能常常需要多機通信。從做這次課設,我收獲還是很多的,要問從這次課設學到什么,那就是持之以恒,無論遇到多大的難題都要想辦法去解決。而且

19、任何難題都有解決的辦法,只要你堅持不懈,努力探索,終會找到。通過這次課設,我們學到的不僅是理論知識,并且學到了很多的生活知識,每天我都在付出沒有浪費這三周的時間,付出才有收獲,當我們成功時內心很高興。我們只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做多機通信,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設計之后,一定把以前所學過的知識重新溫故。這次課程設計終于順利完成了,在此要感謝胡老師對我們悉心的

20、指導與幫助。在設計過程中,我通過查閱大量有關資料,與同學交流經驗和自學,并上網查找等方式,使自己學到了不少知識,也經歷了不少艱辛,但收獲同樣巨大。在整個設計中我懂得了許多東西,也培養(yǎng)了我獨立工作的能力。相信會對今后的學習工作生活有非常重要的影響。而且大大提高了縝密思考的能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。雖然這個設計做的也不太好,但是在設計過程中所學到的東西是這次課程設計的最大收獲和財富,使我受益頗多。 附錄a:電路原理圖附錄b:程序清單#include#include#define uint unsigned int#define uchar unsigned cha

21、r#define data 1000#define lcd_date p0sbit lcd_en=p22;sbit lcd_rw=p21;sbit lcd_rs=p20;sbit key0=p10;sbit key1=p11;sbit led=p17;uchar code lcdtable=0123456789- ;uchar code error12=no facility;ucharrom_id38= 0x28,0xc4,0x14,0x11,0x00,0x00,0x00,0x89, 0x28,0xc4,0x14,0x10,0x00,0x00,0x00,0x06; uchar dispbuf

22、8; uchar dispbuf18;uint data1=50000;uchar tem1,tem2,temt1,temt2;uint temper1;/溫度寄存器uint temper11;uint temper22;uint temper2;uint tempert1;/溫度閥值r-minuint tempert2;/溫度閥值r-maxuint tempert11;uint tempert22;#define nop3() _nop_();_nop_();_nop_()sbit dq=p33;bit flag_init; /ds18b20是否存在標志void delay_us(unsig

23、ned int tt) while(tt-) ;void delay_ms(unsigned int tms)unsigned char i;while(tms-) for(i=123;i0;i-);void write_com(uchar com)lcd_rs=0;lcd_rw=0;lcd_date=com;delay_ms(2);lcd_en=1;delay_ms(2);lcd_en=0;void write_dat(uchar dat)lcd_rs=1;lcd_rw=0;lcd_date=dat;delay_ms(2);lcd_en=1;delay_ms(2);lcd_en=0;void

24、 lcd_init()lcd_rw=0;lcd_en=0;delay_ms(15);write_com(0x38);delay_ms(5);write_com(0x38);delay_ms(5);write_com(0x38);/顯示模式設置write_com(0x08);/顯示關閉write_com(0x01);/清屏write_com(0x06);/顯示光標移動設置write_com(0x0c);/顯示開及光標設置/*ds18b20初始化*/void reset()flag_init=1;ea=0;dq=1;nop3();dq=0;delay_us(60);/480960us 556dq=1;delay_us(5);/60usflag_init=dq;delay_us(25);/241usea=1;/*寫一個字節(jié)函數(shù)*/void write_byte(uchar dat)uchar i;dq=1;ea=0;for(i=8

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論