畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的數(shù)字溫度計(jì)_第1頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的數(shù)字溫度計(jì)_第2頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的數(shù)字溫度計(jì)_第3頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的數(shù)字溫度計(jì)_第4頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的數(shù)字溫度計(jì)_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于單片機(jī)的數(shù)字溫度計(jì)摘要:本文介紹一種基于at89c2051單片機(jī)的一種溫度測(cè)量及報(bào)警電路,該電路采用ds18b20作為溫度監(jiān)測(cè)元件,測(cè)量范圍-55-+125,使用4位led模塊顯示,能通過鍵盤設(shè)置溫度報(bào)警上下限。正文著重給出了軟硬件系統(tǒng)的各部分電路,介紹了集成溫度傳感器ds18b20的原理,at89c2051單片機(jī)功能和應(yīng)用。該電路設(shè)計(jì)新穎、功能強(qiáng)大、結(jié)構(gòu)簡(jiǎn)單。關(guān)鍵詞:溫度測(cè)量,ds18b20abstract : the introduction of a cost-based at89c2051 mcu a temperatur measurement circuits, the cir

2、cuits used ds18b20 high-precision temperatur sensor , measuring scope -55-+125,can use the keybord set the warning limitation, the use of four bits seven segments led that can be display the current temperature. the paper focuses on providing a software and hardware system components circuit, introd

3、uced the theory of ds18b20, the founctions and applications of at89c2051 .this circuit design innovative, powerful, can be expansionary strong.key words : temperatur measurement, ds18b201前言數(shù)字溫度計(jì)(digital thermometer)簡(jiǎn)稱dtm,它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的溫度值轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。傳統(tǒng)的溫度計(jì)功能單一、精度低,不能滿足數(shù)字化時(shí)代的需求,采用單片機(jī)的數(shù)字溫

4、度計(jì),由于精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便得到了廣泛的應(yīng)用。溫度是許多監(jiān)控系統(tǒng)中的一個(gè)重要參數(shù)。ds18b20直接把溫度信息轉(zhuǎn)換成相應(yīng)的數(shù)字信號(hào)。數(shù)據(jù)采集、處理模塊主要由at89c2051單片機(jī)構(gòu)成,完成溫度數(shù)據(jù)的讀取和顯示。本章重點(diǎn)介紹ds18b20的工作原理,尤其是其編程原理,以及由它們構(gòu)成的基于單片機(jī)的數(shù)字溫度計(jì)的工作原理。2 系統(tǒng)功能描述3 系統(tǒng)原理及基本框圖如圖3.1所示,模擬溫度值經(jīng)過ds18b20處理后轉(zhuǎn)換為數(shù)字值,然后送到單片機(jī)中進(jìn)行數(shù)據(jù)處理,并與設(shè)置的溫度報(bào)警限比較,超過限度后通過揚(yáng)聲器報(bào)警。同時(shí)處理后的數(shù)據(jù)送到led中顯示。傳感器部分at89c2051單片機(jī)led

5、顯示設(shè)置報(bào)警鍵盤報(bào)警揚(yáng)聲器 圖3.1系統(tǒng)基本方框圖3硬件設(shè)計(jì)3.1 輸入電路圖3.1.1量程切換開關(guān) 圖3.1.2衰減輸入電路輸入電路的作用是把不同量程的被測(cè)的電壓規(guī)范到a/d轉(zhuǎn)換器所要求的電壓值。智能化數(shù)字溫度計(jì)所采用的單片雙積分型adc芯片icl7135,它要求輸入電壓0-2v。本儀表設(shè)計(jì)是0-1000v電壓,靈敏度高所以可以不加前置放大器,只需衰減器,如圖3.1.2所示9m、900k、90k、和10k電阻構(gòu)成1/10、1/100、1/1000的衰減器。衰減輸入電路可由開關(guān)來選擇不同的衰減率,從而切換檔位。為了能讓cpu自動(dòng)識(shí)別檔位,還要有圖3.1.1的硬件連接。3.2 a/d 轉(zhuǎn)換電路a

