模擬灌溉系統(tǒng)_第1頁
模擬灌溉系統(tǒng)_第2頁
模擬灌溉系統(tǒng)_第3頁
模擬灌溉系統(tǒng)_第4頁
模擬灌溉系統(tǒng)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、微機(jī)與單片機(jī)原理及應(yīng)用課程設(shè)計(jì)報(bào)告題 目:模擬智能灌溉系統(tǒng)學(xué)號(hào):110603136姓名:黃鑫年 級:11級自動(dòng)化指導(dǎo)教師:叢玉華開課學(xué)期教室上交時(shí)間成績大三上實(shí) B3032013-12-21硬件部分1、涉及芯片:(1)、STC90C519RD+基本功能8 位 CPU 4kbytes 程序存儲(chǔ)器(ROM) (52 為 8K)128bytes 的數(shù)據(jù)存儲(chǔ)器 (RAM) (52 有 256bytes 的 RAM )32條I/O 口線 111條指令,大部分為單字節(jié)指令21 個(gè)專用寄存器2個(gè)可編程定時(shí)/計(jì)數(shù)器 5個(gè)中斷源,2個(gè)優(yōu)先級(52有6個(gè)) 一個(gè)全雙工串行通信口外部數(shù)據(jù)存儲(chǔ)器尋址空間為 64kB外

2、部程序存儲(chǔ)器尋址空間為 64kB邏輯操作位尋址功能雙列直插40PinDIP封裝單一 +5V 電源供電CPU :由運(yùn)算和控制邏輯組成,同時(shí)還包括中斷系統(tǒng)和部分外部特殊功能寄存器;RAM :用以存放可以讀寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù);ROM :用以存放程序、一些原始數(shù)據(jù)和表格;I/O 口:四個(gè) 8位并行 I/O 口,既可用作輸入,也可用作輸出T/C :兩個(gè)定時(shí)/記數(shù)器,既可以工作在定時(shí)模式,也可以工作在記數(shù)模式; 五個(gè)中斷源的中斷控制系統(tǒng);一個(gè)全雙工 UART (通用異步接收發(fā)送器)的串行 I/O 口,用于實(shí)現(xiàn)單片機(jī)之間或單 片機(jī)與微機(jī)之間的串行通信;片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電

3、路,石英晶體和微調(diào)電容需要外接。最佳振蕩頻率為6M 12M 。引腳圖P1.0 c Fl. I CPl,2 G 円.3 cHL4 cPl.5 CPl.6 匚Pl.7 fi bsr vin cP3. 0/RW gPR.1/TXD CP:J. 2/IjT0 g p:”ET7 亡E3.4 KJ CP3.5 H cP: A LlS cP3. 7/RD 匸MAi 2 =.ALL 匚Va3PO.Q3珂.1!Pfi. 7PC, 3PO. XPC. 5PCI 7n311 F PROC3P5EN P2.73P2.6=i *2 5卩2 4=i 臨3 =i P2.2口 P2. 1=1 陀0引腳功能P0 口有三個(gè)功能:

4、1外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)做數(shù)據(jù)總線2、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)作地址總線3、不擴(kuò)展時(shí),可做一般的I/O使用,但內(nèi)部無上拉電阻,作為輸入或輸出時(shí)應(yīng)在外部接上 拉電阻。P1 口只做I/O 口使用:其內(nèi)部有上拉電阻。P2 口有兩個(gè)功能:1、擴(kuò)展外部存儲(chǔ)器時(shí),當(dāng)作地址總線使用2、做一般I/O 口使用,其內(nèi)部有上拉電阻;P3 口有兩個(gè)功能:除了作為 I/O使用外(其內(nèi)部有上拉電阻),還有一些特殊功能,由特 殊寄存器來設(shè)置,PSEN外部程序存儲(chǔ)器讀選通信號(hào)ALE地址鎖存控制信號(hào)EA訪問和序存儲(chǔ)器控制信號(hào)XTAL1和XTAL2 外接晶振引腳。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引腳用于外接石英晶體和 微調(diào)電容;當(dāng)使用外部時(shí)

5、鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。VCC :電源+5V輸入VSS: GND 接地RST復(fù)位信號(hào)(2) 、74HC138基本功能HC138按照三位二進(jìn)制輸入碼和賦能輸入條件,從8個(gè)輸出端中譯出一個(gè) 低電平輸出。真值表引腳圖7/1HC138果嵐譯碼器功適表r5AY1Y3yTE2HTVIY5Y6Y7xtlXXXxHHH11tiHtiHXXHXXXHHHHHHHHLXXXXXHHHHHHHFHLLLLLLHHHHHHHHLLLLHHLHHHHHEHLLLHLHHLHHHHRHLLLHHHHHLHHHHLLHLLHliHHLHHHKLLHLHHHHHHLHKHLLHKLFHKHHHLEnLLHtiHHHHH

