![魚缸自動換水系統(tǒng)設(shè)計 電氣自動化專業(yè)畢業(yè)設(shè)計 畢業(yè)論文_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/8a2ee68d-f428-49ce-b685-3844f900a947/8a2ee68d-f428-49ce-b685-3844f900a9471.gif)
![魚缸自動換水系統(tǒng)設(shè)計 電氣自動化專業(yè)畢業(yè)設(shè)計 畢業(yè)論文_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/8a2ee68d-f428-49ce-b685-3844f900a947/8a2ee68d-f428-49ce-b685-3844f900a9472.gif)
![魚缸自動換水系統(tǒng)設(shè)計 電氣自動化專業(yè)畢業(yè)設(shè)計 畢業(yè)論文_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/8a2ee68d-f428-49ce-b685-3844f900a947/8a2ee68d-f428-49ce-b685-3844f900a9473.gif)
![魚缸自動換水系統(tǒng)設(shè)計 電氣自動化專業(yè)畢業(yè)設(shè)計 畢業(yè)論文_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/8a2ee68d-f428-49ce-b685-3844f900a947/8a2ee68d-f428-49ce-b685-3844f900a9474.gif)
![魚缸自動換水系統(tǒng)設(shè)計 電氣自動化專業(yè)畢業(yè)設(shè)計 畢業(yè)論文_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/8a2ee68d-f428-49ce-b685-3844f900a947/8a2ee68d-f428-49ce-b685-3844f900a9475.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、河南農(nóng)業(yè)職業(yè)學(xué)院畢業(yè)設(shè)計報告課題:魚缸自動換水系統(tǒng)設(shè)計系 部: 電子信息工程系專 業(yè): 電氣自動化班 級: 07-1姓 名: xxx指導(dǎo)老師: xxx2011年6月26日目 錄:第一章 總體方案設(shè)計3第二章 硬件設(shè)計 4 2.1 控制核心AT89S52單片機(jī)42.2 八段四位共陽極數(shù)碼管 72.3穩(wěn)壓電路設(shè)計 92.4電磁閥的結(jié)構(gòu)原理 102.5熱繼電器 102.6微型水泵 112.7水位器的選擇 11第三章 軟件設(shè)計 123.1換水時間及換水量選擇 123.2控制過程 123.3程序設(shè)置 143.4編程程序 16第四章 系統(tǒng)安裝與調(diào)試 264.1軟件調(diào)試 264.2系統(tǒng)調(diào)試 26結(jié)束語 27
2、辭謝 27參考文獻(xiàn) 28附錄1 29附錄2 30摘 要:養(yǎng)魚的朋友都知道,水質(zhì)對魚兒影響是最嚴(yán)重的,好的水質(zhì)可以使你的魚兒健康生長,怎樣才能保證水質(zhì)呢?只有經(jīng)常換水,對現(xiàn)在上班族來說換水是很麻煩的,占用很長的時間,對魚缸的市場前景考慮,分析自動換水魚缸實現(xiàn)的必要性和可行性,選用合適的單片機(jī)芯片和多種外圍器件,完成硬件和軟件的整體設(shè)計,最終實現(xiàn)了一個每天按時定量換水控制系統(tǒng)關(guān)鍵詞:自動換水系統(tǒng);定時控制;實時顯示第一章 總體方案設(shè)計魚缸自動換水系統(tǒng)的原理圖如圖1-1所示:圖1-1 魚缸自動換水系統(tǒng)原理圖原理圖中的電磁閥(2)和水位器主要控制水位起到雙保險,用單片機(jī)控制更精確。有效防止水流出缸外。
3、電磁閥(1)和抽水馬達(dá)是把想要換的沉水抽出,換水的多少由單片機(jī)設(shè)定,流量的大小是用微量調(diào)控運(yùn)行的情況。工作過程為:用單片機(jī)控制電磁閥.電源接通電磁閥就開起,水管就通了。反之電磁閥電源關(guān)閉水管斷流。進(jìn)水管直接接在自來水管子上。進(jìn)水的多少要看想要換多少水(抽掉的水)這也是用單片機(jī)控制電磁閥和抽水馬達(dá)。排水管接在抽水馬達(dá)噴水口只要接通電源水就會往外排,如果每天按排水一小時30升水來計算的話,一個星期能換掉210升水(定時器控制排水電磁閥開起電源一小時)。方法是用定時器設(shè)定時間比如下午1-2點排水 2-3點進(jìn)水 ,這個過程就是自動循環(huán)的換水。定時器設(shè)定時間長短和調(diào)節(jié)電磁閥上的微調(diào)是控制換水的多少和水的
4、流量。水位器是控制水位的高度,進(jìn)水管接在水位器上起到雙重保護(hù),以防水溢出魚缸。第二章 硬件設(shè)計本章中,我主要介紹組成自動換水魚缸的硬件,以及它們之間的聯(lián)系,在這個系統(tǒng)中起到的作用。2. 1 控制核心AT89S52單片機(jī)功能特性概述AT89S52是一種低功耗、高性能CMOS8位微控制器,在系統(tǒng)可編程Flash中擁有8k容量的存儲器。它是使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。而且Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈
5、活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)可編程Flash存儲器,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工UART串行通道,片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。 單片機(jī)的特點主要有一下幾點:l 與MCS-51單片機(jī)產(chǎn)品兼容;l 1000次擦寫周期;l 全
6、靜態(tài)操作:0Hz33Hz;l 三級加密程序存儲器;l 八個中斷源;l 低功耗空閑和掉電模式;l 掉電后中斷可喚醒;l 掉電標(biāo)識符; AT89S52的芯片管腳圖如圖2-1圖2-1 AT89S52芯片管腳圖各引腳的功能說明:VCC:電源GND: 接地點P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。P1 口:P
7、1 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū);為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),含義如下:P1.0 T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出P1.1 T2EX(定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)P2 口:P2 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為
8、輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVXDPTR)時,P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。P3 口:P3 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉
9、低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用;在flash編程和校驗時,P3口也接收一些控制信號。引腳的功能如表2-1所示:表2-1 P3口的特殊功能引腳名稱含義P3.0 RXD串行輸入P3.1 TXD串行輸出P3.2 INT0外部中斷0P3.3 INT0外部中斷0P3.4 T0定時器0外部輸入P3.5 T1定時器1外部輸入P3.6 WR外部數(shù)據(jù)存儲器寫選通 P3.7 RD外部數(shù)據(jù)存儲器寫選通RST: 復(fù)位輸入。晶振工作時,RST腳持續(xù)2 個機(jī)器周期時,高電平將使單片機(jī)復(fù)位。當(dāng)看門狗計時完成后,RST 腳輸出96 個晶振周期的高電平。另外
10、,在地址8EH上的特殊寄存器AUXR上的DISRTO位可以使此功能無效,當(dāng)DISRTO處于默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址鎖存控制信號ALE是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置設(shè)置為 “1”時,ALE操作將無效。這一位置為“0”時,ALE 僅在執(zhí)行MOVX 或MOVC指令時有效。否則,ALE 將被微弱拉高。這
11、個ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。PSEN:表示外部程序存儲器選通信號。當(dāng)AT89S52從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機(jī)器周期中被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN不被激活。EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。2.1.4單片機(jī)硬件資源的分配P0.0-
12、P0.7連接四位共陽極數(shù)碼管;P20連接按鍵K1;P21 連接按鍵K2;P22 連接按鍵K3;P23連接按鍵K4;2.2 七段四位共陽極數(shù)碼管數(shù)碼管介紹七段數(shù)碼管是由7個發(fā)光二極管單構(gòu)成。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。結(jié)構(gòu)圖如圖2-2所示:圖2-2 數(shù)碼管結(jié)構(gòu)示意數(shù)碼管的驅(qū)動方式數(shù)碼管與單片機(jī)的連接電路如圖2-3所示,數(shù)碼管動態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯
13、示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,每個數(shù)碼管顯示出字形取決于單片機(jī)對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就會顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就會使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為12ms,能夠節(jié)省大量的I/O端口,而且功耗更低。圖2-3 數(shù)碼管與單片機(jī)連接電路2.3穩(wěn)壓電路設(shè)計穩(wěn)壓電
14、路中含有元器件H7805,它的外形圖如圖2-4所示,它是3 端正穩(wěn)壓電路,TO-220 封裝,能提供多種固定的輸出電壓,應(yīng)用范圍比較廣。內(nèi)含過流、過熱和過載保護(hù)電路,帶散熱片時,輸出電流可達(dá) 1A。雖然是固定穩(wěn)壓電路,但使用外接元件,可獲得不同的電壓和電流。 它的各個腳的含義為:1輸入,INPUT ;2地,GND ;3輸出,OUTPUT TO-220。圖2-4 元器件H7805的外形圖它的主要特點:輸出電流可達(dá) 1A;輸出電壓有5V ;內(nèi)含有過熱保護(hù)、短路保護(hù)、輸出晶體管 SOA 保護(hù);以及一些極限值:(Ta=25) VI輸入電壓(VO=518V) 35V ;RJC熱阻 5/W;RJA熱阻 6
15、5/W;TOPR工作結(jié)溫范圍 0125;H7805在硬件電路中的使用,起到固定輸出電壓作用,使按鍵更好的使用,如圖所示2-5所示:圖2-5 H7805在電路中的連接24電磁閥的結(jié)構(gòu)原理 直動式電磁閥有常閉型和常開型二種。在我的魚缸自動換水的系統(tǒng)中主要采用常閉型,它在斷電時呈關(guān)閉狀態(tài),當(dāng)線圈通電時產(chǎn)生電磁力,使動鐵芯克服彈簧力同靜鐵芯吸合直接開啟閥,介質(zhì)呈通路;當(dāng)線圈斷電時電磁力消失,動鐵芯在彈簧力的作用下復(fù)位,直接關(guān)閉閥口,介質(zhì)不通。此電磁閥結(jié)構(gòu)簡單,動作可靠,在零壓差和微真空下正常工作。結(jié)構(gòu)如圖2-6所示:圖2-6 直動式電磁閥結(jié)構(gòu)圖2.5熱繼電器繼電器在通俗意義上來說就是開關(guān),在條件滿足的
16、情況下關(guān)閉或者開啟。繼電器的開關(guān)特性在很多的控制系統(tǒng)尤其是離散的控制系統(tǒng)中得到廣泛的應(yīng)用。在我的魚缸自動換水系統(tǒng)中用到了5V繼電器。它在電路中為交流電動機(jī)起到過載保護(hù)作用,也起到了開關(guān)的作用。在我的系統(tǒng)電路中,繼電器的位置如圖2-7所示:圖2-7 繼電器與原理圖由圖中可以看出繼電器是用作開關(guān)使用的,控制電磁閥開與關(guān),當(dāng)K5接通時,電磁閥1運(yùn)轉(zhuǎn)當(dāng)K6接通時,電磁閥2運(yùn)轉(zhuǎn)26微型水泵微型水泵,在我魚缸自動換水系統(tǒng)中起到抽水以及雜質(zhì)的作用。選用的水泵抽水量為0.015立方米/min它的主要特點有:體積超?。华氂兴畾鈨捎霉δ?,工作介質(zhì)可以為氣體和液體(非油,無強(qiáng)腐蝕),有水抽水、有氣抽氣;可24小時連
17、續(xù)運(yùn)轉(zhuǎn);長期空轉(zhuǎn)屬正常工作,不會損壞泵;具備可靠自吸功能,吸程:1.5米,揚(yáng)程:3米。無油、不污染工作介質(zhì),免維護(hù)、任意方向安裝。2. 7水位器的選擇 在我的自動換水系統(tǒng)里,定位器其實就是抽水馬桶里的定位器,為什么選擇它呢?主要是價格便宜,市場廣,在馬桶專賣店里就可以買到,定位器的原理很簡單,就是靠水的浮力和水的壓力來控制的。把定位器連接進(jìn)水管上,起到雙重保護(hù)。第 三 章 軟 件 設(shè) 計我的魚缸自動換水系統(tǒng)是用單片機(jī)控制電磁閥的開與關(guān),每天換水的時間也是經(jīng)過精確的計算設(shè)置的??稍谧詣幽J街械脑O(shè)置時間,也可以通過手動設(shè)置時間。31 換水時間及換水量選擇圖3-1 魚缸尺寸示意(長2米,寬0.65米
18、,高0.8米)魚缸的大小如圖3-1所示,首先我們要先求出魚缸水的體積,公式為:Vs=2*0.65*0.8*0.85=0.884(立方米)(注: 0.85的意思是水的體積是魚缸總體積的85%)根據(jù)有關(guān)資料證明,每天換水量占水總體積的15%是最好的,對魚兒的生長是最有利的,故可以算出每天換水量,所用公式為:Vh=0.884*0.15=0.1326立方米根據(jù)前面水泵的選擇,計算每天只要排15分鐘水就可以了。由于家里自來水每分鐘流量是一定的,根據(jù)實際考察所得算出進(jìn)水只需要20分鐘。算出每天換水的時間后,即在系統(tǒng)中設(shè)置,本系統(tǒng)開機(jī)后顯示實時時間,默認(rèn)是自動控制兩個電磁閥。每天換水一般在中午,所以整個單片
19、機(jī)程序設(shè)置如下:電磁閥1接通時間為每天13:00,斷開時間13:20。電磁閥2接通時間為每天14:00,斷開時間14:15。3. 2控制過程:在自動模式中,系統(tǒng)是根據(jù)我自己設(shè)定的時間控制兩個電磁閥在指定的時間接通和斷開。在手動模式中,即在非設(shè)置狀態(tài)下,可通過按鍵控制電磁閥的接通與斷開,如下:點按K1鍵控制電磁閥1接通和斷開;點按K2鍵控制電磁閥2接通和斷開。自動與手動控制模式的切換方法為:首先點按K3鍵可查看狀態(tài), 自動數(shù)碼管顯示OPEN, 手動顯示OFF, 繼續(xù)點按K3鍵切換自動/手動,數(shù)碼管會有相應(yīng)的顯示。在設(shè)置定時時間狀態(tài)下: LED2(out1on)亮表示設(shè)置電磁閥1定開時間 LED3
20、(out1off)亮表示設(shè)置電磁閥1定關(guān)時間 LED4(out2on)亮表示設(shè)置電磁閥2定開時間 LED4(out1off)亮表示設(shè)置電磁閥2定關(guān)時間詳細(xì)內(nèi)容請看圖3-2圖3-23.3程序設(shè)計 主程序設(shè)計主程序開始掃描顯示器更新時間數(shù)據(jù)初始化定時器初始化變量K1: 繼電器1 ON/OFFK2: 繼電器2 ON/OFFK3:點按顯示鐘控狀態(tài),長按設(shè)置定時時間K4:點按顯示秒,長按設(shè)置現(xiàn)在的時間是否按K1、K2、K3、K4鍵? 子程序設(shè)計主要控制子程序說明如下: Timer2_Server:定時器2計時中斷程序每隔31.25ms中斷一次; DELAY:延時子程序; feng:蜂鳴器鳴響處理程序;
21、display:工作LED閃動控制;轉(zhuǎn)換數(shù)據(jù)為七段顯示器顯示數(shù)據(jù)并寫入顯示內(nèi)存內(nèi) LED_out:七段數(shù)碼管顯示程序; CONV:將時及分的數(shù)據(jù)轉(zhuǎn)換為七段顯示器顯示數(shù)據(jù)并寫入顯示內(nèi)存內(nèi); key:按*鍵檢測包括設(shè)置現(xiàn)在的時間小時及分鐘,查看/設(shè)置定時時間等中斷時間到對時分秒進(jìn)行計數(shù)執(zhí)行繼電器1 ON/OFF繼電器2 ON/OFF1秒是否到?對比2路定時時間是否到?中斷退出3.4編程程序/*P0.0P0.7與數(shù)碼管中的ABCDEFGH端口連接。 P1.0P1.3與數(shù)碼管中的S1,S2,S3,S4端口。 */#include <REGX52.H>#define uint unsigne
22、d int#define uchar unsigned charuchar code dispcode=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF,0xC0,0x8E,0x8C,0x86,0xC8,;/* O F P EN */ uchar timecount,Hour,Cent,Second,qian,bai,shi,ge,THour,TCent,offTH,offTC,onTH2,onTC2,offTH2,offTC2;uchar disL,disH,keytemp,mbiao,App,onHour,onCent,offHo
23、ur,offCent;uchar onHour2,onCent2,offHour2,offCent2;bit biaoA;sbit led0=P10;sbit led1=P11;sbit led2=P12;sbit led3=P13;sbit led4=P37;sbit K0=P20;sbit K1=P21;sbit K2=P22;sbit K3=P23;sbit BP=P32;sbit Aout=P16;sbit Aout2=P17;void display();void key();uchar AddReduce(uchar dd,uchar max,char min);void Alar
24、m_clock();void LED_out();void delay(uchar i) /*延時*/ uint x; for(;i>0;i-) for(x=114;x>0;x-); /22.1184=228,11.0592=114void feng(uchar i) /*蜂鳴器*/ uint x; for(;i>0;i-)BP=BP; for(x=114;x>0;x-);BP=1;void main(void)Hour=12;Cent=00;/Second=50;onHour=13;onCent=0;offHour=13;offCent=20;biaoA=1;onHo
25、ur2=14;onCent2=0;offHour2=14;offCent2=15;RCAP2H=0x8F; /* 11.0592=8F80,22.1184=1F00 */RCAP2L=0x80;ET2=1; / 允許T2定時器中斷TR2=1; / 啟動T2定時器EA=1;while(1)display();key();/*T2*中*斷*函*數(shù)*/void Timer2_Server(void) interrupt 5 using 3TF2=0;/清除溢出標(biāo)記timecount+;if(timecount=32)timecount=0;Second+;if(Second=60)Second=0;
26、Cent+;if(Cent=60)Cent=0;Hour+;if(Hour=24)Hour=0;Alarm_clock();switch (mbiao)case 0: disH=Hour;disL=Cent;break;case 1: disH=100;disL=Second;break; /*顯*示*函*數(shù)*/void display()if(disH=100)qian=10;bai=10;shi=disL/10;ge=disL%10;else if(disL=100)qian=disH/10;bai=disH%10;shi=10;ge=10;elseqian=disH/10;bai=dis
27、H%10;shi=disL/10;ge=disL%10;if(mbiao>3)if(timecount>16)if(keytemp%2)shi=10;ge=10;if(keytemp%2=0)qian=10;bai=10;LED_out();void LED_out()if(qian) /千位處理 P0=dispcodeqian; led0=0;delay(2);led0=1;P0=dispcodebai;/百位處理 led1=0;delay(2);led1=1;if(timecount<16)&&(mbiao=0) /十位處理P0=dispcodeshi&a
28、mp;0x7f;else P0=dispcodeshi; led2=0;delay(2);led2=1; if(timecount<16)&&(mbiao=0) /個位處理P0=dispcodege&0x7f;else P0=dispcodege; led3=0;delay(2);led3=1;if(mbiao=5)switch (keytemp)case 0:P0=0xFE;break;case 1:P0=0xFE;break;case 2:P0=0xFD;break;case 3:P0=0xFD;break;case 4:P0=0xFB;break;case
29、5:P0=0xFB;break;case 6:P0=0xF7;break;case 7:P0=0xF7;break;led4=0;delay(2);led4=1; /*按*鍵*檢*測*/void key() uchar i,temp;if(K3=0)delay(5);if(K3=0)while(!K3)display();temp+;if(temp=125)if(mbiao=0)feng(20);mbiao=4;THour=Hour;TCent=Cent;keytemp=0;break;elsetemp=0;break;if(mbiao<4)feng(20);mbiao+;if(mbia
30、o=2)mbiao=0;if(temp<125)&&(mbiao>3)feng(20);keytemp+;switch (mbiao)case 4: if(keytemp=2)mbiao=0;break;case 5: if(keytemp=8)mbiao=0;break;while(!K3)display();temp=0;if(mbiao=0)if(K2=0)delay(5);if(K2=0)while(!K2)display();temp+;if(temp=125)feng(20);mbiao=5;keytemp=0;THour=onHour;TCent=on
31、Cent;offTH=offHour;offTC=offCent;onTH2=onHour2;onTC2=onCent2;offTH2=offHour2;offTC2=offCent2;while(!K2)disH=THour;disL=TCent;display();break;if(temp<125)feng(20);mbiao=6;temp=0;switch (mbiao) case 0:if(K0=0)delay(5);if(K0=0)feng(20);Aout=Aout;if(K1=0)delay(5);if(K1=0)feng(20);Aout2=Aout2;while(!(
32、K0&K1)LED_out();break;case 2:;break;case 3:break;case 4:if(keytemp=0)THour=AddReduce(THour,23,0);disH=THour;disL=TCent;display();if(keytemp=1)TCent=AddReduce(TCent,59,0);disH=THour;disL=TCent;display();if(K2=0)delay(5);if(K2=0) /保存數(shù)據(jù)并退出TR2=0;Second=0;timecount=0;Hour=THour;Cent=TCent;TR2=1;feng(
33、20);mbiao=0;while(!K2)display(); break;case 5:if(keytemp=0)THour=AddReduce(THour,23,0);disH=THour;disL=TCent;display();if(keytemp=1)TCent=AddReduce(TCent,59,0);disH=THour;disL=TCent;display();if(keytemp=2)offTH=AddReduce(offTH,23,0);disH=offTH;disL=offTC;display();if(keytemp=3)offTC=AddReduce(offTC,
34、59,0);disH=offTH;disL=offTC;display();if(keytemp=4)onTH2=AddReduce(onTH2,23,0);disH=onTH2;disL=onTC2;display();if(keytemp=5)onTC2=AddReduce(onTC2,59,0);disH=onTH2;disL=onTC2;display();if(keytemp=6)offTH2=AddReduce(offTH2,23,0);disH=offTH2;disL=offTC2;display();if(keytemp=7)offTC2=AddReduce(offTC2,59
35、,0);disH=offTH2;disL=offTC2;display();if(K2=0)delay(5);if(K2=0) /保存數(shù)據(jù)并退出feng(20);mbiao=0;keytemp=0;onHour=THour;onCent=TCent;offHour=offTH;offCent=offTC;onHour2=onTH2;onCent2=onTC2;offHour2=offTH2;offCent2=offTC2;while(!K2)display(); break;case 6:i=100;while(-i)if(biaoA)qian=11;bai=13;shi=14;ge=15;L
36、ED_out();elseqian=0;bai=11;shi=12;ge=12;LED_out();if(K2=0)delay(5);if(K2=0)feng(20);biaoA=biaoA;i=100;while(!K2)if(biaoA)qian=11;bai=13;shi=14;ge=15;LED_out();elseqian=0;bai=11;shi=12;ge=12;LED_out();mbiao=0;break;/*加減按鍵子程序*/uchar AddReduce(char dd,uchar max,uchar min)uint x=15;if(K1=0)delay(5);if(K
37、1=0)feng(20);dd+;if(dd>max)dd=min;while(-x)display();if(K1)break;if(K0=0)delay(5);if(K0=0)feng(20);dd-;if(dd<min)dd=max;while(-x)display();if(K0)break;return dd;/*定時功能子程序*/void Alarm_clock()if (biaoA)if (Hour=onHour)if (Cent=onCent)if (Second=0)feng(120);Aout=0;if (biaoA)if (Hour=offHour)if (C
38、ent=offCent)if (Second=0)feng(120);Aout=1;if (biaoA)if (Hour=onHour2)if (Cent=onCent2)if (Second=0)feng(120);Aout2=0;if (biaoA)if (Hour=offHour2)if (Cent=offCent2)if (Second=0)feng(120);Aout2=1;第四章 系統(tǒng)安裝與調(diào)試41 軟件調(diào)試采用模塊化程序設(shè)計思想,首先調(diào)試子程序,然后逐級疊加調(diào)試。42 系統(tǒng)調(diào)試 軟硬件結(jié)合在一起,看是否能工作正常,由于在模塊調(diào)試過程中,我們把軟硬件所出現(xiàn)的錯誤都調(diào)整過來了,所以系統(tǒng)調(diào)試通過。結(jié)束語在這次畢業(yè)設(shè)計中,我學(xué)到了很多東西,真的沒有想到搞一篇畢業(yè)設(shè)計這么難,每天腦子里總想著怎么做才能更好,本人專業(yè)知識有限,設(shè)計出來的東西還存在很多很多問題,這是專業(yè)知識的不夠。在以后走入工作崗位中,要把技術(shù)學(xué)到位,等以后再來設(shè)計這樣產(chǎn)品就是輕而易舉的事情了。從這次畢業(yè)設(shè)計中,明白了單片機(jī)的重要性,平時沒有感覺到單片機(jī)在生活中的作用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小孩上戶口申請書范文
- 2024年海南高考?xì)v史真題
- 2025至2030年中國焊接式終端接頭數(shù)據(jù)監(jiān)測研究報告
- 少先隊入隊申請書
- 2025年升華硫項目可行性研究報告
- 養(yǎng)雞貸款申請書
- 2025至2030年音筒項目投資價值分析報告
- 2025至2030年中國地下小型測斜儀數(shù)據(jù)監(jiān)測研究報告
- 二零二五年度視覺包裝設(shè)計團(tuán)隊聘用協(xié)議
- 2025至2030年石油液化氣叉車項目投資價值分析報告
- 術(shù)語翻譯與本地化
- 機(jī)動車商業(yè)保險條款(2020版)
- 2024-2025學(xué)年福建省龍巖市五縣第一次中考科目教學(xué)質(zhì)量檢測試題化學(xué)試題含解析
- 高職院校高水平現(xiàn)代物流管理專業(yè)群建設(shè)方案(現(xiàn)代物流管理專業(yè)群)
- 《大小比較》(說課課件)二年級下冊數(shù)學(xué)西師大版
- AQ/T 1089-2020 煤礦加固煤巖體用高分子材料(正式版)
- 張五常子女和婚姻合約中的產(chǎn)權(quán)執(zhí)行問題
- 醫(yī)院多重耐藥菌感染管理規(guī)范
- 2024專升本英語答題卡浙江省
- 中英對照版-中文版-The-Dead-By-James-Joyces死者-詹姆斯-喬伊斯
- 2024年廣東深圳高三二模英語讀后續(xù)寫試題講評課件
評論
0/150
提交評論