6、/d 轉(zhuǎn)換器的轉(zhuǎn)換精度對(duì)測(cè)量電路極其重要,它的參數(shù)關(guān)系到測(cè)量電路性能。本設(shè)計(jì)采用雙積a/d 轉(zhuǎn)換器,它的性能比較穩(wěn)定,轉(zhuǎn)換精度高,具有很高的抗干擾能力,電路結(jié)構(gòu)簡(jiǎn)單,其缺點(diǎn)是工作速度較低。在對(duì)轉(zhuǎn)換精度要求較高,而對(duì)轉(zhuǎn)換速度要求不高的場(chǎng)合如電壓測(cè)量有廣泛的應(yīng)用。3.2.1雙積a/d 轉(zhuǎn)換器的工作原理圖3.2.1.1雙積a/d 轉(zhuǎn)換器圖3.2.1.2雙積a/d 轉(zhuǎn)換器的波形圖 如圖所示:對(duì)輸入模擬電壓和基準(zhǔn)電壓進(jìn)行兩次積分,先對(duì)輸入模擬電壓進(jìn)行積分,將其變換成與輸入模擬電壓成正比的時(shí)間間隔 t1,再利用計(jì)數(shù)器測(cè)出此時(shí)間間隔,則計(jì)數(shù)器所計(jì)的數(shù)字量就正比于輸入的模擬電壓;接著對(duì)基準(zhǔn)電壓進(jìn)行同樣的處理。

7、在常用的a/d轉(zhuǎn)換芯片(如adc -0809、icl7135、icl7109等)中,icl7135與其余幾種有所不同,它是一種四位半的雙積分a/d轉(zhuǎn)換器,具有精度高(精度相當(dāng)于14位二進(jìn)制數(shù))、價(jià)格低廉、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。本文介紹用單片機(jī)并行方式采集icl7135的數(shù)據(jù)以實(shí)現(xiàn)單片機(jī)溫度計(jì)和小型智能儀表的設(shè)計(jì)方案。3.2.1 7135的應(yīng)用7135是采用cmos工藝制作的單片4位半a/d轉(zhuǎn)換器,其所轉(zhuǎn)換的數(shù)字值以多工掃描的方式輸出,只要附加譯碼器,數(shù)碼顯示器,驅(qū)動(dòng)器及電阻電容等元件,就可組成一個(gè)滿量程為2v的數(shù)字溫度計(jì)。7135主要特點(diǎn)如下:雙積型a/d轉(zhuǎn)換器,轉(zhuǎn)換速度慢。在每次a/d轉(zhuǎn)換前,

8、內(nèi)部電 3.2.1.1 icl7135引腳圖路都自動(dòng)進(jìn)行調(diào)零操作,可保證零點(diǎn)在常溫下的長(zhǎng)期穩(wěn)定。在20000字(2v滿量程)范圍內(nèi),保證轉(zhuǎn)換精度1字相當(dāng)于14bita/d轉(zhuǎn)換器。 具有自動(dòng)極性轉(zhuǎn)換功能。能在但極性參考電壓下對(duì)雙極性模擬輸入電壓進(jìn)行a/d轉(zhuǎn)換,模擬電壓的范圍為01.9999v。 模擬出入可以是差動(dòng)信號(hào),輸入電阻極高,輸入電流典型值1pa。 所有輸出端和ttl電路相容。 有過量程(or)和欠量程(ur)標(biāo)志信號(hào)輸出,可用作自動(dòng)量程轉(zhuǎn)換的控制信號(hào)。 輸出為動(dòng)態(tài)掃描bcd碼。 對(duì)外提供六個(gè)輸入,輸出控制信號(hào)(r/h,bush,st,pol,or,ur),因此除用于數(shù)字溫度計(jì)外,還能與異

