基于單片機(jī)的溫濕度監(jiān)控報(bào)警系統(tǒng)設(shè)計(jì)畢業(yè)論文.doc
《基于單片機(jī)的溫濕度監(jiān)控報(bào)警系統(tǒng)設(shè)計(jì)畢業(yè)論文.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的溫濕度監(jiān)控報(bào)警系統(tǒng)設(shè)計(jì)畢業(yè)論文.doc(45頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、基于單片機(jī)的溫濕度監(jiān)控報(bào)警系統(tǒng)設(shè)計(jì)畢業(yè)論文基于單片機(jī)的溫濕度監(jiān)控報(bào)警系統(tǒng)設(shè)計(jì)摘要溫度、濕度和人類(lèi)的生產(chǎn)、生活有著密切的關(guān)系,尤其是在醫(yī)學(xué)、電子電力、航天航空、食品發(fā)酵,農(nóng)業(yè)生產(chǎn)等領(lǐng)域中對(duì)溫濕度的要求尤其嚴(yán)格,是最常見(jiàn)最基本的參數(shù),例如機(jī)械、電子、石油、化工等各類(lèi)工業(yè)中廣泛需要對(duì)溫度濕度的實(shí)時(shí)檢測(cè)與控制。并且隨著人們生活水平的提高,人們對(duì)自己的生存環(huán)境越來(lái)越關(guān)注。而空氣中溫濕度的變化與人體的舒適度和情緒都有直接的影響,所以對(duì)溫度濕度的檢測(cè)及控制就非常有必要了。使用STC89C52單片機(jī)設(shè)計(jì)溫濕度監(jiān)控報(bào)警系統(tǒng),可以即時(shí)精確的反應(yīng)溫室內(nèi)外的溫度以及濕度的變化。完成諸如升溫到特定的溫度、降溫到特定的溫
2、度。在溫度上下限范圍內(nèi)保持恒溫等多種控制方式,在濕度控制方面也是如此。將此系統(tǒng)應(yīng)用到溫室當(dāng)中無(wú)疑為植被生長(zhǎng)提供了更加適宜的環(huán)境。對(duì)于大棚種植和花圃、花卉栽培,必須在某些特定環(huán)境安裝溫濕度裝置對(duì)其進(jìn)行監(jiān)控。本系統(tǒng)可以及時(shí)、精確的反映室內(nèi)外的溫度以及濕度的變化,能夠滿足溫濕度的控制要求。 關(guān)鍵詞:溫濕度 監(jiān)控 STC89S52 - I -AbstractTemperature, humidity and has close relation with the human production and living, especially in medicine, electronics, elec
3、tric power, aerospace, food fermentation, the requirements for temperature and humidity in areas such as agricultural production is particularly strict, is the most common is the most basic parameters, such as machinery, electronics, petroleum, chemical industry etc widely needed in real-time detect
4、ion and control of temperature, humidity. And as people living standard rise, people for their own survival environment more and more attention. And the bodys comfort level with the change of temperature and humidity in the air and mood has a direct effect, so the detection and control of the temper
5、ature humidity is very necessary.Using a STC89C52 single-chip microcomputer temperature and humidity monitoring alarm system, can real-time accurate reaction inside and outside the greenhouse temperature and humidity changes. Finish such as heating up to a specific temperature and cooling to a speci
6、fic temperature. In upper and lower temperature range constant temperature control of a variety of ways, so in terms of humidity control. Will no doubt of this system is applied to the greenhouse for vegetation growth provide a more comfortable environment. For greenhouses planting and flower beds,
7、flower cultivation, must be installed in some specific environment to monitor the temperature and humidity devices. This system can timely and accurately reflect the change of indoor and outdoor temperature and humidity, can satisfy the requirement of the temperature and humidity control.Keywords: T
8、emperature and humidity, monitoring, STC89S52 - II -目錄摘要IAbstractII目錄III1 總體設(shè)計(jì)概述11.1 系統(tǒng)的主要功能11.2 系統(tǒng)的工作原理11.3 總體設(shè)計(jì)21.3.1 總體設(shè)計(jì)框圖21.3.2 總體設(shè)計(jì)工作流程32 系統(tǒng)硬件設(shè)計(jì)42.1 主控模塊設(shè)計(jì)42.1.1 STC89C52概述42.1.2 時(shí)鐘電路與復(fù)位電路72.2 電源模塊設(shè)計(jì)82.3 DHT11傳感器模塊設(shè)計(jì)82.3.1 DHT11傳感器82.3.2 DHT11傳感器模塊電路設(shè)計(jì)102.4 1602液晶顯示模塊設(shè)計(jì)112.4.1 1602液晶顯示屏112.4.2
9、 1602液晶顯示屏參數(shù)112.4.3 1602液晶顯示模塊電路設(shè)計(jì)132.5 閾值設(shè)置模塊設(shè)計(jì)142.6 報(bào)警模塊設(shè)計(jì)152.6.1 蜂鳴器報(bào)警模塊設(shè)計(jì)152.6.2 發(fā)光二極管報(bào)警模塊設(shè)計(jì)162.7 24C02數(shù)據(jù)存儲(chǔ)模塊162.7.1 24C02數(shù)據(jù)存儲(chǔ)器162.7.2 24C02數(shù)據(jù)存儲(chǔ)器模塊電路設(shè)計(jì)172.8 系統(tǒng)總體電氣原理圖183 系統(tǒng)軟件設(shè)計(jì)194 系統(tǒng)調(diào)試21總結(jié)22致謝23參考文獻(xiàn)24附件1 系統(tǒng)程序25A1.1 主程序25A1.2 24C02程序30A1.3 DHT11傳感器程序33A1.4 1602程序35附件2 PCB板39附件3 實(shí)物圖40- IV -1 總體設(shè)計(jì)概
10、述1.1 系統(tǒng)的主要功能本系統(tǒng)以單片機(jī)最小系統(tǒng)為核心,將溫濕度通過(guò)LCD1602顯示器實(shí)時(shí)的顯示出來(lái),溫濕度最高值可以任意設(shè)置并實(shí)時(shí)顯示出來(lái)。(濕度測(cè)量范圍:2095RH。溫度測(cè)量范圍:050)。各部分主要功能是:1. 溫濕度實(shí)時(shí)檢測(cè)及顯示。通過(guò)LCD1602實(shí)時(shí)地顯示傳感器DHT11檢測(cè)到的溫濕度值,并且固定時(shí)間(5s)檢測(cè)更新顯示一次。2. 閾值設(shè)置,通過(guò)四個(gè)按鍵實(shí)現(xiàn)。在使用過(guò)程中不需要在程序中更改。使得系統(tǒng)更加人性化、智能化,具有更高的實(shí)用價(jià)值。3. 當(dāng)溫濕度超出閾值時(shí)能自動(dòng)報(bào)警。此時(shí)對(duì)應(yīng)發(fā)光二極管的點(diǎn)亮,蜂鳴器發(fā)出聲音實(shí)現(xiàn)報(bào)警,以提醒用戶做出相應(yīng)的改進(jìn)措施。通過(guò)干燥器、降溫風(fēng)扇等設(shè)備工
11、作。使溫濕度回到設(shè)定值內(nèi),報(bào)警自動(dòng)解除。1.2 系統(tǒng)的工作原理本系統(tǒng)的工作原理:系統(tǒng)主要涉及了溫濕度的測(cè)量、顯示以及實(shí)現(xiàn)簡(jiǎn)單控制。硬件方面有五個(gè)模塊,即STC89C52單片機(jī)主控模塊、DHT11溫濕度傳感器模塊、LCD1602液晶顯示模塊、報(bào)警模塊以及閾值設(shè)置模塊等。其中主控模塊以單片機(jī)最小系統(tǒng)為基礎(chǔ),適當(dāng)增加驅(qū)動(dòng)電路。1. 傳感器模塊使用的是DHT11數(shù)字溫濕度傳感器。通過(guò)DHT11檢測(cè)出當(dāng)前環(huán)境下的溫濕度,將所測(cè)數(shù)據(jù)交給STC89C52單片機(jī)進(jìn)行分析和處理,并分別存入不同數(shù)組以便顯示時(shí)候用。其中,為了顯示穩(wěn)定,本系統(tǒng)每間隔5s采集一次數(shù)據(jù)送入單片機(jī)。2. 1602液晶顯示模塊就是實(shí)現(xiàn)溫濕度
12、檢測(cè)值和閾值的顯示。其分兩行顯示,上邊一行顯示溫度值,下邊顯示濕度值,兩行的末尾兩位是閾值顯示位,正常工作的時(shí)候可以通過(guò)閾值設(shè)置模塊實(shí)時(shí)調(diào)節(jié)需要的閾值,實(shí)時(shí)顯示出來(lái),構(gòu)建了自動(dòng)化的人機(jī)交互。3. 報(bào)警模塊實(shí)現(xiàn)了檢測(cè)值超過(guò)閾值的時(shí)候發(fā)光二極管點(diǎn)亮,蜂鳴器鳴響報(bào)警。本系統(tǒng)采用的是有源蜂鳴器,因此無(wú)論溫度還是濕度超出范圍蜂鳴器都是以相同頻率的聲音進(jìn)行報(bào)警提示。提醒工作人員此時(shí)溫度濕度數(shù)據(jù)出現(xiàn)異常、需及時(shí)調(diào)整室內(nèi)溫濕度。4. 閾值設(shè)置模塊通過(guò)四個(gè)按鍵實(shí)現(xiàn)溫濕度報(bào)警閾值的設(shè)置。按一次按鍵溫度、濕度對(duì)應(yīng)值加一或者減一。使得溫濕度閾值設(shè)置提供了極大的方便,不需要每次都在程序里改動(dòng)然后再燒錄,省去了復(fù)雜的過(guò)程
13、。實(shí)現(xiàn)自動(dòng)化,便于用于工業(yè),農(nóng)業(yè)等對(duì)溫濕度要求較高的場(chǎng)所。1.3 總體設(shè)計(jì)1.3.1 總體設(shè)計(jì)框圖按照系統(tǒng)功能的具體要求,在保證實(shí)現(xiàn)其功能的基礎(chǔ)上,盡可能降低系統(tǒng)成本??傮w設(shè)計(jì)方案圍繞上述思想,初步確定系統(tǒng)的方案如圖1.1所示。圖1.1系統(tǒng)總體設(shè)計(jì)框圖從圖中可以看出,系統(tǒng)有STC89C52單片機(jī)模塊、DHT11傳感器模塊、閾值設(shè)置模塊、1602字符液晶顯示模塊、報(bào)警模塊、數(shù)據(jù)存儲(chǔ)模塊等組成。在方案設(shè)計(jì)中,外圍模塊采用并行控制,以簡(jiǎn)化系統(tǒng),提高控制精度。該設(shè)計(jì)以STC89C52單片機(jī)為控制核心,實(shí)現(xiàn)溫濕度采集、顯示、報(bào)警。1.3.2 總體設(shè)計(jì)工作流程本次設(shè)計(jì)有兩個(gè)部分是重點(diǎn)。一個(gè)是液晶顯示部分,
14、一個(gè)是DHT11傳感器部分。難點(diǎn)是軟件程序的編寫(xiě)和系統(tǒng)的整體調(diào)試。整個(gè)流程如圖1.2所示:圖1.2 整體設(shè)計(jì)流程圖- 40 -2 系統(tǒng)硬件設(shè)計(jì)2.1 主控模塊設(shè)計(jì)2.1.1 STC89C52概述STC89C52單片機(jī)是宏晶科技推出的新一代高速,低功耗,超強(qiáng)抗干擾的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī)。主要特性如下:1. 增強(qiáng)型8051單片機(jī),6時(shí)鐘/機(jī)器周期和12時(shí)鐘/機(jī)器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051。2. 工作電壓:5.5V3.3V。3. 工作頻率范圍:040MHz,相當(dāng)于普通8051的080MHz,實(shí)際工作頻率可達(dá)48MHz。4. 用戶應(yīng)用程序空間為8K字節(jié)。5.
15、片上集成512字節(jié)RAM。6. 通用I/O口(32個(gè)),復(fù)位后為:P0/P1/P2/P3是準(zhǔn)雙向口,P0口是漏極開(kāi)路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用時(shí),需加上拉電阻。7. ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無(wú)需專(zhuān)用編程器,無(wú)需專(zhuān)用仿真器,可通過(guò)串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片。8. 具有EEPROM功能。9. 具有看門(mén)狗功能。10. 共3個(gè)16位定時(shí)器/計(jì)數(shù)器。即定時(shí)器T0、T1、T2。11. 外部中斷4路,下降沿中斷或低電平觸發(fā)電路,Power Down模式可由外部中斷低電平觸發(fā)中斷方式喚醒。12. 工作溫度范圍
16、:-40+85(工業(yè)級(jí))/075(商業(yè)級(jí))。STC89C52單片機(jī)的工作模式1. 掉電模式:典型功耗0.1A,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序。2. 空閑模式:典型功耗2mA。3. 正常工作模式:典型功耗4Ma7mA。圖2.1 STC89C52引腳圖STC89C52引腳功能說(shuō)明1. VCC(40引腳):電源電壓。2. VSS(20引腳):接地。3. P0端口(P0.0P0.7,3932引腳):P0口是一個(gè)漏極開(kāi)路的8位雙向I/O口。作為輸出端口,每個(gè)引腳能驅(qū)動(dòng)8個(gè)TTL負(fù)載,對(duì)端口P0寫(xiě)入“1”時(shí),可以作為高阻抗輸入。在訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也可以提供低8位地址和8位數(shù)
17、據(jù)的復(fù)用總線。此時(shí),P0口內(nèi)部上拉電阻有效。在Flash ROM編程時(shí),P0端口接收指令字節(jié);而在校驗(yàn)程序時(shí),則輸出指令字節(jié)。驗(yàn)證時(shí),要求外接上拉電阻,一般為10k。4. P1端口(P1.0P1.7,18引腳):P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅(qū)動(dòng)4個(gè)TTL輸入。對(duì)端口寫(xiě)入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1口作輸入口使用時(shí),因?yàn)橛袃?nèi)部上拉電阻,那些被外部拉低的引腳會(huì)輸出一個(gè)電流()。此外,P1.0和P1.1還可以作為定時(shí)器/計(jì)數(shù)2的外部技術(shù)輸入(P1.0/T2)和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX)。5. P2端口(P2
18、.0P2.7,2128引腳):P2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可以驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,這時(shí)可用作輸入口。P2作為輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流()。6. P3端口(P3.0P3.7,1017引腳):P3是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P3的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3做輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸入一個(gè)
19、電流()。P3口除作為一般I/O口外,還有其他一些復(fù)用功能。7. RST(9引腳):復(fù)位輸入。當(dāng)輸入連續(xù)兩個(gè)機(jī)器周期以上高電平時(shí)為有效,用來(lái)完成單片機(jī)的復(fù)位初始化操作。8. ALE/(30引腳):地址鎖存控制信號(hào)(ALE)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在Flash編程時(shí),此引腳()也用作編程輸入脈沖。9. (29引腳):外部程序存儲(chǔ)器選通信號(hào)()是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)STC89C52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),在每個(gè)機(jī)器周期被激活兩次,而訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將不被激活。10. /VPP(31引腳):訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H到FFFFH的外部
20、程序存儲(chǔ)器讀取指令,必須接GND。注意加密方式1時(shí),將內(nèi)部鎖定位RESET。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接VCC。在Flash編程期間,也接收12伏VPP電壓。11. XTAL1(19引腳):振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。12. XTAL2(18引腳):振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。2.1.2 時(shí)鐘電路與復(fù)位電路單片機(jī)需要外加時(shí)鐘電路為內(nèi)部程序提供時(shí)序。單片機(jī)內(nèi)部具有一個(gè)構(gòu)成振蕩器的高增益反相放大器,此放大器的輸入與輸出端分別是引腳XTAL1和XTAL2,在XTAL1和XTAL2上外接時(shí)鐘源即可構(gòu)成時(shí)鐘電路。本系統(tǒng)的時(shí)鐘電路如圖2.2所示。圖2.2 單片機(jī)的外部時(shí)鐘電
21、路在圖2.2中電容的大小均為30pF,晶振的大小為11.059MHz。為了保證單片機(jī)的可控運(yùn)行,需要給單片機(jī)加復(fù)位電路,一般情況下,單片機(jī)的復(fù)位電路有以下幾項(xiàng)功能:1. 上電復(fù)位可對(duì)內(nèi)部寄存器進(jìn)行復(fù)位,否則寄存器狀態(tài)未知。2. 同步內(nèi)、外部時(shí)鐘信號(hào)。防止頻率不穩(wěn)及晶振停振。3. 有些高級(jí)芯片,不先復(fù)位根本部工作。4. 有復(fù)位引腳的芯片必須加復(fù)位,這是電子設(shè)計(jì)的基本要求。5. 在電路上電時(shí)候或電壓波動(dòng)不穩(wěn)定的時(shí)候,當(dāng)給單片機(jī)上電那一瞬間,電壓有在幾微秒內(nèi)(有的是幾毫秒內(nèi))不是直接跳變到5V的而是一個(gè)直線上升的階段,這時(shí)候,單片機(jī)不能正常工作,需要復(fù)位電路給它延時(shí)以等到電壓穩(wěn)定。6. 由于單片機(jī)在
22、工作過(guò)程中可能會(huì)受到各種干擾因素,所以不排除單片機(jī)出錯(cuò)的可能,當(dāng)單片機(jī)的程序“跑飛”時(shí)可以通過(guò)復(fù)位電路是單片機(jī)恢復(fù)正常的運(yùn)行狀態(tài)。單片機(jī)的復(fù)位電路主要有以下幾種方式:上電復(fù)位方式、外部脈沖復(fù)位方式、上電+按鈕復(fù)位方式以及軟件復(fù)位等。本系統(tǒng)為了實(shí)現(xiàn)方便,使用硬件復(fù)位方式,即采用自動(dòng)電平復(fù)位的方式,見(jiàn)圖2.3所示。圖2.3 單片機(jī)自動(dòng)電平復(fù)位電路圖2.3的復(fù)位電路直接接單片機(jī)得RST管腳,為單片機(jī)提供復(fù)位電平,圖中電容為10uF,電阻為10K。本設(shè)計(jì)各個(gè)輸入輸出點(diǎn)及功能說(shuō)明:本設(shè)計(jì)以STC89C52單片機(jī)最小系統(tǒng)為核心。供電電源由USB接口或者干電池供電。將P0口作為與液晶的數(shù)據(jù)傳輸口。P1.5、
23、P1.6作為發(fā)光二極管接口,以控制報(bào)警模塊工作。P1.7作為與傳感器DHT11通信的數(shù)據(jù)口,P3口作為閾值模塊中四個(gè)按鍵的接口,P2.5、P2.7作為分別于液晶的RS、R/W和E端相連接,以控制液晶顯示,P2.0接蜂鳴器控制端,以控制報(bào)警模塊工作。2.2 電源模塊設(shè)計(jì)本設(shè)計(jì)由于經(jīng)濟(jì)等條件限制,沒(méi)能單獨(dú)設(shè)計(jì)制作直流5V電源,暫用USB供電或者使用三節(jié)5號(hào)干電池代替,在實(shí)際應(yīng)用場(chǎng)合中,需加入此部分,可直接購(gòu)買(mǎi)市電220V轉(zhuǎn)直流5V開(kāi)關(guān)電源,以保證系統(tǒng)長(zhǎng)時(shí)間工作。2.3 DHT11傳感器模塊設(shè)計(jì)2.3.1 DHT11傳感器DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)
24、用專(zhuān)用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比高等優(yōu)點(diǎn)。每個(gè)DHT11傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲(chǔ)存在OTP內(nèi)存中,傳感器內(nèi)部在檢測(cè)信號(hào)的處理過(guò)程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡(jiǎn)易快捷。超小的體積、極低的功耗,信號(hào)傳輸距離可達(dá)20米以上,使其成為各類(lèi)應(yīng)用甚至最為苛刻的應(yīng)用場(chǎng)合的最佳選則。產(chǎn)品為4針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。 DHT1
25、1傳感器引腳圖如下2.4所示:圖2.4 DHT11傳感器引腳圖1. 引腳介紹:Pin1:(VCC),電源引腳,供電電壓為35.5V。Pin2:(DATA),串行數(shù)據(jù),單總線。Pin3:(NC),空腳,請(qǐng)懸浮。Pin4:(VDD),接地端,電源負(fù)極。2. 接口說(shuō)明:由傳感器資料知連接線長(zhǎng)度短于20米時(shí)用5K上拉電阻,大于20米時(shí)根據(jù)實(shí)際情況使用合適的上拉電阻??紤]本設(shè)計(jì)實(shí)際應(yīng)用情況故使用5K上拉電阻。圖2.5 DHT11典型應(yīng)用電路3. 數(shù)據(jù)幀的描述:DATA用于微處理器與DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時(shí)間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說(shuō)明,當(dāng)前小
26、數(shù)部分用于以后擴(kuò)展,現(xiàn)讀出為零。操作流程如下:一次完整的數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)。+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)。數(shù)據(jù)傳送正確時(shí)校驗(yàn)和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。4. 電氣特性:VDD=5V,T =25,除非特殊標(biāo)注。表2.1 DHT11的電氣特性參數(shù)條件Mintypmax單位供電DC355.5V供電電流測(cè)量0.5-2.5mA平均0.2-1mA待機(jī)100-150uA采樣周期秒1-次注:采樣周期間隔不得低于1秒鐘。2.3.2 DHT11傳
27、感器模塊電路設(shè)計(jì) DHT11傳感器連接單片機(jī)相對(duì)比較簡(jiǎn)單。單片機(jī)的P2.0口用來(lái)發(fā)收串行數(shù)據(jù),即數(shù)據(jù)口。連接傳感器的Pin2(單總線,串行數(shù)據(jù))。由于測(cè)量范圍電路小于20米,加一個(gè)5K的上拉電阻,因此在傳感器的Pin2口與電源之間連接一個(gè)5K電阻。而傳感器的電源端口Pin1和Pin4分別接單片機(jī)的VDD和GND端。傳感器的第三腳懸浮放置。DHT11傳感器原件的電路原理圖如下2.6所示:圖2.6 DHT11電路原理圖2.4 1602液晶顯示模塊設(shè)計(jì)2.4.1 1602液晶顯示屏1602液晶 是一種工業(yè)字符型液晶,能夠同時(shí)顯示16x02 即32個(gè)字符。(16列2行)。在日常生活中,我們對(duì)液晶顯示器
28、并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通過(guò)器件,如在計(jì)算器、萬(wàn)用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專(zhuān)用符號(hào)和圖形。本設(shè)計(jì)使用LCD1602液晶顯示器。它有以下幾個(gè)優(yōu)點(diǎn):1. 顯示質(zhì)量高:由于液晶顯示器每一個(gè)點(diǎn)在收到信號(hào)后就一直保持那種色彩和亮度,恒定發(fā)光,而不像數(shù)碼顯示器那樣需要不斷刷新亮點(diǎn)。因此,液晶顯示器畫(huà)質(zhì)高且不會(huì)閃爍。2. 數(shù)字式接口:液晶顯示器都是數(shù)字式的,和單片機(jī)系統(tǒng)的接口更加簡(jiǎn)單可靠,操作更加方便。3. 體積小、重量輕:液晶顯示器通過(guò)顯示屏上的電極控制液晶分子狀態(tài)來(lái)達(dá)到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。4. 功耗低:液晶顯示器的
29、功耗主要消耗在其內(nèi)部的電極和驅(qū)動(dòng)IC上,因而耗電量比其它顯示器要少得多。2.4.2 1602液晶顯示屏參數(shù)1. 1602的基本參數(shù)及引腳功能:(1)1602LCD主要技術(shù)參數(shù):顯示容量:162個(gè)字符。芯片工作電壓:4.55.5V。工作電流:2.0mA(5.0V)。模塊最佳工作電壓:5.0V。字符尺寸:2.954.35(WH)mm。(2)引腳功能說(shuō)明:1602LCD采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,各引腳接口說(shuō)明如表2.2所示:表2.2引腳接口說(shuō)明表編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選
30、擇12D5數(shù)據(jù)5R/W讀/寫(xiě)選擇13D6數(shù)據(jù)6E使能信號(hào)14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:R/W為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)
31、可以寫(xiě)入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負(fù)極。2. 1602的RAM地址映射及標(biāo)準(zhǔn)字庫(kù)表液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖2.7是1602的內(nèi)部顯示地址。圖2.7 1602LCD內(nèi)部顯示地址2.4.3 1602液晶顯示模塊電路設(shè)計(jì)液晶顯示的原理是利用液晶的物理特性,通過(guò)電壓對(duì)其顯示區(qū)域進(jìn)行控制,有電就有顯示。液晶顯示器具有厚度薄、適用于
32、大規(guī)模集成電路直接驅(qū)動(dòng)、易于實(shí)現(xiàn)全彩色顯示的特點(diǎn),目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字?jǐn)z像機(jī)、PDA移動(dòng)通信工具等眾多領(lǐng)域。其中Vo腳,即第三引腳加了一個(gè)10K的滑動(dòng)變阻器,該變阻器的目的是調(diào)節(jié)液晶的顯示對(duì)比度,通過(guò)調(diào)節(jié)滑阻改變Vo的電壓值,從而使液晶顯示在最清晰的狀態(tài)。圖2.8 1602顯示模塊原理圖2.5 閾值設(shè)置模塊設(shè)計(jì)從圖2.9可以看到。從上到下依次設(shè)為K2、K5、K6、K7四個(gè)按鍵,其連接單片機(jī)引腳分別是P1.2、P3.3、P3.4、P3.5四個(gè)引腳。根據(jù)該模塊使得閾值設(shè)置分為兩個(gè)模塊,分別是濕度最高值設(shè)置模式、溫度最高值設(shè)置模式。例如濕度最高值設(shè)置,按一次K6濕度最高值加一,按一次
33、K7濕度最高值減一,1602液晶顯示將實(shí)時(shí)顯示出設(shè)置值。其他值設(shè)置類(lèi)似。按鍵閾值設(shè)置模塊部分,設(shè)置非常人性化,而不用每次設(shè)置閾值都到程序里邊去設(shè)置后再燒制進(jìn)單片機(jī),實(shí)現(xiàn)了自動(dòng)化。圖2.9 閾值設(shè)置模塊原理圖2.6 報(bào)警模塊設(shè)計(jì)2.6.1 蜂鳴器報(bào)警模塊設(shè)計(jì)圖2.10 蜂鳴器報(bào)警模塊原理圖系統(tǒng)在設(shè)計(jì)時(shí)候采用的是有源蜂鳴器,只要給蜂鳴器一定的電流值,蜂鳴器就可以按照一定的頻率發(fā)聲,但是單片機(jī)引腳的驅(qū)動(dòng)電流比較小,不足以驅(qū)動(dòng)蜂鳴器工作,因此采用了一個(gè)PNP的三極管S9012來(lái)驅(qū)動(dòng)。當(dāng)單片機(jī)P2.0輸出一個(gè)低電平時(shí),蜂鳴器響,實(shí)現(xiàn)報(bào)警。2.6.2 發(fā)光二極管報(bào)警模塊設(shè)計(jì)此部分利用發(fā)光二極管的點(diǎn)亮來(lái)實(shí)現(xiàn)
34、報(bào)警,當(dāng)單片機(jī)P1.5、P1.6引腳輸出一個(gè)低電平時(shí)發(fā)光二極管亮,實(shí)現(xiàn)報(bào)警。圖2.11 發(fā)光二極管報(bào)警模塊原理圖2.7 24C02數(shù)據(jù)存儲(chǔ)模塊2.7.1 24C02數(shù)據(jù)存儲(chǔ)器總線是一種由PHILIPS公司開(kāi)發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。存儲(chǔ)器24C02系列等都是使用協(xié)議進(jìn)行數(shù)據(jù)的操作。主要在存儲(chǔ)一些掉電后還要保存數(shù)據(jù)的場(chǎng)合??偩€特點(diǎn): 1. 要求兩條總線線路:一條串行數(shù)據(jù)線SDA,一條串行時(shí)鐘線SCL。2. 每個(gè)連接到總線的器件都可以通過(guò)唯一的地址和一直存在的簡(jiǎn)單的主機(jī)、從機(jī)關(guān)系軟件設(shè)定地址,主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器。3. 串行的8 位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式
35、下可達(dá)100kbit/s,快速模式下可達(dá)400kbit/s,高速模式下可達(dá)3.4Mbit/s。 2.7.2 24C02數(shù)據(jù)存儲(chǔ)器模塊電路設(shè)計(jì)本設(shè)計(jì)為實(shí)現(xiàn)溫濕度閾值的連續(xù)性??紤]了溫濕度閾值的存儲(chǔ),在掉電后,下一次使用時(shí)能回到原來(lái)設(shè)定的閾值。24C02的時(shí)鐘線SCL與單片機(jī)的P1.0相連,數(shù)據(jù)線SDA與單片機(jī)的P1.1相連。其電氣原理圖如圖2.12所示。圖2.12 24C02數(shù)據(jù)存儲(chǔ)模塊原理圖2.8 系統(tǒng)總體電氣原理圖圖2.13 系統(tǒng)總體電氣原理圖PCB板(見(jiàn)附件2)。實(shí)物圖(見(jiàn)附件3)。3 系統(tǒng)軟件設(shè)計(jì)軟件是一個(gè)設(shè)計(jì)實(shí)現(xiàn)功能的重要部分。本設(shè)計(jì)采用了C語(yǔ)言進(jìn)行模塊化編寫(xiě)程序。圖3.1主程序流程圖
36、圖3.2 DHT11傳感器程序流程圖圖3.3 1602程序流程圖系統(tǒng)程序(見(jiàn)附件1)。4 系統(tǒng)調(diào)試本設(shè)計(jì)是在Keil C環(huán)境下開(kāi)發(fā)的,Keil C軟件支持C語(yǔ)言的編程及調(diào)試,運(yùn)用方便。 在完成對(duì)程序的編寫(xiě)及燒錄之后,還需對(duì)其各部分功能進(jìn)行驗(yàn)證。開(kāi)始供電后、稍帶幾秒等1602液晶屏能正常顯示當(dāng)前溫濕度了之后。觀察當(dāng)前溫濕度的變化。并且針對(duì)與自己設(shè)定的限值相比較。若當(dāng)前溫度沒(méi)有超標(biāo),即沒(méi)有超過(guò)限值??梢杂檬治孀HT11傳感器,令其溫度的顯示超標(biāo)。測(cè)試能否達(dá)到報(bào)警,經(jīng)過(guò)測(cè)試,完全可行。因而簡(jiǎn)單的實(shí)現(xiàn)了對(duì)溫度的控制。濕度控制原理跟溫度一樣。1. 硬件問(wèn)題及解決方法蜂鳴器不夠響。在加報(bào)警裝置的時(shí)候,蜂
37、鳴器不夠響。因?yàn)閱问菃纹瑱C(jī)的引腳輸出電流還不足以驅(qū)動(dòng)蜂鳴器,后來(lái)又加了一個(gè)NPN的三極管來(lái)驅(qū)動(dòng)蜂鳴器。最后就能夠自如的驅(qū)動(dòng)蜂鳴器發(fā)聲了。2. 軟件所遇問(wèn)題及解決方法本次畢業(yè)設(shè)計(jì)大部分時(shí)間都花在了軟件調(diào)試上了,軟件調(diào)試不像硬件那么直觀,對(duì)我來(lái)說(shuō)是個(gè)難點(diǎn)。閾值設(shè)置模塊加了按鍵以后按鍵始終不能按預(yù)期效果工作。剛開(kāi)始還以為是硬件部分沒(méi)有連接好,用萬(wàn)用表查了很久,但是電平變化都是正確的。后面在老師的指導(dǎo)下才知道是延時(shí)太長(zhǎng),當(dāng)按鍵時(shí)間比較長(zhǎng)的時(shí)候,單片機(jī)是可以讀出按鍵的。最后修改了程序,系統(tǒng)功能得以實(shí)現(xiàn)。總結(jié)本設(shè)計(jì)是以單片機(jī)為控制器件的溫濕度監(jiān)控報(bào)警系統(tǒng)。采用DHT11數(shù)字溫濕度傳感器檢測(cè)環(huán)境中的溫濕度,
38、輸入到單片機(jī)進(jìn)行處理。通過(guò)LCD1602顯示器實(shí)時(shí)的將溫濕度檢測(cè)并顯示出來(lái)。并且能夠設(shè)置溫濕度上限值,當(dāng)環(huán)境溫濕度超過(guò)設(shè)定值時(shí),系統(tǒng)自動(dòng)報(bào)警,當(dāng)溫濕度回到設(shè)定值內(nèi),報(bào)警自動(dòng)解除。本系統(tǒng)具有硬件少,結(jié)構(gòu)簡(jiǎn)單,容易實(shí)現(xiàn),性能穩(wěn)定可靠,成本低等特點(diǎn)。總結(jié)本文的研究工作,主要做了下面幾點(diǎn)較突出的工作:1. 掌握了LCD1602顯示屏的使用,了解了LCD1602顯示屏特有的工作優(yōu)點(diǎn)。2. 本設(shè)計(jì)使用DHT11數(shù)字溫濕度傳感器。能同時(shí)對(duì)濕度和溫度進(jìn)行測(cè)量,使用方便。 3.文章給出了系統(tǒng)具體的硬件設(shè)計(jì)方案,硬件結(jié)構(gòu)電路圖,軟件流程圖和具體C語(yǔ)言程序設(shè)計(jì)與調(diào)試等方面。存在缺陷:溫濕度的精度是較低的,反應(yīng)相對(duì)慢
39、。第一次PCB制版也有很多的不足之處,有些過(guò)孔太小不便于元件安裝,硬件的布局設(shè)計(jì)不夠美觀,液晶顯示器不便于固定。以后有機(jī)會(huì)應(yīng)該在這些方面多學(xué)習(xí),多注意。致謝本文從開(kāi)題論證、研究設(shè)計(jì)到論文完成都是在導(dǎo)師的悉心指導(dǎo)下完成的。一直以來(lái),老師在本設(shè)計(jì)硬件原理、軟件編寫(xiě)、論文的寫(xiě)作中給予我巨大的幫助,老師對(duì)我的教導(dǎo)將使我終身受益。在此,謹(jǐn)向?qū)煴硎局孕牡母兄x!經(jīng)過(guò)幾個(gè)月的查資料、整理材料、做實(shí)物,寫(xiě)作論文,今天終于可以順利的完成論文的最后的謝辭了。論文得以完成,要感謝的人實(shí)在太多了,特別感謝老師們的幫助,在硬件實(shí)物方面缺少元件,老師們都想盡辦法幫助我解決,并提供給了我許多有益的指導(dǎo)和熱心的幫助。正是有了
40、你們的悉心幫助和支持,才使我的畢業(yè)論文工作順利完成,我衷心的對(duì)老師們表示感謝。另外,要感謝在大學(xué)期間所有傳授我知識(shí)的老師,是你們的悉心教導(dǎo)使我有了良好的專(zhuān)業(yè)課知識(shí),這也是論文得以完成的基礎(chǔ)。謝謝你們,謝謝母校!在論文開(kāi)題論證、研究設(shè)計(jì)、系統(tǒng)調(diào)試過(guò)程中,還得到了很多同學(xué)的熱情幫助。在此,特向幫助過(guò)我的老師和朋友表示誠(chéng)摯的謝意!參考文獻(xiàn)1 姜志海, 黃玉清,劉連鑫. 單片機(jī)原理及應(yīng)用M. 電子工業(yè)出版社,2009.2 郭天祥. 51單片機(jī)C語(yǔ)言教程M. 電子工業(yè)出版社.2009.3 張毅剛, 彭喜元, 彭宇. 單片機(jī)原理及應(yīng)用M. 高等教育出版社.2010.4 楊素行. 模擬電子技術(shù)基礎(chǔ)簡(jiǎn)明教程M
41、. 高等教育出版社.2006. 5 李維提, 郭強(qiáng). 液晶顯示應(yīng)用技術(shù)M. 電子工業(yè)出版社.2003.6 劉湘濤. 單片機(jī)原理與應(yīng)用M. 電子工業(yè)出版社.2006.7 何立民. 單片機(jī)高級(jí)教程M. 北京航空航天大學(xué)出版社.2004.8 周潤(rùn)景, 徐宏偉, 丁莉. 單片機(jī)電路設(shè)計(jì)分析與制作M. 機(jī)械工業(yè)出版社. 2010.9 李全利. 單片機(jī)原理及應(yīng)用技術(shù)M. 高等教育出版社, 2004.10 李秀霞. 鄭春厚. Protel DXP 2004電路設(shè)計(jì)與仿真教程M. 北京航空航天大學(xué)出版社.2008.11 余家春. Protel99Se電路設(shè)計(jì)實(shí)用教程M. 中國(guó)鐵道出版社, 2002.12 郭強(qiáng)
42、. 液晶顯示應(yīng)用技術(shù)M. 電子工業(yè)出版社. 2000.13 王建校. 51系列單片機(jī)及C51程序設(shè)計(jì)M. 科學(xué)出版社. 2002.14 馬忠梅. 單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)M. 北京航空航天大學(xué)出版社.1998.附件1 系統(tǒng)程序A1.1 主程序/實(shí)現(xiàn)功能,設(shè)定溫度上限和濕度上限,超過(guò)上限值時(shí)報(bào)警。報(bào)警現(xiàn)象,對(duì)應(yīng)二極管亮,蜂鳴器響/#include #include 1602.h#include dht.h#include 2402.h /定義變量sbit Led_qushi=P16;/潮濕報(bào)警燈sbit Led_jiangwen=P15; /超溫報(bào)警燈sbit Key_TH1 = P12;/溫
43、度最高值設(shè)置按鍵sbit Key_TH2 = P33; /溫度最高值設(shè)置按鍵sbit Key_HH1 = P34;/濕度最高值設(shè)置按鍵sbit Key_HH2 = P35;/濕度最高值設(shè)置按鍵sbit beep=P20; /蜂鳴器volatile bit FlagStartRH = 0; /開(kāi)始溫濕度轉(zhuǎn)換標(biāo)志volatile bit FlagKeyPress = 0; /有鍵按下extern U8 U8FLAG,k; /定義溫濕度傳感器用外部變量extern U8 U8count,U8temp;extern U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_d
44、ata_L,U8checkdata;extern U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;extern U8 U8comdata;extern U8 count, count_r;U16 temp;S16 temperature, humidity;S16 idata TH, HH; /溫度上限和濕度上限char * pSave;U8 keyvalue, keyTH1, keyTH2, keyHH1, keyHH2;U16 RHCounter;void Data_
45、Init() /數(shù)據(jù)初始化 RHCounter = 0; keyvalue = 0; Led_qushi = 1; Led_jiangwen = 1; TH = 40; HH = 85; keyTH1 = 1; keyTH2 = 1; keyHH1 = 1; keyHH2 = 1; beep=1; void Timer0_Init() /定時(shí)器0初始化ET0 = 1; /允許定時(shí)器0中斷TMOD = 1; /定時(shí)器工作方式選擇TL0 = 0 x06; /定時(shí)器賦予低位初值TH0 = 0 xf8; /定時(shí)器賦予高位初值TR0 = 1; /啟動(dòng)定時(shí)器void Timer0_ISR (void) i
46、nterrupt 1 using 0 /定時(shí)器0中斷TL0 = 0 x06; /定時(shí)器賦予低位初值TH0 = 0 xf8; /定時(shí)器賦予高位初值 RHCounter +; /每2秒鐘啟動(dòng)一次溫濕度轉(zhuǎn)換 if (RHCounter = 1000) FlagStartRH = 1; RHCounter = 0; void Save_Setting() /存入設(shè)定值、 pSave = (char *)&TH; /地址低位對(duì)應(yīng)低8位,高位對(duì)應(yīng)高8位 wrteeprom(0, *pSave); /存溫度上限值TH低8位 DELAY(500); /延時(shí) pSave +; wrteeprom(1, *pSa
47、ve); /存溫度上限值TH高8位 DELAY(500); pSave = (char *)&HH; wrteeprom(2, *pSave); /存濕度上限值RH低8位 DELAY(500); pSave +; wrteeprom(3, *pSave); /存濕度上限值RH高8位 DELAY(500); void Load_Setting() /載入設(shè)定值、 pSave = (char *)&TH; *pSave+ = rdeeprom(0); *pSave = rdeeprom(1); pSave = (char *)&HH; *pSave+ = rdeeprom(2); *pSave =
48、 rdeeprom(3); if (TH99)|(TH99)|(HH0) HH = 85; void KeyProcess(uint num) switch (num) case 1: if (TH1) TH-; L1602_char(1, 15, TH/10+48); L1602_char(1, 16, TH%10+48); break; case 3: if (HH1) HH-; L1602_char(2, 15, HH/10+48); L1602_char(2, 16, HH%10+48); break; default: break; Save_Setting();/*主函數(shù)*/voi
49、d main() U16 i, j, testnum; EA = 0;Timer0_Init(); /定時(shí)器0初始化 Data_Init();EA = 1; L1602_init();L1602_string(1,1, Welcome to T&H );L1602_string(2,1, Control System! );for (i=0;i1000;i+) /延時(shí) for (j=0;j TH) /判斷超溫Led_jiangwen = 0;/二極管亮,超溫報(bào)警beep=0;/蜂鳴器響,超溫報(bào)警DELAY(500); /延時(shí)else Led_jiangwen = 1;beep=1;DELAY(
50、500); if (humidity HH) /判斷潮濕 Led_qushi = 0; /二極管亮,超濕報(bào)警 beep=0; /蜂鳴器響,超溫報(bào)警 DELAY(500); else Led_qushi = 1;beep=1; DELAY(500); /鍵盤(pán)查詢,在彈起時(shí)響應(yīng) if (Key_TH1)&(keyTH1=0) FlagKeyPress = 1; keyvalue = 1; else if(Key_TH2)&(keyTH2=0)FlagKeyPress=1;keyvalue = 2; else if(Key_HH1)&(keyHH1=0)FlagKeyPress =1;keyvalu
51、e=3; else if(Key_HH2)&(keyHH2=0)FlagKeyPress=1;keyvalue=4;if (FlagKeyPress = 1) KeyProcess(keyvalue); FlagKeyPress = 0; if (!Key_TH1) keyTH1 = 0;else keyTH1 = 1; if (!Key_TH2) keyTH2 = 0;else keyTH2 = 1; if (!Key_HH1) keyHH1 = 0;else keyHH1 = 1; if (!Key_HH2) keyHH2 = 0;else keyHH2 = 1;A1.2 24C02程序#
52、include 2402.hvoid DELAY(unsigned int t)while(t!=0)t-; void IICStart(void) SCL=0; DELAY(1); SDA=1; SCL=1; DELAY(1); SDA=0; DELAY(1); SCL=0; void IICStop(void) SDA=0;SCL=1; DELAY(1); SDA=1; DELAY(1); SCL=0; void SEND0(void)SDA=0;SCL=1;DELAY(1);SCL=0; void SEND1(void)SDA=1; DELAY(1);SCL=1; DELAY(1);SC
53、L=0; bit Check_Ack(void) unsigned char errtime=250; DELAY(1); SCL=1; DELAY(1); CY=SDA; while(CY) errtime-; CY=SDA; if (!errtime) IICStop(); return 1; DELAY(1); SCL=0; return 0;void Write_byte(unsigned char dat) unsigned char i;for(i=0;i8;i+)if(dati)&0 x80)SEND1();elseSEND0(); unsigned char Read_byte
54、(void)unsigned char i,temp=0; for(i=0;i8;i+) SDA=1; SCL=1; DELAY(1); if(SDA=1)temp=temp1;temp=temp|0 x01; elsetemp=temp1; SCL=0; return temp; unsigned char rdeeprom(unsigned char addr) unsigned char temp=0;bit flag=0;IICStart();Write_byte(0 xa0); Check_Ack();Write_byte(addr);Check_Ack();IICStart();W
55、rite_byte(0 xa1);Check_Ack();temp=Read_byte();SEND1();IICStop(); return temp; void wrteeprom(unsigned char addr,unsigned char dat) IICStart();Write_byte(0 xa0);Check_Ack();Write_byte(addr);Check_Ack();Write_byte(dat);Check_Ack();IICStop(); #ifndef _2402_H_#define _2402_H_#include sbit SCL = P10; /模擬I2C 總線的引腳定義sbit SDA = P11; /定義2402在I2C總線協(xié)議中從機(jī)地址void DELAY(unsigned int t); /延時(shí)函數(shù)void IICStart(vo
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案