6、HHHL引腳功能3A1A2E1nE3r7IDJ5 YO YT)V3 (Y3) 4|4)1 (Y1)筋H 高電平L-低電平X任意電平E芥臣、E?為輸入梗能端A基AAo為二進(jìn)制數(shù)抿輸入端為E個(gè)輸出信號(hào)字母上面的“一號(hào)說明該輸入或輸出是低電平有效(3) 、DS1302基本功能74HC138可以對年、月、日、周、日、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。引腳圖VCC2 I1D o8. VCC1X127SCLKX2;36I/OGND,45RST引腳功能DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能 保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2

7、兩者中的較大者供電。當(dāng)Vcc2大于VCC1+0.2V 時(shí),Vcc2 給 DS1302供電。當(dāng) Vcc2 小于 Vcc1 時(shí),DS1302由 Vcc1 供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過把 RST俞入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)傳送的方法。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O弓I腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc2.0V之前,RS

8、T必須保持低電平。只有在 SCLK為低電平時(shí),才能將 RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向)。SCLK為時(shí)鐘輸入端。數(shù)據(jù)格式控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入 DS1302中, 位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為 1表示進(jìn)行讀操作,控制字節(jié) 總是從最低位開始輸出。(4)、PCF8591基本功能PCF8591的功能包括多路模擬輸入、內(nèi)置跟蹤保持、8-bit模數(shù)轉(zhuǎn)換和8-bit數(shù)模轉(zhuǎn)換。引腳圖引腳功能地址端。ALNOMN1AJNEALN3AOA0U

9、7AGNDEXTAINOAIN3 :模擬信號(hào)輸入端。VDD VSS:電源端。(2.5 6V)A0A2:引腳SDA SCL I2C總線的數(shù)據(jù)線、時(shí)鐘線。OSC夕卜部時(shí)鐘輸入端,內(nèi)部時(shí)鐘輸出端。EXT:內(nèi)部、外部時(shí)鐘選擇線,使用內(nèi)部時(shí)鐘時(shí)EXT接地。AGND模擬信號(hào)地。AOUT D/A轉(zhuǎn)換輸出端。VREF基準(zhǔn)電源端。數(shù)據(jù)格式在傳輸數(shù)據(jù)的時(shí)候,SDA線必須在時(shí)鐘的高電平周期保持穩(wěn)定,SDA的高或低電平狀態(tài)只有在SCL線的時(shí)鐘信號(hào)是低電平時(shí)才能改變。數(shù)據(jù)坯機(jī)定 !允許數(shù) 數(shù)晝止常 ;據(jù)改喪SCL線是高電平時(shí),SDA線從高電平向低電平切換,這個(gè)情況表示起始條件; SCL線是高電平時(shí),SDA線由低電平向高

10、電平切換,這個(gè)情況表示停止條件。SEWSO AdCL恃11橋杵(5) 、24C02基本功能串行E2PROM是基于I2C-BUS的存儲(chǔ)器件,遵循二線制協(xié)議,其具有接口方便,體積小, 數(shù)據(jù)掉電不丟失等特點(diǎn)。引腳圖引腳功能A0,A1,A2 :器件地址選擇SDA :串行數(shù)據(jù)、地址SCL :串行時(shí)鐘WP:寫保護(hù) Vcc : 1.8V-6.0V工作電壓Vss :地?cái)?shù)據(jù)格式同上(PCF8591)2、系統(tǒng)電路圖:P2.1/A9P2.2/A10P2.3/A11P2.4/A1229PSENALEEAP2.5/A13P2.6/A14P2.7/A15P3.7/RDVCC2I/O X2P3.0/RXD6Y2Y3 E1Y

11、4ElY5E2YEE3Y715軟件部分2、程序#in clude#in cludei2c.h#in cludeds1302.h#in clude#define GPIO_DIG PO/- 定義使用的 10-/寫地址/讀地址/-定義PCF8591的讀寫地址-/#defi neWRITEADDf0x90#defi neREADADDR0x91/74LS138 定義sbitLSA=P2A2;sbitLSB=P2A3;sbitLSC=P2A4;/獨(dú)立按鍵sbitS4=pia;sbitS5=P1A1;sbitS6=P1A2;sbitS7=P1A3;sbitLED_RED=P1A4;sbitLED_GRE

12、EN=P1A5;sbitfengmin gqi=P1A6;sbitRELAY=P1A7;bitflag_mode=0;bitissett in g=0;uchar num=50;/-定義全局變量-/un sig ned/紅燈,手動(dòng)模式/綠燈,自動(dòng)模式charcodeDIG_C0DE17=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位數(shù)的值