9、步接收 /發(fā)送器,微處理器或其它控制電路連接使用。 采用28外引線雙列直插式封裝,外引線功能端排列如圖所示。 7135數(shù)字部分?jǐn)?shù)字部分主要由計(jì)數(shù)器、鎖存器、多路開關(guān)及控制邏輯電路等組成。7135一次a/d轉(zhuǎn)換周期分為四個(gè)階段:1、自動(dòng)調(diào)零(az);2、被測(cè)電壓積分(int);3、基準(zhǔn)電壓反積分(de);4、積分回零(zi)。具體內(nèi)部轉(zhuǎn)換過程這里不做祥細(xì)介紹,主要介紹引腳的使用。r/h(25腳)當(dāng)r/h=“1”(該端懸空時(shí)為“1”)時(shí),7135處于連續(xù)轉(zhuǎn)換狀態(tài),每40002個(gè)時(shí)鐘周期完成一次a/d轉(zhuǎn)換。若r/h由“1”變“0”,則7135在完成本次a/d轉(zhuǎn)換后進(jìn)入保持狀態(tài),此時(shí)輸出為最后一次轉(zhuǎn)換

10、結(jié)果,不受輸入電壓變化的影響。因此利用r/h端的功能可以使數(shù)據(jù)有保持功能。若把r/h端用作啟動(dòng)功能時(shí),只要在該端輸入一個(gè)正脈沖(寬度300ns),轉(zhuǎn)換器就從az階段開始進(jìn)行a/d轉(zhuǎn)換。注意:第一次轉(zhuǎn)換周期中的az階段時(shí)間為9001-10001個(gè)時(shí)鐘脈沖,這是由于啟動(dòng)脈沖和內(nèi)部計(jì)數(shù)器狀態(tài)不同步造成的。/st(26腳)每次a/d轉(zhuǎn)換周期結(jié)束后,st端都輸出5個(gè)負(fù)脈沖,其輸出時(shí)間對(duì)應(yīng)在每個(gè)周期開始時(shí)的5個(gè)位選信號(hào)正脈沖的中間,st負(fù)脈沖寬度等于1/2時(shí)鐘周期。圖3.2.1.2 icl7135的波形圖第一個(gè)st負(fù)脈沖在上次轉(zhuǎn)換周期結(jié)束后101個(gè)時(shí)鐘周期產(chǎn)生。因?yàn)槊總€(gè)選信號(hào)(d5-d1)的正脈沖寬度為2

11、00個(gè)時(shí)鐘周期(只有az和de階段開始時(shí)的第一個(gè)d5的脈沖寬度為201個(gè)clk 周期),所以st負(fù)脈沖之間相隔也是200個(gè)時(shí)鐘周期。需要注意的是,若上一周期為保持狀態(tài)(r/h=“0”)則st無脈沖信號(hào)輸出。st信號(hào)主要用來控制將轉(zhuǎn)換結(jié)果向外部鎖存器、uarts或微處理器進(jìn)行傳送。busy(21腳)在雙積分階段(int+de),busy為高電平,其余時(shí)為低電平。因此利用busy功能,可以實(shí)現(xiàn)a/d轉(zhuǎn)換結(jié)果的遠(yuǎn)距離雙線傳送,其還原方法是將busy和clk“與”后來計(jì)數(shù)器,再減去10001就可得到原來的轉(zhuǎn)換結(jié)果。or(27腳)當(dāng)輸入電壓超出量程范圍(20000),or將會(huì)變高。該信號(hào)在busy信號(hào)結(jié)

12、束時(shí)變高。在de階段開始時(shí)變低。ur(28腳)當(dāng)輸入電壓等于或低于滿量程的9%(讀數(shù)為1800),則一當(dāng)bust信號(hào)結(jié)束,ur將會(huì)變高。該信號(hào)在int階段開始時(shí)變低。pol(23腳)該信號(hào)用來指示輸入電壓的極性。當(dāng)輸入電壓為正,則pol等于“1”,反之則等于“0”。該信號(hào)de階段開始時(shí)變化,并維持一個(gè)a/d轉(zhuǎn)換調(diào)期。位驅(qū)動(dòng)信號(hào)d5、d4、d3、d2、d1(12、17、18、19、20腳)每一位驅(qū)動(dòng)信號(hào)分別輸出一個(gè)正脈沖信號(hào),脈沖寬度為200個(gè)時(shí)鐘周期,其中d5對(duì)應(yīng)萬位選通,以下依次為千、百、十、個(gè)位。在正常輸入情況下,d5-d1輸出連續(xù)脈沖。當(dāng)輸入電壓過量程時(shí),d5-d1在az階段開始時(shí)只分別

