版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
題目:基于單片機(jī)的室內(nèi)環(huán)境檢測(cè)儀的設(shè)計(jì)[1][14]。圖3-17按鍵電路設(shè)計(jì)3.7報(bào)警模塊報(bào)警模塊電路設(shè)計(jì)如下圖2-18所示,在本設(shè)計(jì)中,通電發(fā)光二極管就開始發(fā)光,而蜂鳴器是在溫濕度、PM2.5任意一項(xiàng)超限后開始報(bào)警。將P2.6作為整個(gè)報(bào)警電路的輸出口,當(dāng)報(bào)警信號(hào)出現(xiàn)時(shí),蜂鳴器鳴叫,當(dāng)參數(shù)回落至設(shè)置的值之后,報(bào)警停止。如果能配合智能家居一起使用,可達(dá)到無人操作實(shí)現(xiàn)環(huán)境調(diào)節(jié)的效果,一起使用可以大大改善環(huán)境質(zhì)量帶來的困擾。圖3-18報(bào)警模塊電路設(shè)計(jì)3.8系統(tǒng)硬件電路圖通過對(duì)前面幾個(gè)單元的整理組合,可以得到這個(gè)完整的系統(tǒng)硬件電路圖,該系統(tǒng)在硬件上能夠完全滿足設(shè)計(jì)要求,接下來要做的就是將硬件與軟件設(shè)計(jì)進(jìn)行完美融合,最終實(shí)現(xiàn)設(shè)計(jì)要求的所有功能。系統(tǒng)硬件電路圖如圖3-19所示:圖3-19系統(tǒng)硬件電路圖第4章軟件設(shè)計(jì)4.1軟件系統(tǒng)設(shè)計(jì)主程序自檢初始化溫濕度采集及處理PM2.5采集及處理報(bào)警子程序顯示子程序按鍵子程序系統(tǒng)時(shí)間子程序本次設(shè)計(jì)的軟件部分編程采用c語言完成。整體結(jié)構(gòu)呈模塊化。分別由主程序、自檢程序、DHT22的數(shù)據(jù)收集及處理、PM2.5數(shù)據(jù)采集及處理、系統(tǒng)時(shí)間程序、報(bào)警程序以及顯示程序等幾個(gè)部分組成主程序自檢初始化溫濕度采集及處理PM2.5采集及處理報(bào)警子程序顯示子程序按鍵子程序系統(tǒng)時(shí)間子程序圖4-1程序模塊化結(jié)構(gòu)各程序之間的協(xié)調(diào)合作和控制是由主程序進(jìn)行控制完成的。自檢初始化程序?qū)Π存I子程序、顯示子程序、報(bào)警子程序、系統(tǒng)時(shí)間子程序、PM2.5、溫濕度傳感器程序的工作狀態(tài)進(jìn)行自檢。數(shù)據(jù)采集程序主要完成對(duì)環(huán)境溫濕度、PM2.5濃度的數(shù)據(jù)采集,系統(tǒng)每4秒調(diào)用程序?qū)M2.5進(jìn)行一次信號(hào)采集。報(bào)警子程序完成對(duì)溫濕度、PM2.5濃度超出設(shè)定的上限值時(shí)的報(bào)警功能,在溫濕度以及PM2.5濃度恢復(fù)正常時(shí),取消報(bào)警,此報(bào)警程序在任意一項(xiàng)參數(shù)超限時(shí)都會(huì)報(bào)警。系統(tǒng)時(shí)間子程序?qū)S1302時(shí)鐘芯片的信號(hào)送到單片機(jī),信號(hào)經(jīng)過處理后再送往顯示屏,完成對(duì)系統(tǒng)時(shí)間的準(zhǔn)確顯示。顯示程序是根據(jù)送來的處理過的數(shù)據(jù)結(jié)果,將系統(tǒng)時(shí)間、溫濕度、PM2.5濃度和位置代碼分別送到它們相應(yīng)的顯示位置進(jìn)行循環(huán)顯示。按鍵子程序,根據(jù)高低電平的變化觸發(fā)溫濕度、PM2.5上限數(shù)值的改變,以此來設(shè)置他們報(bào)警上限值,同時(shí)按鈕也具有對(duì)系統(tǒng)時(shí)間進(jìn)行改變調(diào)節(jié)的作用。4.2主程序設(shè)計(jì)按鍵處理開始按鍵處理開始系統(tǒng)初始化有鍵按下?定時(shí)中斷時(shí)間到?NPM2.5檢測(cè)程序DHT22溫濕度讀取子程序報(bào)警判斷LCD顯示YZPH01忙?NYNYDS1302萬年歷圖4-2主程序流程圖4.3LCD12864顯示模塊設(shè)計(jì)開始檢測(cè)LCD是開始檢測(cè)LCD是否忙寫命令寫數(shù)據(jù)讀取數(shù)據(jù)設(shè)置坐標(biāo)進(jìn)行顯示返回圖4-3顯示程序流程圖4.4DHT22溫濕度傳感器程序設(shè)計(jì)給DHT22上電延時(shí)給DHT22上電延時(shí)保持高電平檢測(cè)記錄信號(hào)輸出低電平延時(shí)輸出高電平數(shù)據(jù)輸出結(jié)束信號(hào)圖4-4溫濕度測(cè)量程序流程圖4.5DS1302萬年歷程序設(shè)計(jì)開始變量初始化關(guān)閉DS1302寫保護(hù)復(fù)位關(guān)閉DS1302地址寫入延時(shí)開始變量初始化關(guān)閉DS1302寫保護(hù)復(fù)位關(guān)閉DS1302地址寫入延時(shí)向該地址寫入數(shù)據(jù)地址增加數(shù)據(jù)寫完否?復(fù)位關(guān)閉寫入DS1302地址延時(shí)讀地址的數(shù)據(jù)讀出地址增加數(shù)據(jù)讀完否?顯示數(shù)據(jù)NYNY圖4-5DS1302萬年歷程序流程圖第5章系統(tǒng)測(cè)試本文前面已經(jīng)闡述了系統(tǒng)的基本工作原理以及軟硬件設(shè)計(jì),在基本理論完成的基礎(chǔ)上進(jìn)行測(cè)試,分模塊單獨(dú)進(jìn)行測(cè)試,最后形成一個(gè)完整的系統(tǒng)。由于在進(jìn)行測(cè)試的過程中沒有留下圖片,這里僅對(duì)功能進(jìn)行一個(gè)展示。5.1顯示界面此界面能顯示包括溫濕度、PM2.5濃度、系統(tǒng)時(shí)間等所有參數(shù),顯示情況如圖5-1所示:圖5-1顯示界面5.2萬年歷設(shè)置界面通過按鍵跳轉(zhuǎn)此界面時(shí),能通過按鍵對(duì)系統(tǒng)時(shí)間進(jìn)行修改,修改完成后能在主頁面進(jìn)行顯示,修改顯示界面如圖5-2所示:圖5-2萬年歷設(shè)置界面5.3溫濕度及PM2.5上限報(bào)警設(shè)置界面(1)同樣通過按鈕跳轉(zhuǎn)到此界面后,可以通過按鈕對(duì)要設(shè)置的參數(shù)設(shè)置一個(gè)上限報(bào)警值,當(dāng)環(huán)境參數(shù)超過預(yù)設(shè)的參數(shù)值時(shí),系統(tǒng)進(jìn)行報(bào)警提醒,溫度上限值設(shè)置顯示情況如圖5-3所示:圖5-3溫度上限設(shè)置界面(2)濕度上限值設(shè)置界面,能對(duì)濕度的上限值進(jìn)行設(shè)置,當(dāng)環(huán)境濕度超過預(yù)設(shè)值時(shí),系統(tǒng)報(bào)警。濕度上限值設(shè)置頁面如圖5-4所示:圖5-4濕度上限設(shè)置界面(3)PM2.5濃度上限值設(shè)置界面,能對(duì)PM2.5濃度的上限值進(jìn)行設(shè)置,當(dāng)環(huán)境的PM2.5濃度超過預(yù)設(shè)值時(shí),系統(tǒng)報(bào)警。PM2.5濃度上限值設(shè)置頁面如圖5-5所示:圖5-5PM2.5上限設(shè)置界面第6章結(jié)論在本設(shè)計(jì)中,設(shè)計(jì)具有模塊化、層次化的特點(diǎn)。本次設(shè)計(jì)的產(chǎn)品本身具有的特點(diǎn),能夠迅速全面、準(zhǔn)確的獲取PM2.5、環(huán)境溫濕度等各種環(huán)境參數(shù),并完成相應(yīng)參數(shù)以及系統(tǒng)時(shí)間的實(shí)時(shí)顯示,顯示屏可以獲得相關(guān)示數(shù),以便使用者可以進(jìn)行查閱以及調(diào)試,就可以根據(jù)參數(shù)及時(shí)調(diào)節(jié)室內(nèi)環(huán)境,以獲得最舒適的生活狀態(tài),同時(shí)又滿足了系統(tǒng)檢測(cè)的要求。本產(chǎn)品具有顯示PM2.5濃度、溫濕度系數(shù)、系統(tǒng)時(shí)間等功能,其具備的功能可以對(duì)環(huán)境質(zhì)量進(jìn)行全面的監(jiān)控,在有參數(shù)超限時(shí)進(jìn)行報(bào)警,依照?qǐng)?bào)警的目標(biāo)對(duì)環(huán)境進(jìn)行改變就可以達(dá)到及時(shí)發(fā)現(xiàn)問題并及時(shí)改變的效果。不僅可以對(duì)人體健康生活產(chǎn)生良好影響,同時(shí)對(duì)災(zāi)難事故的排除也有積極作用。由于時(shí)間限制,本產(chǎn)品的功能還不夠齊備,還有進(jìn)一步改進(jìn)的空間,比如電路設(shè)計(jì)還可以進(jìn)一步簡(jiǎn)化;系統(tǒng)對(duì)于環(huán)境的檢測(cè)程序也可以進(jìn)一步加強(qiáng),系統(tǒng)目前對(duì)于環(huán)境參數(shù)只具有信息采集、顯示、實(shí)時(shí)報(bào)警的功能,只是對(duì)于數(shù)據(jù)進(jìn)行了一個(gè)基本的處理。在這個(gè)基礎(chǔ)上,本產(chǎn)品還可以增添環(huán)境診斷、環(huán)境處理等功能,同時(shí)還可以將信息推送至使用者的移動(dòng)設(shè)備中,甚至可與智能家具協(xié)調(diào)合作,互相配合,完成家居環(huán)境的自動(dòng)化調(diào)節(jié),讓生活環(huán)境隨時(shí)都處于最優(yōu)狀態(tài)。如此一來既有助于提高生活質(zhì)量,節(jié)能減排。同時(shí)也讓產(chǎn)品的使用真正做到了人性化智能化。通過對(duì)本次畢業(yè)設(shè)計(jì)的學(xué)習(xí)與制作,讓本來沒有學(xué)過單片機(jī)相關(guān)知識(shí)的我對(duì)于單片機(jī)有了長(zhǎng)足的了解,對(duì)于PM2.5傳感器、溫濕度傳感器、時(shí)鐘芯片也是從零開始,知識(shí)也獲得了巨大的提升。不僅如此,本次畢業(yè)設(shè)計(jì)讓我在網(wǎng)上查閱資料的能力也發(fā)生了質(zhì)的改變,不再僅僅局限于百度百科。在這個(gè)過程中通過對(duì)文獻(xiàn)資料的查閱、通過對(duì)老師同學(xué)的不停追問,我的專業(yè)知識(shí)也有很大的提高。所以此次畢業(yè)設(shè)計(jì)不僅提高了我的理論知識(shí),同時(shí)對(duì)于我的動(dòng)手能力也很很大的好處,相信這些都將是我參加工作時(shí)非常珍貴的東西,將給予我巨大的幫助。參考文獻(xiàn)幸聯(lián)星.基于單片機(jī)的智能家居環(huán)境檢測(cè)系統(tǒng)設(shè)計(jì)[J].電子技術(shù)與軟件工程,2020,01:59-61.張恒.基于WIFI的室內(nèi)環(huán)境檢測(cè)系統(tǒng)設(shè)計(jì)[D].安徽,安徽科技大學(xué),2019,05:1-78.胡曉芳.基于AVR單片機(jī)的室內(nèi)環(huán)境檢測(cè)系統(tǒng)[J].自動(dòng)化技術(shù)與應(yīng)用,2014,07:117-119+123.王猛;胡霞.基于單片機(jī)的室內(nèi)防火和環(huán)境檢測(cè)系統(tǒng)[P].安徽,安徽理工大學(xué),2016,09:1-5.歐陽萱霖;郭志浩;王浩翔.基于STC89C54RD+的環(huán)境檢測(cè)系統(tǒng)[J].電子世界,2017,09:191-192.王明霞;楊秀菊;羅劉敏.基于單片機(jī)的無線室內(nèi)環(huán)境檢測(cè)儀設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2018,11:269-270.LiTao,Zhenhuisun.DesigningWirelessTransmissionSystemsfortheDynamicInformationCommunicationofMarineVessels.[J].JournalofCoastalResearch,2018,01:156-162.WeiGuan,ChengWang;YiqiaoCai.Designandimplementationofwirelessmonitoringnetworkfortemperature-humiditymeasurement[J].JournalofAmbientIntelligenceandHumanizedComputing,2016,07:131-138.湯真福;潘運(yùn)丹;王婷華.基于STM32單片機(jī)的環(huán)境監(jiān)測(cè)儀的設(shè)計(jì)與研究[J].電氣自動(dòng)化,2019,01:85-87+98.蔡冬霞.基于單片機(jī)的環(huán)境檢測(cè)儀[J].工礦自動(dòng)化,2012,38(3):84-85.姚營(yíng)營(yíng).基于MSP430單片機(jī)的環(huán)境監(jiān)測(cè)儀設(shè)計(jì)[D].遼寧,大連交通大學(xué),2010:1-86.郝光健.基于LabVIEW和單片機(jī)的室內(nèi)環(huán)境監(jiān)測(cè)預(yù)警系統(tǒng)的設(shè)計(jì)[D].山東,山東農(nóng)業(yè)大學(xué),2014:1-76.張玲玲.基于51單片機(jī)的LCD12864程序設(shè)計(jì)[J].中小企業(yè)管理與科技(中旬刊),2015,231-232.李精華;曹軍.基于51單片機(jī)控制系統(tǒng)的軟件延時(shí)程序的分析[J].桂林,桂林航天工業(yè)學(xué)院,2013,02:123-125.汪凌志.基于51單片機(jī)的時(shí)間溫度顯示系統(tǒng)探討[J].湖北,湖北工程學(xué)院新技術(shù)學(xué)院,2015,10:11.
致謝首先,我要感謝對(duì)我?guī)椭浅4蟮牧_樂老師。從選題完成到中期檢查,再到論文撰寫,羅樂老師一直不予余力的幫助我完成本次設(shè)計(jì)。他平時(shí)工作非常繁忙,但在設(shè)計(jì)的每個(gè)階段,只要我有疑惑的地方,老師都會(huì)悉心指導(dǎo),使我能夠在毫無基礎(chǔ)的單片機(jī)項(xiàng)目中順利完成每一階段的任務(wù)。包括很多階段我出現(xiàn)了很多問題,比如一起論文系統(tǒng)的任務(wù)提交總是存在問題,但是老師也是不厭其煩的一遍又一遍的給出修改意見,我對(duì)羅樂老師的感激之情溢于言表。其次,我要感謝我的指導(dǎo)老師柏淑紅老師,盡管柏老師平日非常忙,常常無法顧及到我們的畢業(yè)設(shè)計(jì)具體做到了哪一步,但是柏老師也會(huì)在百忙之中抽出時(shí)間拜托其他老師對(duì)我的畢業(yè)設(shè)計(jì)進(jìn)行指導(dǎo)。柏老師的對(duì)于工作的不懈態(tài)度也給了我強(qiáng)大的警醒,讓我在以后的工作中有了學(xué)習(xí)的榜樣。在本次畢業(yè)設(shè)計(jì)的研究進(jìn)程中,兩位老師非常關(guān)注我的進(jìn)度,并根據(jù)我的進(jìn)度以及基礎(chǔ)及時(shí)做出知道,讓我從迷茫中解脫出來。同時(shí)又打開我思路,盡心點(diǎn)撥。兩位老師嚴(yán)謹(jǐn)而又溫和態(tài)度讓我如沐春風(fēng),不僅僅是授我以魚,同時(shí)更是授我以漁,讓我能堅(jiān)持不懈的完成畢業(yè)設(shè)計(jì),對(duì)我以后參加工作也會(huì)有著巨大的作用。兩位老師嚴(yán)謹(jǐn)?shù)陌凑帐帜X并用、學(xué)做合一的校訓(xùn)對(duì)我展開指導(dǎo),以高度的敬業(yè)精神、誨人不倦的態(tài)度對(duì)我的精神產(chǎn)生了重要的影響。以深厚的文化底蘊(yùn)、敏捷的思維、開闊的視野給與了我深深的啟迪。在兩位老師的領(lǐng)導(dǎo)下,我才逐漸對(duì)畢業(yè)設(shè)計(jì)有了思路,最終完成畢業(yè)設(shè)計(jì)的所有內(nèi)容,在這個(gè)過程中也開闊了我的視野,堅(jiān)定了我進(jìn)取的心。最后,感謝在大學(xué)四年期間我的所有任課老師,感謝我身邊所有曾或多或少給予了我?guī)椭耐瑢W(xué)們,沒有這些老師同學(xué)的幫助我就不會(huì)有令人驕傲的今天。經(jīng)過三個(gè)多月的努力奮斗,畢業(yè)設(shè)計(jì)終于接近了尾聲。作為一個(gè)本科生,我在經(jīng)驗(yàn)上的匱乏難免會(huì)使畢業(yè)設(shè)計(jì)存在這樣那樣的問題,也存在很多欠缺考慮的地方。但是也是我第一次完全獨(dú)立的完成一個(gè)作品,其中存在的不足之處,請(qǐng)老師多多指正,相信經(jīng)過老師們的點(diǎn)播,就算畢業(yè)以后參加工作了,我也能夠獨(dú)立的做好每一項(xiàng)工作。謝謝!附錄系統(tǒng)主程序:/*************************************環(huán)境檢測(cè)系統(tǒng)主要功能及硬件:1、功能:環(huán)境時(shí)鐘的顯示和調(diào)整,硬件:DS13022、功能:溫度(單位℃)和濕度(單位H%)顯示硬件:DHT223、功能:PM2.5(單位ug/m3)顯示硬件:ZPH11串口屏幕:12864B(自帶字庫)*************************************/#include<reg51.h>#include<lcd12864.h>#include<ds1302.h>#include<add.h>voidshowtime();voidshowweek();voidshowweek1();voidshowTH();voidshowPM();voidUsartinit();unsignedcharRead_SensorData(void);unsignedcharRead_Sensor(void);voidDelay_N10us(unsignedchart);voidDelay_N1ms(unsignedintt);voidform1();voidform2();voiddata1();voidclearping();voidHgarden(intx);//空心圓voidSgarden(intx);//實(shí)心圓voidtimesetting(intx);/*******************************************界面文字顯示********************************************///第1界面顯示unsignedcharcodeCharCode[13]="0123456789.-:";unsignedcharcodeTemperature[]="溫度:";unsignedcharcodeTsign[]="℃";unsignedcharcodeHumidity[]="濕度:";unsignedcharcodeHsign[]="RH";unsignedcharcodePM1[]="PM2.5:";unsignedcharcodeTPM1[]="ug/m3";//第2界面顯示unsignedcharcodeyear1[]="年";unsignedcharcodemouth1[]="月";unsignedcharcodeday1[]="日";unsignedcharcodehour1[]="時(shí)";unsignedcharcodeminute1[]="分";unsignedcharcodesecond1[]="秒";unsignedcharcodeweek3[]="周";unsignedcharcodeweek1[]="星期";//清屏unsignedcharcodeclear[]="";unsignedcharcodeweek2_0[]="日";unsignedcharcodeweek2_1[]="一";unsignedcharcodeweek2_2[]="二";unsignedcharcodeweek2_3[]="三";unsignedcharcodeweek2_4[]="四";unsignedcharcodeweek2_5[]="五";unsignedcharcodeweek2_6[]="六";unsignedintflagkeyup_down=1;unsignedintpage=1;unsignedinti,j,m;unsignedintflag2,flag3;ucharUART_Upload[9];ucharUARTnum[11]={"0123456789."};ucharUARTdata[5];uintpm_rateH,pm_rateL,pm_particle,pm_density;//低脈沖率高位。低脈沖率低位,比率,顆粒,濃度ucharaccord,pm_URV=20,temp_pM;//PM_URVpm上限值ucharSensor_Data[5]={0x00,0x00,0x00,0x00,0x00};ucharSensor_AnswerFlag;//收到起始標(biāo)志位ucharSensor_ErrorFlag;//讀取傳感器錯(cuò)誤標(biāo)志ucharSensor_Check; //校驗(yàn)和uintSys_CNT;uintTmp;uintt0;ucharnum;ucharflag;sbitSensor_SDA=P2^6;//溫濕度傳感器DHT22數(shù)據(jù)接入uchartimetest[7];/*******************************定義按鍵:modekey為功能選擇按鍵/確定按鍵upkey為向上選擇/增加按鍵dowmkey為向下選擇/減少按鍵backkey為返回/取消按鍵*******************************/sbitmodekey=P1^6;sbitupkey=P1^5;sbitdownkey=P1^4;sbitbackkey=P1^3;/*****************************主函數(shù)main*****************************/voidmain(){LCD12864_Init(); //12864屏幕模塊的初始化Usartinit(); //串口初始化form1(); //form1為主界面 read_init();while(1){data1(); //加載時(shí)鐘、DHT22和ZPH01數(shù)據(jù) if(modekey==0) //判斷是否進(jìn)入調(diào)整時(shí)間界面 { longtime=0; Delay_N1ms(5);//消抖處理,防止誤判 //用時(shí)間的長(zhǎng)短來判斷 while(modekey==0) { time++; Delay_N1ms(1); if(time>1000)break; } if(time<1000&&time>10)//二次判斷,確定按下 { for(i=0;i<8;i++) { timetest[i]=TIME[i];//截取當(dāng)前時(shí)間放入第二界面,這樣便于調(diào)整時(shí)鐘 } form2(); //進(jìn)入時(shí)間調(diào)整界面 } //增加的fun:warning else { form3(); } }} }/*************************************form1為第一界面即為開機(jī)時(shí)看到的界面,為了加快運(yùn)行數(shù)度,減少不必要的重復(fù)將form1放在main函數(shù)主循環(huán)的前面*************************************/voidform1(){LCD12864_SetWindow(0,2); //位置坐標(biāo)顯示LCD12864_WriteData(year1[0]);//年LCD12864_WriteData(year1[1]);LCD12864_SetWindow(0,4); //星期for(i=0;i<4;i++) LCD12864_WriteData(week1[i]);LCD12864_SetWindow(1,1); //月LCD12864_WriteData(mouth1[0]);LCD12864_WriteData(mouth1[1]);LCD12864_SetWindow(1,3); //日LCD12864_WriteData(day1[0]);LCD12864_WriteData(day1[1]);LCD12864_SetWindow(1,7); //℃for(i=0;i<2;i++)LCD12864_WriteData(Tsign[i]);LCD12864_SetWindow(2,7); //H%for(i=0;i<2;i++)LCD12864_WriteData(Hsign[i]);LCD12864_SetWindow(3,0); //pm2.5for(i=0;i<6;i++)LCD12864_WriteData(PM1[i]);}/************************************form2為第二界面,即為時(shí)間調(diào)整界面當(dāng)按下第一個(gè)建,即確定鍵的時(shí)候,進(jìn)入該界面。************************************/voidform2(){clearping();//清屏函數(shù)flag2=1; //界面2標(biāo)識(shí)循環(huán)判斷,用于退出界面2/******************************本段代碼用于顯示時(shí)、分、秒、年、月、日、周******************************/LCD12864_SetWindow(0,1);for(i=0;i<2;i++)LCD12864_WriteData(hour1[i]);LCD12864_SetWindow(1,1); for(i=0;i<2;i++)LCD12864_WriteData(minute1[i]);LCD12864_SetWindow(2,1);for(i=0;i<2;i++)LCD12864_WriteData(second1[i]);LCD12864_SetWindow(3,1);for(i=0;i<2;i++)LCD12864_WriteData(week3[i]);LCD12864_SetWindow(0,5);for(i=0;i<2;i++)LCD12864_WriteData(year1[i]);LCD12864_SetWindow(1,5);for(i=0;i<2;i++)LCD12864_WriteData(mouth1[i]);LCD12864_SetWindow(2,5);for(i=0;i<2;i++)LCD12864_WriteData(day1[i]);LCD12864_SetWindow(3,5);LCD12864_WriteData(0xc8);LCD12864_WriteData(0xb7);LCD12864_WriteData(0xb6);LCD12864_WriteData(0xa8);/************************************本段代碼用于顯示進(jìn)入時(shí)間調(diào)整界面時(shí)的當(dāng)前時(shí)間顯示************************************/LCD12864_SetWindow(0,6);//年LCD12864_WriteData(CharCode[timetest[6]/16]);LCD12864_WriteData(CharCode[(timetest[6]&0x0f)]);showweek1();//星期LCD12864_SetWindow(1,6);LCD12864_WriteData(CharCode[timetest[4]/16]); //月LCD12864_WriteData(CharCode[(timetest[4]&0x0f)]);LCD12864_SetWindow(2,6);LCD12864_WriteData(CharCode[timetest[3]/16]); //日LCD12864_WriteData(CharCode[(timetest[3]&0x0f)]);LCD12864_SetWindow(0,2);LCD12864_WriteData(CharCode[timetest[2]/16]); //小時(shí)LCD12864_WriteData(CharCode[(timetest[2]&0x0f)]);LCD12864_SetWindow(1,2);LCD12864_WriteData(CharCode[timetest[1]/16]); //分鐘LCD12864_WriteData(CharCode[(timetest[1]&0x0f)]);LCD12864_SetWindow(2,2);LCD12864_WriteData(CharCode[timetest[0]/16]); //秒LCD12864_WriteData(CharCode[(timetest[0]&0x0f)]);/***********************************************分隔線此界面為長(zhǎng)按設(shè)置之后進(jìn)入的閾值調(diào)節(jié)界面***********************************************/LCD12864_SetWindow(0,3);LCD12864_WriteData(0xa3);LCD12864_WriteData(0xfc);LCD12864_SetWindow(1,3);LCD12864_WriteData(0xa3);LCD12864_WriteData(0xfc);LCD12864_SetWindow(2,3);LCD12864_WriteData(0xa3);LCD12864_WriteData(0xfc);LCD12864_SetWindow(3,3);LCD12864_WriteData(0xa3);LCD12864_WriteData(0xfc);//while(flag2)//在界面二中進(jìn)入鍵盤掃描{Hgarden(flagkeyup_down); //顯示按鍵指針,以便知道在什么位置/****向上************/if(upkey==0) { Delay_N1ms(5);if(upkey==0) { flagkeyup_down--; //按鍵指針向上運(yùn)動(dòng) if(flagkeyup_down<1)//當(dāng)按鍵指針運(yùn)動(dòng)到最上時(shí)不在運(yùn)動(dòng) { flagkeyup_down=8; } Hgarden(flagkeyup_down); i=0; while((i<40)&&(upkey==0))//檢測(cè)按鍵是否松開,如果按著不動(dòng),則400ms后自動(dòng)跳出向下運(yùn)行 { Delay_N1ms(10); i++; } }} /****向下************/if(downkey==0) { Delay_N1ms(5); if(downkey==0) { flagkeyup_down++; //按鍵指針向下運(yùn)動(dòng) if(flagkeyup_down>8)//當(dāng)按鍵指針運(yùn)動(dòng)到最下時(shí)不在運(yùn)動(dòng) { flagkeyup_down=1; } Hgarden(flagkeyup_down); i=0; while((i<40)&&(downkey==0)) //檢測(cè)按鍵是否松開 { Delay_N1ms(10); i++; } } } /****確定************/ if(modekey==0) //按下確定鍵后,可以進(jìn)行時(shí)間的修改 { Delay_N1ms(10); if(modekey==0) { i=0; while((i<40)&&(modekey==0)) //檢測(cè)按鍵是否松開 { Delay_N1ms(10); i++; } if(flagkeyup_down==8) { timetest[0]++; for(j=0;j<8;j++) TIME[j]=timetest[j]; Ds1302Init(); flag2=0; clearping();//清屏函數(shù) form1(); } else { flag3=1; while(flag3) { Sgarden(flagkeyup_down);timesetting(flagkeyup_down); if(modekey==0) //按下確定鍵后,可以進(jìn)行時(shí)間的修改 { Delay_N1ms(15); if(modekey==0) { flag3=0; while((i<40)&&(modekey==0)) //檢測(cè)按鍵是否松開 { Delay_N1ms(10); i++; } } } } } } } /****返回************/if(backkey==0) //按下確定鍵后,可以進(jìn)行時(shí)間的修改 { Delay_N1ms(10); if(backkey==0) { i=0; flag2=0; clearping();//清屏函數(shù) form1(); while((i<50)&&(backkey==0)) //檢測(cè)按鍵是否松開 { Delay_N1ms(10); i++; } } }}}voidtimesetting(intx){unsignedintd; unsignedintm1,m2,m3,m4,m5,m6,m7; /****加************/if(upkey==0) { Delay_N1ms(5);if(upkey==0) { if(x==1)//小時(shí) { timetest[2]++; if((timetest[2]&0x0f)>9) //換成BCD碼,跳過a-e段 { timetest[2]=timetest[2]+6; } if(timetest[2]>0x23) { timetest[2]=0; m1=1; } LCD12864_SetWindow(0,2);LCD12864_WriteData(CharCode[timetest[2]/16]); LCD12864_WriteData(CharCode[(timetest[2]&0x0f)]); } elseif(x==2)//分鐘 { timetest[1]++; if((timetest[1]&0x0f)>9) //換成BCD碼,跳過a-e段 { timetest[1]=timetest[1]+6; } if(timetest[1]>0x59) { timetest[1]=0; m2=1; } LCD12864_SetWindow(1,2);LCD12864_WriteData(CharCode[timetest[1]/16]); LCD12864_WriteData(CharCode[(timetest[1]&0x0f)]); } elseif(x==3)//秒 { timetest[0]++; if((timetest[0]&0x0f)>9) //換成BCD碼,跳過a-e段 { timetest[0]=timetest[0]+6; } if(timetest[0]>0x59) { timetest[0]=0; m3=1; } LCD12864_SetWindow(2,2);LCD12864_WriteData(CharCode[timetest[0]/16]); LCD12864_WriteData(CharCode[(timetest[0]&0x0f)]); } elseif(x==4)//周 { timetest[5]++; if(timetest[5]>0x6) { timetest[5]=0; m4=1; } showweek1(); } elseif(x==5)//年 { timetest[6]++; if((timetest[6]&0x0f)>9) //換成BCD碼,跳過a-e段 { timetest[6]=timetest[6]+6; } if(timetest[6]>0x90) { timetest[6]=0; m5=1; } LCD12864_SetWindow(0,6);LCD12864_WriteData(CharCode[timetest[6]/16]);LCD12864_WriteData(CharCode[(timetest[6]&0x0f)]); } elseif(x==6)//月 { timetest[4]++; if((timetest[4]&0x0f)>9) //換成BCD碼,跳過a-e段 { timetest[4]=timetest[4]+6; } if(timetest[4]>0x12) { timetest[4]=0x01; m6=1; } LCD12864_SetWindow(1,6);LCD12864_WriteData(CharCode[timetest[4]/16]);LCD12864_WriteData(CharCode[(timetest[4]&0x0f)]); } elseif(x==7)//日 { if(timetest[4]==0x01||timetest[4]==0x03||timetest[4]==0x05||timetest[4]==0x07||timetest[4]==0x08||timetest[4]==0x10||timetest[4]==0x12) d=0x31; elseif(timetest[4]==0x04||timetest[4]==0x06||timetest[4]==0x09||timetest[4]==0x11) d=0x30; elseif((CharCode[timetest[6]/16]*10+CharCode[(timetest[6]&0x0f)])%4==0) d=0x29; else d=0x28; timetest[3]++; if((timetest[3]&0x0f)>9) //換成BCD碼,跳過a-e段 { timetest[3]=timetest[3]+6; } if(timetest[3]>d) { timetest[3]=0; m7=1; } LCD12864_SetWindow(2,6);LCD12864_WriteData(CharCode[timetest[3]/16]);LCD12864_WriteData(CharCode[(timetest[3]&0x0f)]); } i=0; while((i<40)&&(upkey==0))//檢測(cè)按鍵是否松開,如果按著不動(dòng),則400ms后自動(dòng)跳出向下運(yùn)行 { Delay_N1ms(10); i++; } }} /****減************/if(downkey==0) { Delay_N1ms(5); if(downkey==0) { if(x==1)//小時(shí) { timetest[2]--; if((timetest[2]&0x0f)>9) //換成BCD碼,跳過a-e段 { timetest[2]=timetest[2]-6; } if(m1==1) timetest[2]=0x23; if(timetest[2]==0x00) m1=1; elsem1=0; LCD12864_SetWindow(0,2);LCD12864_WriteData(CharCode[timetest[2]/16]); LCD12864_WriteData(CharCode[(timetest[2]&0x0f)]); } elseif(x==2)//分鐘 { timetest[1]--; if((timetest[1]&0x0f)>9) //換成BCD碼,跳過a-e段 { timetest[1]=timetest[1]-6; } if(m2==1) timetest[1]=0x59; if(timetest[1]==0x00) m2=1; elsem2=0; LCD12864_SetWindow(1,2);LCD12864_WriteData(CharCode[timetest[1]/16]); LCD12864_WriteData(CharCode[(timetest[1]&0x0f)]); } elseif(x==3)//秒 { timetest[0]--; if((timetest[0]&0x0f)>9) //換成BCD碼,跳過a-e段 { timetest[0]=timetest[0]-6; } if(m3==1) timetest[0]=0x59; if(timetest[0]==0x00) m3=1; elsem3=0; LCD12864_SetWindow(2,2);LCD12864_WriteData(CharCode[timetest[0]/16]); LCD12864_WriteData(CharCode[(timetest[0]&0x0f)]); } elseif(x==4)//周 { timetest[5]--; if(m4==1) timetest[5]=0x06; if(timetest[5]==0x00) m4=1; elsem4=0; showweek1(); } elseif(x==5)//年 { timetest[6]--; if((timetest[6]&0x0f)>9) //換成BCD碼,跳過a-e段 { timetest[6]=timetest[6]-6; } if(m5==1) timetest[6]=0x59; if(timetest[6]==0x00) m5=1; elsem5=0; LCD12864_SetWindow(0,6);LCD12864_WriteData(CharCode[timetest[6]/16]);LCD12864_WriteData(CharCode[(timetest[6]&0x0f)]); } elseif(x==6)//月 { timetest[4]--; if((timetest[4]&0x0f)>9) //換成BCD碼,跳過a-e段 { timetest[4]=timetest[4]-6; } if(m6==1) timetest[4]=0x12; if(timetest[4]==0x00) m6=1; elsem6=0; LCD12864_SetWindow(1,6);LCD12864_WriteData(CharCode[timetest[4]/16]);LCD12864_WriteData(CharCode[(timetest[4]&0x0f)]); } elseif(x==7)//日 { if(timetest[4]==0x01||timetest[4]==0x03||timetest[4]==0x05||timetest[4]==0x07||timetest[4]==0x08||timetest[4]==0x10||timetest[4]==0x12) d=0x31; elseif(timetest[4]==0x04||timetest[4]==0x06||timetest[4]==0x09||timetest[4]==0x11) d=0x30; elseif((CharCode[timetest[6]/16]*10+CharCode[(timetest[6]&0x0f)])%4==0) d=0x29; else d=0x28; timetest[3]--; if((timetest[3]&0x0f)>9) //換成BCD碼,跳過a-e段 { timetest[3]=timetest[3]-6; } if(m7==1) timetest[3]=d; if(timetest[3]==0x00) m7=1; elsem7=0; LCD12864_SetWindow(2,6);LCD12864_WriteData(CharCode[timetest[3]/16]);LCD12864_WriteData(CharCode[(timetest[3]&0x0f)]); } i=0; while((i<40)&&(downkey==0)) //檢測(cè)按鍵是否松開 { Delay_N1ms(10); i++; } } }}/*閾值調(diào)節(jié)*/voidHgarden(intx){if(x==1) { LCD12864_SetWindow(3,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); LCD12864_SetWindow(0,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf0); LCD12864_SetWindow(1,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); } elseif(x==2) { LCD12864_SetWindow(0,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); LCD12864_SetWindow(1,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf0);LCD12864_SetWindow(2,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); } elseif(x==3) { LCD12864_SetWindow(1,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); LCD12864_SetWindow(2,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf0);LCD12864_SetWindow(3,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); } elseif(x==4) { LCD12864_SetWindow(2,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); LCD12864_SetWindow(3,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf0);LCD12864_SetWindow(0,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); } elseif(x==5) { LCD12864_SetWindow(3,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); LCD12864_SetWindow(0,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf0);LCD12864_SetWindow(1,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); } elseif(x==6) { LCD12864_SetWindow(0,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); LCD12864_SetWindow(1,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf0);LCD12864_SetWindow(2,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); } elseif(x==7) { LCD12864_SetWindow(1,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); LCD12864_SetWindow(2,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf0);LCD12864_SetWindow(3,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); } elseif(x==8) { LCD12864_SetWindow(0,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); LCD12864_SetWindow(2,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xa0); LCD12864_SetWindow(3,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf0); } }voidSgarden(intx){if(x==1) { LCD12864_SetWindow(0,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf1); } elseif(x==2) { LCD12864_SetWindow(1,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf1); } elseif(x==3) { LCD12864_SetWindow(2,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf1); } elseif(x==4) { LCD12864_SetWindow(3,0); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf1); } elseif(x==5) { LCD12864_SetWindow(0,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf1); } elseif(x==6) { LCD12864_SetWindow(1,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf1); } elseif(x==7) { LCD12864_SetWindow(2,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf1); } elseif(x==8) { LCD12864_SetWindow(3,4); LCD12864_WriteData(0xa1); LCD12864_WriteData(0xf1); }}voiddata1(){showtime();showTH();showPM(); clock_h_l( (int)((Sensor_Data[2]*256+Sensor_Data[3])/10), (int)((Sensor_Data[0]*256+Sensor_Data[1])/10), (int)(pm_density) );}voidshowtime(){Ds1302ReadTime();LCD12864_SetWindow(0,0);LCD12864_WriteData(CharCode[2]);LCD12864_WriteData(CharCode[0]); //年LCD12864_WriteData(CharCode[TIME[6]/16]);LCD12864_WriteData(CharCode[(TIME[6]&0x0f)]);showweek();//星期LCD12864_SetWindow(1,0);LCD12864_WriteData(CharCode[TIME[4]/16]); //月LCD12864_WriteData(CharCode[(TIME[4]&0x0f)]);LCD12864_SetWindow(1,2);LCD12864_WriteData(CharCode[TIME[3]/16]); //日LCD12864_WriteData(CharCode[(TIME[3]&0x0f)]);LCD12864_SetWindow(2,0);LCD12864_WriteData(CharCode[TIME[2]/16]); //小時(shí)LCD12864_WriteData(CharCode[(TIME[2]&0x0f)]);LCD12864_WriteData(CharCode[12]);LCD12864_WriteData(CharCode[TIME[1]/16]); //分鐘LCD12864_WriteData(CharCode[(TIME[1]&0x0f)]);LCD12864_WriteData(CharCode[12]);LCD12864_WriteData(CharCode[TIME[0]/16]); //秒LCD12864_WriteData(CharCode[(TIME[0]&0x0f)]);}voidshowweek() //周{uintwek; wek=CharCode[(TIME[5]&0x0f)];LCD12864_SetWindow(0,6);if(wek=='0')for(i=0;i<2;i++)LCD12864_WriteData(week2_0[i]);elseif(wek=='1')for(i=0;i<2;i++)LCD12864_WriteData(week2_1[i]); elseif(wek=='2')for(i=0;i<2;i++)LCD12864_WriteData(week2_2[i]);elseif(wek=='3'){LCD12864_WriteData(0xc8);LCD12864_WriteData(0xfd);}elseif(wek=='4')for(i=0;i<2;i++)LCD12864_WriteData(week2_4[i]);elseif(wek=='5')for(i=0;i<2;i++)LCD12864_WriteData(week2_5[i]);elseif(wek=='6')for(i=0;i<2;i++)LCD12864_WriteData(week2_6[i]);else; }voidshowweek1() //周{uintwek; wek=CharCode[(timetest[5]&0x0f)];LCD12864_SetWindow(3,2);if(wek=='0')for(i=0;i<2;i++)LCD12864_WriteData(week2_0[i]);elseif(wek=='1')for(i=0;i<2;i++)LCD12864_WriteData(week2_1[i]); elseif(wek=='2')for(i=0;i<2;i++)LCD12864_WriteData(week2_2[i]);elseif(wek=='3'){LCD12864_WriteData(0xc8);LCD12864_WriteData(0xfd);}elseif(wek=='4')for(i=0;i<2;i++)LCD12864_WriteData(week2_4[i]);elseif(wek=='5')for(i=0;i<2;i++)LCD12864_WriteData(week2_5[i]);elseif(wek=='6')for(i=0;i<2;i++)LCD12864_WriteData(week2_6[i]);else; }voidshowTH(){Read_Sensor();Tmp=Sensor_Data[2]*256+Sensor_Data[3];LCD12864_SetWindow(1,5);LCD12864_WriteData(CharCode[Tmp/100%10]);LCD12864_WriteData(CharCode[Tmp/10%10]);LCD12864_WriteData(CharCode[10]);LCD12864_WriteData(CharCode[Tmp%10]);Tmp=Sensor_Data[0]*256+Sensor_Data[1];LCD12864_SetWindow(2,5);LCD12864_WriteData(CharCode[Tmp/100%10]);LCD12864_WriteData(CharCode[Tmp/10%10]);LCD12864_WriteData(CharCode[10]);LCD12864_WriteData(CharCode[Tmp%10]);}unsignedcharRead_SensorData(void){ unsignedchari,cnt; unsignedcharbuffer,tmp; buffer=0; for(i=0;i<8;i++) { cnt=0; while(!Sensor_SDA) //檢測(cè)上次低電平是否結(jié)束 { if(++cnt>=300) { break; } } //延時(shí)Min=26usMax50us跳過數(shù)據(jù)"0"的高電平 Delay_N10us(4); //延時(shí)30us //判斷傳感器發(fā)送數(shù)據(jù)位 tmp=0; if(Sensor_SDA) { tmp=1; } cnt=0; while(Sensor_SDA) //等待高電平結(jié)束 { if(++cnt>=200) { break; } } buffer<<=1; buffer|=tmp; } returnbuffer;}/********************************************\|*功能:讀傳感器 *|\********************************************/unsignedcharRead_Sensor(void){ unsignedchari; //主機(jī)拉低(Min=800USMax=20Ms)Sensor_SDA=0; Delay_N1ms(10);//延時(shí)2Ms //釋放總線延時(shí)(Min=30usMax=50us) Sensor_SDA=1; Delay_N10us(4);//延時(shí)30us //主機(jī)設(shè)為輸入判斷傳感器響應(yīng)信號(hào) Sensor_SDA=1; Sensor_AnswerFlag=0;//傳感器響應(yīng)標(biāo)志 //判斷從機(jī)是否有低電平響應(yīng)信號(hào)如不響應(yīng)則跳出,響應(yīng)則向下運(yùn)行 if(Sensor_SDA==0) { Sensor_AnswerFlag=1;//收到起始信號(hào) Sys_CNT=0; //判斷從機(jī)是否發(fā)出80us的低電平響應(yīng)信號(hào)是否結(jié)束 while((!Sensor_SDA)) { if(++Sys_CNT>300)//防止進(jìn)入死循環(huán) { Sensor_ErrorFlag=1; return0; } } Sys_CNT=0; //判斷從機(jī)是否發(fā)出80us的高電平,如發(fā)出則進(jìn)入數(shù)據(jù)接收狀態(tài) while((Sensor_SDA)) { if(++Sys_CNT>300)//防止進(jìn)入死循環(huán) { Sensor_ErrorFlag=1; return0; } } //數(shù)據(jù)接收 傳感器共發(fā)送40位數(shù)據(jù) //即5個(gè)字節(jié)高位先送5個(gè)字節(jié)分別為濕度高位濕度低位溫度高位溫度低位校驗(yàn)和 //校驗(yàn)和為:濕度高位+濕度低位+溫度高位+溫度低位 for(i=0;i<5;i++) { Sensor_Data[i]=Read_SensorData(); } } else { Sensor_AnswerFlag=0; //未收到傳感器響應(yīng) } return1;}voidshowPM(){LCD12864_SetWindow(3,3); LCD12864_WriteData(UARTdata[0]); LCD12864_WriteData(UARTdata[1]); LCD12864_WriteData(UARTdata[2]); LCD12864_WriteData(UARTdata[3]); for(i=0;i<5;i++)LCD12864_WriteData(TPM1[i]);}voidUsartinit(){SCON=0x50;//SCON:方式1,8-bitUARTTMOD=0x20;//TMOD:timer1,方式2,8-bit自動(dòng)重裝PCON=0x00;//SMOD=1;串口波特率加倍TH1=0xfd; // TL1=0xfd;//波特率:960011.0592MHzTR1=1;//開定時(shí)器1TI=0; RI=0; EA=1;// //開總中斷 ES=1;//串行口中斷開}voidUsart()interrupt4{if(RI==1) {RI=0;//清除接收中斷標(biāo)志位 UART_Upload[accord]=SBUF;//串口接收一個(gè)數(shù)據(jù) accord++; if(accord>8) //九個(gè)數(shù)據(jù)為一組 { accord=0; } if(accord==0) //接收一組數(shù)據(jù)后進(jìn)行一次校驗(yàn)和 { //校驗(yàn)7為數(shù)據(jù)位的和取反加一等于校驗(yàn)值 temp_pM=~(UART_Upload[1]+UART_Upload[2]+UART_Upload[3]+UART_Upload[4]+UART_Upload[5]+UART_Upload[6]+UART_Upload[7])+1; //校驗(yàn)和 if(temp_pM=UART_Upload[8]) { pm_rateH=UART_Upload[3]; pm_rateL=UART_Upload[4]; pm_density=(pm_rateH*100+pm_rateL)*5;//顆粒數(shù)數(shù)據(jù)處理 UARTdata[0]=UARTnum[pm_density/1000]; UARTdata[1]=UARTnum[pm_density%1000/100]; UARTdata[2]=UARTnum[pm_density%100/10]; UARTdata[3]=UARTnum[pm_density%10]; } }}}/*清屏*/voidclearping(){LCD1286
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣西國(guó)際壯醫(yī)醫(yī)院公開招聘工作人員16人參考考試試題及答案解析
- 2025浙江溫州市平陽縣興陽控股集團(tuán)有限公司下屬房開公司招聘項(xiàng)目制員工15人模擬筆試試題及答案解析
- 2025浙江嘉興市海寧市海昌街道社區(qū)衛(wèi)生服務(wù)中心招聘1人備考筆試題庫及答案解析
- 2025四川雅安市雨城區(qū)公益性崗位招聘8人備考筆試試題及答案解析
- 25江西南昌動(dòng)物園招聘1人備考筆試題庫及答案解析
- 2026河北滄州市直衛(wèi)健系統(tǒng)公立醫(yī)院高層次人才選聘67人參考考試試題及答案解析
- 網(wǎng)推廣協(xié)議書范本
- 耕地開墾合同范本
- 職工領(lǐng)工資協(xié)議書
- 聯(lián)營(yíng)合作n協(xié)議書
- 濰坊學(xué)院簡(jiǎn)明中外教育史期末考試復(fù)習(xí)題
- 兩位數(shù)加兩位數(shù)口算練習(xí)題4000道278
- 《CuZnAl催化劑催化合成氣直接制乙醇的研究》
- 房產(chǎn)抵押合同書模板
- 四年級(jí)語文上冊(cè) 每日默寫單(基礎(chǔ)知識(shí)默寫單)
- 外貿(mào)英語函電教程 第二版 課件Unit 8 Shipping;Unit 9 Settling Claims
- 兒童靜脈輸液安全管理
- 管道(溝槽)開挖支護(hù)方案
- 醫(yī)院課件:《抗腫瘤藥物分級(jí)管理培訓(xùn)》
- 轉(zhuǎn)讓煙酒店帶煙證合同
- 走向世界的中國(guó)文學(xué)智慧樹知到答案2024年哈爾濱工業(yè)大學(xué)
評(píng)論
0/150
提交評(píng)論