基于單片機(jī)的定時開關(guān)插座設(shè)計(jì).doc
《基于單片機(jī)的定時開關(guān)插座設(shè)計(jì).doc》由會員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的定時開關(guān)插座設(shè)計(jì).doc(55頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
畢業(yè)設(shè)計(jì)(論文) 題 目: 基于單片機(jī)的定時開關(guān)插座設(shè)計(jì) 學(xué) 院: 電子與信息工程 專 業(yè): 電子信息工程 班 級: 電子1103 姓 名: 曹彬 指導(dǎo)老師: 褚御芝 起訖日期: 2015-3~2015-6 2015 年 06 月 摘要 隨著生活節(jié)奏的加快,生活水平的提高,節(jié)能、智能的觀念深入人心,出于節(jié)能的目的設(shè)計(jì)出一款定時開關(guān)插座。本次畢業(yè)設(shè)計(jì)設(shè)計(jì)出一款定時開關(guān)插座,插座可通過按鍵或遙控器進(jìn)行定時開關(guān)。本次設(shè)計(jì)由220vAC轉(zhuǎn)5vDC電源模塊,DS1302計(jì)時模塊,STC89C52單片機(jī)模塊,LCD1602顯示模塊,繼電器模塊,蜂鳴器模塊,按鍵模塊和紅外遙控模塊組成。本次設(shè)計(jì)使用STC89C52單片機(jī)作為驅(qū)動芯片,使用DS1302計(jì)時模塊提供精確的計(jì)時,通過LCD1602顯示模塊顯示年月日時分秒和操作界面,使用繼電器控制插座電流的通斷,本設(shè)計(jì)還可以通過遙控器進(jìn)行定時設(shè)置。本文從硬件設(shè)計(jì),軟件流程的設(shè)計(jì)和電路的仿真與調(diào)試等方面介紹了定時開關(guān)插座的設(shè)計(jì)過程,實(shí)現(xiàn)了定時插座的功能。最后介紹了設(shè)計(jì)過程中出現(xiàn)的問題和總結(jié)。 關(guān)鍵詞: STC89C52單片機(jī);定時開關(guān);紅外遙控 Abstract The perception of energy conservation and intelligent goes deep into families, with the life increasing and improving quickly,And we design timer socket for energy conservation. The design is the timer socket,And the main function of timer socket is that we time by key or IR Remote.The design consists of STC89C52,DS1302,LCD1602,220VAC to 5VDC power supply,buzzer,key,relay. The design’s driver microchip is STC89C52, The design uses the DS1302 to supply more accurate time,And the design uses LCD1602 to display the year,the month,the day,the hour,the minute,the second,and the operation interface.The design also uses the relay to control the on and off,And the timer socket can time by the remote control. In this paper, the design of the system was introduced through three aspects including the hardware modules, software flow pattern and circuit design and debugging. At the end of this paper, the problems happened during the process of designing the system was summarized. Keyword: STC89C52;the timer socket;IR Remote 目 錄 摘要 I 目 錄 III 第一章 緒論 1 1.1背景 1 1.2設(shè)計(jì)目標(biāo) 1 1.3論文結(jié)構(gòu) 2 第二章 硬件電路設(shè)計(jì) 3 2.1系統(tǒng)功能 3 2.2系統(tǒng)原理 3 2.3.1 STC89C52單片機(jī)模塊 4 2.3.2 220VAC轉(zhuǎn)5VDC電源模塊 5 2.3.3 DS1302時鐘模塊 7 2.3.4 LCD1602顯示模塊 8 2.3.5繼電器模塊 8 2.3.6蜂鳴器模塊 9 2.3.7按鍵模塊 10 2.3.8紅外遙控模塊 11 2.4本章小結(jié) 11 第三章 程序設(shè)計(jì) 12 3.1程序的總體設(shè)計(jì) 12 3.1.1 主程序流程圖 13 3.1.2 DS1302流程圖 14 3.1.3 按鍵流程 15 3.1.4 LCD1602顯示流程 16 3.1.5 紅外遙控流程 17 3.1.6 繼電器流程 18 3.2本章小結(jié) 19 第四章 系統(tǒng)測試與結(jié)果 20 4.1測試與結(jié)果 20 4.2 調(diào)試過程中遇到的問題 25 第五章 總結(jié) 28 參考文獻(xiàn) 29 致謝 30 附錄一 電路原理圖 39 附錄二 程序代碼 40 第一章 緒論 1.1背景 現(xiàn)如今,家用電器的普及給生活帶來了巨大的變化,同時,能源的浪費(fèi)越來越嚴(yán)重。例如:手機(jī)充電長時間充電,給電池帶來損耗,減短電池壽命。無線路由器不僅有輻射,而且耗電量高。電視機(jī)待機(jī)耗電,還會帶來線路老化,引發(fā)火災(zāi)等安全事故。因而設(shè)計(jì)出定時開關(guān)插座,使生活更加方便。 隨著生活水平的提高,家用電器越來越多,隨之而來的能耗越來越大,本文介紹的定時開關(guān)插座可以實(shí)現(xiàn)定時開關(guān)的功能,對用電器的開關(guān)進(jìn)行控制,節(jié)約不必要的能耗,且可以使用遙控器定時,更加智能化。 定時開關(guān)插座可以顯示日歷和精確的時間,可以充當(dāng)萬年歷,同時可以設(shè)置24小時任意時間的定時開關(guān)。當(dāng)實(shí)現(xiàn)24小時內(nèi)的定時時,可以實(shí)現(xiàn)兩組定時,每組中有一個起始時間,一個結(jié)束時間。定時插座還可以調(diào)節(jié)插座最初的狀態(tài),即初始狀態(tài)是導(dǎo)通狀態(tài)或斷開狀態(tài)。家用電器插入定時開關(guān)插座后,即可通過定時插座的時間設(shè)置實(shí)現(xiàn)定時通斷電,節(jié)約能耗。本文介紹了定時開關(guān)插座的硬件軟件設(shè)計(jì)流程,通過仿真及調(diào)試,最終完成了本次設(shè)計(jì)。 1.2設(shè)計(jì)目標(biāo) 本次設(shè)計(jì)包括自主選題、查找資料、設(shè)計(jì)方案、調(diào)試系統(tǒng)和撰寫報告等過程,需要完成以下目標(biāo): 1、了解單片機(jī)、LCD602顯示屏、DS1302計(jì)時芯片等模塊的功能和原理,了解各個模塊的連接與使用,并能夠設(shè)計(jì)程序?qū)崿F(xiàn)各模塊的相應(yīng)的功能。 2、了解定時插座系統(tǒng)的產(chǎn)生背景和意義,分析定時插座系統(tǒng)的功能和原理。 3、學(xué)習(xí)模塊化的設(shè)計(jì)方法,根據(jù)系統(tǒng)的功能和原理,分模塊的實(shí)現(xiàn)系統(tǒng)的硬件電路設(shè)計(jì)和程序設(shè)計(jì)。 4、按照設(shè)計(jì)好的電路進(jìn)行仿真并搭建實(shí)物電路,調(diào)試電路,觀察結(jié)果,實(shí)現(xiàn)系統(tǒng)功能。 5、通過本次設(shè)計(jì)提高自己的動手實(shí)踐能力,鞏固并加深對學(xué)習(xí)過的知識的理解,積累項(xiàng)目設(shè)計(jì)的經(jīng)驗(yàn)。 1.3論文結(jié)構(gòu) 本論文包括摘要、目錄、對正文、參考文獻(xiàn)、致謝、附錄等內(nèi)容,正文主要包含緒論、硬件電路設(shè)計(jì)、程序設(shè)計(jì)、系統(tǒng)測試與結(jié)果、總結(jié)等五章內(nèi)容。 第一章為緒論,介紹了定時插座的產(chǎn)生背景和課程設(shè)計(jì)的目標(biāo),并對論文的結(jié)構(gòu)進(jìn)行了概述。 第二章為硬件電路設(shè)計(jì),首先分析了系統(tǒng)的功能,然后由系統(tǒng)功能得系統(tǒng)框圖并對系統(tǒng)原理進(jìn)行了簡介,本章的重點(diǎn)是對系統(tǒng)框圖中的各個模塊的電路設(shè)計(jì)的介紹,在最后對本章進(jìn)行了總結(jié)。 第三章為軟件流程,先是介紹了程序設(shè)計(jì)的總體思路和根據(jù)系統(tǒng)功能和硬件電路設(shè)計(jì)的流程圖,并對本章進(jìn)行了小結(jié)。 第四章為系統(tǒng)測試與結(jié)果,先是介紹了系統(tǒng)的電路仿真及其結(jié)果,然后介紹了實(shí)物調(diào)試結(jié)果,最后總結(jié)了仿真和調(diào)試中遇到的問題。 第五章為總結(jié),對畢業(yè)設(shè)計(jì)過程中遇到的問題,積累的經(jīng)驗(yàn)和心得體會進(jìn)行了總結(jié)。 第二章 硬件電路設(shè)計(jì) 2.1系統(tǒng)功能 定時開關(guān)插座設(shè)計(jì)目的是實(shí)現(xiàn)對電器的控制,減少家用電器的耗電,從而方便了人們的生活。定時開關(guān)插座應(yīng)具備以下功能: 1)顯示功能:能夠顯示年月日,星期,時分秒。提供準(zhǔn)確的時間。同時,也可以顯示定時時間。 2)定時功能:定時插座可以實(shí)現(xiàn)二種定時模式。一種可以在24小時內(nèi),實(shí)現(xiàn)任意時間的設(shè)定,定時時間精確到分鐘,此模式可以設(shè)置兩組時間。另一種實(shí)現(xiàn)一小時內(nèi),以十分鐘為單位的定時設(shè)置。 3)提示功能:當(dāng)?shù)竭_(dá)設(shè)定時間,蜂鳴器響一聲提示。 4)遙控功能:可以用遙控器設(shè)定時間。 5)獨(dú)立電源供電功能:將220V交流電轉(zhuǎn)化為5V直流電,為繼電器供電。 6)按鍵功能:可以通過按鍵設(shè)定時間。 2.2系統(tǒng)原理 對系統(tǒng)的功能進(jìn)行分析后,設(shè)計(jì)出系統(tǒng)框圖,如圖2-1所示。 圖2-1系統(tǒng)框圖 在本次設(shè)計(jì)中首先將定時插座分為八部分,220vAC轉(zhuǎn)5vDC電源模塊,DS1302計(jì)時模塊,STC89C52單片機(jī)模塊,LCD1602顯示模塊,繼電器模塊,蜂鳴器模塊,按鍵模塊,紅外遙控模塊。 220vAC轉(zhuǎn)5vDC電源模塊為繼電器供電,無需干電池及其他外部電源,防止共用電源引起干擾,導(dǎo)致單片機(jī)紊亂。 DS1302計(jì)時模塊,DS1302是專門的時鐘芯片,不用單片機(jī)計(jì)時,計(jì)時會更加準(zhǔn)確,同時可以顯示年月日時分秒,使用較少的I/O口,使用方便,同時斷電后,有外部電源繼續(xù)為DS1302供電。 STC89C52單片機(jī)模塊,STC89C52單片機(jī)完成時間的設(shè)定,到達(dá)設(shè)定時間分別,分別給繼電器、蜂鳴器一脈沖信號,使得蜂鳴器響一聲提示,繼電器實(shí)現(xiàn)吸合或斷開。 LCD1602顯示模塊,LCD602顯示日歷和精確的時間,并且可以顯示設(shè)定時間。 繼電器模塊實(shí)現(xiàn)定時插座的通斷。 蜂鳴器模塊,當(dāng)?shù)竭_(dá)設(shè)定時間響一聲提示。 按鍵模塊,可以調(diào)節(jié)年月日時間,還可以設(shè)定定時時間,s1是確認(rèn)鍵,s2、s3可加減時間,s4可以切換模式,s5移動光標(biāo)。 紅外遙控模塊,對單片機(jī)進(jìn)行遙控控制。 2.3.1 STC89C52單片機(jī)模塊 圖2-2 STC89C52單片機(jī)模塊 如圖2-2所示,STC89C52單片機(jī)模塊,P0口為雙向三態(tài)口,只有該口可對外部存貯器進(jìn)行讀寫操作,與LCD1602顯示屏連接,上拉電阻可將P0口輸出信號電流拉高,再傳輸給LCD1602。 P1口是專門為用戶使用的I/O口,其中P1.0、P1.2、P1.4、P1.7、P3.4與按鈕連接P3.7與蜂鳴器連接,P1.1與繼電器連接。 P2.0、P2.1、P2.2口與DS1302連接。 P3.2口與1838T紅外接收器相連。 Vcc接5v直流穩(wěn)壓電源,vss接地,EA口接高電平。 Rst接復(fù)位電路,上電后實(shí)現(xiàn)復(fù)位,防止單片機(jī)計(jì)數(shù)溢出。單片機(jī)工作前都需要復(fù)位,復(fù)位電路的作用就是為單片機(jī)提供一定時間的復(fù)位脈沖,使單片機(jī)的各個部件都處于初始狀態(tài),并從初始狀態(tài)開始工作。 XTAL1,XTAL2為震蕩部分,接12MHz晶振,以便單片機(jī)內(nèi)部計(jì)時。 2.3.2 220VAC轉(zhuǎn)5VDC電源模塊 圖2-5 220VAC轉(zhuǎn)5VDC電源框圖 220VAC轉(zhuǎn)5VDC電源模塊的設(shè)計(jì),先將220VAC通過變壓器,降壓到9V,然后對交流電流,進(jìn)行整流濾波,使用橋式整流將交流電變?yōu)橹绷麟?。此時,電壓還需要進(jìn)行穩(wěn)壓的過程,最終,得到穩(wěn)定的直流電源。 圖2-6 220VAC轉(zhuǎn)5VDC電路 如圖2-6,首先將220V、50Hz電源經(jīng)過T2變壓器進(jìn)行降壓,得到9V交流電后,經(jīng)過D1、D2、D3、D4組成的橋式整流電路,把交流電變?yōu)橹绷麟姡缓笸ㄟ^C1進(jìn)行濾波。然后通過穩(wěn)壓,將電壓變得穩(wěn)定,且使電路能夠承受負(fù)載,防止負(fù)載的改變導(dǎo)致電壓發(fā)生改變。Q1與Q2組成復(fù)合管,為NPN型,發(fā)大率得到提高,還可以降低輸入電阻。LED2有兩種功能,一是可以做為信號燈,二是有穩(wěn)壓的作用。LED1與R3形成的電路有兩種功能,一是防止過載,而是防止短路。R5與R4有分壓的功能,流過R4的電壓,再經(jīng)過Q3反饋到復(fù)合管中。最后電容C3穩(wěn)壓,使電路更加穩(wěn)定。 2.3.3 DS1302時鐘模塊 如下圖2-11所示,DS1302具有計(jì)時的功能,可以提供精確的時間還可以對年月日進(jìn)行計(jì)時。 圖2-11 DS1302時鐘模塊 1)1號管腳為VCC2,接5v外部電源,以便為DS1302供電。 2)2號、3號管腳為X1、X2,這部分為芯片的震蕩電路,在芯片外圍接入一個32.768k的晶振,為芯片內(nèi)部提供穩(wěn)定的震蕩,用以穩(wěn)定計(jì)時。 3)4號管腳為GND,是時鐘芯片的地。 4)5號、6號、7號管腳分別為SCLK、I/O、RST,SCLK與STC89C52單片機(jī)的p20關(guān)聯(lián),為串行時鐘。I/O與單片機(jī)的p21口關(guān)聯(lián),進(jìn)行數(shù)據(jù)交換。RST與單片機(jī)的p22口關(guān)聯(lián),用來時鐘芯片的復(fù)位。再接入3個10k的上拉電阻,為管腳提供足夠的電流。 5)8號管腳為VCC1,是備用電源,備用電源的額定電壓為3.3V,VCC1必須小于VCC2的電壓,當(dāng)VCC2斷電后,由VCC1提供電壓,繼續(xù)計(jì)時,防止芯片停止工作。 2.3.4 LCD1602顯示模塊 圖2-12 LCD1602顯示模塊 如圖2-12所示,液晶屏的1號管腳為電源地,2號管腳需提供5V電源,7號管腳到14號管腳與單片機(jī)P0.0到P0.7關(guān)聯(lián)用于交換數(shù)據(jù),同時外接上拉電阻,提供引腳足夠的電流。4號管腳與單片機(jī)的P2.7關(guān)聯(lián),當(dāng)輸入高電平時輸入數(shù)據(jù),當(dāng)輸入為低電平時輸入指令。5號管腳與單片機(jī)P2.6關(guān)聯(lián),當(dāng)輸入為低電平時向LCD寫入數(shù)據(jù)或指令,當(dāng)輸入為高電平時從LCD讀取信息。6號管腳與單片機(jī)P2.5關(guān)聯(lián),當(dāng)輸入為高電平時讀取信息,當(dāng)電平階躍成低電平時執(zhí)行指令。3號管腳可用來調(diào)節(jié)對比度,一般可直接接地,不需要調(diào)整。15管引腳是LCD背光電源的正極,16號管腳是背光電源的負(fù)極。 2.3.5繼電器模塊 繼電器用來控制電源,相當(dāng)于電路中的開關(guān),利用繼電器的小電流控制大電流的特性,實(shí)現(xiàn)控制插座的通斷,電路中將插座的火線斷開,將繼電器接入火線。 圖2-14 繼電器模塊 如圖2-14所示,使用繼電器實(shí)現(xiàn)插座的電源的通斷,當(dāng)?shù)竭_(dá)設(shè)定時間后,單片機(jī)提供一電平,通過P11口流經(jīng)三極管,三極管將電流進(jìn)行放大,以便提供足夠的電流,當(dāng)p11口為高電平時,繼電器吸合;p11口為低電平時,繼電器斷開。 2.3.6蜂鳴器模塊 圖2-15 蜂鳴器模塊 如圖2-15所示,蜂鳴器模塊具有提示的作用,當(dāng)達(dá)到設(shè)定時間后蜂鳴器鳴一聲進(jìn)行提示,蜂鳴器與單片機(jī)的p37口相連,當(dāng)p37口為高電平,蜂鳴器導(dǎo)通,鳴一聲。當(dāng)p37口為低電平,則不叫。 2.3.7按鍵模塊 圖2-16按鍵模塊 如圖2-16所示,按鍵后產(chǎn)生一階躍信號傳送給STC89C52單片機(jī),通過按鍵設(shè)置時間日期,以及定時時間和復(fù)位,其中S1連接單片機(jī)的P1.0口,可以用來切換顯示界面。S2連接單片機(jī)的P1.2口,進(jìn)行數(shù)字的加;S3連接單片機(jī)的P1.4口,進(jìn)行數(shù)字的減;S4連接單片機(jī)的P1.7口,用來調(diào)節(jié)插座當(dāng)前的狀態(tài)是通還是斷;S5連接單片機(jī)的P3.4口,使光標(biāo)移動。 2.3.8紅外遙控模塊 圖2-18 1838T紅外接收頭模塊 1838T三個管腳分別為VCC,GND,OUT VCC,GND分別于電源和地相接。 如圖2-18所示,OUT與單片機(jī)的P32口相接,當(dāng)遙控器調(diào)節(jié)時,1838T接收到信號并向單片機(jī)輸入低電平,單片機(jī)接收到信號后,執(zhí)行相應(yīng)遙控器按鈕的操作。 2.4本章小結(jié) 本章首先分析了定時插座實(shí)現(xiàn)什么功能,并分布介紹實(shí)現(xiàn)功能所需要的各個模塊。具體介紹了各個模塊的功能和結(jié)構(gòu)圖。 定時開關(guān)插座通過STC89C52單片機(jī)設(shè)置定時,但設(shè)定時間到達(dá),改變繼電器的狀態(tài),從而達(dá)到控制插座的效果。本次設(shè)計(jì)共分8個模塊,其中以STC89C52單片機(jī)為核心。用以時間的顯示和計(jì)時。 第三章 程序設(shè)計(jì) 3.1程序的總體設(shè)計(jì) 軟件設(shè)計(jì)包括主程序流程圖、DS1302函數(shù)的設(shè)計(jì)、LCD顯示顯示函數(shù)的設(shè)計(jì)、、紅外遙控函數(shù)的設(shè)計(jì)、主函數(shù)的設(shè)計(jì)等。對各部分流程圖進(jìn)行介紹,程序按照軟件流程圖的執(zhí)行過程進(jìn)行設(shè)計(jì)。主程序流程圖介紹了軟件設(shè)計(jì)的整個過程。DS1302流程圖介紹了時鐘芯片的讀寫操作流程,按鍵流程介紹了按鍵的按下去抖。LCD顯示流程介紹了液晶的顯示。紅外遙控流程介紹了紅外線的發(fā)射和接收過程。 本程序使用C語言進(jìn)行編寫,設(shè)計(jì)出插座定時開關(guān)的流程。系統(tǒng)應(yīng)實(shí)現(xiàn)以下功能:模式選擇功能,有兩種定時模式可供選擇,按鍵定時模式和遙控器定時模式。顯示功能:顯示時間和定時時間。計(jì)時功能:提供精確的時間。繼電器執(zhí)行功能:繼電器實(shí)現(xiàn)插座的導(dǎo)通或斷開。 圖3-1 程序流程圖 如圖3-1所示,程序流程包括:設(shè)置時間、模式選擇、設(shè)置定時、到達(dá)定時時間和繼電器執(zhí)行動作。其中最重要的函數(shù)包括:設(shè)置時間函數(shù)void Set_time( )模式選擇函數(shù)void Mode_choice( ),中斷函數(shù)void InitTimer1( ),紅外解碼函數(shù)void IR_decode( )等。 3.1.1 設(shè)置時間函數(shù)的設(shè)計(jì) 圖3-2 設(shè)置定時函數(shù)流程圖 設(shè)置定時函數(shù)流程圖如圖3-2所示,首先控制鍵有效,進(jìn)入時間調(diào)整程序,然后等待按鍵程序,通過加鍵將數(shù)值加1,通過減鍵將數(shù)值減1,調(diào)節(jié)好年月日時分秒后,按鍵有效,跳出時間調(diào)整程序,進(jìn)入主循環(huán)。 3.1.2 模式選擇函數(shù)的設(shè)計(jì) 圖3-3模式選擇函數(shù)流程圖 模式選擇函數(shù)流程圖如圖3-3所示,本次設(shè)計(jì)有兩鐘定時模式可供選擇,一種為任意時間的定時,可實(shí)現(xiàn)24小時內(nèi)的任意時間段的定時。一種為六組時間定時,可將插座設(shè)定在10、20、30、40、50、60分鐘后定時開。 3.1.3 設(shè)定時間函數(shù) 圖3-4設(shè)定時間函數(shù)流程圖 設(shè)定時間函數(shù)流程圖如圖3-4所示,當(dāng)選擇任意時間定時時,需要設(shè)定起始時間和結(jié)束時間,設(shè)定完畢后,打開定時打開控制,函數(shù)結(jié)束。當(dāng)選擇六組時間定時時,選擇需要定時的時間,可供選擇的時間為10、20、30、40、50、60分鐘,選擇好定時時間后,打開定時,打開控制,函數(shù)結(jié)束。 3.1.4 中斷函數(shù)的設(shè)計(jì) 中斷函數(shù)流程圖如圖3-5所示,進(jìn)入中斷程序后,選擇定時器的工作方式,為16位定時器。然后給定初始值,打開定時器的總中斷,然后將定時器1中斷關(guān)閉,最后將定時器1關(guān)閉。當(dāng)打開定時器后,定時器開始計(jì)數(shù),當(dāng)計(jì)數(shù)溢出時,自動進(jìn)入中斷服務(wù)程序代碼,執(zhí)行中斷程序。 圖3-5中斷函數(shù)流程圖 3.1.5 紅外遙控流程 圖3-6紅外遙控流程 如圖3-6所示,判斷遙控器是否按下按鈕,按下后紅外線發(fā)射,為按下按鍵時,紅外接收管會進(jìn)行等待,如果有紅外發(fā)出,則紅外接收器將接收外部發(fā)出的紅外,當(dāng)接收端接收但紅外信號,給單片機(jī)一電平,單片機(jī)進(jìn)行程序處理,從而來控制繼電器的導(dǎo)通,達(dá)到控制插座的效果。 3.1.6 DS1302函數(shù)的設(shè)計(jì) 圖3-7 DS1302寫操作流程 圖3-8 DS1302讀操作流程 如圖3-7所示,DS1302進(jìn)行寫操作,首先對DS1302進(jìn)行初始化設(shè)置,然后寫入控制指令,時鐘發(fā)射脈沖,然后將控制指令右移,判斷是否右移8次后,進(jìn)寫發(fā)送數(shù)據(jù),時鐘發(fā)射脈沖,發(fā)送數(shù)據(jù)右移判斷是否右移8次后關(guān)閉DS1302。 如圖3-8所示,DS1302進(jìn)行讀操作,首先對DS1302進(jìn)行初始化設(shè)置,然后寫入控制指令,時鐘發(fā)射脈沖,然后將控制指令右移,判斷是否右移8次后,讀數(shù)據(jù)字節(jié),時鐘發(fā)射脈沖,發(fā)送數(shù)據(jù)右移判斷是否右移8次后關(guān)閉DS1302。 3.1.7 LCD1602顯示函數(shù)的設(shè)計(jì) 圖3-9 LCD1602顯示流程圖 如圖3-9所示,LCD1602顯示過程中通過讀取DS1302的數(shù)據(jù),及按鍵調(diào)節(jié)數(shù)據(jù)顯示相應(yīng)的數(shù)值。顯示流程中首先顯示時間和日歷,判斷是否調(diào)節(jié)時間,顯示更新后的時間,,通過設(shè)置定時,顯示相應(yīng)的定時時間。 3.1.8 主程序的流程圖 圖3-10 主流程圖 主流程圖如圖3-10所示,首先對系統(tǒng)的初始化設(shè)置,包括單片機(jī)初始化、DS1302初始化、LCD1602初始化、定時器初始化等。然后設(shè)定時間,包括年月日的設(shè)定。然后DS1302對數(shù)據(jù)進(jìn)行讀操作和寫操作。LCD1602對數(shù)據(jù)進(jìn)行顯示。然后訪問是否設(shè)定定時,一共有兩種定時的模式可供選擇,一種為任意時間定時,另一種為六組時間定時。然后設(shè)定定時時間,當(dāng)時間到達(dá)后,繼電器執(zhí)行動作,主流程結(jié)束。 3.2本章小結(jié) 第二章詳盡介紹了系統(tǒng)硬件電路,本章主要介紹了系統(tǒng)的軟件流程。本章先對程序的總體流程圖進(jìn)行了介紹,根據(jù)系統(tǒng)功能和硬件電路,結(jié)合定時插座運(yùn)行的流程,可以得到系統(tǒng)的程序設(shè)計(jì)方案。 在程序設(shè)計(jì)過程中,主程序通過對STC89C52單片機(jī)的控制,將按鍵按下后輸入的數(shù)據(jù)進(jìn)行計(jì)算,然后經(jīng)過DS1302時鐘芯片提供精確的時鐘,然后將數(shù)據(jù)顯示在LCD1602顯示屏上,當(dāng)?shù)竭_(dá)設(shè)定時間后,提供電平改變繼電器狀態(tài)從而達(dá)到控制插座的效果。在整個程序執(zhí)行過程中,首先將STC89C52單片機(jī)初始化設(shè)置,初始化單片機(jī)管腳電平的方向,以及對變量進(jìn)行初始化,將液晶屏進(jìn)行初始化設(shè)置,對單片機(jī)的震蕩模塊的頻率進(jìn)行對準(zhǔn),將繼電器銜鐵釋放。單片機(jī)會將定時時間與時鐘進(jìn)行對比,定時時間到達(dá)后,繼電器狀態(tài)發(fā)生改變,從而達(dá)到定時開關(guān)的目的。 本章對系統(tǒng)各部分的流程進(jìn)行了介紹,包括主流程圖,DS1302流程,按鍵流程,顯示流程,繼電器流程以及紅外遙控流程。在軟件流程過程中,系統(tǒng)的主流程對對單片機(jī)進(jìn)行控制,將按鍵按下后輸入的數(shù)據(jù)進(jìn)行存儲及分析,并且在LCD顯示屏顯示相應(yīng)的數(shù)據(jù),將設(shè)定的時間與時鐘進(jìn)行對比,當(dāng)設(shè)定時間到達(dá)后,提供電平使繼電器吸合或釋放,從而達(dá)到控制插座的通、斷電的目的。 第四章 系統(tǒng)測試與結(jié)果 4.1測試與結(jié)果 程序編譯和電路仿真 通過使用proteus professional軟件進(jìn)行仿真,首先按照電路圖搭建仿真電路,然后給單片機(jī)搭載程序,仿真電路圖如圖4-1所示 圖4-1 仿真電路圖 如圖4-1搭建好電路后,按下開始鍵之后,對系統(tǒng)進(jìn)行仿真。仿真結(jié)果如下: 1)通過按S1切換界面 圖4-2主界面 圖4-3副界面 主界面如圖4-2所示,其中15-01-12代表年月日,OF代表當(dāng)前插座狀態(tài)(若為ON表示開),2T:F代表2個任意定時設(shè)置,20:01:17代表時分秒,TUE代表星期,1:F代表固定時間定時(可調(diào)節(jié)F為N即可完成定時,有1-6六個數(shù)字,分別設(shè)置10分鐘至60分鐘內(nèi)的定時)。按S1切換到副界面如圖4-3,此界面為兩組任意定時界面,當(dāng)OFF調(diào)節(jié)為ON時即可開始計(jì)時。 2)按S2、S3可加減數(shù)字 圖4-4加減設(shè)置 如圖4-4所示,按S1對數(shù)據(jù)加,按S2對數(shù)據(jù)進(jìn)行減1。 3)退出和移動光標(biāo) 圖4-5 退出 圖4-6移動光標(biāo) 如圖4-5所示,按鍵S4可實(shí)現(xiàn)退出功能。如圖4-6所示,按鍵S5可實(shí)現(xiàn)光標(biāo)移動的功能。 4)對時間進(jìn)行設(shè)定 圖4-6初始時間 圖4-7設(shè)定后的時間 如圖4-6所示為初始時間,通過按鍵調(diào)整設(shè)定時間,將時間調(diào)整到當(dāng)前時間,如圖4-7所示為調(diào)整后的時間。 5)設(shè)置任意時間定時 圖4-8設(shè)定任意時間定時 通過按鍵設(shè)定任意時間的定時,此模式下可設(shè)置兩組時間的定時,如圖4-8所示為設(shè)置的兩組定時時間。 6)設(shè)置六組時間定時 圖4-9 設(shè)定六組時間定時 如圖4-9所示,為另一種模式的定時,當(dāng)前狀態(tài)為20分鐘后定時關(guān)。 4)如圖4-10所示,當(dāng)設(shè)定時間到達(dá)后,繼電器吸合,通過二極管狀態(tài)的改變可體現(xiàn)。 圖4-10仿真結(jié)果 220VAC轉(zhuǎn)5VDC電源模塊,使用multisim仿真達(dá)到所需要的要求,如圖4-11, DC5V,180mA。按電路圖焊接好電路后,用萬用表測量,發(fā)現(xiàn)實(shí)際結(jié)果與仿真結(jié)果不符,電壓值達(dá)到了6.3v,電流為500mA。更換分壓電阻后,達(dá)到所需要求。 圖4-11電源模塊仿真結(jié)果 按照設(shè)計(jì)好的仿真電路圖搭建電路,電路圖如圖4-12所示,搭建好電路后,可先用萬用表測試個模塊的鏈接是否正常,確保各模塊的正常鏈接,在測試電源及各元器件的電壓,判斷各元器件是否正常工作,確保各模塊能夠正常運(yùn)行。 圖4-12電路實(shí)物圖 在將設(shè)計(jì)的系統(tǒng)程序燒入單片機(jī)之前,可先寫一些小程序來測試各模塊的功能能否正常實(shí)現(xiàn),在本設(shè)計(jì)中可寫一個包含按鍵信息采集,顯示,語音輸出功能的簡單的程序,來判斷各模塊是否能正常工作。 在確保硬件電路沒有問題之后,將設(shè)計(jì)的系統(tǒng)程序燒入單片機(jī)中,觀察系統(tǒng)的運(yùn)行果,以下為系統(tǒng)的實(shí)物運(yùn)行的結(jié)果: 1)系統(tǒng)初始值: 圖4-13測試結(jié)果1 如圖4-13所示,其中05-02-12代表年月日;OF代表插座現(xiàn)在的狀態(tài)(用s5調(diào)節(jié),有ON和OFF兩種狀態(tài));2T:F代表兩種任意時間設(shè)定(按s1可跳入界面2設(shè)置兩種任意定時);23:47:10代表時分秒;WED代表星期;1:F代表固定定時,有1f、2f、3f、4f、5f、6f狀態(tài)代表10分鐘,20,30,40,50,60定時設(shè)置。 2)按S1可切換界面,然后按下S5可移動光標(biāo),如圖4-14。 圖4-14測試結(jié)果2 3)按S2、S3可調(diào)節(jié)加、減,如圖4-15。 圖4-15測試結(jié)果3 4)設(shè)定好時間,按S4退出,如圖4-16。 圖4-16測試結(jié)果4 5)再按S1可切換任意時間設(shè)定界面,可設(shè)置兩組時間,如圖4-17。 圖4-17測試結(jié)果5 4.2調(diào)試過程中遇到的問題 調(diào)試過程中,LCD顯示屏起初顯示的只有方格,繼電器直接吸合。進(jìn)行電路檢查,使用示波器對線路檢查和管腳電頻的測量,發(fā)現(xiàn)DS1302時鐘芯片未接地。 將DS1302的地線接好后,仍然只顯示方格,用示波器進(jìn)行電頻測量,當(dāng)按鈕按下后,示波器顯示均有電平的階躍,各管腳電平正常,測量STC89C52震蕩部分起震,為一正弦波。測量DS1302晶振部分時發(fā)現(xiàn)DS1302震蕩部分未起震。 上網(wǎng)查閱資料后發(fā)現(xiàn)DS1302的晶振不匹配(使用的是12MHz晶振,實(shí)際匹配晶振為32.768kHz),更換晶振后,仍不起振。檢測管腳電頻,sclk為高電頻,復(fù)位為高電頻,均正常。開始檢測芯片的質(zhì)量,可能是芯片在焊接過程中溫度太高導(dǎo)致芯片燒毀。重新更換了芯片,仍不起振。排除芯片的問題。 開始重新燒錄程序,使用stc-isp進(jìn)行燒錄過程中生成大量FF,如圖 4-18所示。 圖4-18 程序文件出現(xiàn)問題 查閱資料發(fā)現(xiàn),DS1302并非外接晶振后直接就起震,需要軟件清除秒寄存器的bit7即CHbit,晶振才能正常工作,從而驅(qū)動DS1302內(nèi)部計(jì)數(shù)器,達(dá)到準(zhǔn)確計(jì)時的目的,重新編寫后,出現(xiàn)相同的問題。 繼續(xù)查找錯誤時發(fā)現(xiàn)使用keil編譯時出現(xiàn)問題,2k的程序燒錄,但單片機(jī)的flash可容納8k,查閱資料發(fā)現(xiàn),keil沒有破解完成,重新破解后,生成新的hex文件。 圖4-19 新生成的hex文件 硬件軟件確認(rèn)無誤后仍未起震,購買DS1302時鐘模塊,接入電路,還是沒有起震,上網(wǎng)大量的查閱資料,發(fā)現(xiàn),主芯片和DS1302距離太遠(yuǎn)時,會產(chǎn)生干擾,影響DS1302計(jì)數(shù),因?yàn)镈S1302本身的sclk、io、rst信號輸入很弱。將DS1302接在單片機(jī)非常近的位置,晶振起振。 220VAV轉(zhuǎn)5VDC電源模塊按原理圖搭載后,實(shí)際上并未達(dá)到所需要求,實(shí)際電路中存在一些誤差。通過實(shí)際跟換電阻,最終達(dá)到所需要求。硬件電路圖如圖4-20。 圖4-20 220V轉(zhuǎn)5V電源模塊硬件電路圖 通過數(shù)字萬用表實(shí)際測得的電壓和電流值,如圖4-21: 圖4-21測出的電壓電流 更換電阻后,R6換為163歐,R3換為5歐,達(dá)到所需要求 圖2-22更換電阻后得到的值 第五章 總結(jié) 通過這幾個月的畢業(yè)設(shè)計(jì)實(shí)踐,使大學(xué)期間學(xué)到的知識得到了充分的運(yùn)用,不僅讓我進(jìn)一步了解了電子電路設(shè)計(jì)方面的理論知識,而且加深了理論與實(shí)際的聯(lián)系,使我對知識的理解更為深刻。提高了自己的實(shí)踐能力和動手能力,意識到僅僅學(xué)習(xí)書本上的知識原理是不足的,在學(xué)習(xí)的過程要多動手,多動腦,尤其是硬件,只有在不斷的實(shí)踐中才能領(lǐng)悟它的工作原理。 通過本次畢業(yè)設(shè)計(jì),了解了單片機(jī)的構(gòu)造,實(shí)現(xiàn)的硬件軟件環(huán)境,實(shí)現(xiàn)的對單片機(jī)的了解從感性認(rèn)識上升為理性認(rèn)識。在剛開始做畢業(yè)設(shè)計(jì)的時候本人也是一頭霧水,這時幫助最大的就是前人的經(jīng)驗(yàn),積極的查找參考文獻(xiàn),漸漸地就理清了思路,才能夠一步一步的實(shí)踐下去。 設(shè)計(jì)過程中最主要存在的問題是理論和實(shí)際結(jié)果不相符,在很多情況中實(shí)際得到的結(jié)果是有偏差的,比如220VAC轉(zhuǎn)5VDC電源模塊中得到的電壓電流偏大,比如DS1302時鐘芯片不起振,通過調(diào)試及上網(wǎng)查閱資料,最終解決了這些問題。通過調(diào)試的過程,讓我學(xué)到了很多知識,并且明白了在設(shè)計(jì)的過程中需要面面俱到,并且要有豐富的經(jīng)驗(yàn),要經(jīng)過長期的摸索才能完成好電子的設(shè)計(jì)。 參考文獻(xiàn) [1] 王港元.電子技能基礎(chǔ)基礎(chǔ)[M].成都:四川大學(xué)出版社,2001. [2] 白駒珩,雷曉平.單片計(jì)算機(jī)及其應(yīng)用[M].北京:高等教育出版社,2004. [3] 范風(fēng)強(qiáng),蘭娟麗.單片機(jī)語言C51應(yīng)用實(shí)戰(zhàn)集錦[M].北京:電子工業(yè)出版社,2005. [4] 沈紅衛(wèi).基于單片機(jī)的只能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2005. [5] 馬忠梅,張凱.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)[M]. 北京:航空航天大學(xué)出版社,2003. [6] 汪德彪,郭杰.MCS-51單片機(jī)原理及接口技術(shù)[M].北京:電子工業(yè)出版社,2003. [7] 張曉光.用PIC單片機(jī)制作的電源定時插座[J]. 電子制作2010年05期. [8] 雷道仲,李書成,羅政球 .基于單片機(jī)定時開關(guān)的設(shè)計(jì)[J].科技廣場,2009. [9] 譚浩強(qiáng).C語言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005. [10] 康華光,陳大欽.電子技術(shù)基礎(chǔ)模電部分[M].北京:高等教育出版社,2006. [11] 戴佳,戴衛(wèi)恒,劉博文.51單片機(jī)實(shí)例精講[M].北京:電子工業(yè)出版社,2008. [12] 李瀚蓀.電路分析基礎(chǔ)[M].北京:高等教育出版社,2006. [13] Chuck Hellebuyck.Programming PIC Microcontrollers with PICBASIC[M] 2002 致謝 時光飛逝,不知不覺大學(xué)就要結(jié)束了,經(jīng)過三個多月的努力,本人的畢業(yè)設(shè)計(jì)完美的完成了,回顧這幾個月的學(xué)習(xí),從選題到論文的完成,得到了學(xué)校,導(dǎo)師和同學(xué)們的很多幫助。 首先要感謝學(xué)校開設(shè)這個課題,為學(xué)生提供了良好的平臺,大大提高了學(xué)生的能力,這次畢業(yè)設(shè)計(jì)是大學(xué)生活的最后的濃重的一筆,是大學(xué)生活的寶貴經(jīng)驗(yàn),也將是人生的寶貴經(jīng)驗(yàn)之一。其次要感謝本人的指導(dǎo)老師褚御芝老師,從寫開題報告到最終論文的完善,褚老師一直盡職盡責(zé),態(tài)度認(rèn)真負(fù)責(zé),提出來非常多的建議,讓我更好的完成了本次畢業(yè)設(shè)計(jì)。還有就是要感謝我的室友和同學(xué)們,他們給了我許多的幫助,在學(xué)習(xí)和生活中給予了我很多的支持。本文引用了很多資料及參考資料,需要感謝各位作者在我的設(shè)計(jì)過程中給了我很多啟發(fā),解決了設(shè)計(jì)中遇到的問題。 附錄一 電路原理圖 附錄二 程序代碼 #include- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 單片機(jī) 定時 開關(guān)插座 設(shè)計(jì)
鏈接地址:http://m.zhongcaozhi.com.cn/p-6695352.html