13、輸出一個(gè)脈沖,然后都處于低電平,直至de階段開始時(shí)才輸出連續(xù)脈沖。利用這個(gè)特性,可使得顯示器件在過程時(shí)產(chǎn)生一亮一暗的直觀現(xiàn)象。 b8、b4、b2、b1(16、15、14、13腳)該四端為轉(zhuǎn)換結(jié)果bcd碼輸出,采用動(dòng)態(tài)掃描輸出方式,即當(dāng)位選信號(hào)d5=“1”時(shí),該四端的信號(hào)為萬位數(shù)的內(nèi)容,d4=“1”時(shí)為千位數(shù)內(nèi)容,其余依次類推。在個(gè)、十、百、千四位數(shù)的內(nèi)容輸出時(shí),bcd碼范圍為0000-1001,對(duì)于萬位數(shù)只有0和1兩種狀態(tài),所以其輸出的bcd碼為“0000”和“0001”。當(dāng)輸入電壓過量程時(shí),各位數(shù)輸出全部為零,這一點(diǎn)在使用時(shí)應(yīng)注意。 最后還要說明一點(diǎn),由于數(shù)字部分以dgng端作為接地端,所以

14、所有輸出端輸出電平以dgng作為相對(duì)參考點(diǎn)。基準(zhǔn)電壓,基準(zhǔn)電壓的輸入必須對(duì)于模擬公共端com是正電壓。 與單片機(jī)系統(tǒng)的串行連接在icl7135與單片機(jī)系統(tǒng)進(jìn)行連接時(shí),使用并行采集方式,要連接bcd碼數(shù)據(jù)輸出線,可以將icl7135的/stb信號(hào)接至at89c52的p3.2(int0)。 icl7135需要外部的時(shí)鐘信號(hào),本設(shè)計(jì)采用cd4060來對(duì)4m信號(hào)進(jìn)行32分頻得到125khz的時(shí)鐘信號(hào)。cd4060計(jì)數(shù)為級(jí)進(jìn)制計(jì)數(shù)器,在數(shù)字集成電路中可實(shí)現(xiàn)的分頻次數(shù)最高,而且cd4060還包含振蕩電路所需的非門,使用更為方便。圖3.2.1.3 icl7135與系統(tǒng)的連接圖 圖3.2.1.4 cd4060

15、時(shí)鐘發(fā)生電路 3.3單片機(jī)部分單片機(jī)選用的是atmel公司新推出的at89s52,如圖 3.2.1.1所示。該芯片具有低功耗、高性能的特點(diǎn),是采用cmos工藝的8位單片機(jī),與at89c51完全兼容。at89s52還有以下主要特點(diǎn): 采用了atmel公司的高密度、非易失性存儲(chǔ)器(nv-sram)技術(shù); 其片內(nèi)具有256字節(jié)ram,8kb的可在線編程(isp)flash存儲(chǔ)器; 有2種低功耗節(jié)電工作方式:空閑模式和掉電模式 片內(nèi)含有一個(gè)看門狗定時(shí)器(wdt),wdt包含一個(gè)14位計(jì)數(shù)器和看門狗定時(shí)器復(fù)位寄存器(wdtrst),只要對(duì)wdtrst按順序先寫入01eh,后寫入0e1h,wdt便啟動(dòng),當(dāng)

