版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、信息學(xué)院第三屆電子創(chuàng)新設(shè)計(jì)大賽智能教學(xué)樓(論文)班級隊(duì)名成員2013年12月20日針對國際能源短缺及高校教學(xué)樓用電浪費(fèi)的現(xiàn)象,為y有效利用教室燈光、 節(jié)約能源,我們設(shè)計(jì)了以stc89c52單片機(jī)作為控制核心的教學(xué)樓智能控制系 統(tǒng),能根據(jù)人物的活動(dòng)、光強(qiáng)與溫度來控制室內(nèi)的燈光與風(fēng)扇并且依靠走廊內(nèi)光 強(qiáng)與聲咅對燈光進(jìn)行調(diào)控,還能對煙霧等進(jìn)行預(yù)警。調(diào)試結(jié)果證明該系統(tǒng)具有很 好的人機(jī)交互界面,且電路簡單,成本低,爺約能源,可移楨性好。也可應(yīng)用于 圖書館、會(huì)議室、辦公室、辦公等場所,具有很好的實(shí)際應(yīng)用價(jià)值和廣泛的應(yīng)用 空間。本課題針對教學(xué)樓各個(gè)模塊的控制,分析了教學(xué)樓燈光智能控制的原理和 實(shí)現(xiàn)方法,提出
2、y基于單片機(jī)設(shè)計(jì)教室燈光智能控制系統(tǒng)的思路,并在此基礎(chǔ)上 開發(fā)z智能控制系統(tǒng)的硬件模塊和和應(yīng)軟件部分。該系統(tǒng)以stc89c52單片機(jī)作為控制模塊的核心部件,室內(nèi)采用熱釋紅外人 體傳感器檢測人體的存在,采用光敏三極管構(gòu)成的電路檢測環(huán)境光的強(qiáng)度,采用 ds18b20及l(fā)cd1602來測量環(huán)境溫度并顯示,并且可以通過設(shè)定的溫度值來控 制風(fēng)扇的開啟與關(guān)閉;走廊采用聲音傳感模塊和光敏三極管構(gòu)成的電路檢測環(huán)境 光的強(qiáng)度從而控制燈的開扁并且具有檢測煙霧并進(jìn)行報(bào)普的功能,避免y教學(xué)樓 用電的大量浪費(fèi)。本系統(tǒng)程序采用c語言編寫,采用模塊化結(jié)構(gòu)設(shè)計(jì)、條理清晰、通用性好, 便于改進(jìn)和擴(kuò)充。該系統(tǒng)具有體積小,控制方便
3、,可靠性高,針對性強(qiáng),性價(jià)比 高等優(yōu)點(diǎn),可以滿足各類院校對教學(xué)樓智能控制的要求,很大程度的達(dá)到節(jié)能目 的o1雜:旅11.1 xxxx的論證與選擇11.2 xxxx的論證與選擇11.3控制系統(tǒng)的論證與選擇錯(cuò)誤!未定義書簽。1.3控制系統(tǒng)的論證與選擇錯(cuò)誤!未定義書簽。2系統(tǒng)理論分析與計(jì)算錯(cuò)誤!未定義書簽。2.1 xxxx的分析錯(cuò)誤!未定義書簽。2.1.1 xxx錯(cuò)誤!未定義書簽。2.1.2 xxx錯(cuò)誤!未定義書簽。2.1.3 xxx錯(cuò)誤!未定義書簽。2.2 xxxx的計(jì)算錯(cuò)誤!未定義書簽。2.2.1 xxx錯(cuò)誤!未定義書簽。2.2.2 xxx錯(cuò)誤!未定義書簽。2.2.3 xxx錯(cuò)誤!未定義書簽。2
4、.3 xxxx的計(jì)算錯(cuò)誤!未定義書簽。2.3.1 xxx錯(cuò)誤!未定義書簽。2.3.2 xxx錯(cuò)誤!未定義書簽。2.3.3 xxx錯(cuò)誤!未定義書簽。3電路與程序設(shè)計(jì)63.1電路的沒計(jì)63.1.1系統(tǒng)總體框圖63.1.2 xxxx 了-系統(tǒng)框圖與電路原理圖63.1.3 xxxx子系統(tǒng)框圖與電路原理圖73.1.4 電源73.2程序的設(shè)計(jì)73.2.1程序功能描述與設(shè)計(jì)思路73.2.2程序流程圖74測試方案與測試結(jié)果84.1測試方案84.2測試條件與儀器104.3測試結(jié)果及分析錯(cuò)誤!未定義書簽。4.3.1測試結(jié)果(數(shù)裾)錯(cuò)誤!未定義書簽。4.3.2測試分析與結(jié)論105總、結(jié)-10附錄1:電路原理閣11附
5、錄2:源程序12ill1系統(tǒng)方案木系統(tǒng)主要由智能教室模塊、走廊控制模塊、電源模塊組成,下ifu分別論證這幾個(gè)模塊的選擇。1.1智能教室模塊的論證與選擇本系統(tǒng)以stc89c52單片機(jī)作為控制模塊的核心部件,室內(nèi)采用熱釋紅外人體傳感 器檢測人體的存在,采用光敏三極管構(gòu)成的電路檢測環(huán)境光的強(qiáng)度,采用ds18b20及 lcd 1602來測量環(huán)境溫度并顯示,并且可以通過設(shè)定的溫度值來控制風(fēng)扇的開啟與關(guān) 閉,具體工作流程如下:1. 當(dāng)熱釋紅外人體傳感器檢測人體的存在(輸出一個(gè)高信號)并且光強(qiáng)較低(輸 出一個(gè)高信號)的情況下,通過單片機(jī)檢測到兩個(gè)高信號來使室內(nèi)的燈光控 制口輸出高信號,從而讓室內(nèi)的燈光亮起。
6、2. 當(dāng)熱釋紅外人體傳感器檢測人體的存在(輸出一個(gè)高信號)并且溫度高于所 設(shè)定的溫度值(輸出一個(gè)高信號)吋,通過單片機(jī)檢測到兩個(gè)高信號來使風(fēng) 碩控制門輸出商信號,從而使風(fēng)婉轉(zhuǎn)動(dòng)。但美中不足的是:燈光過喑甚至沒有亮度,并且風(fēng)扇的轉(zhuǎn)動(dòng)往往讓lcd 1602的顯 示屏閃爍或者沒有任何顯示。方案二:此方案的設(shè)計(jì)是在方案一的基礎(chǔ)上進(jìn)行的改進(jìn),經(jīng)過我們數(shù)次的測試與論證得出了 一些重要的結(jié)論:燈光過喑甚至沒有亮度是由于電壓很小,達(dá)不到燈光正常照明的電壓, 風(fēng)扇的轉(zhuǎn)動(dòng)往往讓lcd1602的顯示屏閃爍或者沒有任何顯示也是由于電壓不足導(dǎo)致的, 因此,我們小組成員提出并采用了通過繼電器來直接供電的措施,從而解決了這
7、些問題。綜合以上方案,選擇方案二。1.2煙霧傳感器的論證與選擇煙霧傳感器屬于氣敏傳感器,是氣-電變換器,它將可燃性氣體在空氣中的含量(即濃 度)轉(zhuǎn)化成電壓或者電流信號,通過a/d轉(zhuǎn)換電路將模擬量轉(zhuǎn)換成數(shù)字量后送到單片 機(jī),進(jìn)而由單片機(jī)完成數(shù)據(jù)處理、濃度處理及報(bào)警控制等工作。傳感器作為煙霧檢測 報(bào)警器的信號采集部分,是儀表的核心組成部分之一。由此可見,傳感器的選型是非常 重要的。煙霧傳感器介紹方案一:利用物理化學(xué)性質(zhì)的煙霧傳感器:如半導(dǎo)體煙霧傳感器、接觸燃燒煙霧 傳感器等。方案二:利用物理性質(zhì)的煙霧傳感器:如熱導(dǎo)煙霧傳感器、光干涉煙霧傳感器、 紅外傳感器等。方案三:利用電化學(xué)性質(zhì)的煙霧傳感器:如
8、電流型煙霧傳感器、電勢型氣體傳感器等。煙霧傳感器應(yīng)滿足的基本條件一個(gè)煙霧傳感器可以是單功能的,也可以是多功能的;可以是單一的實(shí)體,也可以是由多個(gè)不同功能傳感器組成的陣列。但是,任何一個(gè)完整的煙霧傳感器都必須具備以下條件:(a) 能選擇性地檢測某種單一煙霧,而對共存的其它煙霧不響應(yīng)或低響應(yīng);(b) 對被測煙霧具有較高的靈敏度,能有效地檢測允許范圍a的煙霧濃度;(c) 對檢測信號響應(yīng)速度快,重復(fù)性好;(d) 長期工作穩(wěn)定性好;(e) 使用壽命長;(f) 制造成本低,使川與維護(hù)方便。mq-2型煙霧傳感器的工作原理半導(dǎo)體煙霧傳感器包括用氧化物半導(dǎo)體陶瓷材料作為敏感體制作的煙霧傳感器以及 用單晶半導(dǎo)體器
9、件制作的煙霧傳感器。按敏感機(jī)理分類,討分為電阻型和非電阻型。半 導(dǎo)體氣敏元件也有n型和p型之分。n型在檢測時(shí)阻值隨煙霧濃度的増人而減??;p型 阻值隨煙霧濃度的培大而培大。半導(dǎo)體氣敏傳感器的分類如表所示。類型所利用的特性工作溫度代表性被檢測氣體電阻型電阻表面電阻控制器300450o c可燃性氣體體電阻控制器300450o c700° c以上乙醇、可燃性氣體非電阻型二極管整流特性室溫200° ch2、c0、乙醇晶體管特性150° c112、ii2s本設(shè)計(jì)中采用的mq-2型煙霧傳感器屬于二氧化錫半導(dǎo)體氣敏材料,屬于表面離子 式n型半導(dǎo)體。當(dāng)處于200300°
10、c溫度時(shí),二氧化錫吸附空氣中的氧,形成氧的負(fù)離 子吸附,使半導(dǎo)體中的電子密度減少,從而使其電阻值増加。當(dāng)與煙霧接觸時(shí),如果 晶粒間界處的勢壘受到該煙霧的調(diào)制而變化,就會(huì)引起表而電導(dǎo)率的變化。利用這一 點(diǎn)就可以獲得這種煙霧存在的信息。遇到可燃煙霧(如ch4等)時(shí),原來吸附的氧脫附,而由可燃煙霧以正離子狀態(tài) 吸附在二氧化錫半導(dǎo)體表血;氧脫附放ili電子,煙霧以正離子狀態(tài)吸附也要放出電子, 從而使二氧化錫半導(dǎo)體導(dǎo)帶電子密度増加,電阻值下降。而當(dāng)空氣中沒有煙霧時(shí),二氧 化錫半導(dǎo)體又會(huì)自動(dòng)恢復(fù)氧的負(fù)離子吸附,使電附值升高到初始狀態(tài)。這就是mq-2 型燃性煙霧傳感器檢測可燃煙霧的基本原理。mq-2型傳感器
11、的結(jié)構(gòu)圖如圖2.1所示, 其外觀如2.2所示。s+is圖2.1mq-2型傳感器的結(jié)構(gòu)圖圖2.2 mq-2型傳感器的外觀i»iuaapicujr松b016.82 0.5 的.5mmmwmq-2氣敏元件的結(jié)構(gòu)和外形如圖1所示(結(jié)構(gòu)aorb),由微型al203陶瓷管、sn02敏感 e,測量電極和加熱器構(gòu)成的敏感元件固定在塑料或不銹鋼制成的腔體內(nèi),加熱器為氣z敏元件提供了必要的工作條件。封裝好的氣敏元件有6只針狀管腳,其中4個(gè)用于信號 取出,2個(gè)用于提供加熱電流。1.3聲光控制的論證與選擇方案一:含555定時(shí)器、光敏三極管、雙向可控硅的聲光控電路優(yōu)點(diǎn):此聲、光同時(shí)控制的新式照明燈用光敏三極管
12、的輸出端控制555的觸發(fā)控制端,用音頻放大電路控制555的復(fù)位端。555定吋器接成中.穩(wěn)態(tài)觸發(fā)器,控制雙向可控 硅,倚雄易制、成本低、節(jié)電乂方便。原理圖設(shè)計(jì):設(shè)計(jì)中考慮到光敏電阻的阻值隨電壓升高有規(guī)律的卜降,而蜂鳴器則 用駐極體話簡代替。具體原理如圖2-1:+ 10v電位跟隨器晶體管bihrt555定吋器圖2.1 設(shè)計(jì)原理圖555定時(shí)器接成單穩(wěn)態(tài)觸發(fā)器,控制雙向w控硅,當(dāng)555定時(shí)器輸岀商電平,觸發(fā) 可控硅導(dǎo)通,燈泡亮,當(dāng)555定吋器輸出低電平吋,可控硅未導(dǎo)通,燈泡滅。電路由10v 穩(wěn)壓直流電源供電。為使聲光同時(shí)控制,將光敏三極管的輸出端控制555的觸發(fā)復(fù)位端, 咅頻放大電路控制555的觸發(fā)端
13、。缺點(diǎn):該電路在聲強(qiáng)50db時(shí),對照明燈的有效控制率高于94%,過干敏感。很小 的聲音也會(huì)促使燈發(fā)光,會(huì)造成能源的浪費(fèi)。方案二:運(yùn)用y q i制成聲光控電路22 0v摘明燈交諫開關(guān)b形電路檢波器a時(shí)電路光控電路優(yōu)點(diǎn):聲光控延時(shí)幵關(guān)的電路原理圖見圖2-2所示。電路中的主要元器件是使用了 數(shù)字集成電路y q i,其內(nèi)部含有4個(gè)獨(dú)立的與非門vd 1vd4,使電路結(jié)構(gòu)簡單, 工作可靠性高。陶瓷壓電蜂嗚片b把聲音變成直流控制電壓。通過光敏電阻的改變,使 電位發(fā)生改變,從而控制晶閘管的通斷,從而達(dá)到使燈q動(dòng)熄滅的目的。缺點(diǎn):降壓功能不強(qiáng),對晶閘管的沖擊電流大,對燈泡的壽命有影響。方案三:聲光控開關(guān)iccd
14、4011應(yīng)用電路優(yōu)點(diǎn):其采用集成塊iccd4011,制作起來成本低、并且節(jié)電乂方便。同時(shí),對聲咅的靈敏度適中,并且原件容易設(shè)計(jì)。綜合以上三種電路的優(yōu)缺點(diǎn)后,我們決定釆用第三種方案。開始丄初始化關(guān)燈1 'c結(jié)束)3電路與程序設(shè)計(jì)3.1電路的設(shè)計(jì)3.1.1系統(tǒng)總體框圖系統(tǒng)總體框圖如圖所示ds18b20 模塊環(huán)境光采集電路熱釋紅外傳感器聲音采糶電路煙霧報(bào)警模塊stc89s52單片機(jī)最小系統(tǒng)電機(jī)驅(qū)動(dòng)模塊繼電器驅(qū)動(dòng)模塊lcd顯示模塊3.1.2智能教室模塊子電路原理zl .18-1yn >xtauraimo?,2dm 92 v»f22ta1qf2jea11fxwa12f2sca13
15、f2jsxuf2jm1s35xtacf3or»<x9 f3 wt>» ,3 jglu卿 3:xrtnmnsmf37/wr223*3zujoi6t3.1.3走廊子系統(tǒng)電路原理圖3.1.4電源電源曲4節(jié)電池來提供3.2程序的設(shè)計(jì)3.2.1程序功能描述與設(shè)計(jì)思路1、程序功能描述根據(jù)題目要求軟件部分主要實(shí)現(xiàn)鍵盤的設(shè)置和顯示。1)鍵盤實(shí)現(xiàn)功能:設(shè)置頻率值、頻段、電壓值以及設(shè)置輸出信號類型。2)顯示部分:顯示電壓值、頻段、步進(jìn)值、信號類型、頻率。2、程序設(shè)計(jì)思路3.2.2程序流程圖1、主程序流程圖2、xxx子程序流程閣3、xxx子程序流程閣4、xxx子程序流程圖4測試方案與
16、測試結(jié)果4.1測試方案單片機(jī)系統(tǒng)的調(diào)試應(yīng)包括硬件及軟件兩部分,主要是通過調(diào)試發(fā)現(xiàn)硬件及軟件中存 在的悶題,查看其運(yùn)行結(jié)果是否符合設(shè)計(jì)要求。在對系統(tǒng)進(jìn)行實(shí)際調(diào)試時(shí),首先應(yīng)對硬件進(jìn)行靜態(tài)調(diào)試,同時(shí)對系統(tǒng)軟件進(jìn)行初步 調(diào)試,此后再對軟件和硬件進(jìn)行動(dòng)態(tài)調(diào)試,最后冰能使系統(tǒng)進(jìn)入正常工作.(1) 靜態(tài)調(diào)試:靜態(tài)調(diào)試主要是排除明顯的硬件故障。在將芯片、傳感器等元件連接 到電路板上吋,要保證各處電源極性、電壓正確,以防止因電源極性接反或電壓過高損 壞芯片或傳感器。此外,插入芯片必須在斷電的情況下進(jìn)行,特別注意芯片的方向不要 插反。(2) 軟件調(diào)試:在軟件調(diào)試時(shí)采用在計(jì)算機(jī)上利用模擬軟什實(shí)現(xiàn)對單片機(jī)的硬件模 擬
17、、指令模擬及運(yùn)行狀態(tài)模擬,從而完成應(yīng)用軟件開發(fā)的全過程。調(diào)試過程中的運(yùn)行狀 態(tài)、各寄存器狀態(tài)、端口狀態(tài)等都可以在指定的窗口區(qū)域顯示出來,通過這些顯示結(jié)果 隨吋跟蹤程序運(yùn)行狀態(tài),以確定程序運(yùn)行無錯(cuò)誤。(3) 動(dòng)態(tài)調(diào)試:控制系統(tǒng)的軟件和硬件是密切相關(guān)的,由于軟件模擬開發(fā)系統(tǒng)不能對 硬件部分進(jìn)行診斷,同吋也不能實(shí)吋在線仿真,所以用戶程序還需跟硬件連接起來進(jìn)行 聯(lián)調(diào),同時(shí)對軟件和硬件進(jìn)行檢杳和診斷。整個(gè)單片機(jī)系統(tǒng)進(jìn)行在線調(diào)試時(shí),需借助仿 真開發(fā)工具來對用戶軟件及硬件電路進(jìn)行診斷、調(diào)試。在應(yīng)用系統(tǒng)各模塊電路調(diào)試成功£?,將程序加載到在線仿真器.卜.,這時(shí)就能單步或 連續(xù)地執(zhí)行h標(biāo)程序,同吋也可
18、以根據(jù)需要分段設(shè)置斷點(diǎn)執(zhí)行程序。而對于一些與硬件 相關(guān)的用戶程序,如接i驅(qū)動(dòng)程序等,則需耍配合硬件,進(jìn)行在線調(diào)試,如果宥邏輯錯(cuò) 誤,也要及吋糾正修改。程序調(diào)試完畢幻,利用編程器將程序固化到單片機(jī)中,使整個(gè)系統(tǒng)運(yùn)行起來。各模塊電路調(diào)試流程圖如下示:通電運(yùn)行,用萬用 表測量輸出電壓卜載一個(gè)止確 的小程序到最 小系統(tǒng)中檢查電路 尋找原因檢查電路 尋找原因nono圖4-1電源調(diào)試圖4-2單片機(jī)最小系統(tǒng)調(diào)試圖4-3按鍵電路調(diào)試硬件連接無誤下載顯示程序嘯查看硬件和相應(yīng)軟試部分成功圖4-4顯不-屯路調(diào)試圖4-5采集電路調(diào)試4.2測試條件與儀器測試條件:檢杳多次,仿真電路和硬件電路必須與系統(tǒng)原理圖完全相同,并
19、且檢杳 無誤,硬件電路保證無虛焊。測試儀器:高精度的數(shù)字毫伏表,模擬示波器,數(shù)字示波器,數(shù)字萬用表,指針式 萬用表。4.3.2測試分析與結(jié)論根據(jù)上述測試數(shù)據(jù),xxxxxxxxxxxxxxxxxxxxxxxxxxxxx,由此可以得 出以下結(jié)論:1、2、3、綜上所述,本設(shè)計(jì)達(dá)到設(shè)計(jì)要求。5總結(jié)附錄1:電路原理附錄2:源程序#includc<rcg51 .h> #include"lcd.hn #include"temp.h" void lcddisplay(int); sbit k1=p2a4; sbit k2=p2a5; sbit k=p1a3; exte
20、rn int th=20; sbit beep=pl a0; sbit redout=pl 八2; sbit lcd=plal; void main()lcdlnit();lcdwritecom(0xc7);lcdwritcdata('c');while(l)!if(kl=0)delay 1 ms(500);if(kl=0);th+;jif(k2=0)!delay lms(500);if(k2=0);th-;)lcddisplay(dsl 8b20readtemp();void lcddisplay(int temp)int i,tt,mm;unsigned char data
21、s = 0, 0, 0, 0,datas 1 = 0, 0, 0; float tp;if(temp< 0)lcdwritecom(oxco);lcdwritedata(-');i=l;temp=temp-l;temp=tcmp;tp=temp;temp=tp*o.0625*10+0.5; mm=-temp;elselcdwritecom(oxco);lcdwritedata(,+,);tp=temp;temp=tp*0.0625* 10+0.5; mm=temp:)datasoj = temp / 1000; datasll = temp % 1000/100; datas2
22、= temp % 100 / 10; datas3 = temp% 10; if(th < 0)lcdwritecom(0x89);lcdwritedatac-');tt=-th;elselcdwritccom(0x89);lcdwritedata(v);tt=th;datas 1 0 = tt / 100; datasll = tt% 100/10; datas 1 2 = tt % 10; lcdwritecom(0x87); lcdwritedatach'); lcdwritecom(0x88); lcdwritedata(':'); lcdwrit
23、ecom(0x8a);lcdwritedataco+datas 1 0); lcdwritecom(0x8b); lcdwritcdata('o+datasl 1 ); lcdwritecom(0x8c); lcdwritedata(o+datas 1 2j); if(redout=l&&k=l)lcd=o;led 1602_delayl ms(5);)elseled=l;led 1602_delayl ms(5);if(mm>=(th*l 0)&&redout=l) beep=o;elsebeep= 1;lcdwritecom(0x80); lc
24、dwritedata(t); lcdwritecom(0x81); lcdwritedataca'); lcdwritecom(0x82); lcdwritedata(t); lcdwritedatac r); lcdwritecom(0x84); lcdwritedataca1); lcdwritecom(0x85); lcdwritcdatacn*); lcdwritecom(oxc 1); lcdwritedata('o'+datasoj); lcdwritecom(0xc2); lcdwritedata('o'+datas 1 ); lcdwri
25、tccom(0xc3);led writedata(o'+datas 2); led writecom(0xc4); lcdwritedatac;);led writecom(0xc5); lcdwritedata('0'+datas3); led writecom(0xc6);lcdwritedatac"1);#include"temp.h"void delay 1 ms(unsigned int y) /延吋unsigned int x; for(y;y>0;y-)for(x=l 10;x>0;x-);)unsigned c
26、har dsl 8b2oinit() /初始化unsigned int i;dsport=0;i=70;while(i-);dsport=1;i=0;while(dsport)!i+;if(i>5()00)return 0;/失敗return 1;/成功jvoid dsl8b20writcbytc(unsigncd char dat)/寫字節(jié)!unsigned int i,j; for(j=0;j<8;j+)(數(shù)據(jù)手冊上模糊)dsport=0;/每寫入-位數(shù)據(jù)之前先把總線拉低1 usi+;dsport=dat&0x01;i=6;while(i);dsport=1; dat&
27、#187;= 1;)unsigned char ds 18b2()readbyte()unsigned char byte,bi; unsigned int i,j;for(j=8;j>0;j-)dsport=0;i+;dsport=1;i+;i+;bi=dsport; byte=(byte» 1 )l(bi«7); i=4;while(i-);return byte;)void dsl8b20changtemp() /溫度轉(zhuǎn)換 dsl8b20init();delay lms(l);dsl 8b20writebyte(0xcc);dsl 8b20writebyte(0
28、x44);void dsl8b20readtempcom() /談取溫度命令dsl8b20init();delay lms(l); dsl8b20writebyte(0xcc);dsl 8b20writebyte(0xbe);)int dsl8b20readtemp() /讀取溫度 int temp=();unsigned char tmh,tml;dsl 8b20changtemp();dsl 8b20readtempcom();tml=dsl8b20readbyte();tmh=ds 18b20readbyte();tcmp=tmh;temp«=8;templ=tml;retur
29、n temp; #ifndef_temp_h #define temp h #includc<rcg51 .h>sbit dsport=p3a0;void delay lms(unsigned int);unsigned char dsl8b20init();void ds 18b20writebyte(unsigned char com); unsigned char dsl 8b20readbyte(); void dsl 8b20changtemp(); void dsl 8b20readtempcom(); int ds 18b20readtemp();#endif#inc
30、ludenlcd.hnvoid led 1602_delay 1 ms(uint c)/延吋uchar a,b; for (; c>0; c-)for (b=19;b>0;b-)for(a=i;a>0;a-);#ifndef lcd1602_4pins /當(dāng)沒有定義這個(gè) lcd1602_4pins 時(shí) void lcdwritecom(uchar com)/寫入一個(gè)字節(jié)命令lcd1602_e = 0;lcd1602_rs = 0;lcd1602_rw = 0;lcd1602_datapins = com;led 1602_dclayl ms( 1);lcd1602_e= 1;
31、led 1602_delayl ms(5);lcd1602_e = 0;#else void lxdwritecom(uchar com)lcd1602_e = 0;lcd1602_rs = 0;lcd1602_rw = 0;lcd1602_datapins = com;/由于4位的接線是接到po 口的島四位,所以傳送高四位不用改led 1602一delay lms(l);lcd 1602一e= 1;led 1602_delaylms(5);lcd1602_e = 0;lcd1602_datapins = com « 4; /發(fā)送低叫位 led 1602_delay lms(l);l
32、cd1602_e= 1;lcdl602_delaylms(5);lcd1602_e = 0;)#endif#ifndef lcd1602_4pinsvoid lcdwritedata(uchar dat)/寫入-個(gè)字節(jié)數(shù)據(jù)lcd1602_e = 0;lcd1602_rs= 1;lcd1602.rw = 0;lcd1602_datapins = dat;led 1602一delay lms(l);lcd1602_e= 1;lcdl602_delaylms(5);lcd1602_e = 0;i#elsevoid lcdwritedata(uchar dat)lcd1602_e = 0;lcd 16
33、02一rs= 1;lcd1602_rw = 0;lcd1602_datapins = dat;/由于4位的接線足接到p0 u的高四位,所以傳送高四位不川改 led 1602_delayl ms( 1);lcd 1602_e = 1;/寫入時(shí)序led 1602_dclayl ms(5);lcd1602_e = 0;lcd1602_datapins = dat « 4; /寫入低四位 led 1602_delayl ms( 1);lcd 1602_e = 1;/寫入時(shí)序led 1602_delay 1 ms(5);lcd1602_e = 0;j#endif#ifndeflcd 1602_
34、4pinsvoid lcdlnito/lcd初始化子程序lcdwritecom(ox38);lcdwritecom(oxoc);lcdwritecom(0x06);led writecom(oxo 1);lcdwritecom(0x80);#elsevoid lcdlnit()lcdwritecom(0x32);lcdwritecom(0x28);lcdwritecom(oxoc);lcdwritecom(0x06);led writecom(oxo 1);lcdwritecom(0x80);j#endif#ifndef_lcd_h_ #define _lcd_h_當(dāng)使川的足4位數(shù)據(jù)傳輸?shù)膮己?/p>
35、定義, 使用8位取消這個(gè)定義/'j*'卜 ,卜,卜 7 <*'卜 /#define lcd1602_4pins/ rt* rtw rtw rt rt rt> rt* rtw rtw rt rtw rtw rt rtw rtw rt rt rjw rt> rt* rt rjw rtw rt rt> rjw rtw rt包含頭文件/'j*'卜 ,卜rt,卜 7 <*z> 7* 7*<、t> '卜 /#indude<reg5l.h>/重定義關(guān)鍵詞-/ #ifndef uchar#define
36、uchar unsigned char#endif#ifndcf uint#define uint unsigned int #endif/ *tw »tw 91% rjw 9n 91% rtw 9n 9t »tw 9n 91% rjw *7w »tw 91% rjw 9n rjw rtw |w rjw rjw rtw <jw rjwpin i定義vl>vl>vl>lxvlx %t# /*【、<t*,f、<1*,卜 <j* *j、*y* *j、*y* ,【、<1*,卜 ,j、<c*,卜 <y*,卜*y*,卜 ,j、<|*/#define
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024中外合資企業(yè)教育培訓(xùn)與經(jīng)營合同書
- 2024廣州市房地產(chǎn)中介服務(wù)合同(賣方出租方使用)
- 2024個(gè)人民間借款合同范例
- 2024年信息安全保密協(xié)議
- 2024年合伙人分伙協(xié)議書
- 2024果樹苗木定購合同范本
- 跨境電商商品銷售合同
- 承包商土地使用權(quán)贈(zèng)與合同模板
- 精裝修室內(nèi)工程合同
- 2024英文合同范本
- 隱蔽致災(zāi)因素培訓(xùn)課件
- 教科主任培訓(xùn)會(huì)課件
- 國電電力重組方案
- 氣象業(yè)務(wù)培訓(xùn)總結(jié)報(bào)告
- 閩教版2023版3-6年級全8冊英語單詞表
- 第8講+隋唐的文化
- 管網(wǎng)設(shè)計(jì)分析報(bào)告
- 珍愛生命拒絕危險(xiǎn)游戲
- 高中數(shù)學(xué)教師的專業(yè)發(fā)展路徑
- 莊園推廣策劃方案
- 《地球是怎樣形成的》課件
評論
0/150
提交評論