freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文-基于at89c52單片機(jī)的高校節(jié)能燈光控制系統(tǒng)設(shè)計(jì)(編輯修改稿)

2025-07-12 10:47 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 超時(shí)報(bào)警電路 本系統(tǒng)采用的超時(shí)報(bào)警電路如圖 29 所示。單片機(jī)的 端口外加一個(gè) 10K 的上拉電阻,再經(jīng)過(guò)限流電阻 100 歐與三極管 C945 的基極相連。當(dāng) 端口為低電平,即基極為低電平時(shí),三極管導(dǎo)通,驅(qū)動(dòng)蜂鳴器發(fā)出聲音,以示教室燈工作超時(shí)。若 端口為高電平,即基極為高電平時(shí),三極管截止,蜂鳴器不工作,教室燈工作正常。本系統(tǒng)采用超時(shí)報(bào)警電路方便了管理人員對(duì)教室燈的管理,能夠科學(xué)、 有效地管理教室電燈。 圖 29 超時(shí)報(bào)警電路 系統(tǒng) 看門狗電路 在單 片機(jī)工炸過(guò)一程中,不可避免的會(huì)由 于外界的干擾而產(chǎn)生程序跑飛、死機(jī) 甚至造成整機(jī)癱瘓等情況,為了能 夠恢復(fù)單片機(jī)的工作,只能采用重新復(fù)位的方法,雖然在程序設(shè)計(jì)中,一可以使用軟件陷阱的方法來(lái)減少這種情沉的發(fā)生,但是不能完全解決這個(gè)問(wèn)題,因此還應(yīng)該在硬件設(shè)計(jì)中使用看門狗電路,這樣在單片機(jī)發(fā)生死機(jī)的情況下,看門狗將產(chǎn)生一個(gè)復(fù)位信號(hào)給單片機(jī),使單片機(jī)復(fù)位重新執(zhí)行程序,現(xiàn)在的 MCU被集成了越來(lái)越多的功能,有的集成了看 門狗,如工 IMP813L。還有的芯片更是把 EEPROM 也集成進(jìn)去,如 X5045 芯片。由于系統(tǒng)需要看門狗和EEPROM,所以本硬件設(shè)計(jì)中使用了美國(guó) Xicoi公司生產(chǎn)的芯片 X5045。 X5045 具有三種常用的功能:看門狗定時(shí)器、復(fù)位控制和 EEPROM 集成在單個(gè) 8 引腳封裝的 CMOS 器件內(nèi),將電源監(jiān)控和看門狗功能與高速三線非易失性存儲(chǔ)器組合在一起,從而在很人程度 _上降低了系統(tǒng)成本并減少了對(duì)電路板空間的要求, X5045 的引腳排列如圖 3. 2. 61,其各引腳功能附錄 I。 看門 狗定時(shí)器的預(yù)置時(shí)間是通過(guò) X5045 的狀態(tài)寄存器的相應(yīng)位來(lái)設(shè)定的。如表 3. 2. 6 狀態(tài)寄存器所示, X5045 狀態(tài)寄存器共有 6 位有含義。其中 WD l , WDO 和看門狗電路有關(guān),其余位和 EEPROVI 的工作設(shè)置有關(guān)。 表 狀態(tài)寄存器 WD1=0, WD0=0,預(yù)置時(shí)間 。 WD1=0, WD0=1,預(yù)置時(shí)間 。 WD1=1, WD0=0,預(yù)置時(shí)間 。 WD1=1, WD0=1,禁 止看門狗工作。 看門狗電路的定時(shí)時(shí)間長(zhǎng)短可由具體應(yīng)用程序的循環(huán)周期決定,通常比系統(tǒng)正 常工作時(shí)最大循環(huán)周期的時(shí)間略長(zhǎng)即可。 本系統(tǒng)中 X5045 的硬件連接如圖 所示。 系統(tǒng)看門狗電路 系統(tǒng)數(shù)據(jù)存儲(chǔ)及故障保護(hù)部分由 X5045 組成, X5045 是一種串行通訊的 512 字節(jié)EEPROM,同時(shí)兼有看門狗和電源監(jiān)控功能, X5045 有三種可編程看門狗周期,上電和VCC 低于檢測(cè)門限時(shí),輸出復(fù)位信號(hào), X5045 輸出復(fù)位高電平有效,為了復(fù)位更加可靠,其復(fù)位輸出端外接一個(gè) l?? 的上拉電阻,并與 AT89C52 的復(fù)位端相連??撮T狗能在電源上電、掉電期間產(chǎn)生一個(gè)復(fù)位信號(hào)。該芯片還帶有一個(gè) 1. 4 秒的看門狗定時(shí)器可監(jiān)控單片機(jī)的工作。如果在 秒內(nèi)未檢測(cè)到其工作,出現(xiàn)故障,內(nèi)部定時(shí)器將使看門狗WD1 處于低電平狀態(tài),為系統(tǒng)提供保護(hù),避免死機(jī)、程序跑飛或進(jìn)入死循環(huán)等意外的發(fā)生。 X5045 代表了新一代串行 EEPROM 的發(fā)展趨勢(shì),它的運(yùn)用極大的節(jié)省了系統(tǒng)空間和資源,同時(shí)簡(jiǎn)化了電路設(shè)計(jì),縮短產(chǎn)品開(kāi)發(fā)周期。 3. 2. 9 遙控鍵盤 管理模塊電路 紅外線遙控是目前使用最廣泛的一種遙控手段。由于紅外線遙控裝置具有體積小、D7 D6 D5 D4 D3 D2 D1 D0 X X WD1 WD0 BL1 BL0 WEL WIP 功耗低、功能強(qiáng)、成本低等特點(diǎn),因而,繼彩電、錄像機(jī)之后,在錄音機(jī)、音響設(shè)備、空凋機(jī)以及玩具等其它小型電器裝置上也紛紛采用紅外線遙控。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅可靠而且能有效地隔離電氣干擾。我們采用的是從市場(chǎng)上很容易就能買到,且信號(hào)較穩(wěn)定的 JVC:RMC457 型號(hào)遙控器作為燈光控制的鍵盤,其遙控器外形如圖 3. 2. 8 所示。 圖 3. 2. 8所示遙控器外形圖 按鍵控制電路如圖 210 所示。按鍵的輸入信號(hào)分別接到 , , , ,用二極管和與門電路將按鍵信號(hào)引到外中斷 0 的引腳 。按鍵控制電路采用單片機(jī)P2 口的低 4 個(gè)口作按鍵的輸入信號(hào)端,信號(hào)取自電阻的分壓。當(dāng)按鍵未按下時(shí), — 端口的電壓接近電源電壓,為高電平,當(dāng)某一按鍵按下時(shí),對(duì)應(yīng)端口被按紐開(kāi)關(guān)短接到地,為低電平。單片機(jī)檢測(cè) 4 個(gè)端口電平的變化,從而確定是哪個(gè)鍵被按下。鍵盤工作方式采用中斷掃描方式, 4 個(gè)二極管和 10K 電阻組成與門電路,當(dāng)任一鍵按下時(shí),與門輸出 引腳的 電平都會(huì)由高為低。 第二功能是外部中斷 0 的輸入引腳,我們利用其電平的變化產(chǎn)生中斷,在中斷服務(wù)程序中讀入 P2 口低 4 位信號(hào),確定哪個(gè)鍵按下,執(zhí)行相應(yīng)的按鍵功能, 電容和 10K 電阻組成濾波電路,消除按鍵的抖動(dòng)。 圖 210按鍵控制電路 在單片機(jī)硬件系統(tǒng)的基礎(chǔ)上,再配上相應(yīng)的軟件,才能構(gòu)成一個(gè)完整的系統(tǒng)。 用戶軟件的開(kāi)發(fā)與系統(tǒng)硬件有著密切的關(guān)系。在系統(tǒng)的硬件及輸入輸出方法確定后,程序軟件就可以完全獨(dú)立的進(jìn)行設(shè)計(jì)、開(kāi)發(fā)。在程序設(shè)計(jì)過(guò)程中,采用合理的程序設(shè) 計(jì)結(jié)構(gòu)是一項(xiàng)關(guān)鍵技術(shù)。 在本系統(tǒng)的設(shè)計(jì)過(guò)程中,總體設(shè)計(jì)采用自上至下的設(shè)計(jì)思想將主程序設(shè)計(jì)好, 而在各個(gè)部分展開(kāi)成從屬程序或子程序時(shí),是將各個(gè)小模塊分別進(jìn)行設(shè)計(jì)和編程到了結(jié)構(gòu)程序設(shè)計(jì)的思想。同時(shí)在編程的過(guò)程中又用本控制系統(tǒng)軟件模塊主要包括:系統(tǒng)監(jiān)控主程序模塊、數(shù)據(jù)采集模塊、時(shí)鐘模塊、顯示驅(qū)動(dòng)模塊及系統(tǒng)鍵功能和存儲(chǔ)模塊。 系統(tǒng)監(jiān)控主程序模塊 監(jiān)控程序按模塊分為監(jiān)控主程序和命令處理子程序叫。監(jiān)控主程序的基本任務(wù)是調(diào)用子程序,一個(gè)主程序可以調(diào)用多個(gè)子程序,對(duì)于 51 系列單片機(jī),系統(tǒng)資源有限,主程序通 常是一個(gè)無(wú)限循環(huán)的過(guò)程,即是一個(gè)反復(fù)調(diào)用子程序的過(guò)程。子程序主要分為中斷子程序和功能子程序,它們之間可以互相嵌套和調(diào)用,即中斷子程序可以調(diào)用功能子程序。在應(yīng)用軟件的設(shè)計(jì)中,盡可能各個(gè)功能模塊寫(xiě)成子程序的形式,并通過(guò)主程序調(diào)用。而命令處理子程序完成各種命令所規(guī)定的具體操作,它按各種命令再分為不同的子程序模塊,它的編程方法與功能要求及系統(tǒng)應(yīng)用密切相關(guān)。 監(jiān)控主程序是整個(gè)控制系統(tǒng)的核心部分,其它外圍模塊一般都需經(jīng)過(guò)監(jiān)控模塊實(shí)現(xiàn)其在控制系統(tǒng)中的作用。監(jiān)控主程序接受和分析來(lái)自鍵盤的命令,進(jìn)而把控制轉(zhuǎn)到相應(yīng)的處理 子程序的入口,起引導(dǎo)作用。 本系統(tǒng)監(jiān)控主程序模塊主要包括對(duì)系統(tǒng)外圍器件輸入、輸出參數(shù)的初始化自檢,看門狗的激活,多任務(wù)操作模塊的調(diào)用 (系統(tǒng)中的信號(hào)采集處理、時(shí)鐘管理、按鍵接收處理、驅(qū)動(dòng)顯示模塊 ),實(shí)時(shí)中斷處理等。除初始化和自檢外,監(jiān)控主程序一般總是把其余部分連接起來(lái)構(gòu)成一個(gè)無(wú)限循環(huán),系統(tǒng)所有功能都在這一循環(huán)中周而復(fù)始的有選擇的執(zhí)行 系統(tǒng)自檢初始化 系統(tǒng)自檢初始化是保證整個(gè)控制系統(tǒng)能夠正常運(yùn)行的重要條件,系統(tǒng)加電復(fù)位后,直接進(jìn)入自檢初始化程序,完成系統(tǒng)的自檢及初始化。初始化過(guò)程主要是對(duì)一些控制寄存器 (如中斷控制 )、數(shù)據(jù)區(qū)和外部芯片 (如時(shí)鐘芯片 DS1302 等 )進(jìn)行初始參數(shù)設(shè)置和定義。本系統(tǒng)中的自檢初始化主要指各接口芯片的檢測(cè)、芯片內(nèi)部設(shè)定參數(shù)的初始化及系統(tǒng)內(nèi)部寄存器的初始化。 各接口芯片的檢測(cè)主要檢測(cè)各芯片是否已處于準(zhǔn)備工作的就緒狀態(tài),有無(wú)硬件故障等,如檢測(cè)各位 LED 是否正常顯示系統(tǒng)設(shè)置開(kāi)機(jī)時(shí)的界面,檢測(cè)硬件時(shí)鐘 DS1302 是處于更換芯片后初次使用為起振狀態(tài),還是處于備用電源供電振蕩保持狀態(tài),即檢測(cè)系統(tǒng)中控制時(shí)間表的有效性,檢測(cè)熱釋紅外傳感器輸出信號(hào)是否正常體現(xiàn)人體存在的信息,檢測(cè)光采集電路輸出的 信號(hào)等。若時(shí)鐘芯片處于啟動(dòng)狀態(tài),則需要對(duì)其進(jìn)行初始化并啟動(dòng)實(shí)時(shí)時(shí)鐘。 系統(tǒng)內(nèi)部寄存器初始化主要是指在數(shù)據(jù)緩沖區(qū)內(nèi),各用戶定義的數(shù)據(jù)變量的初始化賦值及部分特殊功能寄存器 SFR 的復(fù)位初始化,單片機(jī)復(fù)位后,程序計(jì)數(shù)器 PC 指向程序存儲(chǔ)器的入口地址。 000 單元,程序狀態(tài)字寄存器 PSW 清零,片內(nèi)存儲(chǔ)器選擇工作寄存器,用戶標(biāo)志位 F0 為 0 狀態(tài),堆棧指針 SP 指向 07H,其它定時(shí)器、中斷允許寄存器IE,累加器 ACC 等皆為 00H.。 定時(shí)中斷處理設(shè)計(jì) 定時(shí)中斷是利用單片機(jī)內(nèi)部的定時(shí)器定時(shí),時(shí)間到或計(jì)數(shù)值已滿引起的中 斷,內(nèi)部定時(shí)器的計(jì)數(shù)器可以對(duì)內(nèi)部時(shí)鐘或從外部引線 T0 和 T1 輸入的外部脈沖進(jìn)行計(jì)數(shù)。計(jì)數(shù)器的溢出信號(hào)作為中斷請(qǐng)求信號(hào),去置位定時(shí)器溢出標(biāo)志位,向單片機(jī)的 CPU 申請(qǐng)中斷。 定時(shí)中斷為周期性中斷,每隔一定的時(shí)間會(huì)中斷一次。本系統(tǒng)中設(shè)定的定時(shí)中斷主要用來(lái)構(gòu)造多任務(wù)操作系統(tǒng),在系統(tǒng)響應(yīng)中斷后,無(wú)需對(duì)斷點(diǎn)實(shí)施現(xiàn)場(chǎng)保護(hù),可直接進(jìn)行多任務(wù)時(shí)間的劃分工作,使相應(yīng)的操作任務(wù)進(jìn)入就緒狀態(tài),即該中斷可以啟動(dòng)有關(guān)的任務(wù)操作。該定時(shí)中斷處理程序框圖如圖 41 所示: 圖 41 定時(shí)中斷處理程序框圖 本系統(tǒng) 還采用了外部中斷,此外部中斷主要用來(lái)判斷是否有外來(lái)信號(hào)輸入,若有,就采集下來(lái)并加以處理;若無(wú),則返回到主循環(huán)。 數(shù)據(jù)采集模塊 本控制系統(tǒng)中的數(shù)據(jù)采集對(duì)象為環(huán)境光信號(hào)及人體存在信號(hào),在程序設(shè)計(jì)中對(duì)這兩個(gè)數(shù)據(jù)的采集放置在多任務(wù)模塊中實(shí)施定時(shí)采集。 人體存在傳感器的優(yōu)缺點(diǎn) 人體存在傳感器具有本身不發(fā)出任何類型的輻射,器件功耗很小,隱蔽性好,價(jià)格低廉的優(yōu)點(diǎn)。而缺點(diǎn)是容易受各種熱源、光源干擾。由于紅外穿透力差,因此人體的紅外輻射容易被遮擋,不易被探頭接收;易受射頻輻射的干擾;當(dāng)環(huán)境溫度和人 體溫度接近時(shí),探測(cè)和靈敏度就會(huì)明顯下降,甚至造成短時(shí)失靈。試驗(yàn)也證明了這點(diǎn),如果人體存在卻一定時(shí)間內(nèi)沒(méi)有活動(dòng),人體傳感器則認(rèn)為沒(méi)有人體存在。為避免這種現(xiàn)象的出現(xiàn),本系統(tǒng)軟件程序中設(shè)計(jì)為有人體存在狀態(tài)后間隔 1分鐘或更長(zhǎng)的時(shí)間來(lái)對(duì)人體存在參數(shù)信號(hào)的采集。 數(shù)據(jù)采集軟件的實(shí)現(xiàn) 本系統(tǒng)考慮到環(huán)境光足夠亮?xí)r,無(wú)論是否有人體存在都不開(kāi)燈;而環(huán)境光不夠亮?xí)r,有人體存在才開(kāi)燈,無(wú)人體存在則不開(kāi)燈。本系統(tǒng)邏輯定義為:環(huán)境光亮?xí)r為邏輯“ 0(符合光采集電路輸出信號(hào)狀態(tài) ),暗時(shí)為“ 1,人體存在為“ 1,人體不存 在為“ 0,開(kāi)燈為“ 1”,關(guān)燈為“ 0,那么環(huán)境光與人體存在可以用以下的邏輯關(guān)系表來(lái)表示,如表所示 : 表 環(huán)境光與人體存在邏輯關(guān)系 環(huán)境光參數(shù) 人體存在參數(shù) 教室燈狀態(tài) 0 0 0 1 0 0 0 1 0 1 1 1 上表數(shù)據(jù)表明可將環(huán)境光參數(shù)與人體存在參數(shù)進(jìn)行與操作,又由于繼電器是低電平驅(qū)動(dòng),所以要將采集處理后的信號(hào)進(jìn)行非操作,才可以驅(qū)動(dòng)繼電器工作,即可得到教室燈的狀態(tài)。 時(shí)鐘模塊 在系統(tǒng)啟動(dòng)自檢初始化時(shí),首先會(huì)對(duì)時(shí)鐘芯片 DS1302 的運(yùn)行狀態(tài)進(jìn)行判斷,當(dāng)檢測(cè)到 DS1302 處于啟動(dòng)狀態(tài)時(shí)才對(duì)其進(jìn)行初始化,啟動(dòng)時(shí)鐘。實(shí)時(shí)時(shí)鐘芯片 DS1302 的初始化及其讀寫(xiě)程序設(shè)計(jì)的關(guān)鍵是要遵循其時(shí)序要求。 數(shù)據(jù)輸入輸出 在對(duì) DS1302 進(jìn)行各種操作之前,必須先對(duì)其初始化,即需要把復(fù)位輸入 RST 端置為高電平,如果 RST 輸入為低電平,那么所有的數(shù)據(jù)傳送中止,且 I/O 引腳變?yōu)楦咦杩範(fàn)顟B(tài)。在數(shù)據(jù)讀 /寫(xiě)完后, RST 端應(yīng)置成低電平,以防止外部干擾對(duì) DS1302 內(nèi)部時(shí)鐘的影響。 同時(shí),為了防止復(fù)位輸入端受到外部的干擾,要求上電時(shí),在主電源引腳 Vcc2≥ , RST 必須為邏輯 0。無(wú)論是讀操作還是寫(xiě)操作,都必須在開(kāi)頭的 8 個(gè)時(shí)鐘周期內(nèi)把提供地址和命令信息的 8 位數(shù)據(jù)裝入到 DS1302 的移位寄存器中。地址 /命令信息用于指明 40 個(gè)寄存器中的哪個(gè)進(jìn)行何種操作。數(shù)據(jù)在 SCLK 的上升沿串行輸入,在開(kāi)始的 8 個(gè)時(shí)鐘周期把命令字裝入移位寄存器之后,若跟隨的是寫(xiě)命令字節(jié),則在下 8 個(gè)SCLK 周期的上升沿輸入數(shù)據(jù)字節(jié),若跟隨在讀命令字節(jié)的 8 個(gè) SCLK 周期之后,在下8 個(gè) SCLK 周期的下降沿輸出數(shù)據(jù)字節(jié)。程序流程如圖 43 所示: 圖 43數(shù)據(jù)輸入輸出流程圖 時(shí)鐘程序設(shè)計(jì) 驅(qū)動(dòng)程序 //寄存器宏定義 define WRITE_SECOND 0x80 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 = ACC^7; //管腳定義 sbit SCLK = P3^5; // DS1302 時(shí)鐘信號(hào) 7
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1