16、cpu由于擾動(dòng)而使程序陷入死循環(huán)或“跑飛”狀態(tài)時(shí),wdt即可有效地使系統(tǒng)復(fù)位,提高了系統(tǒng)的抗干擾性能。3.4液晶顯示部分圖 3.2.1.1 89s52引腳圖顯示接口用來顯示系統(tǒng)的狀態(tài),命令或采集的電壓數(shù)據(jù)。本系統(tǒng)顯示部分用的是lcd液晶模塊,采用一個(gè)161的字符型液晶顯示模塊, 點(diǎn)陣圖形式液晶由 m 行n 列個(gè)顯示單元組成,假設(shè) lcd 顯示屏有64行,每行有 128列,每 8列對(duì)應(yīng) 1 個(gè)字節(jié)的 8 個(gè)位,即每行由 16 字節(jié),共 168=128個(gè)點(diǎn)組成,屏上 6416 個(gè)顯示單元和顯示 ram 區(qū) 1024 個(gè)字節(jié)相對(duì)應(yīng),每一字節(jié)的內(nèi)容和屏上相應(yīng)位置的亮暗對(duì)應(yīng)。一個(gè)字符由 68 或 88點(diǎn)

17、陣組成,即要找到和屏上某幾個(gè)位置對(duì)應(yīng)的顯示 ram區(qū)的 8 個(gè)字節(jié),并且要使每個(gè)字節(jié)的不同的位為1,其它的為0,為1的點(diǎn)亮,為0的點(diǎn)暗,這樣一來就組成某個(gè)字符。但對(duì)于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡(jiǎn)單了,可讓控制器工作在文本方式,根據(jù)在lcd 上開始顯示的行列號(hào)及每行的列數(shù)找出顯示 ram對(duì)應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對(duì)應(yīng)的代碼即可。3.4.1 1601使用說明圖3.4.1.1 1601引腳圖表3.4.1.1 lcd1601液晶模塊的引腳引腳符號(hào)功能說明1gnd接地2vcc5v3vl驅(qū)動(dòng)lcd,一般將此腳接地4rs寄存器選擇 0:指令寄存器(write)busy flag,位

18、址計(jì)數(shù)器(read) 1:數(shù)據(jù)寄存器(write,read)5r/wread/write選擇 1:read 0:wtite6e讀寫使能(下降沿使能)7db0低4位三態(tài)、雙向數(shù)據(jù)總線續(xù)表3.4.1.1 lcd1601液晶模塊的引腳8db19db210db311db4高4位三態(tài)、雙向數(shù)據(jù)總線另外db7也是一個(gè)busy flag12db513db614db7寄存器選擇,如表所示:表3.4.1.3 寄存器選擇控制線操作rsr/w操作說明00寫入指令寄存器(清除屏幕等)01讀busy flag(db7),以及讀取位址計(jì)數(shù)器(db0db6)值10寫入數(shù)據(jù)寄存器(顯示各字型等)11從數(shù)據(jù)寄存器讀取數(shù)據(jù)bus

19、y flag(db7):在此位未被清除為“0”時(shí),lcd將無法再處理其他指令要求。(1)顯示地址:內(nèi)部地址計(jì)數(shù)器的計(jì)數(shù)地址:sb7=0(db0db6)第一行00、01、02 等,第二行40、41、42 等,可配合檢測(cè)db7=1 (rs=0,r/w=1)讀取目前顯示字的地址,判斷是否需要換行。表3.4.1.4 lcd1601 161 顯示字的地址1234567891011121314151600010203040506074041424344454647(2)外部地址:db7=1,亦即80h內(nèi)部計(jì)數(shù)地址,可以用此方式將字顯示在某一位置。lcd各地址列舉如下表:表3.4.1.5 lcd1601 1

20、61 顯示字的外部地址161 16字1行 1601123456789101112131415168081828384858687c0c1c2c3c4c5c6c7表3.4.1.6 lcd1601 的指令組指 令說 明設(shè)置碼rs r/wd7d6d5d4d3d2d1d0清除顯示幕000000000*光標(biāo)回到原點(diǎn)000000001*進(jìn)入模式設(shè)定00000001i/ds顯示幕on/off0000001dcb移位000001s/cr/l*功能設(shè)定00001dlnf*字發(fā)生器地址設(shè)定0001agc設(shè)置顯示地址0001add忙碌標(biāo)志位bf001bf顯示數(shù)據(jù)10寫入數(shù)據(jù)讀取數(shù)據(jù)11讀取數(shù)據(jù)i/d i/d=1 表

