自動(dòng)澆花系統(tǒng)的設(shè)計(jì) [摘要]本設(shè)計(jì)主要的內(nèi)容是土壤濕度檢測(cè)電路的設(shè)計(jì)與制作。該電路的工作原理是由STC89C52單片機(jī)和ADC0832組成系統(tǒng)的核心部分,濕度傳感器將采集到的數(shù)據(jù)直接傳送到ADC0832的IN端作為輸入的模擬信號(hào)。選用濕度傳感器和AD轉(zhuǎn)換,電路內(nèi)部包含有濕度采集、AD轉(zhuǎn)換、單片機(jī)譯碼顯示等功能。單片機(jī)需要采集數(shù)據(jù)時(shí),發(fā)出指令啟動(dòng)A/D轉(zhuǎn)換器工作,ADC0832根據(jù)送來的地址信號(hào)選通IN1通道,然后對(duì)輸入的模擬信號(hào)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換結(jié)束時(shí),EOC輸出高電平,通知單片機(jī)可以讀取轉(zhuǎn)換結(jié)果,單片機(jī)通過調(diào)用中斷程序,讀取轉(zhuǎn)換后的數(shù)據(jù)。最后,單片機(jī)把采集到的濕度數(shù)據(jù)經(jīng)過軟件程序處理后送到LCD1602進(jìn)行顯示。自動(dòng)澆水系統(tǒng)設(shè)計(jì)為智能和手動(dòng)兩個(gè)部分:智能澆水部分是通過單片機(jī)程序設(shè)計(jì)澆水的上下限值與感應(yīng)電路送入單片機(jī)的土壤濕度值相比較,當(dāng)?shù)陀谙孪拗禃r(shí),單片機(jī)輸出一個(gè)信號(hào)控制澆水,高于上限值時(shí)再由單片機(jī)輸出一個(gè)信號(hào)控制停止?jié)菜?手動(dòng)部分是由通過關(guān)閉單片機(jī)電源,由外圍電路供電進(jìn)行澆灌
引言 1 選題的目的和意義 隨著社會(huì)的進(jìn)步,人們的生活質(zhì)量越來越高。在家里養(yǎng)養(yǎng)盆花可以陶冶情操,豐富生活。同時(shí)盆花可以通過光合作用吸收二氧化碳,凈化室內(nèi)空氣,在有花木的地方空氣中陰離子聚集較多,所以空氣也特別清新,而且許多花木還可以吸收空氣中的有害氣體,因此,養(yǎng)盆花如今被許多人喜愛。 盆花澆水量是否能做到適時(shí)適量,是養(yǎng)花成敗的關(guān)鍵。但是,在生活中人們總是會(huì)有無暇顧及的時(shí)候,比如工作太忙,或者出差、旅游等。花草生長(zhǎng)問題80%以上是由花兒澆灌問題引起的;好不容易種植幾個(gè)月的花草,因?yàn)闈菜患皶r(shí),長(zhǎng)勢(shì)不好,用來美化環(huán)境的花草幾乎成了“雞肋”;不種植吧,家里沒有綠色襯托,感覺沒有生機(jī);保留吧,花草長(zhǎng)得不夠旺盛,還影響家庭裝飾效果。雖然市場(chǎng)上有賣盆花自動(dòng)澆水器,但價(jià)格十分昂貴,并且大多只能設(shè)定一個(gè)定時(shí)澆水的時(shí)間,很難做到給盆花自動(dòng)適時(shí)適量澆水。夜有較經(jīng)濟(jì)的盆花缺水報(bào)警器,可以提醒人們及時(shí)的給盆花澆水。可是這種報(bào)警器只能報(bào)警,澆水還需要人們親自動(dòng)手。當(dāng)家里無人時(shí),即使報(bào)警也無人澆水,就起不到應(yīng)有的作用了。因此,我想設(shè)計(jì)一種集盆花土壤濕度檢測(cè),自動(dòng)澆水以及蓄水箱自動(dòng)供水于一體的盆花自動(dòng)澆水系統(tǒng)。讓人們無暇顧及時(shí)也能得到及時(shí)的澆灌。 2 自動(dòng)澆水器的誕生背景及國(guó)內(nèi)外發(fā)展現(xiàn)狀 微噴系統(tǒng)是近幾年利用國(guó)內(nèi)外先進(jìn)技術(shù)組裝的新型灌溉設(shè)施,主要是利用水流通過管道系統(tǒng)以一定速度從特制的噴頭噴出,在空氣中分散成細(xì)小的水滴著落在花草植物。作物及周圍的地面上,從而達(dá)到及時(shí)補(bǔ)充水分的目的。該系統(tǒng)具有用水量少、沖擊力小的灌溉特性,適用于栽培密度大、植被柔軟細(xì)嫩的植物。自動(dòng)澆水器的誕生時(shí)隨著人們生活水平的提高和生活節(jié)奏的加快而誕生的一種懶人園藝用品。它把微噴的概念應(yīng)有家庭盆花澆灌中,通過相應(yīng)地改進(jìn),達(dá)到合理給盆花自動(dòng)澆水的目的。 早在很多年前,國(guó)外就已經(jīng)開始普及,國(guó)內(nèi)實(shí)用的電子類自動(dòng)澆水器多數(shù)從國(guó)外進(jìn)口的,價(jià)格昂貴,但質(zhì)量比較可靠。不過這不太適用于國(guó)內(nèi),目前國(guó)內(nèi)外比較流行的是玻璃制作的自動(dòng)澆水器。這種類型的澆水器多數(shù)在我國(guó)山西和浙江一帶生產(chǎn)的,價(jià)格比較低廉,實(shí)用性沒有電子類自動(dòng)澆水器好。隨著國(guó)內(nèi)居民消費(fèi)水平和生活質(zhì)量的提高,居家園藝市場(chǎng)異常火爆,但是由于生活節(jié)奏加快,種花容易養(yǎng)花難,澆水問題就暴露出來,因此國(guó)內(nèi)上加已經(jīng)看到了這種需求潛力。目前這類小居家用品的廠家主要集中在廣東,上海,浙江一帶。現(xiàn)在市場(chǎng)上所出售的自動(dòng)澆水器主要有電子類自動(dòng)澆水器和玻璃、陶瓷類自動(dòng)澆水器。 電子類自動(dòng)澆水器又叫時(shí)控噴淋裝置,系統(tǒng)構(gòu)成為:主機(jī)(或者)、主管(可以是花園管也可以是七分之四毫米的微噴淋管)、分水接頭(3通、4通、5通、6通、分水器)、副管(五分之三毫米)噴淋管(霧化噴頭、旋轉(zhuǎn)噴頭、折射霧化噴頭等)。電子類自動(dòng)澆水器根據(jù)電源的不同分為交流電自動(dòng)澆水器和電池自動(dòng)澆水器兩種。控制器的一般性能有:電磁閥控制;智能時(shí)控電路、微電腦芯片控制;適用電源為AC220V/50Hz;最適水壓0.3-0.6Mpa;待機(jī)功率(4VA,澆水時(shí)小于12VA);可控制連續(xù)作業(yè)時(shí)間試1分鐘至168個(gè)小時(shí);可每天自動(dòng)完成十次以上澆水作業(yè),可每天、隔天、隔多天自動(dòng)循環(huán)進(jìn)行澆水,手動(dòng)自動(dòng)兩用;每天計(jì)時(shí)誤差小于正負(fù)3秒;電器適應(yīng)環(huán)境溫度為-10~50攝氏度;相對(duì)濕度小于90%RH。 2)玻璃、陶瓷類自動(dòng)澆水器 玻璃。陶瓷類自動(dòng)澆水器又叫自動(dòng)滲水裝置,它由本身材質(zhì)的物理結(jié)構(gòu)構(gòu)成,根據(jù)器具的物理滲水原理完成自動(dòng)澆灌,當(dāng)自動(dòng)澆水器內(nèi)部存水,自身形成一定的壓力,當(dāng)遇到干燥的土壤,水就會(huì)自上而下的流出,當(dāng)土壤濕潤(rùn)以后,會(huì)形成一個(gè)堵塞壓力,從而導(dǎo)致水流速度變慢或者停止。器具工藝不同,效果也不一樣,當(dāng)然也因土壤的疏松情況決定器具內(nèi)水流的速度。當(dāng)前傳感器技術(shù)與單片機(jī)技術(shù)發(fā)展迅速,其應(yīng)用逐步由工業(yè)、軍事等領(lǐng)域向其它領(lǐng)域滲透,已經(jīng)和我們的日常生活息息相關(guān)。而且智能家居概念也越來越受到人們的推崇,因此,微電腦控制的電子類自動(dòng)澆水系統(tǒng)有很好的發(fā)展前景。 3畢業(yè)設(shè)計(jì)所采用的研究方法和手段 本次畢業(yè)設(shè)計(jì)是設(shè)計(jì)一種單片機(jī)控制的自動(dòng)澆水系統(tǒng),實(shí)現(xiàn)室內(nèi)盆花澆水的自動(dòng)化系統(tǒng)。該系統(tǒng)可對(duì)土壤的濕度進(jìn)行監(jiān)控,并對(duì)作物進(jìn)行適時(shí)適量的澆水。其核心是單片機(jī)和溫濕度采集和顯示電路以及澆水驅(qū)動(dòng)電路構(gòu)成的檢測(cè)控制部分。主要研究土壤濕度與澆水量之間的關(guān)系、澆灌控制技術(shù)及設(shè)備系統(tǒng)的硬件、軟件編程各個(gè)部分。檢測(cè)部分,單片機(jī)選用STC89C52單片機(jī),軟件選用C51語言編程。土壤溫濕度采集于顯示電路可將檢測(cè)到的土壤溫濕度模擬量放大轉(zhuǎn)換成數(shù)字量通過單片機(jī)內(nèi)程序控制精確的將溫度與濕度分別顯示在LCD顯示屏上,同時(shí)把程序發(fā)給另外一塊單片機(jī),通過單片機(jī)內(nèi)的中斷服務(wù)程序判斷是否要給盆花澆水,若需澆水,則單片機(jī)系統(tǒng)發(fā)出澆水信號(hào),開始澆水,若不需要澆水,則進(jìn)行下一次循環(huán)檢測(cè)。在澆水系統(tǒng)中也同時(shí)設(shè)計(jì)一個(gè)定時(shí)澆水部分,通過按鍵開關(guān)設(shè)置不同的澆水時(shí)間段,在時(shí)間段以內(nèi)時(shí),單片機(jī)驅(qū)動(dòng)澆水系統(tǒng),開始澆水,如不在時(shí)間段內(nèi),則不澆水。
目錄 目錄 1 STC89C52 1.1 STC89C52的簡(jiǎn)介 1.2 STC89C52單片機(jī)的基本組成 1.3 STC89C52主要特性: 1.4 STC89C52的管腳說明 1.5 STC89C52單片機(jī)的存儲(chǔ)器 1.6 振蕩電路和時(shí)鐘 1.7 STC89C52的中斷系統(tǒng) 1.7.1 中斷系統(tǒng)結(jié)構(gòu)和中斷控制 1.7.2 中斷響應(yīng)過程 1.8 定時(shí)器/計(jì)數(shù)器 1.8.1 定時(shí)器/計(jì)數(shù)器0和1簡(jiǎn)介 1.8.2 與定時(shí)器/計(jì)數(shù)器0和1相關(guān)的特殊功能寄存器 2 LCD1602顯示 2.1 1602LCD的基本參數(shù)及引腳功能 2.2 顯示模塊采用1602液晶顯示接口電路 3 ADC0832 3.1 ADC0832的簡(jiǎn)介 3.2 ADC0832引腳圖 3.3.2 ADC靜態(tài)特性 ADC的靜態(tài)特性是指其與時(shí)間特性無關(guān)的特性,主要包括以下幾類: 3.3.3 ADC動(dòng)態(tài)特性 3.3.4 ADC性能測(cè)試 3.3.5 常用ADC芯片概述 3.3.6 ADC0832模數(shù)轉(zhuǎn)換原理及主要技術(shù)指標(biāo) 1.主要特性 2.內(nèi)部結(jié)構(gòu) 3.外部特性(引腳功能) 3.3.7 ADC0832與單片機(jī)的接口電路 4 盆花自動(dòng)澆水系統(tǒng)的設(shè)計(jì) 4.1 土壤溫濕度采集與顯示 4.1.1 硬件電路設(shè)計(jì) 4.1.2系統(tǒng)軟件設(shè)計(jì) 5.2定時(shí)器部分 7 致謝 8 參考文獻(xiàn) 9 附錄 附錄A 原理圖
1 STC89C52 1.1 STC89C52的簡(jiǎn)介 STC89C52是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集合輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ALMEL的STC89C52是一種高效微控制器,STC89C52單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且廉價(jià)的方案。 1.2 STC89C52單片機(jī)的基本組成  STC89C52由一個(gè)8位的微處理器,128KB片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM,21個(gè)特殊功能寄存器SFR,3KB片內(nèi)程序存儲(chǔ)器Flash ROM,64KB可尋址片內(nèi)外一編址的ROM,64KB可尋址片外的RAM,4個(gè)8位并行I/O接口(P0-P3),一個(gè)全雙工通用異步串行接口UART,兩個(gè)16位的定時(shí)器、計(jì)數(shù)器,具有位操作功能的布爾處理機(jī)及位尋址功能的五個(gè)中斷源、兩個(gè)優(yōu)先級(jí)的中斷控制系統(tǒng)以及片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路。其基本組成框圖如圖1.1所示。
圖1.1 STC89C52單片機(jī)的基本組成 1.3 STC89C52主要特性: - 與MCS-51兼容
- 4K字節(jié)可編程閃爍存儲(chǔ)器
- 壽命:1000寫、擦循環(huán)
- 數(shù)據(jù)保留時(shí)間:10年
- 全靜態(tài)工作:0Hz-24Hz
- 三級(jí)程序存儲(chǔ)器鎖定
- 128*8位內(nèi)部RAM
- 32可編程I/O線
- 兩個(gè)16位定時(shí)器、計(jì)數(shù)器
- 5個(gè)中斷源
- 可編程串行通道
- 低功耗的閑置和掉電模式
- 片內(nèi)振蕩器和時(shí)鐘電路
1.4 STC89C52的管腳說明 STC89C52的引腳圖如圖1.2所示。各引腳的具體說明如下: VCC:供電電壓 GND:接地 P0口 :P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須接上拉電阻。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為STC89C52的一些特殊功能口,如下所示: 各口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 圖1.2 STC89C52的引腳圖 1.5 STC89C52單片機(jī)的存儲(chǔ)器 在單片機(jī)中,存儲(chǔ)器分為程序存儲(chǔ)器ROM和數(shù)據(jù)存儲(chǔ)器RAM,并且兩個(gè)存儲(chǔ)器是獨(dú)立編址的。 STC89C52單片機(jī)芯片內(nèi)配置有8KB(0000H-1FFFH)的Flash程序存儲(chǔ)器和256字(00H-FFH)的數(shù)據(jù)存儲(chǔ)器RAM,根據(jù)需要可外擴(kuò)到最大64KB的程序存儲(chǔ)器和64KB的數(shù)據(jù)存儲(chǔ)器,因此STC89C52的存儲(chǔ)器結(jié)構(gòu)可分為4個(gè)部分:片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外程序存儲(chǔ)器。如果以最小系統(tǒng)使用單片機(jī),即不擴(kuò)展,則STC89C52的存儲(chǔ)器結(jié)構(gòu)就較簡(jiǎn)單:只有單片機(jī)自身提供的8Flash程序存儲(chǔ)器和256字節(jié)數(shù)據(jù)存儲(chǔ)器RAM。  圖1.3給出了STC89C52單片機(jī)的存儲(chǔ)器分布空間。左側(cè)框中為單片機(jī)自身提供的8KBFlash程序存儲(chǔ)器和256字節(jié)數(shù)據(jù)存儲(chǔ)器RAM。右側(cè)為可擴(kuò)展的64KB的程序存儲(chǔ)器ROM和64KB的數(shù)據(jù)存儲(chǔ)器RAM。 圖1.3存儲(chǔ)器空間分布 (1) 程序存儲(chǔ)器 STC89C52單片機(jī)出廠時(shí)片內(nèi)已帶有8KB的Flash程序存儲(chǔ)器,使用時(shí),引腳/EA要按高電平(5V),這時(shí),復(fù)位后CPU從片內(nèi)ROM區(qū)0000H單元開始讀取指令代碼,一直運(yùn)行到1FFFH單元,如果外部擴(kuò)展有程序存儲(chǔ)器ROM,則CPU會(huì)自動(dòng)轉(zhuǎn)移到片外ROM空間2000H-FFFH讀取指令代碼。 (2) 數(shù)據(jù)存儲(chǔ)器 STC89C52單片機(jī)出廠時(shí)片內(nèi)已帶有256字節(jié)的數(shù)據(jù)存儲(chǔ)器RAM,如果不夠用,可以在片外擴(kuò)展,最多可擴(kuò)展64KB RAM. 單片機(jī)自帶的數(shù)據(jù)存儲(chǔ)器RAM結(jié)構(gòu)如圖2-4所示,此字節(jié)單元(00H-FFH)的低128字節(jié)(00H-7FH)單元為用戶使用區(qū),高128字節(jié)(80H-FFH)單元為特殊功能寄存器SFR區(qū)。 片內(nèi)數(shù)據(jù)存儲(chǔ)器的00H-7FH單元又劃分為3塊:00H-1FH塊是工作寄存器所用;20-2FH塊是位尋址功能的單元區(qū);30H-3FH是普通RAM區(qū)。工作寄存器又分為4組,在當(dāng)前的運(yùn)行程序中只有一組是被激活的,誰被激活有程序狀態(tài)寄存器PEW的RS1,RS0兩位決定。 1.6 振蕩電路和時(shí)鐘 在STC89C52芯片內(nèi)部,有一個(gè)振蕩電路和時(shí)鐘發(fā)生器,引腳XTAL1和XTAL2之間接入晶體振蕩器和電容后構(gòu)成內(nèi)部時(shí)鐘方式。也可以使用外部振蕩器,由外部振蕩器產(chǎn)生的信號(hào)直接加載到振蕩器的輸入端,作為CPU的時(shí)鐘源,稱為外部時(shí)鐘方式。采用外部時(shí)鐘方式時(shí),外部振蕩器的輸出信號(hào)接至XTAL1,XTAL2懸空。兩種方式的電路連接圖1.6所示。大多數(shù)的單片機(jī)采用內(nèi)部時(shí)鐘方式,本次設(shè)計(jì)亦然。 在STC89C52單片機(jī)內(nèi)部,引腳XTAL2和引腳XTAL1連接著一個(gè)高增益反相放大器,XTAL1引腳是反相放大器的輸入端,XTAL2引腳是反相放大器的輸出端。 芯片內(nèi)部的時(shí)鐘發(fā)生器是一個(gè)二分頻觸發(fā)器,振蕩器的輸出fosc為其輸入,輸出為兩相時(shí)鐘信號(hào)(狀態(tài)時(shí)鐘信號(hào)),頻率為振蕩器輸出信號(hào)頻率fosc的二分之一。狀態(tài)時(shí)鐘經(jīng)三分頻后為低字節(jié)地址鎖存信號(hào)ALE,頻率為振蕩器輸出信號(hào)頻率fosc的六分之一,經(jīng)六分頻后為機(jī)器周期信號(hào),頻率為fosc/12。C1,C2一般取20-30pF的陶瓷電容器。 圖1.4 STC89C52振蕩器的連接方式 1.7 STC89C52的中斷系統(tǒng) 為了提高系統(tǒng)的工作效率,STC89C52單片機(jī)設(shè)置了中斷系統(tǒng),采用中斷方式與外設(shè)進(jìn)行數(shù)據(jù)傳送。所謂“中斷”,是指單片機(jī)在執(zhí)行某一段程序的過程中,由于某種原因(如異常情況或特殊請(qǐng)求),單片機(jī)暫時(shí)中止正在執(zhí)行的程序,而去執(zhí)行相應(yīng)的處理程序,待處理結(jié)束后,再返回到被打斷的程序除,繼續(xù)執(zhí)行原程序的過程。 1.7.1 中斷系統(tǒng)結(jié)構(gòu)和中斷控制 STC89C52有六個(gè)固定的可屏蔽中斷源,分別是三個(gè)片內(nèi)定時(shí)器/計(jì)數(shù)器溢出中斷TF0、TF1和TF2,兩個(gè)外部中斷/INT0(P3.2)和/INT1(P3.3),一個(gè)片內(nèi)串行口中斷T1或RI。6個(gè)中斷源有兩個(gè)中斷優(yōu)先級(jí),可形成中斷嵌套。它們?cè)诔绦虼鎯?chǔ)器中各有固定的中斷入口地址,由此進(jìn)入相應(yīng)的中斷服務(wù)程序。 引起6個(gè)中斷源的符號(hào)、名稱及產(chǎn)生的條件如下: /INT0:外部中斷0,由P3.2端口線引入,低電平或下降沿引起; /INT1:外部中斷1,由P3.3端口線引入,低電平或下降沿引起; T0:定時(shí)器/計(jì)數(shù)器0中斷,由T0記滿回零引起; T1 :定時(shí)器/計(jì)數(shù)器1中斷,由T1記滿回零引起; T1/RI:串行口I/O中斷,串行口完成一幀字符發(fā)送/接收后引起中斷; T2:定時(shí)器/計(jì)數(shù)器2中斷,由T2記滿回零引起。 在本次設(shè)計(jì)中采用了定時(shí)器/計(jì)數(shù)器0中斷,它的中斷控制寄存器包括定時(shí)器/計(jì)數(shù)器0、1控制寄存器TCON和中斷允許控制寄存器IE。 TCON是定時(shí)器/計(jì)數(shù)器和外部中斷兩者合用的一個(gè)可尋址的特殊功能寄存器,它的格式如下: 各控制位定義如下: TF1:定時(shí)器/計(jì)數(shù)器1溢出中斷請(qǐng)求標(biāo)志位。當(dāng)定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)產(chǎn)生溢出時(shí),由內(nèi)部硬件置位TF1,向CPU響應(yīng)中斷并轉(zhuǎn)向該中斷服務(wù)程序執(zhí)行時(shí),由硬件內(nèi)部自動(dòng)TF1清0。 TR1:定時(shí)器/計(jì)數(shù)器1啟動(dòng)/停止位。由軟件置位/復(fù)位控制位/計(jì)數(shù)器1的啟動(dòng)或停止計(jì)數(shù)。 TF0:定時(shí)器/計(jì)數(shù)器0溢出中斷請(qǐng)求標(biāo)志位。當(dāng)定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)產(chǎn)生溢出時(shí),由內(nèi)部硬件置位TF0,向CPU響應(yīng)中斷并轉(zhuǎn)向該中斷服務(wù)程序執(zhí)行時(shí),由硬件內(nèi)部自動(dòng)TF1清0. TR0:定時(shí)器/計(jì)數(shù)器0啟動(dòng)/停止位。由軟件置位/復(fù)位控制定時(shí)器/計(jì)數(shù)器0的啟動(dòng)或停止計(jì)數(shù)。 IE1:外部中斷請(qǐng)求標(biāo)志位。當(dāng)CPU檢測(cè)到INT0低電平或下降沿且IT1=1時(shí),由內(nèi)部硬件置位IE1標(biāo)志位(IE=1)向CPU請(qǐng)求中斷,當(dāng)CPU響應(yīng)中斷并轉(zhuǎn)向該中斷服務(wù)程序執(zhí)行時(shí),由硬件內(nèi)部將IE1清0。 IE0:外部中斷請(qǐng)求標(biāo)志位。當(dāng)CPU檢測(cè)到INT0低電平或下降沿且IT0=1時(shí),由內(nèi)部硬件置位IE0標(biāo)志位(IE0=1)向CPU請(qǐng)求中斷,當(dāng)CPU響應(yīng)中斷并轉(zhuǎn)向該中斷服務(wù)程序執(zhí)行時(shí),由硬件內(nèi)部將TE0清0。 IT1:用軟件置位/復(fù)位IT1來選擇外部中斷INT1是下降沿觸發(fā)還是電平觸發(fā)中斷請(qǐng)求。當(dāng)IT1置1時(shí),則外部中斷INT1為下降沿觸發(fā)中斷請(qǐng)求,即INT1端口由前一個(gè)機(jī)器周期的高電平跳變?yōu)橄乱粋(gè)機(jī)器周期的低電平,則觸發(fā)中斷請(qǐng)求;當(dāng)IT1復(fù)位清0,則INT1的低電平觸發(fā)中斷請(qǐng)求。 IT0:由軟件置位/復(fù)位IT0來選擇外部中斷INT0是下降沿觸發(fā)還是低電平觸發(fā)中斷請(qǐng)求,其控制原理同IT1。 中斷允許控制寄存器IE的格式如下: 各控制定義如下: EA:中斷總控制位,EA=1。CPU開中斷,它是CPU是否響應(yīng)中斷的前提,在此前提下,如果某中斷源的中斷允許置位1,才能響應(yīng)應(yīng)該中斷源的中斷請(qǐng)求。如果EA=0,無論哪個(gè)中斷源有請(qǐng)求,CPU都不予回應(yīng)。 ET2:定時(shí)器/計(jì)數(shù)器T2中斷控制位,ET2=1,允許T2計(jì)數(shù)溢出中斷;ET=2,禁止T2中斷。 ES:串行口中斷控制位,ES=1,允許串行口發(fā)送/接受中斷;ES=0禁止串行口中斷。 ET1:定時(shí)器/計(jì)數(shù)器T1中斷控制位,ET1=1,允許T1計(jì)數(shù)溢出中斷;ET1=0,禁止T1中斷。 EX1:外部中斷1控制位,EX1=1,允許中斷;EX=0,禁止外部中斷1中斷。 ET0:定時(shí)器/計(jì)數(shù)器T0中斷控制位,ET0=1,允許T0計(jì)數(shù)溢出中斷;ET0=0,禁止T0中斷。 EX0:外部中斷0控制位,EX0=1,允許中斷;EX0=0,禁止外部中斷0中斷。 1.7.2 中斷響應(yīng)過程 CPU中斷處理從響應(yīng)中斷、控制程序轉(zhuǎn)向?qū)?yīng)的中斷矢量地址入口處執(zhí)行中斷服務(wù)程序,到執(zhí)行返回(RET1)指令為止。中斷響應(yīng)可分為以下幾個(gè)步驟: (1)保護(hù)斷點(diǎn),即保存下一個(gè)將要執(zhí)行的指令的地址,把這個(gè)地址送入堆棧。 (2)尋找中斷入口,根據(jù)6個(gè)不同的中斷源所產(chǎn)生的中斷,中斷系統(tǒng)必須能夠正確地識(shí)別中斷源,查找6個(gè)不同的入口地址。以上工作是由單片機(jī)自動(dòng)完成的,與編程者無關(guān)。在6個(gè)入口地址處存放有中斷處理程序。 (4)中斷返回:執(zhí)行完中斷指令后,從中斷處返回到朱程序,繼續(xù)執(zhí)行。 1.8 定時(shí)器/計(jì)數(shù)器 STC89C52單片機(jī)內(nèi)部設(shè)有兩個(gè)16位可編程定時(shí)器/計(jì)數(shù)器,即定時(shí)器/計(jì)數(shù)器0和定時(shí)器/計(jì)數(shù)器1。除此之外還有一個(gè)可編程定時(shí)器/計(jì)數(shù)器2。 1.8.1 定時(shí)器/計(jì)數(shù)器0和1簡(jiǎn)介 定時(shí)器/計(jì)數(shù)器0和1內(nèi)部有一個(gè)計(jì)數(shù)寄存器(THx和TLx),它實(shí)際上是一個(gè)累加寄存器加1計(jì)數(shù)。定時(shí)器和計(jì)數(shù)器共用這個(gè)寄存器,但定時(shí)器/計(jì)數(shù)器同一時(shí)刻只能工作在其中一種方式下,不可能既工作在定時(shí)器方式,同時(shí)又工作在計(jì)數(shù)器方式。這兩個(gè)工作方式的根本區(qū)別是在于計(jì)數(shù)脈沖的來源不同。工作在定時(shí)器方式時(shí),對(duì)振蕩器12分頻的脈沖計(jì)數(shù),即每過一個(gè)機(jī)器周期(1個(gè)機(jī)器周期在時(shí)間上和12個(gè)振蕩周期的時(shí)間相等),計(jì)數(shù)寄存器中的值就加1。工作在計(jì)數(shù)器方式時(shí),計(jì)數(shù)器不是來自內(nèi)部的機(jī)器周期,而是來自外部輸入。對(duì)定時(shí)器/計(jì)數(shù)器0、定時(shí)器/計(jì)數(shù)器1,計(jì)數(shù)脈沖分別來自T0、T1引腳。當(dāng)這些引腳上輸入的信號(hào)產(chǎn)生高電平至低電平的負(fù)跳變時(shí),計(jì)數(shù)器寄存器的值就加1。單片機(jī)每個(gè)機(jī)器周期都要對(duì)對(duì)外部輸入進(jìn)行采樣,如果在第一個(gè)周期,即第三個(gè)機(jī)器周期計(jì)數(shù)寄存器的值才增加1。 1.8.2 與定時(shí)器/計(jì)數(shù)器0和1相關(guān)的特殊功能寄存器 (1)計(jì)數(shù)器寄存器TH0、TL0和TH1、TL1 計(jì)數(shù)寄存器是16位的,再啟動(dòng)定時(shí)器時(shí)需要對(duì)它設(shè)定初始值。THx是計(jì)數(shù)器寄存器的高8位,THx是計(jì)數(shù)寄存器的低8位。TH0、TL0對(duì)應(yīng)T/C0,TH1,TL1對(duì)應(yīng)T/C1。 - 定時(shí)器/計(jì)數(shù)器控制寄存器TCON的格式如下:
TF1為T/C1的溢出標(biāo)志,溢出時(shí)由硬件置1,進(jìn)入中斷后又由硬件自動(dòng)清0。 TR1為T/C1的啟動(dòng)和停止位,由軟件控制。置1時(shí)啟動(dòng)T/C1;清0時(shí)停止T/C1。 TF0和TR0的功能和使用方法以TF1、TR1類似,只是它們針對(duì)的是T/C0. (3)定時(shí)器/計(jì)數(shù)器方式控制寄存器TMOD 定時(shí)器/計(jì)數(shù)器方式控制寄存器TMOD的格式如下所示。它的控制位都是由軟件控制的,其中高4位是針對(duì)T/C1的,低4位是針對(duì)T/C0的,其功能和使用方法相似。 現(xiàn)在以T/C0來說明各控制位的使用方法:GATE是一個(gè)選通位,當(dāng)GATE位置1時(shí),T/C0受到雙重控制,只有/INT0為高電平且TR0位置1是T/C0才開始工作,當(dāng)GATE位清0時(shí),T/C0僅受到TR0的控制。C//T用來選擇工作在定時(shí)器方式還是計(jì)數(shù)器方式。當(dāng)該位置1時(shí)工作在計(jì)數(shù)器方式,清0時(shí)工作在定時(shí)器方式。M1和M0聯(lián)合起來用于選擇操作模式,一共有四種操作模式,如表所示。
表1.1 定時(shí)器/計(jì)數(shù)器的四種模式 | | | | | | | | | | | 自動(dòng)重轉(zhuǎn)載的8位計(jì)數(shù)器 | | | | 自動(dòng)重轉(zhuǎn)載的8位計(jì)數(shù)器 | | | | T0分為兩個(gè)8位計(jì)數(shù)器,T1停止計(jì)數(shù) |
2 LCD1602顯示 2.1 1602LCD的基本參數(shù)及引腳功能 1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無差別,兩者尺寸差別如圖16所示。 圖16 LM016L結(jié)構(gòu)圖 LCD1602主要技術(shù)參數(shù): 容量:16×2個(gè)字符 芯片工作電壓:4.5—5.5V 工作電流:2.0mA(5.0V) 模塊最佳工作電壓:5.0V 字符尺寸:2.95×4.35(W×H)mm 引腳功能說明: 1602LCD采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表1所示: 表7引腳接口說明表
第1腳:VSS為地電源。 第2腳:VDD接5V正電源。 第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度。 第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。 第5腳:R/W為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。 第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。 第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。 第15腳:背光源正極。 第16腳:背光源負(fù)極。 2.2 顯示模塊采用1602液晶顯示接口電路 圖17 1602液晶顯示接口
3 ADC0832 3.1 ADC0832的簡(jiǎn)介 ADC0832其實(shí)就是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個(gè)8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換。是目前國(guó)內(nèi)應(yīng)用最廣泛的8位通用A/D芯片。 3.2 ADC0832引腳圖 3.3.2 ADC靜態(tài)特性 ADC的靜態(tài)特性是指其與時(shí)間特性無關(guān)的特性,主要包括以下幾類: 1) 分辨率 ADC的分辨率定位為二進(jìn)制末位變化1所需的最小輸入電壓與參考電壓的比值,即ADC能夠分辨的最小的模擬量的變化。 2) 量化誤差 量化電平定義為滿量程電壓(或滿度信號(hào)值)UFSR與2的N次冪的比值,其中N位被數(shù)字化的數(shù)字信號(hào)的二進(jìn)制位數(shù)。量化電平一般用Q表示。 3) 全輸入范圍和動(dòng)態(tài)范圍 全輸入范圍是指允許輸入模擬信號(hào)的最大值與最小值之差;動(dòng)態(tài)范圍是指全輸入范圍與ADC最小可分辨的量值之比。 4) 偏置誤差和增益誤差 ADC的偏置誤差定義為使最低位被置成“1”狀態(tài)時(shí)ADC的輸入電壓與理論上使最低位被置成“1”狀態(tài)時(shí)的輸入電壓之差。當(dāng)偏置誤差高速為零之后,輸出為全1時(shí)對(duì)應(yīng)的實(shí)際輸入電壓與理想輸入電壓之差。
3.3.3 ADC動(dòng)態(tài)特性 高速ADC的動(dòng)態(tài)特性是指輸入為交變簡(jiǎn)諧信號(hào)時(shí)的性能技術(shù)指標(biāo),它是與ADC的操作速度有關(guān)的特性。其主要技術(shù)指標(biāo)如下: 1) 轉(zhuǎn)換時(shí)間、采集時(shí)間 轉(zhuǎn)換時(shí)間是指從信號(hào)開始轉(zhuǎn)換到可獲得完整的信號(hào)輸出所用的時(shí)間,它是高速ADC的一項(xiàng)重要指標(biāo)。 采集時(shí)間是指采樣保持電路在采樣模式下能夠保證其在隨之到來的保持模式輸出在采樣保持轉(zhuǎn)換時(shí),相對(duì)該時(shí)刻存在的輸入電平之間的誤差將會(huì)限制在一定的誤差范圍內(nèi)所需的時(shí)間。 2) 頻率響應(yīng) 它是沖擊響應(yīng)的傅立葉變換,其最佳表達(dá)方式是幅頻與相頻曲線,從系統(tǒng)辨識(shí)的角度看這是在頻域?qū)DC動(dòng)態(tài)線性特性的非參數(shù)模型描述。 3) 動(dòng)態(tài)積分非線性誤差和動(dòng)態(tài)微分非線性誤差 動(dòng)態(tài)積分非線性誤差(INL)定義為在動(dòng)態(tài)情況下(一般輸入信號(hào)為正弦信號(hào)),ADC實(shí)際轉(zhuǎn)換特性曲線之間的最大偏差。每個(gè)數(shù)碼的偏差都是由那個(gè)數(shù)碼的中心值來度量的。 動(dòng)態(tài)微分非線性誤差(DNL)定義為在動(dòng)態(tài)情況下(一般輸入信號(hào)為正弦信號(hào)),ADC實(shí)際轉(zhuǎn)換特性的碼寬(1LSB)與理想代碼寬度之間的最大偏差,單位為L(zhǎng)SB。為了保證ADC不失碼,通常規(guī)定在25oC時(shí)最大DNL為 1/2LSB。 4) 信噪比、信噪失真比和有效位數(shù) 信噪比(SNR)是信號(hào)電平的有效值與各種噪聲(包括量化噪聲、熱噪聲、白噪聲等)有效值之比的分貝數(shù)。其中信號(hào)是指基波分量的有效值,噪聲指奈奎斯特頻率以下的全部非基波分量的有效值(除諧波分量和直流分量外)。 5) 小信號(hào)帶寬和全功率帶寬 ADC的模擬帶寬是指輸入掃描頻率基波在ADC輸出端用FFT分析得到的基波頻譜下降到3dB處的帶寬(不考慮諧波失真和噪聲影響)。根據(jù)輸入信號(hào)幅值不同,模擬帶寬又可以分為小信號(hào)帶寬(SSBW,一般指1/10滿量程)和全功率帶寬(FPBW,指滿量程)。 3.3.4 ADC性能測(cè)試 ADC測(cè)試方法主要有兩種:模擬方法和數(shù)字方法。前者是將A/D采集的數(shù)字信號(hào)經(jīng)D/A轉(zhuǎn)換位模擬信號(hào)再用傳統(tǒng)的測(cè)試方法對(duì)其進(jìn)行測(cè)試,優(yōu)點(diǎn)是易于理解,缺點(diǎn)是許多A/D采集卡本身不帶D/A,即或有,D/A的性能也將影響A/D指標(biāo)的測(cè)試; 3.3.5 常用ADC芯片概述 A/D轉(zhuǎn)換器是用來通過一定的電路將模擬量轉(zhuǎn)變?yōu)閿?shù)字量。模擬量可以是電壓、電流等電信號(hào),也可以是壓力、溫度、濕度、位移、聲音等非電信號(hào)。但在A/D轉(zhuǎn)換前,輸入到A/D轉(zhuǎn)換器的輸入信號(hào)必須經(jīng)各種傳感器把各種物理量轉(zhuǎn)換成電壓信號(hào)。 3.3.6 ADC0832模數(shù)轉(zhuǎn)換原理及主要技術(shù)指標(biāo) ADC0832是M美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D轉(zhuǎn)換器。其內(nèi)部有一個(gè)8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換。是目前國(guó)內(nèi)應(yīng)用最廣泛的8位通用A/D芯片 1.主要特性 1)8路輸入通道,8位A/D轉(zhuǎn)換器,即分辨率為8位。 2)具有轉(zhuǎn)換起停控制端。 3)轉(zhuǎn)換時(shí)間為100μs(時(shí)鐘為640kHz時(shí)),130μs(時(shí)鐘為500kHz時(shí)) 4)單個(gè)+5V電源供電 5)模擬輸入電壓范圍0~+5V,不需零點(diǎn)和滿刻度校準(zhǔn)。 6)工作溫度范圍為-40~+85攝氏度 7)低功耗,約15mW。 2.內(nèi)部結(jié)構(gòu) ADC0832是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型A/D轉(zhuǎn)換器、逐次逼近。 3.外部特性(引腳功能) ADC0832芯片有28條引腳,采用雙列直插式封裝。下面說明各引腳功能。 IN0~I(xiàn)N7:8路模擬量輸入端。 2-1~2-8:8位數(shù)字量輸出端。 ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路 ALE:地址鎖存允許信號(hào),輸入,高電平有效。 START: A/D轉(zhuǎn)換啟動(dòng)脈沖輸入端,輸入一個(gè)正脈沖(至少100ns寬)使其啟動(dòng)(脈沖上升沿使0809復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換)。 EOC: A/D轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)。 OE:數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。 CLK:時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于640KHZ。 REF(+)、REF(-):基準(zhǔn)電壓。 Vcc:電源,單一+5V。 GND:地。 4.ADC0832的工作過程 首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng) A/D轉(zhuǎn)換,之后EOC輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖剑甘続/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷申請(qǐng)。當(dāng)OE輸入高電平 時(shí),輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。 轉(zhuǎn)換數(shù)據(jù)的傳送 A/D轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時(shí)傳送給單片機(jī)進(jìn)行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認(rèn)A/D轉(zhuǎn)換的完成,因?yàn)橹挥写_認(rèn)完成后,才能進(jìn)行傳送。為此可采用下述三種方式。 (1)定時(shí)傳送方式 對(duì)于一種A/D轉(zhuǎn)換其來說,轉(zhuǎn)換時(shí)間作為一項(xiàng)技術(shù)指標(biāo)是已知的和固定的。例如ADC0832轉(zhuǎn)換時(shí)間為128μs,相當(dāng)于6MHz的MCS-51單片機(jī)共64個(gè)機(jī)器周期。可據(jù)此設(shè)計(jì)一個(gè)延時(shí)子程序,A/D轉(zhuǎn)換啟動(dòng)后即調(diào)用此子程序,延遲時(shí)間一到,轉(zhuǎn)換肯定已經(jīng)完成了,接著就可進(jìn)行數(shù)據(jù)傳送。 (2)查詢方式 A/D轉(zhuǎn)換芯片由表明轉(zhuǎn)換完成的狀態(tài)信號(hào),例如ADC0832的EOC端。因此可以用查詢方式,測(cè)試EOC的狀態(tài),即可確認(rèn)轉(zhuǎn)換是否完成,并接著進(jìn)行數(shù)據(jù)傳送。 (3)中斷方式 把表明轉(zhuǎn)換完成的狀態(tài)信號(hào)(EOC)作為中斷請(qǐng)求信號(hào),以中斷方式進(jìn)行數(shù)據(jù)傳送。 不管使用上述哪種方式,只要一旦確定轉(zhuǎn)換完成,即可通過指令進(jìn)行數(shù)據(jù)傳送。首先送出口地址并以信號(hào)有效時(shí),OE信號(hào)即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機(jī)接受。 3.3.7 ADC0832與單片機(jī)的接口電路 ADC0832模數(shù)轉(zhuǎn)換器與STC89C52單片機(jī)的接口電路如圖9所示
圖9 ADC0832與STC89C52單片機(jī)接口電路 4 盆花自動(dòng)澆水系統(tǒng)的設(shè)計(jì) 該系統(tǒng)包括土壤干濕度采集與顯示系統(tǒng)和定時(shí)器的設(shè)置與顯示系統(tǒng)兩個(gè)系統(tǒng)。
4.1 土壤溫濕度采集與顯示
土壤溫濕度采集與顯示系統(tǒng)以單片機(jī)STC89C52為控制核心,通過軟件設(shè)置達(dá)到具體動(dòng)作實(shí)現(xiàn)。土壤的溫濕度是由ADC0832和兩個(gè)點(diǎn)位器進(jìn)行模擬并送入單片機(jī),通過單片機(jī)的I/O口把檢測(cè)到的土壤溫濕度值用LCD顯示出來。同時(shí),如果系統(tǒng)在智能澆水設(shè)置情況下,則該值與設(shè)定的澆水上下限值相比較,若低于下限值,則單片機(jī)發(fā)出一個(gè)控制信號(hào),開始澆水。若高于上限值時(shí),單片機(jī)再發(fā)出一個(gè)控制信號(hào)控制,停止?jié)菜H绻到y(tǒng)設(shè)置在手動(dòng)澆水情況下,則按照設(shè)定好的定時(shí)澆水時(shí)間進(jìn)行澆水,溫濕度檢測(cè)電路把檢測(cè)到的土壤溫濕度值顯示在LCD上,以達(dá)到對(duì)土壤溫濕度實(shí)時(shí)監(jiān)測(cè)的目的。
4.1.1 硬件電路設(shè)計(jì) 土壤溫濕度檢測(cè)與控制系統(tǒng)由STC89C52單片機(jī)、ADC0832、電位器、LCD顯示屏、電阻等組成。 對(duì)于LCD顯示屏將D0-D7通過排阻RESPACK8連接到單片機(jī)的P0.0-P0.7上,E、R/W、RS與P3.7、P3.6、P3.5連接。
5.2定時(shí)器部分
定時(shí)器部分以單片機(jī)STC89C52為控制核心,通過軟件設(shè)置達(dá)到具體動(dòng)作實(shí)現(xiàn)。通過按鍵開關(guān)對(duì)當(dāng)前時(shí)間以及定時(shí)澆水時(shí)間進(jìn)行設(shè)置,共陰數(shù)碼管顯示,當(dāng)時(shí)間處在所設(shè)置的澆水時(shí)間內(nèi)時(shí),單片機(jī)發(fā)出控制信號(hào),開始澆水。否則,停止?jié)菜?/div>
6.總結(jié) 本次設(shè)計(jì)的盆花自動(dòng)澆水系統(tǒng)以電子類的自動(dòng)澆花器的工作原理為參考,運(yùn)用溫濕度采集電路及單片機(jī)控制技術(shù)構(gòu)成一個(gè)土壤溫濕度采集與控制系統(tǒng)。再用數(shù)字電路控制自動(dòng)給水系統(tǒng)及時(shí)的澆水系統(tǒng)供水。整個(gè)盆花自動(dòng)澆水系統(tǒng)包括土壤溫濕度的采集和顯示、計(jì)數(shù)器的設(shè)置與顯示兩個(gè)個(gè)部分。土壤溫濕度的采集和顯示以ADC0832配合兩個(gè)電位器為感應(yīng)電路,將檢測(cè)到的土壤溫濕度值送入STC89C52單片機(jī),再由單片機(jī)的I/O口輸出到LCD液晶顯示屏進(jìn)行顯。同時(shí)此濕度值也是是否給盆花澆水的參考值。它設(shè)計(jì)為智能和手動(dòng)兩個(gè)部分:智能澆水系統(tǒng)是通過單片機(jī)程序設(shè)定澆水的上下限值并與溫濕度采集電路送入單片機(jī)的土壤濕度值相比較,當(dāng)傳感器檢測(cè)到的濕度值低于設(shè)定的下限值時(shí),單片機(jī)輸出一個(gè)信號(hào),開始澆水,高于設(shè)定的上限值時(shí)再由單片機(jī)輸出一個(gè)信號(hào),停止?jié)菜皇謩?dòng)部分是由單片機(jī)從數(shù)碼管讀入月份與每天的實(shí)時(shí)時(shí)刻,通過軟件程序設(shè)定定時(shí)澆水的時(shí)間。通過按鍵開關(guān)對(duì)當(dāng)前時(shí)間以及定時(shí)澆水時(shí)間進(jìn)行設(shè)置,共陰數(shù)碼管顯示,當(dāng)時(shí)間處在所設(shè)置的澆水時(shí)間內(nèi)時(shí),單片機(jī)發(fā)出控制信號(hào),開始澆水。否則,停止?jié)菜?/div> 過本次畢業(yè)設(shè)計(jì),讓我進(jìn)一步熟悉了一些元器件的功能和屬性。也使我真正接觸到了控制系統(tǒng)的設(shè)計(jì),雖然是一個(gè)人們?nèi)粘I畹男∠到y(tǒng),但也讓我明白了很多設(shè)計(jì)上應(yīng)該注意的問題。比如實(shí)用性。經(jīng)濟(jì)性以及安裝條件等。
7 致謝 本畢業(yè)論文是在我的導(dǎo)師xx老師的親切關(guān)懷和悉心指導(dǎo)下完成的。她嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵(lì)著我。從課題的選擇到項(xiàng)目的最終完成,朱亞莉等老師都始終給予我細(xì)心的指導(dǎo)和不懈的支持。在課題的整個(gè)研究工作期間,我曾遇到不少的困難和挫折,是他們給予我的幫助和鼓勵(lì),讓我重新獲得了繼續(xù)前進(jìn)的勇氣和信心,在此期間,他們對(duì)我的論文提出了許多寶貴的修改意見,從而進(jìn)一步增強(qiáng)了本論文的可讀性和嚴(yán)密性。在此謹(jǐn)向朱老師致以衷心的感謝和深深的敬意! 在此,我還要感謝在一起愉快的工作的各位同組人員,正是由于他們的幫助和支持團(tuán)結(jié)配合克服一個(gè)一個(gè)的困難和疑惑,直至本文的順利完成。 在論文即將完成之際,我的心情無法平靜,從開始進(jìn)入課題到論文的順利完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無言的幫助,在這里請(qǐng)接受我誠(chéng)摯的謝意! 感謝我的同學(xué)、我的室友,在大學(xué)四年里,他們給我許多的關(guān)心和幫助,伴我度過許多快樂時(shí)光。和他們?cè)谝黄鸲冗^的日子永遠(yuǎn)值得回味。 感謝各級(jí)領(lǐng)導(dǎo)對(duì)我的教育培養(yǎng)。他們細(xì)心指導(dǎo)我的學(xué)習(xí)與研究,在此,我要向諸位老師深深地鞠上一躬。 |