




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 電氣工程學(xué)院傳感器課程設(shè)計(jì)報(bào)告班 級(jí): 電132 姓 名: 袁吉收 學(xué) 號(hào): 設(shè)計(jì)題目: 智能家居監(jiān)控系統(tǒng)設(shè)計(jì) 設(shè)計(jì)時(shí)間: 2015.12.2212.28 評(píng)定成績(jī): 評(píng)定教師: 摘要本文設(shè)計(jì)的智能家居系統(tǒng)以AT89C51單片機(jī)為核心控制單元,實(shí)時(shí)獲取DS18B20溫度傳感器、TGS813氣敏傳感器、UD-02感煙傳感器數(shù)據(jù).并通過(guò)LCD1602來(lái)顯示當(dāng)前的狀態(tài)。關(guān)鍵字:AT89c51、DS18B20、TGS813、UD-02、LCD1602目 錄一、題目要求1.1 題目介紹1.2 模塊分解 二、 方案設(shè)計(jì)2.1 方案介紹三、硬件設(shè)計(jì) 3.1硬件原理圖 四、軟件設(shè)計(jì)4.1時(shí)序圖五、設(shè)計(jì)總結(jié)六
2、、參考文獻(xiàn)附件:程序代碼一、題目要求1.1智能家居監(jiān)控系統(tǒng)設(shè)計(jì) 以提高家居生活的安全性、舒適度、人性化為目的,設(shè)計(jì)智能家居監(jiān)控系統(tǒng)。利用所學(xué)的傳感器與檢測(cè)技術(shù)知識(shí),實(shí)現(xiàn)家居溫度、煤氣泄漏、外人闖入、火災(zāi)(煙霧)的檢測(cè)(以上檢測(cè)項(xiàng)目必做。在此基礎(chǔ)上增加檢測(cè)項(xiàng)目并具有可行性,加分。除環(huán)境監(jiān)測(cè)項(xiàng)目外,也可增加人體信號(hào)檢測(cè)等。)。各檢測(cè)節(jié)點(diǎn)可通過(guò)無(wú)線方式連接到主機(jī),檢測(cè)到危險(xiǎn)信號(hào)后,主機(jī)可采用聲光報(bào)警或遠(yuǎn)程報(bào)警。智能化家居中的傳感器活動(dòng)物體 傳感器煙霧傳感器二氧化碳 傳感器溫度傳感器火焰?zhèn)鞲衅骺?線終端控制對(duì)象要求(1)用Protel畫出設(shè)計(jì)原理圖; (2)采用Quaters II、Maxplus I
3、I、multisim(EWB)、pspice、Proteus中的一種或幾種軟件,完成系統(tǒng)電路圖部分或全部仿真,在設(shè)計(jì)說(shuō)明書中體現(xiàn)仿真結(jié)果; (3)寫設(shè)計(jì)說(shuō)明書;1.2模塊分解1. 溫度檢測(cè):采用DS18B20溫度傳感器。2. 煤氣泄漏檢測(cè):氣敏傳感器TGS813來(lái)檢測(cè)空氣中的可燃性氣體。3. 煙霧檢測(cè):UD-02離子感煙傳感器檢測(cè)空氣中煙霧。二、方案設(shè)計(jì) 2.1方案設(shè)計(jì)及選擇在實(shí)際設(shè)計(jì)中我們要考慮的因素有很多,比如成本最低、性價(jià)比最高、性能最優(yōu)、功能最強(qiáng)、界面最友好等等。而本次課設(shè)我采用了性價(jià)比最高的方案(首先能實(shí)現(xiàn)基本功能)。選用了DS18B20、TGS813、UD-02、LCD1602模塊
4、實(shí)現(xiàn)本次設(shè)計(jì)?;贏T89c51的智能家居系統(tǒng)設(shè)計(jì)智能家居是人們的一種居住環(huán)境,其以住宅為平臺(tái)安裝有智能家居系統(tǒng),實(shí)現(xiàn)家庭生活更加安全,節(jié)能,智能,便利和舒適。以住宅為平臺(tái),利用綜合布線技術(shù)、網(wǎng)絡(luò)通信技術(shù)、 智能家居-系統(tǒng)設(shè)計(jì)方案安全防范技術(shù)、自動(dòng)控制技術(shù)、音視頻技術(shù)將家居生活有關(guān)的設(shè)施集成,構(gòu)建高效的住宅設(shè)施與家庭日程事務(wù)的管理系統(tǒng),提升家居安全性、便利性、舒適性、藝術(shù)性,并實(shí)現(xiàn)環(huán)保節(jié)能的居住環(huán)境。又稱智能住宅,在國(guó)外常用Smart Home表示。與智能家居含義近似的有家庭自動(dòng)化(Home Automation)、電子家庭(Electronic Home、E-home)、數(shù)字家園(Digit
5、al Family)、家庭網(wǎng)絡(luò)(Home Net/Networks for Home)、網(wǎng)絡(luò)家居(Network Home)、智能家庭/建筑(Intelligent Home/Building),在我國(guó)香港和臺(tái)灣等地區(qū),還有數(shù)碼家庭、數(shù)碼家居等稱法。智能家居系統(tǒng)讓您輕松享受生活。出門在外,您可以通過(guò)電話、電腦來(lái)遠(yuǎn)程遙控您的家居各智能系統(tǒng),例如在回家的路上提前打開(kāi)家中的空調(diào)和熱水器;到家開(kāi)門時(shí),借助門磁或紅外傳感器,系統(tǒng)會(huì)自動(dòng)打開(kāi)過(guò)道燈,同時(shí)打開(kāi)電子門鎖,安防撤防,開(kāi)啟家中的照明燈具和窗簾迎接您的歸來(lái);回到家里,使用遙控器您可以方便地控制房間內(nèi)各種電器設(shè)備,可以通過(guò)智能化照明系統(tǒng)選擇預(yù)設(shè)的燈光場(chǎng)
6、景,讀書時(shí)營(yíng)造書房舒適的安靜;臥室里營(yíng)造浪漫的燈光氛圍這一切,主人都可以安坐在沙發(fā)上從容操作,一個(gè)控制器可以遙控家里的一切,比如拉窗簾,給浴池放水并自動(dòng)加熱調(diào)節(jié)水溫,調(diào)整窗簾、燈光、音響的狀態(tài);廚房配有可視電話,您可以一邊做飯,一邊接打電話或查看門口的來(lái)訪者;在公司上班時(shí),家里的情況還可以顯示在辦公室的電腦或手機(jī)上,隨時(shí)查看;門口機(jī)具有拍照留影功能,家中無(wú)人時(shí)如果有來(lái)訪者,系統(tǒng)會(huì)拍下照片供您回來(lái)查詢。2.1.1DS18B20的原理DS18B20的特點(diǎn):DS18B20 單線數(shù)字溫度傳感器,即“一線器件”,其具有獨(dú)特的優(yōu)點(diǎn):( 1 )采用單總線的接口方式 與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處
7、理器與 DS18B20 的雙向通訊。單總線具有經(jīng)濟(jì)性好,抗干擾能力強(qiáng),適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,使用方便等優(yōu)點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。( 2 )測(cè)量溫度范圍寬,測(cè)量精度高 DS18B20 的測(cè)量范圍為 -55 + 125 ; 在 -10+ 85C范圍內(nèi),精度為 0.5C 。( 3 )在使用中不需要任何外圍元件。( 4 )持多點(diǎn)組網(wǎng)功能 多個(gè) DS18B20 可以并聯(lián)在惟一的單線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫。( 5 )供電方式靈活 DS18B20 可以通過(guò)內(nèi)部寄生電路從數(shù)據(jù)線上獲取電源。因此,當(dāng)數(shù)據(jù)線上的時(shí)序滿足一定的要求時(shí),可以不接外部電源,從而使系統(tǒng)結(jié)構(gòu)更趨簡(jiǎn)單
8、,可靠性更高。( 6 )測(cè)量參數(shù)可配置 DS18B20 的測(cè)量分辨率可通過(guò)程序設(shè)定 912 位。( 7 ) 負(fù)壓特性電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。( 8 )掉電保護(hù)功能 DS18B20 內(nèi)部含有 EEPROM ,在系統(tǒng)掉電以后,它仍可保存分辨率及報(bào)警溫度的設(shè)定值。DS18B20 具有體積更小、適用電壓更寬、更經(jīng)濟(jì)、可選更小的封裝方式,更寬的電壓適用范圍,適合于構(gòu)建自己的經(jīng)濟(jì)的測(cè)溫系統(tǒng),因此也就被設(shè)計(jì)者們所青睞。DS18B20管腳排列:1. GND為電源地;2. DQ為數(shù)字信號(hào)輸入/輸出端;3. VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)DS18B20 單線
9、通信:DS18B20 單線通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,如果出現(xiàn)序列混亂, 1-WIRE 器件將不響應(yīng)主機(jī),因此讀寫時(shí)序很重要。系統(tǒng)對(duì) DS18B20 的各種操作必須按協(xié)議進(jìn)行。根據(jù) DS18B20 的協(xié)議規(guī)定,微控制器控制 DS18B20 完成溫度的轉(zhuǎn)換必須經(jīng)過(guò)以下 3個(gè)步驟 :(1)每次讀寫前對(duì) DS18B20 進(jìn)行復(fù)位初始化。復(fù)位要求主 CPU 將數(shù)據(jù)線下拉 500us ,然后釋放, DS18B20 收到信號(hào)后等待 16us60us 左右,然后發(fā)出60us240us 的存在低脈沖,主 CPU 收到此信號(hào)后表示復(fù)位成功。(2)發(fā)送一條 ROM 指令(3)發(fā)送存儲(chǔ)器指令具體操作舉
10、例:現(xiàn)在我們要做的是讓DS18B20進(jìn)行一次溫度的轉(zhuǎn)換,那具體的操作就是:1、主機(jī)先作個(gè)復(fù)位操作,2、主機(jī)再寫跳過(guò)ROM的操作(CCH)命令,3、然后主機(jī)接著寫個(gè)轉(zhuǎn)換溫度的操作命令,后面釋放總線至少一秒,讓DS18B20完成轉(zhuǎn)換的操作。在這里要注意的是每個(gè)命令字節(jié)在寫的時(shí)候都是低字節(jié)先寫,例如CCH的二進(jìn)制為,在寫到總線上時(shí)要從低位開(kāi)始寫,寫的順序是“零、零、壹、壹、零、零、壹、壹”。整個(gè)操作的總線狀態(tài)如下圖。讀取RAM內(nèi)的溫度數(shù)據(jù)。同樣,這個(gè)操作也要接照三個(gè)步驟。1、主機(jī)發(fā)出復(fù)位操作并接收DS18B20的應(yīng)答(存在)脈沖。2、主機(jī)發(fā)出跳過(guò)對(duì)ROM操作的命令(CCH)。3、主機(jī)發(fā)出讀取RAM的
11、命令(BEH),隨后主機(jī)依次讀取DS18B20發(fā)出的從第0一第8,共九個(gè)字節(jié)的數(shù)據(jù)。如果只想讀取溫度數(shù)據(jù),那在讀完第0和第1個(gè)數(shù)據(jù)后就不再理會(huì)后面DS18B20發(fā)出的數(shù)據(jù)即可。同樣讀取數(shù)據(jù)也是低位在前的。整個(gè)操作的總線狀態(tài)如下圖:2.1.2TGS813的工作原理下圖為TGS813的內(nèi)部結(jié)構(gòu),TGS813共有6個(gè)引腳,其中引腳1和引腳3短路后接回路電壓;引腳4和引腳6短接后接回路電壓;引腳4和引腳6短接后作為傳感器的信號(hào)輸出端;引腳2和引腳5為傳感器的加熱絲的兩端,外接加熱絲電壓。TGS813傳感器需要施加兩個(gè)電壓:加熱器電壓Vh和回路電壓Vc。Vh用于維持敏感素子處于與對(duì)象氣體相適應(yīng)的特定溫度
12、而施加在集成的加熱器上。Vc則是用于測(cè)定與傳感器串聯(lián)的負(fù)載電阻Rl上的兩端電壓Vrl。只要能滿足傳感器的電器特性要求,Vc和Vh 可以共用一路電源。為了使敏感素子的功耗 低于15mW的限度值,需要選擇適當(dāng)?shù)腞L向左轉(zhuǎn)|向右轉(zhuǎn)值。 基于氣敏傳感器TGS813的家用可燃?xì)怏w泄漏報(bào)警通風(fēng)裝置的方案。該設(shè)計(jì)的系統(tǒng)利用TGS813對(duì)可燃性氣體進(jìn)行監(jiān)測(cè),當(dāng)氣體濃度超標(biāo)時(shí),傳感器輸出的電壓信號(hào)將大于設(shè)定電壓,比較器比較之后正向輸出,經(jīng)過(guò)功率放大,最后驅(qū)動(dòng)音響報(bào)警電路及排氣裝置。該設(shè)計(jì)具有線路簡(jiǎn)單、成本低、操作方便等優(yōu)點(diǎn)。為了補(bǔ)償溫度和濕度對(duì)傳感器特性的影響,同時(shí)為了獲得更高的精度,故使用熱敏電阻或濕敏傳感器
13、對(duì)電路進(jìn)行補(bǔ)償。該設(shè)計(jì)的傳感器電路及溫度補(bǔ)償電路如圖3所示。 2.1.3UD-02離子傳感器原理:在20左右的攝氏度條件、清潔空氣下,收集電極的平衡電位為5伏到5.6伏;有煙霧是,電位變化可達(dá)1.11.2V。極間電容4PF,AM241放射源為0.810.99uCi;器件重量12g,主要結(jié)構(gòu)材料為不銹鋼和塑料。用電加熱器加熱到440480攝氏度時(shí),對(duì)不同材料所產(chǎn)生的煙霧,其集電極電位變化1.0V是的靈敏度如表所示:燃燒材料煙霧含量mg/陰暗度%硅橡膠261.0乙烯基材料291.1紙煙紙煙11532.1.4顯示屏的選擇一般來(lái)說(shuō),應(yīng)用于顯示屏的LED發(fā)光材料有以下幾種形式: LED發(fā)光燈(或稱單燈)
14、 一般由單個(gè)LED晶片,反光杯,金屬陽(yáng)極,金屬陰極構(gòu)成,外包具有透光聚光能力的環(huán)氧樹脂外殼。可用一個(gè)或多個(gè)(不同顏色的)單燈構(gòu)成一個(gè)基本像素,由于亮度高,多用于戶外顯示屏。 LED點(diǎn)陣模塊 由若干晶片構(gòu)成發(fā)光矩陣,用環(huán)氧樹脂封裝于塑料殼內(nèi)。適合行列掃描驅(qū)動(dòng),容易構(gòu)成高密度的顯示屏,多用于戶內(nèi)顯示屏。 貼片式LED發(fā)光燈(或稱SMD LED) 就是LED發(fā)光燈的貼焊形式的封裝,可用于戶內(nèi)全彩色顯示屏,可實(shí)現(xiàn)單點(diǎn)維護(hù),有效克服馬賽克現(xiàn)象。 LED之所以受到廣泛重視而得到迅速發(fā)展,是與它本身所具有的優(yōu)點(diǎn)分不開(kāi)的。這些優(yōu)點(diǎn)概括起來(lái)是:亮度高、工作電壓低、功耗小、大型化、壽命長(zhǎng)、耐沖擊和性能穩(wěn)定。LED
15、的發(fā)展前景極為廣闊,正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。LED顯示屏廣泛應(yīng)用2 在體育場(chǎng)館、商業(yè)應(yīng)用、銀行、證劵、郵政、碼頭、商場(chǎng)、車站、郵政、電訊、機(jī)關(guān)、監(jiān)控、學(xué)校、餐廳、酒店、娛樂(lè)、等不同戶外場(chǎng)所的廣告宣傳。就本次課程設(shè)計(jì)來(lái)說(shuō)LCD1602、12864、LCD5110都是可以選擇的,我們著重比較他們的價(jià)格。芯片LCD1602LCD12864LCD5110價(jià)格(元)52350+穩(wěn)定性穩(wěn)定穩(wěn)定穩(wěn)定可靠性可靠可靠可靠這就是選擇LCD1602的原因602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:GND為電源地第2腳:VCC接5V電源正極第3腳:V0為液
16、晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì) 產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度)。第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。第5腳:RW為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,以51為例的簡(jiǎn)單原理圖低電平(0)時(shí)進(jìn)行寫操作。第6腳:E(或EN)端為使能(enable)端,高電平(1)時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令。第714腳:D0D7為8位雙向數(shù)據(jù)端。第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。特性3.3V或5V工作電壓,對(duì)比度可調(diào)內(nèi)含復(fù)位電路提供各種控制命令,如:清屏、字符閃爍、光
17、標(biāo)閃爍、顯示移位等多種功能有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM內(nèi)建有192個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM8個(gè)可由用戶自定義的5X7的字符發(fā)生器CGRAM特征應(yīng)用微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧,常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中。操作控制注:關(guān)于E=H脈沖開(kāi)始時(shí)初始化E為0,然后置E為1。字符集1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看
18、到字母“A”。在單片機(jī)編程中還可以用字符型常量或變量賦值,如A。因?yàn)镃GROM儲(chǔ)存的字符代碼與我們PC中的字符代碼是基本一致的,因此我們?cè)谙駾DRAM寫C51字符代碼程序時(shí)甚至可以直接用P1=A這樣的方法。PC在編譯時(shí)就把A先轉(zhuǎn)換為41H代碼了。CGROM中字符碼與字符字模關(guān)系對(duì)照表字符代碼0x000x0F為用戶自定義的字符圖形RAM(對(duì)于5X8點(diǎn)陣的字符,可以存放8組,5X10點(diǎn)陣的字符,存放4組),就是CGRAM了。0x200x7F為標(biāo)準(zhǔn)的ASCII碼,0xA00xFF為日文字符和希臘文字符,其余字符碼(0x100x1F及0x800x9F)沒(méi)有定義。以下是1602的16進(jìn)制ASCII碼表地
19、址:讀的時(shí)候,先讀上面那行,再讀左邊那列,如:感嘆號(hào)!的ASCII為0x21,字母B的ASCII為0x42(前面加0x表示十六進(jìn)制)。指令集指令碼功能令:RSR/WD7D6D5D4D3D2D1D0說(shuō)明清顯示0000000001將DDRAM填滿20H,并且設(shè)定DDRAM的地址計(jì)數(shù)器(AC)到00H歸位000000001*設(shè)定DDRAM的地址計(jì)數(shù)器(AC)到00H,并且將游標(biāo)移到開(kāi)頭原點(diǎn)位置;這個(gè)指令不改變DDRAM 的內(nèi)容顯示開(kāi)關(guān)控制指令0000001DCBD=1: 整體顯示 ON,C=1: 游標(biāo)ON,B=1:游標(biāo)位置反白允許進(jìn)入模式設(shè)置指令00000001I/DSI/D=1,光標(biāo)或閃爍向右移動(dòng)
20、,AC增加1。I/D=0,光標(biāo)或閃爍向左移動(dòng),AC減少1,S整個(gè)顯示移動(dòng)光標(biāo)或顯示移位指令000001S/CR/L*光標(biāo)或顯示移位指令可使光標(biāo)或顯示在沒(méi)有讀寫數(shù)據(jù)的情況下,向左或向右移動(dòng),指令不改變DDRAM 的內(nèi)容功能設(shè)定00001DLNF*DL=0/1:4/8位數(shù)據(jù),N=0/1,單行/雙行顯示,F=0/1,5*8/5*10點(diǎn)陣顯示模式設(shè)置CGRAM地址0001AC5AC4AC3AC2AC1AC0CGRAM地址設(shè)置指令設(shè)置CGRAM地址指針,設(shè)定DDRAM地址0010AC5AC4AC3AC2AC1AC0DDRAM地址設(shè)置指令設(shè)置DDRAM地址。一行地址范圍00H4FH,兩行DDRAM地址第一
21、行00H27H,第二行40H67H,加上高2位,一行:80HA7H,二行:C0HE7H讀忙標(biāo)志和地址01BFAC6AC5AC4AC3AC2AC1AC0BF:忙標(biāo)志位,BF=1,模塊正在進(jìn)行內(nèi)部操作,此時(shí)模塊不接受任何外部指令和數(shù)據(jù)。BF=0,模塊可以接受外部的指令和數(shù)據(jù);同時(shí)可以讀出地址計(jì)數(shù)器(AC)的值。寫RAM指令10D7D6D5D4D3D2D1D0將數(shù)據(jù)D7-D0寫入到內(nèi)部的RAM (DDRAM/CGRAM/IRAM/GRAM),將用戶自定義的字符寫入CGRAM中,D7D5為000,D4D0為5點(diǎn)的字模數(shù)據(jù)讀RAM指令11D7D6D5D4D3D2D1D0從內(nèi)部RAM讀取數(shù)據(jù)D7D0(DD
22、RAM/CGRAM/IRAM/GRAM)三、硬件設(shè)計(jì)(protell和proteus仿真)原理圖:溫度和感煙部分pcb板protues仿真:四、軟件設(shè)計(jì)聲明:軟件設(shè)計(jì)只實(shí)現(xiàn)了溫度檢測(cè)。proteus也只仿真了這部分4.1LCD部分時(shí)序圖LCD1602的時(shí)序圖解釋不同公司生產(chǎn)的1602液晶的時(shí)序圖差不多都一樣,所以MCU控制程序也差不多,一般都是通用的。下面來(lái)看一下它的時(shí)序圖 五、設(shè)計(jì)總結(jié)本次傳感器課程設(shè)計(jì)-基于智能家居涵蓋了溫度檢測(cè),燃?xì)庑孤?,和火?zāi)報(bào)警系統(tǒng),基本上達(dá)到題目要求。遇到了許多問(wèn)題:1. Protell里面好多的封裝找不到,我都是自己畫的。2. 好多傳感器不了解其用法,也不知道參數(shù)
23、的實(shí)際選擇。3. 對(duì)單片機(jī)軟件編寫不夠熟練當(dāng)然主要還是學(xué)到了很多東西:1. 了解了各種傳感器的應(yīng)用,更深刻的理解了各種傳感器的用法。2. 了解了智能家居的發(fā)展歷史和前景。3. 對(duì)傳感器參數(shù)有了跟進(jìn)一步的認(rèn)識(shí)和經(jīng)驗(yàn)。4. 對(duì)單片機(jī)系統(tǒng)也有了進(jìn)一步的掌握。六、參考文獻(xiàn)【1】Atmel公司AT89C51用戶手冊(cè)【2】周潤(rùn)景,張麗娜.PROTEUS入門教程.北京:機(jī)械工業(yè)出版社,2007【3】Keil Software公司。Keil uvision4用戶手冊(cè)?!?】張麗娜,劉美玲,姜新華。51系統(tǒng)開(kāi)發(fā)與實(shí)踐.北京航空航天大學(xué)出版社【5】自動(dòng)檢測(cè)技術(shù)與儀表控制系統(tǒng).化學(xué)出版社附件代碼如下#include
24、 #include #defineDATAP1 /1602驅(qū)動(dòng)端口/ROM操作命令#define READ_ROM 0x33 /讀ROM #define SKIP_ROM 0xCC /跳過(guò)ROM #define MATCH_ROM 0x55 /匹配ROM #define SEARCH_ROM 0xF0 /搜索ROM #define ALARM_SEARCH 0xEC /告警搜索/存儲(chǔ)器操作命令#define ANEW_MOVE 0xB8 /重新調(diào)出E2數(shù)據(jù)#define READ_POWER 0xB4 /讀電源#define TEMP_SWITCH 0x44 /啟動(dòng)溫度變換 #define R
25、EAD_MEMORY 0xBE /讀暫存存儲(chǔ)器#define COPY_MEMORY 0x48 /復(fù)制暫存存儲(chǔ)器#define WRITE_MEMORY 0x4E /寫暫存存儲(chǔ)器/數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)typedef struct tagTempDataunsigned char btThird;/百位數(shù)據(jù)unsigned char btSecond;/十位數(shù)據(jù)unsigned char btFirst;/個(gè)位數(shù)據(jù)unsigned char btDecimal;/小數(shù)點(diǎn)后一位數(shù)據(jù)unsigned charbtNegative;/是否為負(fù)數(shù)TEMPDATA;TEMPDATA m_TempData;/引腳定
26、義sbit DQ = P27;/數(shù)據(jù)線端口sbit RS=P20;sbit RW=P21;sbit E=P22;/DS18B20序列號(hào),通過(guò)調(diào)用GetROMSequence()函數(shù)在P1口讀出(讀8次)const unsigned char code ROMData18 = 0x28, 0x33, 0xC5, 0xB8, 0x00, 0x00, 0x00, 0xD7;/U1const unsigned char code ROMData28 = 0x28, 0x30, 0xC5, 0xB8, 0x00, 0x00, 0x00, 0x8E;/U2const unsigned char code
27、ROMData38 = 0x28, 0x31, 0xC5, 0xB8, 0x00, 0x00, 0x00, 0xB9;/U3const unsigned char code ROMData48 = 0x28, 0x32, 0xC5, 0xB8, 0x00, 0x00, 0x00, 0xE0;/U4const unsigned char code ROMData58 = 0x28, 0x34, 0xC5, 0xB8, 0x00, 0x00, 0x00, 0x52;/U5const unsigned char code ROMData68 = 0x28, 0x35, 0xC5, 0xB8, 0x0
28、0, 0x00, 0x00, 0x65;/U6const unsigned char code ROMData78 = 0x28, 0x36, 0xC5, 0xB8, 0x00, 0x00, 0x00, 0x3C;/U7const unsigned char code ROMData88 = 0x28, 0x37, 0xC5, 0xB8, 0x00, 0x00, 0x00, 0x0B;/U8/判斷忙指令void Busy()DATA = 0xff;RS = 0;RW = 1; while(DATA & 0x80) E = 0; E = 1; E = 0;/寫指令程序void WriteComm
29、and(unsigned char btCommand)Busy();RS = 0;RW = 0;E = 1;DATA = btCommand;E = 0;/寫數(shù)據(jù)程序void WriteData(unsigned char btData)Busy();RS = 1;RW = 0;E = 1;DATA = btData;E = 0;/清屏顯示void Clear()WriteCommand(1);/初始化void Init()WriteCommand(0x0c);/開(kāi)顯示,無(wú)光標(biāo)顯示W(wǎng)riteCommand(0x06);/文字不動(dòng),光標(biāo)自動(dòng)右移WriteCommand(0x38);/設(shè)置顯示模
30、式:8位2行5x7點(diǎn)陣/顯示單個(gè)字符void DisplayOne(bit bRow, unsigned char btColumn, unsigned char btData, bit bIsNumber)if (bRow) WriteCommand(0xc0 + btColumn);else WriteCommand(0x80 + btColumn);if (bIsNumber) WriteData(btData + 0x30);else WriteData(btData);/顯示字符串函數(shù)void DisplayString(bit bRow, unsigned char btColum
31、n, unsigned char *pData)while (*pData != 0) if (bRow) WriteCommand(0xc0 + btColumn);/顯示在第1行 else WriteCommand(0x80 + btColumn);/顯示在第0行WriteData(*(pData+);/要顯示的數(shù)據(jù)btColumn+;/列數(shù)加一 /延時(shí)16us子函數(shù)void Delay16us()unsigned char a;for (a = 0; a 4; a+);/延時(shí)60us子函數(shù)void Delay60us()unsigned char a;for (a = 0; a 18;
32、a+);/延時(shí)480us子函數(shù)void Delay480us()unsigned char a;for (a = 0; a 158; a+);/延時(shí)240us子函數(shù)void Delay240us()unsigned char a;for (a = 0; a 78; a+);/延時(shí)500ms子函數(shù)void Delay500ms()unsigned char a, b, c;for (a = 0; a 250; a+)for (b = 0; b 3; b+)for (c = 0; c 220; c+);/芯片初始化void Initialization()while(1)DQ = 0;Delay4
33、80us(); /延時(shí)480usDQ = 1;Delay60us();/延時(shí)60usif(!DQ) /收到ds18b20的應(yīng)答信號(hào)DQ = 1;Delay240us();/延時(shí)240usbreak;/寫一個(gè)字節(jié)(從低位開(kāi)始寫)void WriteByte(unsigned char btData)unsigned char i, btBuffer;for (i = 0; i i;if (btBuffer & 1)DQ = 0;_nop_();_nop_();DQ = 1;Delay60us();elseDQ = 0;Delay60us();DQ = 1;/讀一個(gè)字節(jié)(從低位開(kāi)始讀)unsign
34、ed char ReadByte()unsigned char i, btDest;for (i = 0; i = 1;DQ = 0;_nop_();_nop_();DQ = 1;Delay16us();if (DQ) btDest |= 0x80; Delay60us();return btDest;/序列號(hào)匹配void MatchROM(const unsigned char *pMatchData)unsigned char i;Initialization();WriteByte(MATCH_ROM);for (i = 0; i 8; i+) WriteByte(*(pMatchDat
35、a + i);/得到64位ROM序列(在P1口顯示,必須與Proteus聯(lián)調(diào)且在單步調(diào)試下才能得到)/*void GetROMSequence()unsigned char i;Initialization();WriteByte(READ_ROM);for (i = 0; i 8; i+)P1 = ReadByte();*/讀取溫度值TEMPDATA ReadTemperature()TEMPDATA TempData;unsigned int iTempDataH;unsigned char btDot, iTempDataL;static unsigned char i = 0;TempData.btNegative = 0;/為0溫度為正i+;if (i = 9) i = 1;Initialization();WriteByte(SKIP_ROM);/跳過(guò)ROM匹配WriteByte(TEMP_SWITCH);/啟動(dòng)轉(zhuǎn)換Delay500ms(); /調(diào)用一次就行Delay500ms();
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年稷山社工面試試題及答案
- 2025年運(yùn)籌學(xué)對(duì)策論試題及答案
- 2025年零售媒體行業(yè)研究報(bào)告
- 2025年課程標(biāo)準(zhǔn)考試題及答案
- 鋼結(jié)構(gòu)拆除專項(xiàng)施工方案
- 5f的徑向分布函數(shù)極大值
- c++多線程同步原子操作原理
- 住宅水電施工方案
- 水罐施工方案
- 加熱涂料施工方案
- 2024年共青團(tuán)入團(tuán)考試測(cè)試題庫(kù)及答案
- 2024解析:第十二章機(jī)械效率-講核心(原卷版)
- 四川省德陽(yáng)市(2024年-2025年小學(xué)五年級(jí)語(yǔ)文)人教版小升初真題(上學(xué)期)試卷及答案
- 2019北師大版高中英語(yǔ)單詞表全7冊(cè)
- 2023年海南省公務(wù)員錄用考試《行測(cè)》真題卷及答案解析
- 2024-2030年中國(guó)語(yǔ)言培訓(xùn)行業(yè)競(jìng)爭(zhēng)分析及發(fā)展策略建議報(bào)告版
- 女性健康知識(shí)講座課件
- 兒童社區(qū)獲得性肺炎管理指南(2024修訂)
- 國(guó)際貿(mào)易規(guī)則變革研究
- 職業(yè)技能大賽互聯(lián)網(wǎng)營(yíng)銷師(直播銷售員)賽項(xiàng)備賽試題庫(kù)(濃縮300題)
- 智鼎在線測(cè)評(píng)題庫(kù)推理題
評(píng)論
0/150
提交評(píng)論