21、示加1, i/d=0 表示減1s s=1 表示顯示幕on s=0表示offd d=1 表示顯示屏幕on d=0表示顯示屏幕offc c=1 表示光標(biāo)on c=0表示光標(biāo)offb b=1 表示閃爍on b=0表示顯示閃爍offs/c s/c=1表示顯示屏幕移位 s/c=0光標(biāo)移位r/l r/l=1表示右移 r/l=0表示左移dl dl=1表示8位 dl=0表示4位f f=1表示510點(diǎn)矩陣 f=0表示57點(diǎn)矩陣n n=1表示2行顯示行 n=0表示1行顯示行bf bf=1:內(nèi)部正在動(dòng)作 bf=0:可接收指令或數(shù)據(jù)碼3.4.2 液晶顯示部分與89s52的接口 如圖所示:用89s52的p2口作為數(shù)據(jù)線

22、,用p0.1、p0.2、p0.3分別作為lcd的e、r/w、rs。其中e是下降沿觸發(fā)的片選信號(hào),r/w是讀寫信號(hào),rs是寄存器選擇信號(hào)本模塊設(shè)計(jì)要點(diǎn)如下:顯示模塊初始化:首先清屏,再設(shè)置接口數(shù)據(jù)位為8位,顯示行數(shù)為1行,字型為57點(diǎn)陣,然后設(shè)3.4.2.1 液晶與89s52的接口置為整體顯示,取消光標(biāo)和字體閃爍,最后設(shè)置為正向增量方式且不移位。向lcd的顯示緩沖區(qū)中送字符,程序中采用2個(gè)字符數(shù)組,一個(gè)顯示字符,另一個(gè)顯示電壓數(shù)據(jù),要顯示的字符或數(shù)據(jù)被送到相應(yīng)的數(shù)組中,完成后再統(tǒng)一顯示.首先取一個(gè)要顯示的字符或數(shù)據(jù)送到lcd的顯示緩沖區(qū),程序延時(shí)2.5ms,判斷是否夠顯示的個(gè)數(shù),不夠則地址加一取

23、下一個(gè)要顯示的字符或數(shù)據(jù)。3.5 通訊模塊圖3.5.1 max232引腳功能圖89s52內(nèi)部已集成通信接口urt,只需擴(kuò)展一片max232芯片將輸出信號(hào)轉(zhuǎn)換成rs-232協(xié)議規(guī)定的電平標(biāo)準(zhǔn), max232 是 一 種 雙 組 驅(qū) 動(dòng) 器 / 接 收 器 ,每個(gè)接收器將eia/tia-232-e電平輸入轉(zhuǎn)換為5vttl/cmos電平。 每個(gè)驅(qū)動(dòng)器將ttl/cmos輸入電平轉(zhuǎn)換 為 eia/tia-232-e電平。即eia接口,就是把5v轉(zhuǎn)換為-8v到-15v電位0v轉(zhuǎn)換為8v到15v再經(jīng)rxd輸出,接收時(shí)由rxd輸入,把-8v到-15v電位轉(zhuǎn)換為5v,8v到15v轉(zhuǎn)換為0v。max232的工作電

24、壓只需5v,內(nèi)部有振蕩電路產(chǎn)生正負(fù)9v電位。4 系統(tǒng)的軟件設(shè)計(jì)4.1主程序設(shè)計(jì)icl7135a/d與單片機(jī)連接電路的軟件設(shè)計(jì)系統(tǒng)的程序流程圖如圖所示。主程序一開始運(yùn)行則設(shè)置堆棧起始地址為70h,設(shè)置中斷寄存器,用來對(duì)icl7135的中斷進(jìn)行計(jì)數(shù),每5次后清零,完成一次數(shù)據(jù)采集工作,然后設(shè)置icl7135的stb端的中斷的優(yōu)先級(jí)。緊接著lcdm1601b進(jìn)行一次清屏,使其各個(gè)指令、數(shù)據(jù)寄存器的值進(jìn)行清空,屏幕不顯示任何字符。以前面對(duì)1601b的介紹,只要將01h送到數(shù)據(jù)總線,使rs=0,r/w=0,e有個(gè)下降沿的脈沖就可以完成清屏工作。用以下指令實(shí)現(xiàn) mov p2,#01h ;送到數(shù)據(jù)db7-d

