模擬灌溉系統(tǒng).doc_第1頁
模擬灌溉系統(tǒng).doc_第2頁
模擬灌溉系統(tǒng).doc_第3頁
模擬灌溉系統(tǒng).doc_第4頁
模擬灌溉系統(tǒng).doc_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

微機與單片機原理及應用課程設計報告題 目:模擬智能灌溉系統(tǒng) 學 號: 110603136 姓 名: 黃鑫 年 級: 11級自動化 指導教師: 叢玉華 開課學期教室上交時間成績大三上實B3032013-12-21 一、 硬件部分1、涉及芯片:(1)、STC90C519RD+基本功能8位CPU4kbytes程序存儲器(ROM) (52為8K)128bytes的數據存儲器(RAM) (52有256bytes的RAM)32條I/O口線111條指令,大部分為單字節(jié)指令21個專用寄存器2個可編程定時/計數器5個中斷源,2個優(yōu)先級(52有6個)一個全雙工串行通信口外部數據存儲器尋址空間為64kB外部程序存儲器尋址空間為64kB邏輯操作位尋址功能雙列直插40PinDIP封裝單一+5V電源供電CPU:由運算和控制邏輯組成,同時還包括中斷系統(tǒng)和部分外部特殊功能寄存器;RAM:用以存放可以讀寫的數據,如運算的中間結果、最終結果以及欲顯示的數據;ROM:用以存放程序、一些原始數據和表格;I/O口:四個8位并行I/O口,既可用作輸入,也可用作輸出T/C:兩個定時/記數器,既可以工作在定時模式,也可以工作在記數模式;五個中斷源的中斷控制系統(tǒng);一個全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實現單片機之間或單片機與微機之間的串行通信;片內振蕩器和時鐘產生電路,石英晶體和微調電容需要外接。最佳振蕩頻率為6M12M。引腳圖引腳功能P0口有三個功能: 1、外部擴展存儲器時,當做數據總線 2、外部擴展存儲器時,當作地址總線 3、不擴展時,可做一般的I/O使用,但內部無上拉電阻,作為輸入或輸出時應在外部接上拉電阻。、P1口只做I/O口使用:其內部有上拉電阻。 P2口有兩個功能: 1、擴展外部存儲器時,當作地址總線使用 2、做一般I/O口使用,其內部有上拉電阻; P3口有兩個功能:除了作為I/O使用外(其內部有上拉電阻),還有一些特殊功能,由特殊寄存器來設置,PSEN 外部程序存儲器讀選通信號ALE 地址鎖存控制信號EA 訪問和序存儲器控制信號XTAL1和XTAL2 外接晶振引腳。當使用芯片內部時鐘時,此二引腳用于外接石英晶體和微調電容;當使用外部時鐘時,用于接外部時鐘脈沖信號。VCC:電源+5V輸入 VSS:GND接地 RST 復位信號(2)、74HC138基本功能HC138 按照三位二進制輸入碼和賦能輸入條件,從8 個輸出端中譯出一個 低電平輸出。真值表 引腳圖引腳功能(3)、DS1302基本功能74HC138可以對年、月、日、周、日、時、分、秒進行計時,且具有閏年補償等多種功能。引腳圖引腳功能DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復位/片選線,通過把RST輸入驅動置高電平來啟動所有的數據傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數據傳送的方法。當RST為高電平時,所有的數據傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數據傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc2.0V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數據輸入輸出端(雙向)。SCLK為時鐘輸入端。數據格式控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數據寫入DS1302中,位6如果為0,則表示存取日歷時鐘數據,為1表示存取RAM數據;位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。(4)、PCF8591基本功能PCF8591的功能包括多路模擬輸入、內置跟蹤保持、8-bit模數轉換和8-bit數模轉換。引腳圖引腳功能AIN0AIN3:模擬信號輸入端。 A0A2:引腳地址端。VDD、VSS:電源端。(2.56V) SDA、SCL:I2C 總線的數據線、時鐘線。OSC:外部時鐘輸入端,內部時鐘輸出端。EXT:內部、外部時鐘選擇線,使用內部時鐘時 EXT 接地。AGND:模擬信號地。 AOUT:D/A 轉換輸出端。 VREF:基準電源端。數據格式在傳輸數據的時候,SDA線必須在時鐘的高電平周期保持穩(wěn)定,SDA的高或低電平狀態(tài)只有在SCL 線的時鐘信號是低電平時才能改變 。SCL 線是高電平時,SDA 線從高電平向低電平切換,這個情況表示起始條件;SCL 線是高電平時,SDA 線由低電平向高電平切換,這個情況表示停止條件。(5)、24C02基本功能串行E2PROM是基于I2C-BUS 的存儲器件,遵循二線制協(xié)議,其具有接口方便,體積小,數據掉電不丟失等特點。引腳圖引腳功能A0,A1,A2:器件地址選擇 SDA:串行數據、地址 SCL:串行時鐘WP:寫保護 Vcc:1.8V-6.0V工作電壓 Vss:地數據格式同上(PCF8591)2、 系統(tǒng)電路圖:二、 軟件部分2、程序#include #includei2c.h #includeds1302.h #include #define GPIO_DIG P0 /-定義使用的IO-/-定義PCF8591的讀寫地址-/#define WRITEADDR 0x90 /寫地址#define READADDR 0x91 /讀地址/74LS138定義 sbit LSA=P22; sbit LSB=P23; sbit LSC=P24; /獨立按鍵 sbit S4=P10; sbit S5=P11; sbit S6=P12; sbit S7=P13; sbit LED_RED=P14; /紅燈,手動模式 sbit LED_GREEN=P15; /綠燈,自動模式 sbit fengmingqi=P16; sbit RELAY=P17; bit flag_mode=0; bit issetting=0; uchar num=50; /-定義全局變量-/ unsigned char code DIG_CODE17=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的顯示碼 unsigned char DisplayData8;/用來存放要顯示的8位數的值 unsigned char table8; /用來存放自動模式下設置界面 /-聲明全局變量-/ void DigDisplay(); void Delay10ms(uchar c); bit ISendByte(unsigned char sla,unsigned char c); unsigned char IRcvByte(unsigned char sla); void At24c02Write(unsigned char ,unsigned char ); unsigned char At24c02Read(unsigned char ); void Timer0Configuration(); void Key_down(); /*PCF8591*/ void Pcf8591SendByte(unsigned char channel); unsigned char Pcf8591ReadByte();/* 函 數 名 : main* 函數功能 : 主函數* 輸 入 : 無* 輸 出 : 無*/void main() unsigned int adNum;float value;LED_RED=0;LED_GREEN=0;num = At24c02Read(2);Ds1302Init(); while(1) Pcf8591SendByte(0); /發(fā)送電位器轉換命令 adNum = Pcf8591ReadByte(); /將轉換結果讀走value = adNum / 2.55 ; if(adNum99) adNum=99;if(adNumnum) RELAY=1; fengmingqi=1; else RELAY=0;fengmingqi=0; Ds1302ReadTime();Key_down();DisplayData0 = DIG_CODETIME2/16;/時DisplayData1 = DIG_CODETIME2&0x0f; DisplayData2 = 0x40;DisplayData3 = DIG_CODETIME1/16;/分DisplayData4 = DIG_CODETIME1&0x0f;DisplayData5 = 0x00;DisplayData6 = DIG_CODEadNum/10;DisplayData7 = DIG_CODEadNum%10;table0=0x40;table1=0x40;table2=0x40;table3=0x40;table4=0x40;table5=0x40;table6=DIG_CODEnum/10;table7=DIG_CODEnum%10; DigDisplay();/* 按鍵*/void Key_down() uchar n=0; if(S7=0) Delay10ms(1); if(S7=0) if(flag_mode=0) flag_mode=1; else flag_mode=0; while(n50)&(S7=0) Delay10ms(1); n+; n=0;if(flag_mode) /手動模式 LED_RED=1; LED_GREEN=0; if(S6=0) Delay10ms(1);if(S6=0) fengmingqi=fengmingqi;while(n50)&(S6=0) Delay10ms(1); n+;n=0; if(S5=0) Delay10ms(1);if(S5=0) RELAY=0; /打開灌溉系統(tǒng)while(n50)&(S5=0) Delay10ms(1); n+;n=0; if(S4=0) Delay10ms(1);if(S4=0) RELAY=1; /關閉灌溉系統(tǒng) while(nnum) RELAY=1; fengmingqi=1; else/自動模式 LED_RED=0;LED_GREEN=1; if(S6=0) Delay10ms(1);if(S6=0) issetting=issetting;while(n50)&(S6=0) Delay10ms(1); n+;n=0; if(issetting) if(S5=0) Delay10ms(1);if(S5=0) if(num99) num+;while(n0) num-;while(nnum) RELAY=1; fengmingqi=1;else RELAY=0; fengmingqi=0; /* 函 數 名 : DigDisplay* 函數功能 : 使用數碼管顯示* 輸 入 : 無* 輸 出 : 無*/void DigDisplay()unsigned char i;unsigned int j;for(i=0;i0;c-) for(b=38;b0;b-) for(a=130;a0;a-); 三、 系統(tǒng)說明手冊功能簡述:要求“模擬智能灌溉系統(tǒng)”能夠實現土壤濕度測量、土壤濕度和時間顯示、濕度閾值設定及存儲等基本功能。通過電位器Rb2輸出電壓信號,模擬濕度傳感器輸出信號,再通過AD采集完成濕度測量功能;通過DS1302芯片提供時間信息;通過按鍵完成灌溉系統(tǒng)控制和濕度閾值調整功能,通過LED完成系統(tǒng)工作狀態(tài)指示功能。系統(tǒng)硬件電路主要由單片機控制電路、顯示單元、ADC采集單元、RTC單元、EEPROM存儲單元、繼電器控制電路及報警輸出電路組成,系統(tǒng)框圖如圖1所示:1. 系統(tǒng)工作及初始化狀態(tài)說明1.1、自動工作狀態(tài),根據濕度數據自動控制打開或關閉灌溉設備,以L1點亮指示;1.2、手動工作狀態(tài),通過按鍵控制打開或關閉灌溉設備,以L2點亮指示;1.3、系統(tǒng)上電后處于自動工作狀態(tài),系統(tǒng)初始濕度閾值為50%,此時若濕度低于50%,灌溉設備自動打開,達到50%后,灌溉設備自動關閉;1.4、灌溉設備打開或關閉通過繼電器工作狀態(tài)模擬。2. 數碼管單元“模擬智能灌溉系統(tǒng)”通過讀取DS1302時鐘芯片相關寄存器獲得時間,DS1302芯片時、分、秒寄存器在程序中設定為系統(tǒng)進行初始化設定,時間為08時30分。3. 報警輸出單元系統(tǒng)工作于手動工作狀態(tài)下時,若當前濕度低于濕度閾值,蜂鳴器發(fā)出提示音,并可通過按鍵S6關閉提醒功能。4. 功能按鍵4.1、按鍵S7設定為系統(tǒng)工作狀態(tài)切換按鍵;4.2、手動工作狀態(tài)下按鍵S6、S5、S4功能設定如下:按下S6關閉蜂鳴器提醒功能,再次按下S6打開蜂鳴器提醒功能,如此循環(huán);S5功能設定為打開灌溉系統(tǒng);S4功能設定為關閉灌溉系統(tǒng)。4.3、自動工作狀態(tài)下按鍵S6、S5、S4功能設定如下:S6功能設定為濕度閾值調整按鍵,按下S6后,進入濕度閾值調整界面(如圖3所示),此時按下

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論