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