13、unsigned char table8;/用來存放自動(dòng)模式下設(shè)置界面void DigDisplay();void Delay10ms(uchar c);bit ISendByte(unsignedchar sla,unsignedchar c);unsigned char IRcvByte(unsignedchar sla);void At24cO2Write(unsignedchar ,unsigned char );unsigned char At24c02Read(unsigned char ); void TimerOC on figurati on();void Key_dow n

14、();/*PCF8591*/void Pcf8591SendByte(unsignedchar channel);/*unsigned char Pcf8591ReadByte();*函數(shù)名:main*函數(shù)功能:主函數(shù)*輸入:無*輸出:無*/void main()unsigned int adNum;float value;LED_RED=0;LED_GREEN=0;num = At24c02Read(2);Ds1302l nit();while(1)/發(fā)送電位器轉(zhuǎn)換命令/將轉(zhuǎn)換結(jié)果讀走Pcf8591Se ndByte(0); adNum = Pcf8591ReadByte(); value

15、= adNum/ 2.55 ;if(adNum99)adNum=99;if(adNu mnum)RELAY=1; fengmin gqi=1;elseRELAY=0;fengmin gqi=O;Ds1302ReadTime(); Key_dow n();DisplayData0DisplayData1DisplayData2DisplayData3DisplayData4DisplayData5DisplayData6DisplayData7=DIG_CODETIME2/16;=DIG_CODETIME2 &0x0f;=0x40;=DIG_CODETIME1/16;=DIG_CODETIME1

16、 &0x0f;=0x00;=DIG_CODEadNum/10;=DIG_CODEadNum%10;/時(shí)/分table0=0x40;table1=0x40;table2=0x40;table3=0x40;table4=0x40;table 5=0x40;table6=DIG_CODE num/10; table7=DIG_CODE nu m%10; DigDisplay();/* 按鍵*/void Key_dow n()uchar n=0;if(S7=0)Delay10ms(1);if(S7=0)if(flag_mode=0)flag_mode=1;elseflag_mode=0;while(

17、n 50) &(S7=0)Delay10ms(1);n+;n=0; if(flag_mode)/ 手動(dòng)模式LED_RED=1;LED_GREEN=0;if(S6=0)Delay10ms(1);if(S6=0)fengmin gqi=fengmin gqi;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;/關(guān)閉灌溉系統(tǒng)while( n

18、num)RELAY=1;fengmin gqi=1;else/自動(dòng)模式LED_RED=0;LED_GREEN=1;if(S6=0)Delay10ms(1);if(S6=0)issett in g=issett ing;while( n50)&(S6=0)Delay10ms(1);n+;n=0;if(issett ing)if(S5=0)Delay10ms(1);if(S5=0)if(n um99)nu m+;while( n0)num-;while( nnum)RELAY=1;fengmin gqi=1;elseRELAY=0;fengmin gqi=0;未*函數(shù)名函數(shù)功能輸入輸出DigDis

19、play使用數(shù)碼管顯示無無*voidDigDisplay()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)”能夠?qū)崿F(xiàn)土壤濕度測量、土壤濕度和時(shí)間顯示、濕度閾值設(shè)定及存儲(chǔ)等基本功能。通過電位器 Rb2輸出電壓信號(hào),模擬濕度傳感器輸出信號(hào),再通過AD采集完成濕度測量功能;通過 DS1302芯片提供時(shí)間信息;通過按鍵完成灌溉系統(tǒng)控制和濕 度閾值調(diào)整功能,通過 LED完成系統(tǒng)工作狀態(tài)指示功能。系統(tǒng)硬件電路主要由單片機(jī)控制 電路、顯示單元、ADC采集單元、RTC單元、EEPROM存儲(chǔ)單元、繼電器控制電路及報(bào)警 輸出電路組成,系統(tǒng)框圖如圖1所示:1. 系統(tǒng)工作及初始化狀態(tài)說明1.1、 自動(dòng)工作狀態(tài),根據(jù)濕度數(shù)據(jù)自動(dòng)控制打開或關(guān)閉灌溉設(shè)備,以L1點(diǎn)亮指示;1.2、 手動(dòng)工作狀態(tài),通過按鍵控制打開或關(guān)閉灌溉設(shè)備,以L2點(diǎn)亮指示;1.3、 系統(tǒng)上電后處于自動(dòng)工作狀態(tài),系統(tǒng)初始濕度閾值為50%,此時(shí)若濕度低于 50%, 灌溉設(shè)備自動(dòng)打開,達(dá)到 50%后,灌溉設(shè)備自動(dòng)關(guān)閉;1.4、灌溉設(shè)備打開或關(guān)閉通過繼電器工作狀態(tài)模擬。2. 數(shù)碼管單元時(shí)間及濕度數(shù)據(jù)顯示格式如廚2斫示:083005時(shí)(8時(shí))W1分(30分)則晉仍

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論