25、b0,調(diào)用子程序 enable,由于下降沿時(shí),內(nèi)部數(shù)據(jù)要送到ram區(qū),所以要有一個(gè)延時(shí)子程序,使這個(gè)下降沿持續(xù)2.5毫秒。內(nèi)部ram有指令代碼后就開始對(duì)ram進(jìn)行清零,所以屏幕原有的字符將被清除。接著對(duì)1601進(jìn)行功能的設(shè)定。mov p2,#01111000b,按表3.4.5來看是設(shè)定圖4.1.1 主程序流程圖顯示器按2行顯示,每行8位,57點(diǎn)陣。調(diào)用一次子程序enable程序,寫入cpu的指令寄存器中。每次向lcdm中寫入一個(gè)指令,就調(diào)用一次enable,然后再對(duì)顯示器進(jìn)行閃爍、光標(biāo)等功能進(jìn)行設(shè)定。顯示器的ram地址按加方法進(jìn)行讀寫。再設(shè)定第一行字符,也就是voltage的顯示地址80h。字

26、符voltage的table表地址送到dptr中,然后調(diào)用遠(yuǎn)程查表命令,依次把數(shù)據(jù)送到p2口,這時(shí)再調(diào)用子程序write3,使lcd1601的rs=1,r/w=0使使能端e產(chǎn)生一個(gè)下降沿脈沖,將數(shù)據(jù)送入到數(shù)據(jù)寄存器中,接下來執(zhí)行子程序display1,它的主要功能是將table表中的字符輸出到lcd中去。調(diào)定好顯示字符數(shù)即遠(yuǎn)程查表的次數(shù),就開始查表了。 例如第一個(gè)字符“v”的ascii碼是56h,就將這個(gè)碼送到p2口,再調(diào)用使能數(shù)據(jù)子程序,使rs=1(數(shù)據(jù)區(qū)使能)寫入顯示數(shù)據(jù)區(qū),r/w=0表示寫,e=來個(gè)下降沿延時(shí)2.5毫秒,使數(shù)據(jù)寫入ram內(nèi)。完成圖4.1.2 數(shù)據(jù)地址table表輸出以后,

