版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 學(xué) 院</b></p><p> 本科畢業(yè)論文(設(shè)計(jì))</p><p> 基于單片機(jī)的智能聲光控開關(guān)</p><p><b> XXXXX</b></p><p> 專 業(yè) 名 稱 電氣工程及其自動(dòng)化
2、 </p><p> 申請(qǐng)學(xué)士學(xué)位所屬學(xué)科 工科 </p><p> 指導(dǎo)教師姓名、職稱 XXXXXXXX </p><p> 2011 年 6 月 8 日</p><p><b> 摘 要</b>&l
3、t;/p><p> 聲光控開關(guān)的原理是只有在天黑以后,當(dāng)有人走過樓梯通道,發(fā)出腳步聲或其它聲音時(shí),樓道燈會(huì)自動(dòng)點(diǎn)亮,提供照明,當(dāng)人們進(jìn)入家門或走出公寓,樓道燈延時(shí)幾分鐘后會(huì)自動(dòng)熄滅。在白天,即使有聲音,樓道燈也不會(huì)亮,可以達(dá)到節(jié)能的目的。 </p><p> 本文以LGS公司生產(chǎn)的GMS97C2051單片機(jī)為核心,研究聲光控開關(guān)的設(shè)計(jì),采用串行A/D對(duì)聲音信號(hào)的采集,可以通過軟件來
4、調(diào)節(jié)對(duì)聲音的靈敏度。單片機(jī)軟件實(shí)施對(duì)光度的判斷,使開關(guān)在白天時(shí)即使有聲音也不工作。文章應(yīng)用了過零啟動(dòng)技術(shù),開關(guān)工作在頻繁的開關(guān)狀態(tài)時(shí)不易損壞可控硅,延長(zhǎng)了聲控開關(guān)的使用壽命。文章中還加入了看門狗電路,在工作中可以起到抗干擾的作用,大大加強(qiáng)了開關(guān)的可靠性。</p><p> 關(guān)鍵詞:聲光控,智能,節(jié)能,可靠性。</p><p><b> ABSTRACT</b>&l
5、t;/p><p> The principle of acoustic optical switch is only after dark, when someone pass stair channel, issued, or other sounds of footsteps will provide automatic lit corridor, lighting, when people enter the
6、 house or apartment corridor lights out several minutes automatically delay extinguished. During the day, even a voice, corridor lights also will not light, can achieve the purpose of saving energy.</p><p>
7、 In this paper GMS97C2051 LGS company production, the single-chip microcomputer is thedesign of acoustic light-activated switch, the serial A/D for sound signal collection, by software to adjust the sensitivity to sound.
8、 Single-chip microcomputer software implementation on photometric judgment to make the switch in the daytime, even though there is voice doesn't work. Article applied zero start up technology, switch work in frequent
9、 switch to thyyistoy andextendedofsound-controlled. Article also </p><p> Keywords: sound, the intelligent controller,energy-saving, reliability. </p><p><b> 目 錄</b></p><
10、;p><b> 1. 緒論1</b></p><p> 1.1 課題背景1</p><p> 1.2 課題現(xiàn)狀1</p><p> 1.3 課題意義1</p><p> 2.系統(tǒng)設(shè)計(jì)方案2</p><p> 2.1 課題的研究?jī)?nèi)容2</p>&l
11、t;p> 2.2技術(shù)方案的選擇2</p><p> 3.系統(tǒng)結(jié)構(gòu)與工作原理3</p><p> 3.1 系統(tǒng)結(jié)構(gòu)3</p><p> 3.2 系統(tǒng)的工作原理5</p><p> 4.硬件系統(tǒng)的設(shè)計(jì)5</p><p> 4.1 聲音信號(hào)采集電路的設(shè)計(jì)5</p><
12、;p> 4.2 光信號(hào)判斷電路的設(shè)計(jì)7</p><p> 4.3 過零啟動(dòng)保護(hù)電路的設(shè)計(jì)7</p><p> 4.4定時(shí)電路的設(shè)計(jì)9</p><p> 4.5驅(qū)動(dòng)輸出電路的設(shè)計(jì)10</p><p> 4.6電源設(shè)計(jì)10</p><p> 4.7 看門狗電路的設(shè)計(jì)11</
13、p><p> 4.7.1 簡(jiǎn)介看門狗電路及其作用11</p><p> 4.7.2 X5045特性介紹12</p><p> 4.8. PCB板的制作的設(shè)計(jì)13</p><p> 4.8.1 PROTEL DXP 2004的概述13</p><p> 4.8.2 Protel原理圖界面1
14、4</p><p> 4.8.3 電路原理圖的設(shè)計(jì)流程14</p><p> 4.8.4 PCB板的繪制原則15</p><p> 4.8.5 Protel PCB設(shè)計(jì)流程16</p><p> 4.8.6 印制電路板(PCB)的繪制過程如下所示:17</p><p> 4.8.7 焊制電
15、路板如下所示19</p><p> 5. 軟件設(shè)計(jì)20</p><p> 5.1 軟件設(shè)計(jì)語言的選擇20</p><p> 5.2 程序流程圖21</p><p> 5.3 主程序設(shè)計(jì)22</p><p> 5.4 延時(shí)程序設(shè)計(jì)22</p><p> 5.5
16、 TLC2543讀寫程序設(shè)計(jì)22</p><p> 5.6 DS1302驅(qū)動(dòng)程序設(shè)計(jì)22</p><p> 5.7 X5045驅(qū)動(dòng)程序設(shè)計(jì)22</p><p><b> 6系統(tǒng)的調(diào)試23</b></p><p> 6.1 調(diào)試過程23</p><p> 6.2 調(diào)試結(jié)果
17、及經(jīng)驗(yàn)總結(jié)25</p><p><b> 7總結(jié)25</b></p><p><b> 8附錄26</b></p><p><b> 參考文獻(xiàn)33</b></p><p><b> 致 謝34</b></p><p&
18、gt;<b> 1. 緒論</b></p><p><b> 1.1 課題背景</b></p><p> 當(dāng)今社會(huì)的主潮流是:降低能耗,節(jié)約能源,注重環(huán)保。聲光控開關(guān)體積小,外形美觀,反應(yīng)靈敏,制作容易,是公共場(chǎng)合照明開關(guān)的理想選擇,被譽(yù)為:“長(zhǎng)明燈的克星”。公共場(chǎng)所和居民居住區(qū)的公共樓道普遍使用機(jī)械手動(dòng)開關(guān),由于各種原因往往出現(xiàn)許多燈泡
19、點(diǎn)亮長(zhǎng)明的現(xiàn)象,故使燈泡壽命短,浪費(fèi)電量,為國家、單位、個(gè)人造成經(jīng)濟(jì)損失。另外,由于頻繁開關(guān)或其他人為因素,墻壁開關(guān)的損壞率很高,既增大了維修量、浪費(fèi)了資金,又容易造成事故隱患。因此,設(shè)計(jì)研制一種電路新穎、安全節(jié)電、結(jié)構(gòu)簡(jiǎn)單、安裝方便的聲光雙控白熾燈節(jié)能自動(dòng)開關(guān)顯得相當(dāng)有必要。</p><p><b> 1.2 課題現(xiàn)狀</b></p><p> 公共場(chǎng)所和居民
20、居住區(qū)的公共樓道普遍使用機(jī)械手動(dòng)開關(guān),由于各種原因往往出現(xiàn)許多燈泡點(diǎn)亮長(zhǎng)明的現(xiàn)象,故使燈泡壽命短,浪費(fèi)電量,為國家、單位、個(gè)人造成經(jīng)濟(jì)損失。因此,設(shè)計(jì)一個(gè)基于單片機(jī)的聲光控開關(guān)系統(tǒng),使公共場(chǎng)所和居民居住區(qū)的公共樓道燈在白天時(shí)不亮,晚上聞聲自亮,待人走后,幾十秒后自動(dòng)關(guān)閉,既方便,又省電。</p><p><b> 1.3 課題意義</b></p><p> (1
21、)利用單片機(jī)作為中央處理器;</p><p> (2)具有光控功能,白天不亮燈,晚上有聲音時(shí)亮燈;</p><p> ?。?)延時(shí)時(shí)間可調(diào)節(jié);</p><p> ?。?)具有過零檢測(cè)功能;</p><p> ?。?)所設(shè)計(jì)的開關(guān)系統(tǒng)應(yīng)做到節(jié)能、智能、耐用、可靠性高以及維護(hù)方便。</p><p><b>
22、 2.系統(tǒng)設(shè)計(jì)方案</b></p><p> 2.1 課題的研究?jī)?nèi)容</p><p> 運(yùn)用單片機(jī)可以設(shè)計(jì)出智能型的聲控開關(guān),電路設(shè)計(jì)好后,運(yùn)用軟件編程來實(shí)現(xiàn)其功能,靈活方便,修改簡(jiǎn)單,在使用過程中更加的安全節(jié)電,智能環(huán)保。</p><p><b> 技術(shù)方案的選擇</b></p><p> 目前的
23、聲控開關(guān)大多都是應(yīng)用模擬電子技術(shù)進(jìn)行設(shè)計(jì),分立元件多,不可靠,而且許多聲控開關(guān)的平均使用壽命不長(zhǎng),主要是因?yàn)殡娐纷黝l繁的開關(guān),啟動(dòng)電流非常大,導(dǎo)致功率元件可控硅由于過載而損壞。如果在設(shè)計(jì)中采用開關(guān)電壓過零保護(hù)技術(shù),可消除白熾燈開啟瞬間的大電流沖擊,有效地防止可控硅元件啟動(dòng)時(shí)的電流過載,大大地延長(zhǎng)了開關(guān)的使用壽命,并且可以起到保護(hù)燈泡的作用。</p><p> 如今單片機(jī)技術(shù)已經(jīng)相當(dāng)成熟,未來的發(fā)展方向趨向于運(yùn)用
24、單片機(jī)可以設(shè)計(jì)出智能型的聲控開關(guān),電路設(shè)計(jì)好后,運(yùn)用軟件編程來實(shí)現(xiàn)其功能,靈活方便,修改簡(jiǎn)單。在使用過程中更加的安全節(jié)電,智能環(huán)保。</p><p> 首先單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅
25、片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。</p><p><b> 單片機(jī)的特點(diǎn):</b></p><p> (1) 種類多,型號(hào)全;</p><p> (2) 提高性能,擴(kuò)大容量,性能價(jià)格比高;</p><p> (3) 增加控制功能,向真正意義上的“單片”機(jī)發(fā)展;</p><p><
26、b> ?。?) 低消耗;</b></p><p> ?。?) C語言開發(fā)環(huán)境,友好的人機(jī)互交環(huán)境。</p><p><b> 單片機(jī)的優(yōu)點(diǎn):</b></p><p> ?。?) 使用壽命長(zhǎng);</p><p> (2) 運(yùn)行速度越來越快;</p><p> ?。?) 低噪聲和高
27、可靠性技術(shù);</p><p> ?。?) OTP與掩膜。</p><p> 綜上所述,單片機(jī)的特點(diǎn)和優(yōu)點(diǎn)符合制作智能聲光控開關(guān)的條件,并且具有準(zhǔn)確性和節(jié)能性。</p><p> 3.系統(tǒng)結(jié)構(gòu)與工作原理</p><p><b> 3.1 系統(tǒng)結(jié)構(gòu)</b></p><p> 設(shè)計(jì)聲光控開關(guān),
28、最起碼要考慮三個(gè)問題,其一是燈泡的開關(guān)控制,這是由220V市供電。其二是光控制,使其在有光時(shí),即使有聲音也不能亮。其三就是聲音控制,在晚上或光線不足時(shí),只要有人經(jīng)過,發(fā)出聲音,燈泡就會(huì)點(diǎn)亮。</p><p> 設(shè)計(jì)的整體方案圖如圖1所示。CPU以GMS97C2051單片機(jī)為核心,GMS97C2051是LG公司生產(chǎn),引腳功能和指令系統(tǒng)與MCS-51兼容的20引腳封裝單片機(jī),片內(nèi)含2K字節(jié)的EPROM,與MCS-5
29、1的主要不同之處是少了P0和P1口,能方便地用于不需外擴(kuò)程序存儲(chǔ)器的應(yīng)用場(chǎng)合,達(dá)到簡(jiǎn)化電路、縮小體積、減小損耗和降低成本的目的。</p><p> 整個(gè)設(shè)計(jì)包括以下幾個(gè)模塊:</p><p> 聲信號(hào)采集模塊,該模塊主要是負(fù)責(zé)聲音信號(hào)的采集并放大,再經(jīng)過A/D轉(zhuǎn)換器輸入到單片機(jī)。</p><p> 聲信號(hào)采集模塊,該模塊主要是負(fù)責(zé)聲音信號(hào)的采集并放大,再經(jīng)過A
30、/D轉(zhuǎn)換器輸入到單片機(jī)。</p><p> 過零保護(hù)模塊,該模塊主要是負(fù)責(zé)聲音信號(hào)的采集并放大,再經(jīng)過A/D轉(zhuǎn)換輸入到單片機(jī)。</p><p> 光信號(hào)采集模塊,對(duì)光信號(hào)進(jìn)行處理,電路當(dāng)中有光信號(hào)時(shí),輸出一電平信號(hào)給單片機(jī),當(dāng)晚上或光線較暗時(shí)輸出一反向信號(hào)給單片機(jī),由單片機(jī)作出判斷。</p><p> 時(shí)鐘定時(shí)模塊,運(yùn)用一時(shí)鐘芯片,起到定時(shí)功能,當(dāng)燈亮后,一定
31、定時(shí)時(shí)間到,即自動(dòng)熄滅。</p><p> 看門狗模塊,對(duì)現(xiàn)場(chǎng)干擾起保護(hù)作用,防止單片機(jī)的程序跑飛,使使使之輸出一電壓值,到可控使可控硅打開。</p><p> 輸出驅(qū)動(dòng)模塊,由單片機(jī)控制,使之輸出一電壓值,到可控硅,使可控硅打開。</p><p><b> 圖1整體方案圖</b></p><p> 3.2 系
32、統(tǒng)的工作原理</p><p> 采用串行A/D對(duì)聲音信號(hào)的采集,可以通過軟件來調(diào)節(jié)對(duì)聲音的靈敏度。單片機(jī)軟件實(shí)施對(duì)光度的判斷,使開關(guān)在白天時(shí)即使有聲音也不工作,在晚上聞聲自亮。</p><p><b> 4.硬件系統(tǒng)的設(shè)計(jì)</b></p><p> 4.1 聲音信號(hào)采集電路的設(shè)計(jì) </p><p><b&
33、gt; 圖2聲信號(hào)采集電路</b></p><p> 如圖2所示為聲音信號(hào)采集電路。R6為聲傳感器,當(dāng)沒有聲音時(shí),其輸出為低電壓信號(hào),若有聲音時(shí),輸出一電壓值,該電壓值經(jīng)過運(yùn)算放大器OP07放大,放大倍數(shù)為R2/R4,R2為可變電阻,可以調(diào)節(jié)其阻值,使其放大倍數(shù)改變,起到調(diào)節(jié)聲音靈敏度的作用。</p><p> 下圖TLC2543為A/D轉(zhuǎn)換器,TLC2543采用串行接口
34、,與外圍電路的連線簡(jiǎn)單,三個(gè)控制輸入端為CS(片選)、輸入/輸出時(shí)鐘(I/O CLOCK)以及串行數(shù)據(jù)輸出端(DATA INPUT)。片內(nèi)的14通道多路器可以選擇11個(gè)輸入中的任何一個(gè)或3個(gè)內(nèi)部自測(cè)試電壓中的一個(gè),采用一保持是自動(dòng)的,轉(zhuǎn)換結(jié)束,EOC輸出變高。</p><p> 圖3 TCL2543A/D轉(zhuǎn)換器</p><p> TLC2543的引腳排列如圖1所示。引腳功能說明如下:
35、 AIN0~AIN10:模擬輸入端,由內(nèi)部多路器選擇。對(duì)4.1MHz的I/O CLOCK,驅(qū)動(dòng)源阻抗必須小于或等于50Ω; CS:片選端,CS由高到低變化將復(fù)位內(nèi)部計(jì)數(shù)器,并控制和使能DATA OUT、DATA INPUT和I/O CLOCK。CS由低到高的變化將在一個(gè)設(shè)置時(shí)間內(nèi)禁止DATA INPUT和I/O CLOCK; DATA INPUT:串行數(shù)據(jù)輸入端,串行數(shù)據(jù)以MSB為前導(dǎo)并在I/O CLOCK的前4個(gè)上升沿移入4位地
36、址,用來選擇下一個(gè)要轉(zhuǎn)換的模擬輸入信號(hào)或測(cè)試電壓,之后I/O CLOCK將余下的幾位依次輸入; DATA OUT:A/D轉(zhuǎn)換結(jié)果三態(tài)輸出端,在CS為高時(shí),該引腳處于高阻狀態(tài);當(dāng)CS為低時(shí),該引腳由前一次轉(zhuǎn)換結(jié)果的MSB值置成相應(yīng)的邏輯電平;EOC:轉(zhuǎn)換結(jié)束端。在最后的I/O CLOCK下降沿之后,EOC由高電平變?yōu)榈碗娖讲⒈3值睫D(zhuǎn)換完成及數(shù)據(jù)準(zhǔn)備傳輸; VCC、GND:電源正端、地; REF+、REF-:正、負(fù)基
37、準(zhǔn)電壓端。通常REF+接VCC,REF-接GND。最大輸入電壓范圍取決于兩</p><p> TLC2543的主要特性如下:</p><p> (1)11個(gè)模擬輸入通道;</p><p> ?。?)66ksps的采樣速率;</p><p> (3)最大轉(zhuǎn)換時(shí)間為10μs;</p><p> ?。?)SPI串行接口
38、;</p><p> ?。?)線性度誤差最大為±1LSB;</p><p> ?。?)低供電電流(1mA典型值);</p><p> ?。?)掉點(diǎn)模式電流為4μA。</p><p> 由于TLC2543具有以上特點(diǎn),其轉(zhuǎn)換速度快,與單片機(jī)接口簡(jiǎn)單,占用的I/O口少,因此在本設(shè)計(jì)中選擇進(jìn)行A/D轉(zhuǎn)換,用于采集聲音信號(hào)。</p&
39、gt;<p> 4.2 光信號(hào)判斷電路的設(shè)計(jì)</p><p> 樓道上的聲控開關(guān)出了聲音控制外,還必須有光控功能,即在白天時(shí)無論有無聲音,都不會(huì)點(diǎn)亮燈泡,只有在夜晚或是光線較暗時(shí),發(fā)出聲音后,才會(huì)開燈。</p><p> 這就必須設(shè)計(jì)一個(gè)光控電路,原理圖如圖4所示。</p><p> 圖4 光信號(hào)判斷電 </p><p
40、> 圖中D1為光敏電阻器,光敏電阻器的主要功能是,當(dāng)沒有光照或光線不足時(shí),其阻值較大,達(dá)到兆歐級(jí)以上,相當(dāng)于處于短路狀態(tài),此時(shí)R1電位器中間抽頭輸出為低電平。而當(dāng)有光照時(shí),光敏電阻阻值下降,阻值相當(dāng)小,此時(shí)電位器R1的中間抽頭輸出為高電位。LM393和電位器R8組成一電壓比較器,當(dāng)同相輸入端電位高于反相輸入端時(shí),LM393輸出一高電平,反之,當(dāng)反相輸入端電位高于同相輸入端時(shí),LM393輸出一低電平,輸出信號(hào)經(jīng)過具有施密特功能的反
41、相器74LS14,送到單片機(jī),由單片機(jī)進(jìn)行檢測(cè),判斷是否有光照。</p><p> 4.3 過零啟動(dòng)保護(hù)電路的設(shè)計(jì)</p><p> 普通的白熾燈正常發(fā)光時(shí)的燈絲與不發(fā)光時(shí)燈絲電阻值相差甚遠(yuǎn),從而使得其在啟動(dòng)瞬間的沖擊電流非常大,例如一只60W的燈泡,在正常發(fā)光時(shí),電阻約為800歐,工作在標(biāo)準(zhǔn)市電220V時(shí),工作電流不到0.3A。然而在不放光時(shí),燈絲的電阻阻值約為6歐,當(dāng)啟動(dòng)時(shí),電流
42、會(huì)很大,約有3.5A左右。這種大電流的沖擊,很容易損壞可控硅。如圖5為白熾燈啟動(dòng)時(shí)的電流波形圖。</p><p> 圖5 白熾燈啟動(dòng)電流波形圖</p><p> 市電電壓是交流220V,交流電始終是從零值到峰值的變化,只要使白熾燈在零值或零值附近啟動(dòng),就可以避免大電流的沖擊。如圖6為過零啟動(dòng)保護(hù)電路。D2為整流橋,SCR為可控硅,過零啟動(dòng)主要是由電阻Rx1~Rx5,二極管D3和二極管O
43、6組成。Rx2~Rx3是采樣電阻,當(dāng)整流橋2號(hào)端子的電壓處于低電壓時(shí),Rx2和Rx3之間的電壓也很低,Q6處于截止工作狀態(tài),protect端輸出高電平。當(dāng)整流橋的2號(hào)端口為高電壓時(shí),Rx2和Rx3之間的電壓亦很高,使Q6工作在導(dǎo)通狀態(tài),protect端輸出低電平。把protect的低電平信號(hào)送到單片機(jī)的I/O上進(jìn)行檢測(cè),由單片機(jī)作出判斷,再?zèng)Q定SCR端得電壓值,當(dāng)protect為高,此時(shí)的電壓為低,可以驅(qū)動(dòng)SCR導(dǎo)通,點(diǎn)亮白熾燈,當(dāng)pr
44、otect為低,此時(shí)的電壓為高,使SCR關(guān)閉,暫時(shí)不點(diǎn)亮白熾燈,等到過零點(diǎn)電位時(shí)才運(yùn)作。因此,無論什么時(shí)候有聲音信號(hào)來,只有在低電位時(shí),才驅(qū)動(dòng)SCR可控硅打開,聲控信號(hào)才起作用,實(shí)現(xiàn)零壓?jiǎn)?dòng)。</p><p> 圖6 過零啟動(dòng)保護(hù)電路</p><p> 白熾燈點(diǎn)亮以后,可控硅SCR導(dǎo)通,二極管D3的陽極電位就會(huì)下降,此時(shí)二極管D3就起到了過零電壓?jiǎn)?dòng)取消的作用。當(dāng)有高電壓來時(shí),Rx1與
45、Rx2之間的電位就會(huì)高于D3的陽極電位,二極管導(dǎo)通,從而使Q6的基極輸入電位下降,有效地避免了燈泡的閃爍現(xiàn)象。</p><p><b> 定時(shí)電路的設(shè)計(jì)</b></p><p> 聲控開關(guān)在打開后,需要定時(shí)一定的時(shí)間,一般為幾十秒,設(shè)計(jì)時(shí)可以借助時(shí)鐘芯片,這里選用一款美國DALLAS公司生產(chǎn)的高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘芯片DS1302.</p>
46、<p> DS1302與CPU通過三線接口同步通信,其接口電路如圖7所求。</p><p><b> 圖7 定時(shí)電路</b></p><p><b> 驅(qū)動(dòng)輸出電路的設(shè)計(jì)</b></p><p> 前面提到,當(dāng)單片機(jī)檢測(cè)到聲光信號(hào)后,要控制圖6中的SCR可控硅導(dǎo)通,才能點(diǎn)亮燈泡,因此要設(shè)計(jì)一個(gè)驅(qū)動(dòng)輸出
47、電路。</p><p><b> 圖8 驅(qū)動(dòng)輸出電路</b></p><p> 如圖8所示,用一個(gè)反向器與一個(gè)NPN型的三極管,一般的8050或9013都可以,再加一個(gè)上位電阻,此處用一個(gè)10K的電位器,方便可調(diào)。單片機(jī)的一個(gè)I/O端口控制74LS14,使三極管關(guān)斷截止或?qū)ㄩ]合。</p><p> 當(dāng)單片機(jī)檢測(cè)到有聲光信號(hào)時(shí)需要驅(qū)動(dòng)可控
48、硅導(dǎo)通,則單片機(jī)給一個(gè)高電平信號(hào),經(jīng)反向器反為低電平,三極管截止,SCR輸出端為高,打開可控硅,點(diǎn)亮燈泡。反之,單片機(jī)給一個(gè)低電平,使三極管導(dǎo)通,SCR端輸出為低,可控硅截止,燈泡不亮。</p><p><b> 電源設(shè)計(jì)</b></p><p> 燈泡的工作電壓為220V,但控制器的工作電壓為5V,所以必須設(shè)計(jì)一個(gè)電源電路,取得5V的低電壓。</p>
49、<p> 如圖9所示,ZI為9V穩(wěn)壓管,C7~C10為濾波電容,D4、.D5為保護(hù)二極管,7805為三端穩(wěn)壓管。220V經(jīng)過整流后,經(jīng)過Z1穩(wěn)壓輸出9V,再經(jīng)C9和C7濾波輸出直流電壓,從7805的1腳輸出+5V.。</p><p><b> 圖9 電源設(shè)計(jì)</b></p><p> 4.7 看門狗電路的設(shè)計(jì)</p><p&
50、gt; 4.7.1 簡(jiǎn)介看門狗電路及其作用</p><p> 在由單片機(jī)構(gòu)成的微型計(jì)算機(jī)系統(tǒng)中,由于單片機(jī)的工作常常會(huì)受到來自外界電磁場(chǎng)的干擾,造成程序的跑飛,而陷入死循環(huán),程序的正常運(yùn)行被打斷,由單片機(jī)控制的系統(tǒng)無法繼續(xù)工作,會(huì)造成整個(gè)系統(tǒng)的陷入停滯狀態(tài),發(fā)生不可預(yù)料的后果,所以出于對(duì)單片機(jī)運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè)的考慮,便產(chǎn)生了一種專門用于監(jiān)測(cè)單片機(jī)程序運(yùn)行狀態(tài)的芯片俗稱“看門狗”(Watchdog)。&
51、lt;/p><p> 聲控開關(guān)控制器長(zhǎng)時(shí)間工作,電路中即有220V的強(qiáng)電,又有+5V的低工作電壓,現(xiàn)場(chǎng)的抗干擾在所難免,為避免單片機(jī)的程序跑飛,這里加入了看門狗電路,起到抗干擾的作用。</p><p> X5045將EEPROM、看門狗定時(shí)器、電壓監(jiān)控三種功能組合在單個(gè)芯片之內(nèi),大大簡(jiǎn)化了硬件設(shè)計(jì),提高了系統(tǒng)的可靠性,減少了對(duì)印制電路板的空間要求,降低了成本和系統(tǒng)功耗,是一種理想的單片機(jī)外
52、圍芯片。X5045引腳如圖10所示。</p><p> 圖10 X5045引腳圖</p><p><b> 其引腳功能如下:</b></p><p> CS: 芯片選擇輸入:當(dāng)CS是高電平時(shí),芯片未選中,并將SO置為高阻態(tài)。器件處于標(biāo)準(zhǔn)的功耗模式,除非一個(gè)向非易失單元寫的周期開始。在CS是高電平時(shí),將CS拉低將使器件處于選擇狀態(tài),器件將
53、工作于工作功耗狀態(tài)。在上電后任何操作之前,CS必須要有一個(gè)高變低的過程;</p><p> SO: 串行輸出:SO是一個(gè)推/拉串行數(shù)據(jù)輸出引腳,在讀數(shù)據(jù)時(shí),數(shù)據(jù)在SCK脈沖的下降沿由這個(gè)引腳送出;</p><p> SI: 串行輸入:SI是串行數(shù)據(jù)輸入器,指令碼、地址、數(shù)據(jù)都通過這個(gè)引腳進(jìn)行輸入。在SCK的上升沿進(jìn)行數(shù)據(jù)的輸入,并且高位(MSB)在前;</p>&l
54、t;p> SCK : 串行時(shí)鐘輸入,其上升沿將數(shù)據(jù)或命令寫入,下降沿將數(shù)據(jù)輸出;</p><p> WP: 寫保護(hù)輸入:當(dāng)WP引腳是低電平時(shí),向X5045中寫的操作被禁止,但是其他的功能正常。當(dāng)引腳是高電平時(shí),所有操作正常,包括寫操作。如果在CS是低的時(shí)候,WP變?yōu)榈碗娖?,則會(huì)中斷向X5045中寫的操作,但是,如果此時(shí)內(nèi)部的非易失性寫周期已經(jīng)初始化了,WP變?yōu)榈碗娖讲黄鹱饔茫?lt;/p>&
55、lt;p><b> Vss: 地;</b></p><p> Vcc: 電源電壓;</p><p> RESET: 復(fù)位輸出:PESET是一個(gè)開漏型輸出引腳。只要Vcc下降到最小允許Vcc值,這個(gè)引腳就會(huì)輸出高電平,一直到Vcc上升超過最小允許值之后200ms。同時(shí)它也受看門狗定時(shí)器控制,只要看門狗處于激活狀態(tài),并且WDI引腳上電平保持為高或者為低超
56、過了定時(shí)的時(shí)間,就會(huì)產(chǎn)生復(fù)位信號(hào)。CS引腳上的一個(gè)下降沿將會(huì)復(fù)位看門狗定時(shí)器。由于這是一個(gè)開漏型的輸出引腳。所以在使用時(shí)必須接上拉電阻。</p><p> X5045硬件連接圖如圖11所示。X5045芯片內(nèi)包含有一個(gè)看門狗定時(shí)器,通過軟件預(yù)置系統(tǒng)的監(jiān)控時(shí)間后,若在預(yù)置的時(shí)間內(nèi)看門狗芯片的CS端電平?jīng)]有發(fā)生變化,則X5045將從RESET輸出一個(gè)高電平信號(hào),使CPU復(fù)位</p><p>&
57、lt;b> 圖11 看門狗電路</b></p><p> 4.7.2 X5045特性介紹</p><p> (1)可選時(shí)間的看門狗定時(shí)器。</p><p> ?。?)Vcc的降壓檢測(cè)和復(fù)位控制。</p><p> ?。?)5種標(biāo)準(zhǔn)的開始復(fù)位電壓,使用特定的編程順序即可對(duì)電壓檢測(cè)和復(fù)位開始電壓進(jìn)行編程,復(fù)位電壓可低至V
58、cc=1V。</p><p> ?。?)省電特性:在看門狗打開時(shí),電流小于50uA,在看門狗關(guān)閉時(shí),電流小于10uA,在讀操作時(shí),電流小于2mA。不同的型號(hào)的器件,其供電電壓可以是1.8-3.6V、2.7-5.5V、4.5-5.5V。4K位EEPROM,1,000,000次的擦寫周期。</p><p> ?。?)具有數(shù)據(jù)的塊保護(hù)功能—可以保護(hù)1/4、1/2、全部的EEPROM,當(dāng)然也可以置
59、于不保護(hù)狀態(tài)。</p><p> ?。?)內(nèi)建的防誤寫措施:用指令允許寫操作,寫保護(hù)引腳。</p><p> ?。?)時(shí)鐘可達(dá)3.3M。</p><p> ?。?)短的編程時(shí)間:16字節(jié)的頁寫模式;寫時(shí)由器件內(nèi)部自動(dòng)完成;典型的器件寫周期為5ms。</p><p> 4.8. PCB板的制作的設(shè)計(jì)</p><p>
60、 4.8.1 PROTEL DXP 2004的概述</p><p> Altium公司2004年最新產(chǎn)品,Protel DXP 2004是一款能極大地提高PCB設(shè)計(jì)的完整的板卡級(jí)設(shè)計(jì)軟件。它可運(yùn)行于Windows2000和Windows XP操作系統(tǒng)之上,可實(shí)現(xiàn)從概念設(shè)計(jì)到輸出外協(xié)加工文件等一系列操作,并對(duì)設(shè)計(jì)過程、設(shè)計(jì)結(jié)果進(jìn)行分析、驗(yàn)證。Protel DXP 2004不僅能方便經(jīng)驗(yàn)豐富的PCB工程師,也
61、降低了制作PCB的門檻,人們只需通過段時(shí)間培訓(xùn),便可以很快制作出一塊合格的PCB.Protel DXP 2004已經(jīng)不再是單純的SCH、PCB設(shè)計(jì)工具,而是主要由以下幾個(gè)功能模塊組成的系統(tǒng)工具:</p><p><b> 分級(jí)線路圖輸入。</b></p><p><b> 自動(dòng)布局布線。</b></p><p> 設(shè)
62、計(jì)前、后的信號(hào)傳輸效應(yīng)分析。</p><p> 規(guī)則驅(qū)動(dòng)下的板卡色設(shè)計(jì)和編輯。</p><p> Spice 3f5混合電路仿真模擬。</p><p> 完全支持線路圖基礎(chǔ)上的FPGA設(shè)計(jì)。</p><p><b> 完整的CAM輸出。</b></p><p> 4.8.2 Prot
63、el原理圖界面</p><p> 在Protel主界面中單擊File>Open命令,在文件路徑中選擇原理圖文件。Protel DXP 2004原理圖界面主要包括以下幾部分:菜單欄、工具欄、工作窗口等。</p><p> 原理圖如下圖所示菜單欄DXP(系統(tǒng))、File(文件)、View(視圖)、Project(工程)、Place(放置)、Design(設(shè)計(jì))、Tools(工具)、
64、Peports(報(bào)告)等。</p><p> 4.8.3 電路原理圖的設(shè)計(jì)流程</p><p> 在原理圖設(shè)計(jì)時(shí)可能會(huì)涉及到眾多元件的放置,繁多的電氣連接。為了保證不出錯(cuò),需要遵循一定的設(shè)計(jì)流程。在繪制簡(jiǎn)單的原理圖時(shí)按照以下流程繪制即可。</p><p> 新建項(xiàng)目文件。在項(xiàng)目文件中新建原理圖文件。</p><p> 設(shè)置原理圖圖紙
65、及相關(guān)信息,圖紙是原理圖繪制的工作平臺(tái)。幾乎所有的工作都建立在其上,為原理圖設(shè)置合適的圖紙參數(shù)將有利于原理圖設(shè)計(jì)。</p><p> 添加/刪除元件庫。在原理圖設(shè)計(jì)中使用的元件符號(hào),需要在繪制之前導(dǎo)入。</p><p> 放置元件符號(hào),元件符號(hào)的放置要遵循電路設(shè)計(jì)要求,同時(shí)要修改元件的屬性(當(dāng)然也可以在后續(xù)操作中再進(jìn)行屬性修改)。</p><p> 電氣連接。
66、在原理圖中進(jìn)行電氣連接時(shí)可以使用導(dǎo)線連接,也可以采用總線連接,還可以使用網(wǎng)絡(luò)標(biāo)記進(jìn)行連接,電氣鏈接可為PCB設(shè)計(jì)生成網(wǎng)絡(luò)報(bào)表。</p><p> 調(diào)整原理圖并檢查錯(cuò)誤、修改。在電氣連接完成后要根據(jù)電路設(shè)計(jì)進(jìn)行仔細(xì)的檢查,確保電路連接的正確性。Protel DXP 2004引入了自動(dòng)ERC檢測(cè)功能,能簡(jiǎn)化設(shè)計(jì)人員的檢查工作。</p><p> 原理圖注釋。這是原理圖設(shè)計(jì)不可缺少的部分。注
67、釋時(shí)要注明原理圖的名稱、關(guān)鍵點(diǎn)的說明和波形描述等。</p><p> 原理圖保存打印。單擊工具欄的保存按鈕即可進(jìn)行保存。值得一提的是,在設(shè)計(jì)過程中要經(jīng)常保存以防意外丟失。單擊工具欄上的打印預(yù)覽按鈕可以進(jìn)行打印預(yù)覽,查看打印效果。若確定無誤后即可單擊打印按鈕進(jìn)行打印輸出。</p><p> 輸出文件。可根據(jù)需要選擇原理圖元件清單輸出或網(wǎng)絡(luò)報(bào)表輸出等。</p><p&g
68、t; 4.8.4 PCB板的繪制原則</p><p> ?。?)電路要有合理的走向</p><p> 對(duì)于輸出/輸入、交流/直流、強(qiáng)/弱信號(hào)、高頻/低頻、高壓/低壓等,它們的走向應(yīng)該是分離布線的,不得相互交融,其目的在于防止相互干擾。</p><p> ?。?)選擇好電路信號(hào)的接地點(diǎn)</p><p> 接地點(diǎn)的設(shè)置是較復(fù)雜而又靈活的
69、,一般情況下要求公共地,,現(xiàn)實(shí)中,因受各種限制很難完全辦到,但應(yīng)盡力遵循,這個(gè)問題在實(shí)際中是相當(dāng)靈活的,每個(gè)人都有自己的一套解決方案。</p><p> ?。?)合理安排電源濾波/各種退耦濾波電容</p><p> 電源線上的小電容是為開關(guān)器件或其他需要濾波/退耦的器件而設(shè)置的,布置這些電容就應(yīng)該盡量靠近這些元器件,離得太遠(yuǎn)就沒有作用了。</p><p> (4
70、)PCB布線有一定的規(guī)則</p><p> 在PCB板上,有條件加寬的線盡量不做細(xì)。高壓及高頻線應(yīng)圓滑,不得有尖銳的倒角,拐彎也不得采用直角。地線應(yīng)盡量寬,最好使用大面積敷銅。</p><p> ?。?)謹(jǐn)慎處理來自PCB設(shè)計(jì)中的問題</p><p> 設(shè)計(jì)中盡量減少過線孔,由于過線孔太多,在生產(chǎn)中工藝稍有不慎就會(huì)埋下隱患。同向并行的線條如果密度過大,則焊接時(shí)很
71、容易連成一片,線密度應(yīng)視焊接工藝水平來確定。焊點(diǎn)的距離太小,將不利于人工焊接,只能以降低工效來解決焊接質(zhì)量,因此焊點(diǎn)最小距離的確定應(yīng)綜合考慮焊接人員的素質(zhì)和工效。</p><p> 4.8.5 Protel PCB設(shè)計(jì)流程</p><p> 通常,PCB的設(shè)計(jì)是要遵循一定的流程,保證PCB和原理圖設(shè)計(jì)同步,不要有遺漏,這樣會(huì)使檢查更加容易。當(dāng)然,對(duì)于不同的設(shè)計(jì)人員會(huì)有一些差別,概括有
72、以下幾個(gè)步驟。</p><p> PCB板的設(shè)計(jì)準(zhǔn)備:由原理圖生成網(wǎng)絡(luò)表,裝載PCB元件所在的封裝庫,如果沒有封裝的元件,則要繪制出該器件的封裝。</p><p> 根據(jù)應(yīng)用電路的要求,確定PCB板的幾何尺寸、形狀和層數(shù)等參數(shù)。</p><p> 導(dǎo)入網(wǎng)絡(luò)文件,引入原理圖中的信息,采用元件自動(dòng)布線操作,完成pcb的初步設(shè)計(jì)。</p><p&
73、gt; 根據(jù)電路的功能分布、布線的要求對(duì)Protel DXPde 自動(dòng)元件布局進(jìn)行調(diào)整,這是PCB設(shè)計(jì)的重要部分。</p><p> 對(duì)PCB進(jìn)行自動(dòng)布線,通常是自動(dòng)布線和手工布線交替進(jìn)行,手工布線主要是彌補(bǔ)自動(dòng)布線的缺陷。</p><p> PCB的電路檢查,填充非元件區(qū)、添加安裝尺寸和絲印信息</p><p> 根據(jù)PCB文件生成BOM報(bào)表、導(dǎo)出文件和打
74、印外協(xié)加工圖紙等。</p><p> 4.8.6 印制電路板(PCB)的繪制過程如下所示:</p><p> 4.8.7 焊制電路板如下所示</p><p><b> 5. 軟件設(shè)計(jì)</b></p><p> 5.1 軟件設(shè)計(jì)語言的選擇</p><p> 單片機(jī)語言的編程一般使
75、用兩種語言:C語言和匯編語言。匯編語言是一種用文字助記符來表示機(jī)器指令的符號(hào)語言,是最接近機(jī)器語言的一種語言。其主要的優(yōu)點(diǎn)是占用資源少,程序執(zhí)行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。C語言是一種結(jié)構(gòu)化的高級(jí)語言。其優(yōu)點(diǎn)是可讀性好,移植容易,是普遍使用的一種計(jì)算機(jī)語言。缺點(diǎn)是占資源較多,執(zhí)行效率沒有匯編高。</p><p> C語言是一種編譯型程序設(shè)計(jì)語言,它兼顧了許多種高級(jí)語言的特點(diǎn),
76、其具備匯編語言的功能。C語言有功能豐富的庫函數(shù)、運(yùn)算速度快、編譯效率高、有良好的可移植性,而且可以直接實(shí)現(xiàn)對(duì)系統(tǒng)硬件的控制。C語言是一種結(jié)構(gòu)化程序設(shè)計(jì)語言,它支持當(dāng)前程序設(shè)計(jì)中廣泛用的有頂向下結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)。此外,C語言程序具有完善的模塊程序結(jié)構(gòu),從而為軟件開發(fā)中采用模塊化程序設(shè)計(jì)方法提供了有力的保障。因此使用C語言進(jìn)行程序的設(shè)計(jì)已經(jīng)為軟件開發(fā)的一個(gè)主流。綜上所述,用C語言進(jìn)行單片機(jī)程序設(shè)計(jì)是單片機(jī)開發(fā)和應(yīng)用的必然趨勢(shì)。本設(shè)計(jì)就采用
77、C語言進(jìn)行編程,明顯的增加了軟件的可讀性。</p><p> 5.2 程序流程圖</p><p> 5.3 主程序設(shè)計(jì)</p><p> 根據(jù)程序流程圖,編寫主控程序如附錄(附錄)</p><p> 5.4 延時(shí)程序設(shè)計(jì)</p><p> 編寫程序當(dāng)中要用到適當(dāng)?shù)难訒r(shí),所以先編寫一個(gè)大概1ms的延時(shí)子程
78、序,方便在后面的程序中調(diào)用,程序代碼見(附錄):</p><p> 5.5 TLC2543讀寫程序設(shè)計(jì)</p><p> TLC2543為A/D轉(zhuǎn)換器,編寫其讀寫子程序,到后面主程序中調(diào)用。程序代碼如下:</p><p> //TLC2543與單片機(jī)的接口定義如下:</p><p> sib tlc2543-clk = P3^2;
79、</p><p> sib tlc2543-din = P 3^3;</p><p> sib tl-2543-dout = P3^4;</p><p> sib tlc2543-cs = P3^5;</p><p> /////////////////////////////////////////////////////
80、////////////////////////////////////////////////</p><p> //寫命令子程序,返回轉(zhuǎn)換后的電壓數(shù)字值見(附錄)</p><p> 5.6 DS1302驅(qū)動(dòng)程序設(shè)計(jì)</p><p> 實(shí)時(shí)時(shí)鐘芯片DS1302與單片機(jī)的接口定義為:</p><p> Sbit DS130
81、2_sclk =PI^7; /*實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳*/ Sbit DS1302_IO =PI^6; /*實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳*/</p><p> Sbit DS1302_RST =PI^5; /*實(shí)時(shí)時(shí)鐘復(fù)位線引腳*/</p><p> 其讀寫驅(qū)動(dòng)程序代碼見(附錄)<
82、;/p><p> 5.7 X5045驅(qū)動(dòng)程序設(shè)計(jì)</p><p> 看門狗X5045與單片機(jī)的接口定義為:</p><p> sbit x5045_cs = P1^1;</p><p> sbit x5045_so = P1^2;</p><p> sbit x5045_si = P1^3;<
83、/p><p> sbit x5045_sck= P1*4;</p><p> 讀寫驅(qū)動(dòng)程序見(附錄):</p><p><b> 6系統(tǒng)的調(diào)試</b></p><p><b> 6.1 調(diào)試過程</b></p><p> 利用KEIL與PROTEUS進(jìn)行調(diào)試,使用
84、步驟如下:</p><p> (1) 打開KEIL,建立工程,輸入程序,編譯和生成hex文件,如圖所示</p><p> ?。?)打開PROTEUES,設(shè)計(jì)硬件電路圖,如圖所示</p><p> ?。?)導(dǎo)入hex文件,見上圖將鼠標(biāo)置于電路圖中GMS97C2051器件上,右擊后再左擊,彈出對(duì)話框,在紅框中導(dǎo)入dzp.hex文件。</p><p&
85、gt; ?。?) 點(diǎn)擊面板左下角的,開始調(diào)試。</p><p> 6.2 調(diào)試結(jié)果及經(jīng)驗(yàn)總結(jié)</p><p> 將程序?qū)隚MS97C2051芯片,調(diào)試成功后可以達(dá)到設(shè)計(jì)的要求。通過設(shè)計(jì)智能聲光控開關(guān),加深了對(duì)單片機(jī)系列的認(rèn)識(shí)。讓我更好的運(yùn)用了本科兩年所學(xué)的知識(shí),運(yùn)用于實(shí)踐,加深了對(duì)知識(shí)的理解。在設(shè)計(jì)過程中學(xué)習(xí)了很多軟件的使用,包括硬件部分運(yùn)用protues進(jìn)行設(shè)計(jì),用keil進(jìn)行程
86、序編譯,用protel進(jìn)行制板。</p><p><b> 7總結(jié)</b></p><p> 聲光控開關(guān),省事省電,應(yīng)用廣泛,本文應(yīng)用單片機(jī)微控制器,通過軟件來實(shí)現(xiàn),采用了過零啟動(dòng)技術(shù),并且加入了看門狗監(jiān)視器,安全可靠。相信以后在這方面會(huì)不斷完善,使日常生活更加方便,更加智能化。</p><p> 在設(shè)計(jì)中初步了解了聲光控制電路的工作原理
87、,學(xué)會(huì)了分析電路、設(shè)計(jì)電路的方法和步驟。通過本次設(shè)計(jì)提高了自己對(duì)資料的查閱、信息處理的能力,訓(xùn)練了自己的科學(xué)研究基本功,培養(yǎng)了知識(shí)綜合運(yùn)用能力,增加了對(duì)社會(huì)普通科學(xué)知識(shí)的了解,為以后寫作專業(yè)學(xué)術(shù)論文打下基礎(chǔ)。</p><p><b> 8附錄</b></p><p> 附錄1 延時(shí)程序設(shè)計(jì)設(shè)計(jì)</p><p><b> //延
88、時(shí)程序</b></p><p> Void delay(unsigned int j)</p><p><b> {</b></p><p> unsigned char i ;</p><p> while(j--)</p><p><b> {&l
89、t;/b></p><p> for (i=125; i>; i--)</p><p><b> {;}</b></p><p><b> }</b></p><p><b> }</b></p><p> 附錄2 TLC
90、2543讀寫程序設(shè)計(jì)</p><p> sib tlc2543-clk = P3^2;</p><p> sib tlc2543-din = P 3^3;</p><p> sib tl-2543-dout = P3^4;</p><p> sib tlc2543-cs = P3^5;</p><p&g
91、t; /////////////////////////////////////////////////////////////////////////////////////////////////////</p><p> //寫命令子程序,返回轉(zhuǎn)換后的電壓數(shù)字值</p><p> unsigned int tlc2543-write(unsigned char CHN
92、 )</p><p><b> {</b></p><p> unsigned char i ;</p><p> unsigned int backcode=0;</p><p> CHN<<=4; 左移4位</p><p> tlc2543-
93、cs = 1;</p><p> tlc2543-clk=0;</p><p> tlc2543-cs = 0;</p><p> for(i=0; i<12; i++) //寫入一12位的數(shù)據(jù)</p><p><b> {</b></p><p><b>
94、if (i<8)</b></p><p><b> {</b></p><p> if(CHN & 0x80)) tlc2543-din = 1;</p><p> else tlc2543-din = 0;</p><p><b> CHN <<=1;&l
95、t;/b></p><p><b> }</b></p><p> backcode <<=1;</p><p> backcode∣=tlc2543_dout;</p><p> tlc2543_clk=1;</p><p><b> _nop_();<
96、;/b></p><p><b> _nop_();</b></p><p> Tlc2543_clk=0;</p><p><b> }</b></p><p> Tlc2543_cs = 1;</p><p> Return(backcode);</
97、p><p><b> }</b></p><p> 附錄3 DS1302驅(qū)動(dòng)程序設(shè)計(jì)</p><p> 實(shí)時(shí)時(shí)鐘芯片DS1302與單片機(jī)的接口定義為:</p><p> Sbit DS1302_sclk =PI^7; /*實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳*/</p><p> Sbi
98、t DS1302_IO =PI^6; /*實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳*/</p><p> Sbit DS1302_RST =PI^5; /*實(shí)時(shí)時(shí)鐘復(fù)位線引腳*/</p><p> 其讀寫驅(qū)動(dòng)程序代碼如下:</p><p> //功能:實(shí)時(shí)時(shí)鐘寫入一字節(jié)</p><p> Void DS1302
99、WriteByte(unsigned char d)</p><p><b> {</b></p><p> unsigned char i;</p><p> unsigned char temp;</p><p><b> temp = d;</b></p><p&g
100、t; for(i=8; i>0; i--)</p><p><b> {</b></p><p> If(temp& 0x01) DS1302_IO = 1;</p><p> else DS1302_IO = 0;</p><p> DS1302_SCLK = 1;</
101、p><p> Temp = temp >> 1;</p><p><b> _nop_();</b></p><p> DS1302_SCLK = 0;</p><p><b> } </b></p><p><b> }</b><
102、;/p><p> //功能:實(shí)時(shí)時(shí)鐘讀取一字節(jié)</p><p> Unsigned char DS1302ReadByte(void)</p><p><b> {</b></p><p> Unsigned char DS1302ReadByte(void0</p><p><b&g
103、t; {</b></p><p> Unsigned char i;</p><p> Unsigned char dat;</p><p> For(I = 8; i>0; i--)</p><p><b> {</b></p><p> dat = dat >
104、;> </p><p> if(DS1302_IO dat〡 =0x80;</p><p> DS1302_SCLK = 1;</p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p> DS13
105、02_SCLK = 0;</p><p><b> }</b></p><p> Return(dat);</p><p><b> }</b></p><p> //功能:忘DS1302寫入數(shù)據(jù)</p><p> void DS1302WriteData(uns
106、igned char ucAddr, unsigned char ucDa)</p><p><b> {</b></p><p> DS1302_RST = 0;</p><p> DS1302_SCLK = 0;</p><p> DS1302_RST = 1;</p><p> D
107、S1302WriteByte(ucAddr); /*地址,命令*/</p><p> DS1302WriteByte(ucDa); /*寫1Byte數(shù)據(jù)*/</p><p> DS1302_SCLK = 1;</p><p> DS1302_RST = 0;</p><p><b> }</b>
108、;</p><p> //功能:讀取DS1302某地址的數(shù)據(jù)</p><p> unsigned char DS1302ReadData(unsigned char ucAddr0</p><p><b> {</b></p><p> unsigned char ucData;</p><p
109、> DS1302_RST = 0;</p><p> DS1302_SCLK = 0;</p><p> DS1302_RST = 1;</p><p> DS1302WriteByte(ucAddr); /*地址,命令*/</p><p> ucData = DS1302ReadByte();
110、 /*讀1Byte數(shù)據(jù)*/</p><p> DS1302_SCLK = 1;</p><p> DS1302_RST = 0;</p><p> return(ucData);</p><p><b> }</b></p><p> //功能:設(shè)置初始時(shí)間</p>&l
111、t;p> void DS1302SetTime(unsigned char pClock[])</p><p><b> {</b></p><p> unsigned char i;</p><p> unsigned char ucAddr = 0x80;</p><p> DS1302WriteDa
112、ta(0x8e,0x00); /*控制命令,WP=0,寫操作?*/</p><p> for(i=0; i<3; i++)</p><p><b> {</b></p><p> DS1302WriteData(ucAdd,pClock[i]);</p><p> ucAddr +=2;<
113、;/p><p><b> }</b></p><p> DS1302WriteData(0x8e,0x80); /.*控制命令,WP=1,寫保護(hù)*/</p><p><b> }</b></p><p> //功能:讀取DS1302當(dāng)前時(shí)間</p><p>
114、void DS1302GetTime(unsigned char ucCurtime[])</p><p><b> {</b></p><p> unsigned char I;</p><p> unsigned char ucAdd = 0x81;</p><p> for (i=0; i<3; i+
115、+)</p><p><b> {</b></p><p> ucCurtime[i] = DS1302ReadData(ucAddr);</p><p> ucAddr += 2;</p><p><b> }</b></p><p><b> }<
116、;/b></p><p> 附錄4 X5045驅(qū)動(dòng)程序設(shè)計(jì)</p><p> 看門狗X5045與單片機(jī)的接口定義為:</p><p> sbit x5045_cs = P1^1;</p><p> sbit x5045_so = P1^2;</p><p> sbit x5045_si
117、 = P1^3;</p><p> sbit x5045_sck= P1*4;</p><p><b> 讀寫驅(qū)動(dòng)程序:</b></p><p> //////////////////////////////////////////////////////////////////////////////////////////////
118、////////</p><p> //對(duì)X5045進(jìn)行寫操作</p><p> void x5045_write(unsigned char command)</p><p><b> {</b></p><p> unsigned char I;</p><p> //x5045_c
119、s = 0;</p><p> x5045_cs = 0;</p><p><b> nop();</b></p><p> for(i = 0;I < 8;i++)</p><p><b> {</b></p><p> if(command & 0
120、x80) x5045_si = 1;</p><p> else x5045_si = 0;</p><p> command <<= 1;</p><p> x5045_sck = 1;</p><p><b> nop();</b></p><
121、p><b> nop();</b></p><p> x5045_sck = 0;</p><p><b> }</b></p><p> x5045_si = 0;</p><p> //x5045_cs = 1;</p><p><b> //
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的智能聲光控開關(guān)的設(shè)計(jì)-電子信息工程畢業(yè)論文
- 基于單片機(jī)的智能聲光控開關(guān)的設(shè)計(jì)-電子信息工程畢業(yè)論文
- 基于單片機(jī)的智能開關(guān)設(shè)計(jì)
- 聲光控延時(shí)開關(guān)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-----基于單片機(jī)紅外遙控開關(guān)的設(shè)計(jì)
- 基于51單片機(jī)的聲光控延時(shí)燈
- 基于單片機(jī)的智能時(shí)鐘畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的智能小車畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的智能窗簾設(shè)計(jì)
- 基于單片機(jī)的智能小車設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的智能臺(tái)燈系統(tǒng)
- 基于單片機(jī)的智能尋跡小車畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的智能小車的設(shè)計(jì)
- 基于單片機(jī)的智能加濕器畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的智能家居畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的智能遙控窗簾設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于單片機(jī)的wifi智能小車設(shè)計(jì) 畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的智能尋跡小車設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于單片機(jī)的智能臺(tái)燈系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的wifi智能小車設(shè)計(jì) 畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論