![基于ATS單片機(jī)的教室燈光智能控制系統(tǒng)設(shè)計_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/1/e2f26405-5257-4758-98e5-0a0ad6e4e3ba/e2f26405-5257-4758-98e5-0a0ad6e4e3ba1.gif)
![基于ATS單片機(jī)的教室燈光智能控制系統(tǒng)設(shè)計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/1/e2f26405-5257-4758-98e5-0a0ad6e4e3ba/e2f26405-5257-4758-98e5-0a0ad6e4e3ba2.gif)
![基于ATS單片機(jī)的教室燈光智能控制系統(tǒng)設(shè)計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/1/e2f26405-5257-4758-98e5-0a0ad6e4e3ba/e2f26405-5257-4758-98e5-0a0ad6e4e3ba3.gif)
![基于ATS單片機(jī)的教室燈光智能控制系統(tǒng)設(shè)計_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/1/e2f26405-5257-4758-98e5-0a0ad6e4e3ba/e2f26405-5257-4758-98e5-0a0ad6e4e3ba4.gif)
![基于ATS單片機(jī)的教室燈光智能控制系統(tǒng)設(shè)計_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/1/e2f26405-5257-4758-98e5-0a0ad6e4e3ba/e2f26405-5257-4758-98e5-0a0ad6e4e3ba5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于AT89S51單片機(jī)的教室燈光智能控制系統(tǒng)設(shè)計一、系統(tǒng)設(shè)計要求:該系統(tǒng)以AT89S51單片機(jī)作為控制模塊的核心部件,采用熱釋紅外人體傳感器檢測人體的存在,采用光敏三極管構(gòu)成的電路檢測環(huán)境光的強度;根據(jù)教室合理開燈的條件,通過對人體存在信號和環(huán)境光信號的識別與判斷,完成對教室燈光的智能控制,避免了教室用電的大量浪費。系統(tǒng)還具有報警功能;同時還采用了軟/硬件的“看門狗”等抗干擾措施二、系統(tǒng)控制方案分析 該控制器以自然光強度和人體存在作為控制器的主要輸入?yún)?shù),能夠?qū)崿F(xiàn)自動與手動控制相兼容。在自然環(huán)境光較強光線足夠時,無論人是否存在,都不開燈;在自然環(huán)境光較弱時,有人存在且超過一定時間,控制器自動
2、打開電燈,直到人離開后再延時一定時間后關(guān)燈。同時,還可設(shè)置作息時間來控制,夜晚超過12點,若還有人存在,則關(guān)閉自動控制器的運行,改用開關(guān)來手動控制,以解決因特殊情況下,自動控制器的不人性化運行。 所研究的教室燈光控制器主要是由硬件和軟件兩大部分組成。硬件部分是前提,是整個系統(tǒng)執(zhí)行的基礎(chǔ),它主要為軟件提供程序運行的平臺。而軟件部分,是對硬件端口所體現(xiàn)的信號,加以采集、分析、處理,最終實現(xiàn)控制器所要實現(xiàn)的各項功能,達(dá)到設(shè)計目的。三、系統(tǒng)控制模塊的硬件設(shè)計 系統(tǒng)控制模塊的硬件構(gòu)成及簡介 系統(tǒng)控制單元是以AT89S51單片機(jī)主控模塊為核心,其它外圍電路主要包括:環(huán)境光采集電路、時鐘模塊、熱釋紅外傳感器
3、模塊、看門狗模塊、按鍵電路、EEPROM存儲模塊、超時報警模塊、數(shù)碼管顯示模塊,其結(jié)構(gòu)框圖如圖2-1所示。 圖2.1系統(tǒng)控制結(jié)構(gòu)框圖 環(huán)境光模塊采用光敏三極管來檢測環(huán)境光的強度,有光照時,電阻減小,隨著光照強度的減弱,電阻逐漸增大,把光信號轉(zhuǎn)化成電信號,實現(xiàn)對光強度的檢測。 人體存在傳感器模塊采用HP-208是基于紅外線技術(shù)的智能產(chǎn)品,實現(xiàn)對人體存在的檢測。 硬件時鐘模塊采用具有充電能力的低功耗,具有臨時性存放數(shù)據(jù)的RAM寄存器的實時時鐘芯片DS1302。該電路的接口簡單、價格低廉、使用方便,被廣泛的使用。 系統(tǒng)數(shù)據(jù)存儲及故障保護(hù)部分由X5045組成,X5045是一種串行通訊的512字節(jié)EEP
4、ROM,同時兼有看門狗和電源監(jiān)控功能鍵盤模塊。1.系統(tǒng)控制的主要硬件電路 考慮到本系統(tǒng)安裝時受環(huán)境影響因素比較多,且教室控制設(shè)備中的人體存在傳感器、光敏三極管等經(jīng)常會因環(huán)境情形變化而不穩(wěn)定,所以在設(shè)計過程中,電子元器件的選用、線路布置和設(shè)備的安放要充分考慮到抗干擾問題。2. 系統(tǒng)主控電路 本系統(tǒng)的主控模塊采用AT89S51作為主控芯片,它是一種低功耗,8位CMOS工藝處理器,具有8K在線可編程Flash存儲器,片內(nèi)的Flash可多次編程,為在線編程提供了方便。片內(nèi)有128字節(jié)的RAM,4KB的EEPROM,由于合理的安排使用片內(nèi)RAM空間,所以沒有片外擴(kuò)展的RAM,使電路結(jié)構(gòu)簡潔。該芯片的主要
5、特征見如表2.1:表2.1 AT89S51主要特征單片機(jī)最小系統(tǒng)如圖2-2所示: 圖2-2 單片機(jī)最小系統(tǒng)3.系統(tǒng)供電電路 系統(tǒng)供電原理如圖2-3所示,采用+5V電壓供電。本設(shè)計采用輸出電壓為9V的變壓器。系統(tǒng)接通220V交流電源后,將220V交流電變壓到9V,經(jīng)過二極管全波整流、電解電容C1,C2濾波,再經(jīng)正輸出穩(wěn)壓器LM7805,為了緩沖負(fù)載突變,改善瞬態(tài)響應(yīng),輸出端還采用了電容C3,C4,最后得到+5V的直流電壓,用于給控制系統(tǒng)中單片機(jī)系統(tǒng)及其它外圍電路的Vcc端供電。. 圖2-3 系統(tǒng)供電電路4.數(shù)據(jù)采集電路 教室的環(huán)境光強度和人體存在與否是系統(tǒng)主要的輸入?yún)?shù),因此教室中的環(huán)境光照強度
6、和人體存在成為系統(tǒng)數(shù)據(jù)采集的主要對象。常見的環(huán)境光強度采集器件主要有光敏二極管和光敏三極管,考慮抗干擾的需要,選用靈敏度較高的光敏三極管。此外,人體存在傳感器要求靈敏度高,可靠性強。環(huán)境光強度采集電路 光電傳感器是一種能夠?qū)⒐廪D(zhuǎn)化為電量的傳感器。采用的光敏三極管除了具有光敏二極管將光信號轉(zhuǎn)化為電信號的功能外,還具有對電信號的放大功能。在無光照時,三極管的穿透電流很小,為暗電流,有光照時,產(chǎn)生的Ib增大,成為光電流Ie,光電流的大小與光照強度成正比,于是在負(fù)載電阻上就能得到隨光照強度變化而變化的電信號。光敏三極管具有靈敏度高,體積小,工作電壓低,工作電流小,發(fā)光均勻穩(wěn)定,響應(yīng)速度快,壽命長等特點
7、。環(huán)境光采集電路原理如圖為2-4所示。當(dāng)環(huán)境光照強度大于一定程度時,光敏三極管D6呈現(xiàn)低阻狀態(tài)1K,三極管Q12的基極電壓升高,Q12管飽和導(dǎo)通,集電極輸出低電平。當(dāng)環(huán)境光強度小于一定程度時,光敏三極管D6呈現(xiàn)高阻狀態(tài)100,使三極管Q12截止,集電極輸出高電平。其中調(diào)節(jié)R26阻值,可使三極管Q12受環(huán)境光強度影響在適當(dāng)?shù)牧炼认聦?dǎo)通。圖2-4環(huán)境光電路人體存在信號采集電路人體存在傳感器采用HP-208-N-L人體感應(yīng)模塊(低電平輸出)。基于紅外線技術(shù)的自動控制產(chǎn)品,靈敏度高,可靠性強,廣泛應(yīng)用于各類自動感應(yīng)電器中。人體傳感器的1號引腳為電源信號端VCC,2號引腳為采集信號輸出端OUT,3號引腳
8、為地信號端GND。其硬件連接如圖2-5 圖 2-5 人體存在信號采集電路5.系統(tǒng)時鐘電路 根據(jù)教室燈光使用特性,該系統(tǒng)還應(yīng)受到時間的控制,因此本研究還加入硬件時鐘電路以保證系統(tǒng)的智能化運行。 考慮到本系統(tǒng)停電時需為時鐘電路提供電源、且不占用太多單片機(jī)資源,于是采用具有充電能力的實時時鐘芯片DS1302,作為臨時性存放數(shù)據(jù)的RAM寄存器。此芯片采用的是串行通信方式,還可為掉電保護(hù)電源提供充電功能,也可以將此功能關(guān)閉。該芯片對年、月、日、時、分、秒進(jìn)行計時,具有閏年補償功能,工作電壓為2.5V5.5V。DS1302只需三根線即可與單片機(jī)進(jìn)行通信,體積小,使用簡單,時鐘精度較高,滿足系統(tǒng)的要求,其引
9、腳圖如圖2-6所示。 圖2-6 DS1302的引腳圖各引腳的功能為: Vcc1:主電源;Vcc2:備份電源。當(dāng)Vcc2>Vcc1+0.2V時,由Vcc2向DS1302供電,當(dāng)Vcc2< Vcc1時,由Vcc1向DS1302供電。 SCLK:串行時鐘,輸入,控制數(shù)據(jù)的輸入與輸出; I/O:三線接口時的雙向數(shù)據(jù)線; CE:輸入信號,在讀、寫數(shù)據(jù)期間,必須為高。 DS1302與單片機(jī)接口電路連接如圖2-7,其中Vcc2外接3.6V可充電的鋰電池,為DS1302的備用電源。Vcc1外接供電 模塊的穩(wěn)定輸出電壓+5V,為DS1302的主電源。DS1302由Vcc1和Vcc2兩者中較大者供電。
10、系統(tǒng)正常運行時,Vcc1大于Vcc2,因此由Vcc1給DS1302供電,在主電源關(guān)閉的情況下,則由Vcc2給DS1302供電,保持時鐘的連續(xù)運行。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送,與單片機(jī)的復(fù)位信號相連。時鐘輸入端SCLK接單片機(jī)P1.5引腳,進(jìn)行時鐘控制。 圖 2-7 時鐘電路6.繼電器驅(qū)動電路 繼電器驅(qū)動接口電路如圖2-8所示,這里繼電器由相應(yīng)的PNP型號的9012三極管來驅(qū)動。開機(jī)時,單片機(jī)初始化后的P3.5、P3.6 為高電平,三極管截止,所以開機(jī)后繼電器始終處于釋放狀態(tài)。如果P3.5、P3.6 為低
11、電平,三極管的基極就會被拉低而產(chǎn)生足夠的基極電流,使三極管導(dǎo)通,繼電器就會得電吸合,從而驅(qū)動負(fù)載,點亮相應(yīng)電燈。繼電器的輸出端并聯(lián)100歐的電阻和6800皮法電容,目的是避免繼電器吸合與釋放期間產(chǎn)生火花。繼電器線圈兩端反相并聯(lián)的二極管是起到吸收反向電動勢的功能,保護(hù)相應(yīng)的驅(qū)動三極管,這種繼電器驅(qū)動方式硬件結(jié)構(gòu)比較簡單。 圖2-8 繼電器驅(qū)動電路7.超時報警電路 本系統(tǒng)采用的超時報警電路如圖2-9所示。單片機(jī)的P3.4端口外加一個10K的上拉電阻,再經(jīng)過限流電阻100歐與三極管C945的基極相連。當(dāng)P3.4 端口為低電平,即基極為低電平時,三極管導(dǎo)通,驅(qū)動蜂鳴器發(fā)出聲音,以示教室燈工作超時。若P
12、3.4端口為高電平,即基極為高電平時,三極管截止,蜂鳴器不工作,教室燈工作正常。本系統(tǒng)采用超時報警電路方便了管理人員對教室燈的管理,能夠科學(xué)、有效地管理教室電燈。 圖2-9超時報警電路8.按鍵控制電路 按鍵控制電路如圖2-10所示。按鍵的輸入信號分別接到P2.0,P2.1,P2.2,P2.3,用二極管和與門電路將按鍵信號引到外中斷0的引腳P3.2。按鍵控制電路采用單片機(jī)P2口的低4個口作按鍵的輸入信號端,信號取自電阻的分壓。當(dāng)按鍵未按下時,P2.0P2.3端口的電壓接近電源電壓,為高電平,當(dāng)某一按鍵按下時,對應(yīng)端口被按紐開關(guān)短接到地,為低電平。單片機(jī)檢測4個端口電平的變化,從而確定是哪個鍵被按
13、下。鍵盤工作方式采用中斷掃描方式,4個二極管和10K電阻組成與門電路,當(dāng)任一鍵按下時,與門輸出P3.2引腳的電平都會由高為低。P3.2第二功能是外部中斷0的輸入引腳,我們利用其電平的變化產(chǎn)生中斷,在中斷服務(wù)程序中讀入P2口低4位信號,確定哪個鍵按下,執(zhí)行相應(yīng)的按鍵功能,0.1pf電容和10K電阻組成濾波電路,消除按鍵的抖動。 圖2-10按鍵控制電路9.系統(tǒng)看門狗電路 在單片機(jī)工作過程中,不可避免的會由于外界的干擾而產(chǎn)生程序跑飛、死機(jī)甚至造成整機(jī)癱瘓等情況。為了能夠及時恢復(fù)單片機(jī)的工作,只能采用重新復(fù)位的方法,因此還應(yīng)該在硬件設(shè)計中使用看門狗電路,這樣在單片機(jī)發(fā)生死機(jī)的情況下,看門狗將產(chǎn)生一個復(fù)
14、位信號給單片機(jī),使單片機(jī)復(fù)位,重新執(zhí)行程序。由于系統(tǒng)同時需要看門狗和EEPROM,所以本設(shè)計中使用芯片X5045。X5045的引腳排列如圖2-11。 圖2-11 X5045的引腳圖看門狗定時器的預(yù)置時間是通過X5045的狀態(tài)寄存器的相應(yīng)位來設(shè)定的。如表2.2狀態(tài)寄存器所示,X5045狀態(tài)寄存器共有6位。其中WD1.WD0和看門狗電路有關(guān),其余位和EEPROM的工作設(shè)置有關(guān)。表2.2 狀態(tài)寄存器 WD1=0,WD0=0,預(yù)置時間為1.4S, WD1=0,WD0=1,預(yù)置時間為0.6S, WD1=1,WD0=0,預(yù)置時間為0.2S, WD1=1,WD0=1,禁止看門狗工作。 看門狗電路的定時時間長
15、短可由具體應(yīng)用程序的循環(huán)周期決定,通常比系統(tǒng)正常工作時最大循環(huán)周期的時間略長即可。 X5045硬件部分連接如圖2-12。 圖2-12 系統(tǒng)看門狗電路系統(tǒng)看門狗電路由系統(tǒng)數(shù)據(jù)存儲及故障保護(hù)部分組成,X5045是一種串行通信512字節(jié)的EEPROM,同時兼有看門狗和電源監(jiān)控功能,X5045有三種可編程看門狗周期,上電和VCC低于檢測門限時,輸出復(fù)位信號,X5045輸出復(fù)位高電平有效,為了復(fù)位更加可靠,其復(fù)位輸出端外接一個10K的上拉電阻,并與AT89S51的復(fù)位端相連??撮T狗能在電源上電、掉電期間產(chǎn)生一個復(fù)位信號。該芯片還帶有一個1.4秒的看門狗定時器可用來監(jiān)控單片機(jī)的工作。如果在1.4秒內(nèi)未檢測
16、到其工作,出現(xiàn)故障,內(nèi)部定時器將使看門狗WD1處于低電平狀態(tài),為系統(tǒng)提供保護(hù),避免死機(jī)、程序跑飛或進(jìn)入死循環(huán)等意外的發(fā)生。四、控制模塊軟件設(shè)計1.系統(tǒng)監(jiān)控主程序模塊 監(jiān)控程序按模塊分為監(jiān)控主程序和命令處理子程序叫。監(jiān)控主程序的基本任務(wù)是調(diào)用子程序,一個主程序可以調(diào)用多個子程序,對于51系列單片機(jī),系統(tǒng)資源有限,主程序通常是一個無限循環(huán)的過程,即是一個反復(fù)調(diào)用子程序的過程。子程序主要分為中斷子程序和功能子程序,它們之間可以互相嵌套和調(diào)用,即中斷子程序可以調(diào)用功能子程序。在應(yīng)用軟件的設(shè)計中,盡可能各個功能模塊寫成子程序的形式,并通過主程序調(diào)用。而命令處理子程序完成各種命令所規(guī)定的具體操作,它按各種
17、命令再分為不同的子程序模塊,它的編程方法與功能要求及系統(tǒng)應(yīng)用密切相關(guān)。 監(jiān)控主程序是整個控制系統(tǒng)的核心部分,其它外圍模塊一般都需經(jīng)過監(jiān)控模塊實現(xiàn)其在控制系統(tǒng)中的作用。監(jiān)控主程序接受和分析來自鍵盤的命令,進(jìn)而把控制轉(zhuǎn)到相應(yīng)的處理子程序的入口,起引導(dǎo)作用。 本系統(tǒng)監(jiān)控主程序模塊主要包括對系統(tǒng)外圍器件輸入、輸出參數(shù)的初始化自檢,看門狗的激活,多任務(wù)操作模塊的調(diào)用(系統(tǒng)中的信號采集處理、時鐘管理、按鍵接收處理、驅(qū)動顯示模塊),實時中斷處理等。除初始化和自檢外,監(jiān)控主程序一般總是把其余部分連接起來構(gòu)成一個無限循環(huán),系統(tǒng)所有功能都在這一循環(huán)中周而復(fù)始的有選擇的執(zhí)行。 1)系統(tǒng)自檢初始化 系統(tǒng)自檢初始化是保
18、證整個控制系統(tǒng)能夠正常運行的重要條件,系統(tǒng)加電復(fù)位后,直接進(jìn)入自檢初始化程序,完成系統(tǒng)的自檢及初始化。初始化過程主要是對一些控制寄存器(如中斷控制)、數(shù)據(jù)區(qū)和外部芯片(如時鐘芯片DS1302等)進(jìn)行初始參數(shù)設(shè)置和定義。本系統(tǒng)中的自檢初始化主要指各接口芯片的檢測、芯片內(nèi)部設(shè)定參數(shù)的初始化及系統(tǒng)內(nèi)部寄存器的初始化。 各接口芯片的檢測主要檢測各芯片是否已處于準(zhǔn)備工作的就緒狀態(tài),有無硬件故障等,如檢測各位LED是否正常顯示系統(tǒng)設(shè)置開機(jī)時的界面,檢測硬件時鐘DS1302是處于更換芯片后初次使用為起振狀態(tài),還是處于備用電源供電振蕩保持狀態(tài),即檢測系統(tǒng)中控制時間表的有效性,檢測熱釋紅外傳感器輸出信號是否正常
19、體現(xiàn)人體存在的信息,檢測光采集電路輸出的信號等。若時鐘芯片處于啟動狀態(tài),則需要對其進(jìn)行初始化并啟動實時時鐘。 系統(tǒng)內(nèi)部寄存器初始化主要是指在數(shù)據(jù)緩沖區(qū)內(nèi),各用戶定義的數(shù)據(jù)變量的初始化賦值及部分特殊功能寄存器SFR的復(fù)位初始化,單片機(jī)復(fù)位后,程序計數(shù)器PC指向程序存儲器的入口地址。000單元,程序狀態(tài)字寄存器PSW清零,片內(nèi)存儲器選擇工作寄存器,用戶標(biāo)志位F0為0狀態(tài),堆棧指針SP指向07H,其它定時器、中斷允許寄存器IE,累加器ACC等皆為00H.。2)定時中斷處理設(shè)計 定時中斷是利用單片機(jī)內(nèi)部的定時器定時,時間到或計數(shù)值已滿引起的中斷,內(nèi)部定時器的計數(shù)器可以對內(nèi)部時鐘或從外部引線T0和T1輸
20、入的外部脈沖進(jìn)行計數(shù)。計數(shù)器的溢出信號作為中斷請求信號,去置位定時器溢出標(biāo)志位,向單片機(jī)的CPU申請中斷。 定時中斷為周期性中斷,每隔一定的時間會中斷一次。本系統(tǒng)中設(shè)定的定時中斷主要用來構(gòu)造多任務(wù)操作系統(tǒng),在系統(tǒng)響應(yīng)中斷后,無需對斷點實施現(xiàn)場保護(hù),可直接進(jìn)行多任務(wù)時間的劃分工作,使相應(yīng)的操作任務(wù)進(jìn)入就緒狀態(tài),即該中斷可以啟動有關(guān)的任務(wù)操作。該定時中斷處理程序框圖如圖3-1所示: 圖3-1 定時中斷處理程序框圖本系統(tǒng)還采用了外部中斷,此外部中斷主要用來判斷是否有外來信號輸入,若有,就采集下來并加以處理;若無,則返回到主循環(huán)。 2. 數(shù)據(jù)采集模塊 本控制系統(tǒng)中的數(shù)據(jù)采集對象為環(huán)境光信號及人體存在信
21、號,在程序設(shè)計中對這兩個數(shù)據(jù)的采集放置在多任務(wù)模塊中實施定時采集。數(shù)據(jù)采集軟件的實現(xiàn) 本系統(tǒng)考慮到環(huán)境光足夠亮?xí)r,無論是否有人體存在都不開燈;而環(huán)境光不夠亮?xí)r,有人體存在才開燈,無人體存在則不開燈。本系統(tǒng)邏輯定義為:環(huán)境光亮?xí)r為邏輯“0"(符合光采集電路輸出信號狀態(tài)),暗時為“1",人體存在為“1",人體不存在為“0",開燈為“1”,關(guān)燈為“0",那么環(huán)境光與人體存在可以用以下的邏輯關(guān)系表來表示,如表所示3.1:表3.1 環(huán)境光與人體存在邏輯關(guān)系上表數(shù)據(jù)表明可將環(huán)境光參數(shù)與人體存在參數(shù)進(jìn)行與操作,又由于繼電器是低電平驅(qū)動,所以要將采集處理后的信
22、號進(jìn)行非操作,才可以驅(qū)動繼電器工作,即可得到教室燈的狀態(tài)。 3.時鐘模塊 在系統(tǒng)啟動自檢初始化時,首先會對時鐘芯片DS1302的運行狀態(tài)進(jìn)行判斷,當(dāng)檢測到DS1302處于啟動狀態(tài)時才對其進(jìn)行初始化,啟動時鐘。實時時鐘芯片DS1302的初始化及其讀寫程序設(shè)計的關(guān)鍵是要遵循其時序要求。 1)數(shù)據(jù)輸入輸出 在對DS1302進(jìn)行各種操作之前,必須先對其初始化,即需要把復(fù)位輸入RST端置為高電平,如果RST輸入為低電平,那么所有的數(shù)據(jù)傳送中止,且I/O引腳變?yōu)楦咦杩範(fàn)顟B(tài)。在數(shù)據(jù)讀/寫完后,RST端應(yīng)置成低電平,以防止外部干擾對DS1302內(nèi)部時鐘的影響。 同時,為了防止復(fù)位輸入端受到外部的干擾,要求上電
23、時,在主電源引腳Vcc22.5V之前,RST必須為邏輯0。無論是讀操作還是寫操作,都必須在開頭的8個時鐘周期內(nèi)把提供地址和命令信息的8位數(shù)據(jù)裝入到DS1302的移位寄存器中。地址/命令信息用于指明40個寄存器中的哪個進(jìn)行何種操作。數(shù)據(jù)在SCLK的上升沿串行輸入,在開始的8個時鐘周期把命令字裝入移位寄存器之后,若跟隨的是寫命令字節(jié),則在下8個SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),若跟隨在讀命令字節(jié)的8個SCLK周期之后,在下8個SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。程序流程如圖3-3所示: 圖3-3數(shù)據(jù)輸入輸出流程圖2)時鐘程序設(shè)計 驅(qū)動程序 /寄存器宏定義 #define WRITE_SECOND 0
24、x80 #define WRITE_MINUTE 0x82 #define WRITE_HOUR 0x84 #define READ_SECOND 0x81 #define READ_MINUTE 0x83 #define READ_HOUR 0x85 #define WRITE_PROTECT 0x8E /位尋址寄存器定義 sbit ACC_7 = ACC7; /管腳定義 sbit SCLK = P35; / DS1302時鐘信號 7腳 sbit DIO= P36; / DS1302數(shù)據(jù)信號 6腳sbit CE = P37; / DS1302片選 5腳 /地址、數(shù)據(jù)發(fā)送子程序 void Wr
25、ite1302 ( unsigned char addr,dat ) unsigned char i,temp; CE=0; /CE引腳為低電平,數(shù)據(jù)傳送中止 SCLK=0; /清零時鐘總線 CE = 1; /CE引腳為高電平,邏輯控制有效 /發(fā)送地址 for ( i=8; i>0; i- ) /循環(huán)8次移位 SCLK = 0; temp = addr; DIO = (bit)(temp&0x01); /每次傳輸?shù)妥止?jié) addr >>= 1; /右移一位 SCLK = 1; /發(fā)送數(shù)據(jù) for ( i=8; i>0; i- ) SCLK = 0; temp =
26、dat; DIO = (bit)(temp&0x01); dat >>= 1; SCLK = 1; CE = 0; /數(shù)據(jù)讀取子程序 unsigned char Read1302 ( unsigned char addr ) unsigned char i,temp,dat1,dat2; CE=0; SCLK=0; CE = 1; /發(fā)送地址 16 for ( i=8; i>0; i- ) /循環(huán)8次移位 SCLK = 0; temp = addr; DIO = (bit)(temp&0x01); /每次傳輸?shù)妥止?jié) addr >>= 1; /右移一
27、位 SCLK = 1; /讀取數(shù)據(jù) for ( i=8; i>0; i- ) ACC_7=DIO; SCLK = 1; ACC>>=1; SCLK = 0; CE=0; dat1=ACC; dat2=dat1/16; /數(shù)據(jù)進(jìn)制轉(zhuǎn)換 dat1=dat1%16; /十六進(jìn)制轉(zhuǎn)十進(jìn)制 dat1=dat1+dat2*10; return (dat1); /初始化DS1302 void Initial(void) Write1302 (WRITE_PROTECT,0X00); /禁止寫保護(hù) Write1302 (WRITE_SECOND,0x56); /秒位初始化 Write1302
28、 (WRITE_MINUTE,0x34); /分鐘初始化 Write1302 (WRITE_HOUR,0x12); /小時初始化 Write1302 (WRITE_PROTECT,0x80); /允許寫保護(hù) 4.顯示驅(qū)動模塊 系統(tǒng)運行過程中的數(shù)據(jù)顯示是人機(jī)交互對話的一個重要通道。通過的顯示系統(tǒng)數(shù)據(jù),我們才可以更好的了解系統(tǒng)運行的狀態(tài),從而方便對整個系統(tǒng)進(jìn)行必要的操作。本系統(tǒng)中采用共陽極的數(shù)碼管,其中采用ULN2803作為驅(qū)動數(shù)碼管的段選的芯片,采用簡單又便宜的9012三極管來驅(qū)動數(shù)碼管的位選,節(jié)約成本,程序編寫簡單。 考慮到數(shù)碼管驅(qū)動信號要求的電流較大,采用功率驅(qū)動器件ULN2803芯片。此芯
29、片是八組NPN型達(dá)林頓功放三極管集成芯片,典型的輸入電壓是5V,集電極輸出功率可達(dá)50V×0.6A。因此采用ULN2803共陽極數(shù)碼管的段信號驅(qū)動器。而共陽極數(shù)碼管的位信號驅(qū)動則采用8個晶體管9012來實現(xiàn)。又由于ULN2803為低電平驅(qū)動,所以數(shù)據(jù)送到單片機(jī)端口前,應(yīng)在程序中先將數(shù)據(jù)取反。然后將數(shù)據(jù)送到ULN2803輸入端相連接單片機(jī)的P0端口即可。 每次先送一位要顯示的數(shù)據(jù)字節(jié),然后再送該位數(shù)碼管的地址字節(jié),直到8位顯示完全。 本系統(tǒng)在運行過程中需要顯示查看的數(shù)據(jù)有時鐘及顯示數(shù)值。正常工作中8位顯示器顯示實時時鐘,顯示小時、分鐘、秒,其中有兩位用來顯示“”,用以分隔顯示小時、分鐘
30、和秒,這樣顯示更加清晰。五、系統(tǒng)調(diào)試運行及問題分析1.單片機(jī)系統(tǒng)調(diào)試方法及步驟 單片機(jī)系統(tǒng)的調(diào)試應(yīng)包括硬件及軟件兩部分,主要是通過調(diào)試發(fā)現(xiàn)硬件及軟件中存在的問題,查看其運行結(jié)果是否符合設(shè)計要求。 在對系統(tǒng)進(jìn)行實際調(diào)試時,首先應(yīng)對硬件進(jìn)行靜態(tài)調(diào)試,同時對系統(tǒng)軟件進(jìn)行初步調(diào)試,此后再對軟件和硬件進(jìn)行動態(tài)調(diào)試,最后才能使系統(tǒng)進(jìn)入正常工作. (1)靜態(tài)調(diào)試:靜態(tài)調(diào)試主要是排除明顯的硬件故障。在將芯片、傳感器等元件連接到電路板上時,要保證各處電源極性、電壓正確,以防止因電源極性接反或電壓過高損壞芯片或傳感器。此外,插入芯片必須在斷電的情況下進(jìn)行,特別注意芯片的方向不要插反。 (2)軟件調(diào)試:在軟件調(diào)試時
31、采用在計算機(jī)上利用模擬軟件實現(xiàn)對單片機(jī)的硬件模擬、指令模擬及運行狀態(tài)模擬,從而完成應(yīng)用軟件開發(fā)的全過程。調(diào)試過程中的運行狀態(tài)、各寄存器狀態(tài)、端口狀態(tài)等都可以在指定的窗口區(qū)域顯示出來,通過這些顯示結(jié)果隨時跟蹤程序運行狀態(tài),以確定程序運行無錯誤。 (3)動態(tài)調(diào)試:控制系統(tǒng)的軟件和硬件是密切相關(guān)的,由于軟件模擬開發(fā)系統(tǒng)不能對硬件部分進(jìn)行診斷,同時也不能實時在線仿真,所以用戶程序還需跟硬件連接起來進(jìn)行聯(lián)調(diào),同時對軟件和硬件進(jìn)行檢查和診斷。整個單片機(jī)系統(tǒng)進(jìn)行在線調(diào)試時,需借助仿真開發(fā)工具來對用戶軟件及硬件電路進(jìn)行診斷、調(diào)試。 在應(yīng)用系統(tǒng)各模塊電路調(diào)試成功后,將程序加載到在線仿真器上,這時就能單步或連續(xù)地執(zhí)行目標(biāo)程序,同時也可以根據(jù)需要分段設(shè)置斷點執(zhí)行程序。而對于一些與硬件相關(guān)的用戶程序,如接口驅(qū)動程序等,則需要配合硬件,進(jìn)行在線調(diào)試,如果有邏輯錯誤,也要及時糾正
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 租賃補貼申請書
- 高速收費員申請書
- DB31T1110.2-食品和食用農(nóng)產(chǎn)品全鏈條信息追溯 第2部分:數(shù)據(jù)元規(guī)范編制說明
- 基因缺失重組疫苗項目風(fēng)險識別與評估綜合報告
- 設(shè)計高效的緩存管理方案
- 國際市場營銷學(xué)模擬考試題和答案
- DB2201-T 19-2022 城市智能體數(shù)據(jù)指標(biāo)卡片管理規(guī)范
- 四川省眉山市區(qū)縣高中學(xué)校2024-2025學(xué)年高三上學(xué)期12月期中聯(lián)考物理試題
- 2024-2025學(xué)年山東省德州市優(yōu)高聯(lián)盟九校聯(lián)考高三上學(xué)期1月考試英語試題(解析版)
- 江蘇省南京市協(xié)同體七校2024-2025學(xué)年高三上學(xué)期期中聯(lián)合考試物理試題
- 2024-2025學(xué)年五年級數(shù)學(xué)上冊名校真題 期末考試綜合檢測卷
- 2025年市青年企業(yè)家商會工作計劃
- 食品企業(yè)如何做好蟲鼠害防控集
- 環(huán)保工程信息化施工方案
- 狂犬病暴露后預(yù)防處置
- 心律失常性心肌病
- 醫(yī)療器械代表年終總結(jié)
- 內(nèi)審和管理評審培訓(xùn)課件
- 高一政治學(xué)科期末考試質(zhì)量分析報告(7篇)
- 導(dǎo)管相關(guān)性血流感染-7
- 2024年銀行、金融反詐騙必知知識試題與答案
評論
0/150
提交評論