27、向指令ram中寫入第2行的起始地址為och,再調(diào)用顯示采樣數(shù)據(jù)的子程序。采樣數(shù)據(jù)存放的數(shù)據(jù)地址安排如下圖所示,首先將60h中的數(shù)顯示在正負(fù)號(hào)的位置上,按照ascii碼表,正號(hào)不顯示(#20h),負(fù)號(hào)顯示“”(#2dh)。4.2 a/d中斷程序設(shè)計(jì)圖4.2.1 中斷子程序流程圖icl7135每一分鐘完成3次據(jù)的采集工作,1/3秒完成后向cpu申請(qǐng)中斷,cpu這時(shí)暫停工作,為中斷服務(wù).中斷響應(yīng)后關(guān)中斷,將psw、acc壓棧,判斷是否首次中斷,如果是首次中斷,則將正負(fù)號(hào)標(biāo)志位置入60h,再把萬位置入61h中,如果不是首次中斷,則跳到next處,如果是第二次中斷,則將千位數(shù)置入62h中,如果是第三次中

28、斷,再將百位數(shù)置入63h中,第四次中斷則將十位數(shù)置入64h中,第五次中斷則將小數(shù)點(diǎn)位置入65h中,同時(shí)個(gè)位置入66h中。同時(shí)清除中斷次數(shù)寄存器30h中的值,完成中斷后將acc、psw出棧,開中斷。消隱的思想:每次電壓采集后,cpu將數(shù)據(jù)送到lcd顯示,將可能出現(xiàn)以下幾種需要消隱的情況。例如:2000v檔量程:0199.9此時(shí)萬位的值0不符合人們的視覺習(xí)慣,需要把萬位的值消隱掉,編程是將#20h送入萬位,使其在lcd中不顯示任何字符即可。同樣的情況如下:需要消隱萬位、千位需要消隱萬位、千位、百位2000v檔量程:0019.90001.9需要消隱萬位需要消隱萬位、千位200v檔量程:019.990

29、01.99需要消隱萬位20v檔量程:01.999在采集到數(shù)據(jù)之后,置數(shù)之前判斷檔位,是2v檔不消隱,是其他檔位時(shí)再看要消隱的位之前有幾個(gè)是零。例如2000v檔量程,-0001.9v,在2次中斷時(shí)判斷檔位是2000v檔,第1位是零,消隱第2位千位。4.3通訊模塊程序設(shè)計(jì)89s52單片機(jī)內(nèi)部有一個(gè)全雙工的串行通信口,即串行接收和發(fā)送緩沖器(sbuf),這兩個(gè)在物理上獨(dú)立的接收發(fā)送器,既可以接收數(shù)據(jù)也可以發(fā)送數(shù)據(jù)。但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器則只能寫入不能讀出,它們的地址為99h。這個(gè)通信口既可以用于網(wǎng)絡(luò)通信,亦可實(shí)現(xiàn)串行異步通信,還可以構(gòu)成同步移位寄存器使用。如果在傳行口的輸入輸出引

30、腳上加上電平轉(zhuǎn)換器,就可方便地構(gòu)成標(biāo)準(zhǔn)的rs-232接口。89s52的串行口有4種工作方式,1種同步方式,3種異步方式。本方式選方式1,一幀數(shù)據(jù)有10位,包括起始位0、8位數(shù)據(jù)位和1位停止位1。串行口電路在發(fā)送時(shí)能自動(dòng)加入起始位和停止位。在接收時(shí),停止位進(jìn)入scon中的rb8位。方式1的波特率是可變的,由定時(shí)器1的溢出率決定。由定時(shí)器1最好工作在方式2上(自動(dòng)重裝載模式),這樣只需對(duì)th1設(shè)置一次即可。數(shù)據(jù)通過txd輸出,在8個(gè)位輸出完畢后,scon寄存器的ti位被設(shè)為1,cpu只要判斷ti是1,接著發(fā)送下一個(gè)字節(jié)。波特率的設(shè)定:定時(shí)器t1工作在方式2的初值為:(1.1)為了減小誤差,時(shí)鐘振蕩

31、頻率采用11.0592mhz,選用定時(shí)器t1工作在方式2作波特率發(fā)生器,波特率為300,設(shè)smod為0,依公式(1.1)得初值為:所以th1 = tl1 = a0hmov scon ,#50h ;urat工作在方式1上mov tmod ,#20h ;time1工作在方式2上mov th1 , #0a0h ;設(shè)置波特率為300本設(shè)計(jì)的中斷十分重要,為了減少相互間的干擾,保證可靠性,采用查詢方式判斷是否發(fā)送完畢。 a6: jbc ti , a5 ;如果發(fā)送完畢跳,清標(biāo)志位,跳到a5。 ajmp a6 ;否則跳到a6,等待 a5: inc r0 5 結(jié)束語電壓測(cè)量通過不同的接口電路可實(shí)現(xiàn)溫度、濕度、壓力等測(cè)量,廣泛應(yīng)用于工業(yè)領(lǐng)域。本電路設(shè)計(jì)別具一格,是一種高精度、低功耗、寬量程、智能化的溫度計(jì)??蓴U(kuò)展鍵盤、eeprom、報(bào)警電路,實(shí)現(xiàn)電壓異常記錄、報(bào)警。參考文獻(xiàn)1 徐愛鈞.智能化測(cè)量控制儀表原理與設(shè)計(jì)(第二版)m.北京:北京航空航天大學(xué)出版社,2004.2 吳金戌,沈慶陽,郭庭吉.8051單片機(jī)實(shí)踐與應(yīng)用m.北京:清華大學(xué)出版社,2002.3 張國(guó)勛,縮短icl7135a/d采樣程序時(shí)間的一種方法j. 電子技術(shù)應(yīng)用,1993,第一期.4 高峰,單片微型計(jì)算機(jī)與接口技術(shù)m.北京:科學(xué)出版社

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論