

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目 錄</b></p><p><b> 1 引言1</b></p><p> 2 多功能電子醫(yī)藥盒設(shè)計(jì)概述3</p><p><b> 2.1設(shè)計(jì)目的3</b></p><p> 2.2設(shè)計(jì)實(shí)現(xiàn)總體功能3</p>
2、<p> 3 系統(tǒng)總體設(shè)計(jì)方案4</p><p> 3.1設(shè)計(jì)總體功能圖4</p><p><b> 3.2功能描述4</b></p><p> 3.2.1按鍵功能描述4</p><p> 3.2.2定時(shí)的開(kāi)啟4</p><p> 3.2.3系統(tǒng)硬件設(shè)計(jì)方案5
3、</p><p> 3.2.4 遙控器硬件設(shè)計(jì)方案5</p><p> 3.3產(chǎn)品使用注意事項(xiàng)8</p><p> 4 主要系統(tǒng)芯片及功能介紹9</p><p> 4.1凌陽(yáng)單片機(jī)的選擇9</p><p> 4.2主要性能特點(diǎn)分析9</p><p> 4.3系統(tǒng)主控制芯片及
4、部件介紹10</p><p> 4.3.1無(wú)線語(yǔ)音遙控器主控制器SPCE061A介紹10</p><p> 4.3.2直流電機(jī)驅(qū)動(dòng)芯片L298N的介紹12</p><p> 4.3.3無(wú)線語(yǔ)音遙控器中SPCE061A的功能13</p><p> 5 軟件設(shè)計(jì)部分及方案17</p><p> 5.1凌
5、陽(yáng)SPCE061A單片機(jī)指令系統(tǒng)與開(kāi)發(fā)環(huán)境17</p><p> 5.2 ATMEGA16L單片機(jī)指令系統(tǒng)與開(kāi)發(fā)環(huán)境18</p><p><b> 結(jié) 論19</b></p><p><b> 參考文獻(xiàn)20</b></p><p> 附錄1:電路圖21</p>
6、<p> 附錄2: 程序22</p><p><b> 致 謝41</b></p><p><b> 1 引言</b></p><p> 隨著現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展,數(shù)字化時(shí)代的來(lái)臨,計(jì)算機(jī)和網(wǎng)絡(luò)已經(jīng)將觸角伸入社會(huì)各行各業(yè),滲入了城市的血液中,并且在一定程度上取代了人類繁瑣的機(jī)械的勞動(dòng)。世界也正
7、面臨一場(chǎng)大規(guī)模的新的工業(yè)革命,又稱為信息革命。數(shù)字化、智能化,已經(jīng)成為這場(chǎng)革命的主旋律。讓計(jì)算機(jī)像人類一樣動(dòng)作一樣思考,并擁有人的記憶和人的邏輯,使人類從繁瑣的鍵盤操作和按鍵輸入中解脫出來(lái)是電腦智能化面對(duì)的重要課題。</p><p> 在現(xiàn)代傳感器技術(shù)、音頻視頻壓縮解碼技術(shù)的跨越式發(fā)展,使計(jì)算機(jī)實(shí)現(xiàn)了高度的集成化,功能也逐漸出現(xiàn)全能化、專門化以及智能化的分化發(fā)展方向。計(jì)算機(jī)的微處理器的功能也不僅僅局限于計(jì)算和處
8、理數(shù)據(jù),同時(shí)也將存儲(chǔ)和硬件解碼等外圍電路也集成到其中。也正是因?yàn)槿绱?,運(yùn)用單獨(dú)的處理器就可以實(shí)現(xiàn)智能化人機(jī)對(duì)話接口,讓計(jì)算機(jī)像人類一樣思考,通過(guò)人類的動(dòng)作和語(yǔ)言向計(jì)算機(jī)輸入指令,使計(jì)算機(jī)的操作方式發(fā)生根本性的變革,真正拉近人與計(jì)算機(jī)間的距離。</p><p> 現(xiàn)代計(jì)算機(jī)的性能已經(jīng)相當(dāng)強(qiáng)大,運(yùn)算能力已經(jīng)不可限量,而且還在飛速發(fā)展。在日常生活的諸多領(lǐng)域,電腦已經(jīng)取代人類,從事大量繁瑣的、重復(fù)性的勞動(dòng)。但是在這些領(lǐng)
9、域中,大型的計(jì)算機(jī)不能充分發(fā)揮自身性能,而且在成本方面也毫無(wú)經(jīng)濟(jì)性可言。所以,針對(duì)不同領(lǐng)域不同功能的專門性計(jì)算機(jī)應(yīng)運(yùn)而生,其運(yùn)算處理能力并不一定非常強(qiáng)大,而是對(duì)于特別的應(yīng)用場(chǎng)合在其中整合特殊的功能,使其在特定的場(chǎng)合發(fā)揮最大的作用。嵌入式計(jì)算機(jī)應(yīng)運(yùn)而生,嵌人式計(jì)算機(jī)作為計(jì)算機(jī)的一個(gè)重要分支,得到了越來(lái)越廣泛的應(yīng)用。隨著信息技術(shù)發(fā)展所帶來(lái)應(yīng)用需求的增多,嵌人式計(jì)算機(jī)的應(yīng)用范圍和需求越來(lái)越廣,性能不斷改進(jìn),新的架構(gòu)不斷出現(xiàn),各種單片機(jī)和數(shù)字信
10、號(hào)處理器相繼面世。嵌人式操作系統(tǒng)與PC操作系統(tǒng)相比,嵌人式操作系統(tǒng)不要求全能,但必須能夠依據(jù)系統(tǒng)設(shè)計(jì)規(guī)格,高效率地發(fā)揮硬件的運(yùn)算能力,使產(chǎn)品達(dá)到效率價(jià)格比的優(yōu)化。</p><p> 本次設(shè)計(jì)是在運(yùn)用成品嵌入式計(jì)算機(jī)的基礎(chǔ)上,實(shí)現(xiàn)用人類的語(yǔ)言無(wú)線遙控單片機(jī)的運(yùn)作。為了更明確的顯示聲音對(duì)單片機(jī)的遙控作用,使單片機(jī)控制遠(yuǎn)處可開(kāi)啟的藥盒,體現(xiàn)聲控單片機(jī)的運(yùn)行情況。</p><p> 對(duì)于多功能
11、電子醫(yī)藥盒的設(shè)計(jì),關(guān)鍵在于語(yǔ)音識(shí)別,語(yǔ)音處理技術(shù)是一門新興的技術(shù),它不僅包括語(yǔ)音的錄制和播放,還涉及語(yǔ)音的壓縮編碼和解碼,語(yǔ)音的識(shí)別等各種處理技術(shù)。以往做這方面的設(shè)計(jì),一般有兩個(gè)途徑:一種方案是單片機(jī)擴(kuò)展設(shè)計(jì),另一種就是借助于專門的語(yǔ)音處理芯片。普通的單片機(jī)往往不能實(shí)現(xiàn)這么復(fù)雜的過(guò)程和算法,即使勉強(qiáng)實(shí)現(xiàn)也要加很多的外圍器件。專門的語(yǔ)音處理芯片也比較多,像ISD系列、PM50系列等,但是專門的語(yǔ)音處理芯片功能比較單一,想在語(yǔ)音之外的其他方
12、面應(yīng)用基本是不可能的。而無(wú)線通信技術(shù)現(xiàn)在多采用無(wú)線數(shù)字通信模塊,其通信協(xié)議可以自己設(shè)定,通信頻率可以在一定范圍內(nèi)可以改變,使傳輸數(shù)據(jù)的可靠性、安全性都大大提高。 </p><p> 基于上述要求本次設(shè)計(jì)擬采用三種設(shè)計(jì)方案。在芯片方面,ATMEGA16L微處理器和凌陽(yáng)SPCE061A微處理器以及二者的組合應(yīng)用是三種備選方案。兩種微控制器都具有豐富的片上系統(tǒng)資源,可以通過(guò)外加輔助電路的方式實(shí)現(xiàn)語(yǔ)音辨識(shí)功能,從而滿足
13、對(duì)控制指令的語(yǔ)音采集、壓縮、存儲(chǔ)、解壓和辨識(shí)等一系列功能的要求。在指令系統(tǒng)方面,兩者都支持C語(yǔ)言,省去了繁瑣重復(fù)的堆棧操作,方便了程序員的編寫,和讀取。</p><p> 在確定設(shè)計(jì)使用單片機(jī)后,還應(yīng)對(duì)單片機(jī)加裝部分外圍電路才能使用,其中包括:電源電路、音頻電路、I/O電路等。使其保證單片機(jī)各項(xiàng)功能的實(shí)現(xiàn)。此外還有部分必須的功能電路,如:復(fù)位按鍵,狀態(tài)指示燈等等。</p><p> 在
14、藥盒倉(cāng)體方面,采用三個(gè)直流電機(jī)驅(qū)動(dòng),動(dòng)力來(lái)自驅(qū)動(dòng)后輪的直流電機(jī),驅(qū)動(dòng)器采用意法半導(dǎo)體生產(chǎn)的L298N直流電機(jī)驅(qū)動(dòng)器,整個(gè)藥盒由電源供電。</p><p> 語(yǔ)音指令的識(shí)別過(guò)程是利用單片機(jī)的特定人語(yǔ)音識(shí)別功能來(lái)實(shí)現(xiàn)的。首先對(duì)電子藥盒進(jìn)行訓(xùn)練,將語(yǔ)音命令轉(zhuǎn)換為數(shù)字信號(hào)存儲(chǔ)在單片機(jī)FLASH存儲(chǔ)器中。在需要控制藥倉(cāng)開(kāi)啟的時(shí)候,單片機(jī)通過(guò)采集聲音信號(hào),并量化處理為數(shù)字信號(hào)后,與存儲(chǔ)器中預(yù)先存儲(chǔ)的控制命令進(jìn)行辨識(shí),結(jié)果以
15、字節(jié)數(shù)據(jù)方式從無(wú)線模組發(fā)出,藥盒接收到控制指令后,控制驅(qū)動(dòng)芯片和舵機(jī),使電子藥盒完成響應(yīng)動(dòng)作。這些操作都是由預(yù)先編寫并燒錄在單片機(jī)中的C語(yǔ)言程序控制的。</p><p> 在整個(gè)設(shè)計(jì)中,兩個(gè)難點(diǎn)在于單片機(jī)外圍電路的設(shè)計(jì)和控制程序的編寫。如果能很好的解決這兩個(gè)方面的問(wèn)題,電子藥盒的工作應(yīng)該會(huì)比較順利。</p><p> 2 多功能電子醫(yī)藥盒設(shè)計(jì)概述</p><p>
16、;<b> 2.1設(shè)計(jì)目的</b></p><p> 隨著我國(guó)國(guó)民經(jīng)濟(jì)的發(fā)展,針對(duì)生活節(jié)奏的加快和社會(huì)老齡化的趨勢(shì),結(jié)合產(chǎn)業(yè)發(fā)展需要,設(shè)計(jì)出了多功能語(yǔ)音電子醫(yī)藥盒。</p><p> 使用多功能電子醫(yī)藥盒提高了人們的生活效率:針對(duì)年輕人,可以在忙碌的工作時(shí)提醒吃藥的時(shí)間;針對(duì)老年人,可以提醒按時(shí)吃藥、安全吃藥。</p><p> 2.2
17、設(shè)計(jì)實(shí)現(xiàn)總體功能</p><p> 采用凌陽(yáng)單片機(jī)的語(yǔ)音技術(shù),傳動(dòng)技術(shù),記憶與存儲(chǔ)技術(shù)。</p><p><b> 性能指標(biāo):</b></p><p> 1.語(yǔ)音提示后,倉(cāng)蓋開(kāi)啟和閉合的時(shí)間:1~2s;</p><p> 2.藥倉(cāng)數(shù)量:4倉(cāng)設(shè)計(jì);</p><p> 3.能根據(jù)人的提示進(jìn)行
18、藥物的選擇;</p><p> 4.人性化設(shè)計(jì)與友好的人機(jī)界面;</p><p> 5.24小時(shí)內(nèi)任意設(shè)定藥物服用提醒;</p><p> 6.語(yǔ)音互動(dòng),可以實(shí)現(xiàn)人機(jī)對(duì)話,具有小型機(jī)器人的識(shí)別能力;</p><p> 7.四倉(cāng)設(shè)計(jì),分為底倉(cāng)、固定倉(cāng)與常動(dòng)倉(cāng),介紹如下:</p><p> 底倉(cāng):為藥物備用倉(cāng);&
19、lt;/p><p> 固定倉(cāng):針對(duì)家庭中常常需要服用藥物的人所設(shè)計(jì),服藥時(shí)間、數(shù)量等可進(jìn)行自行設(shè)定。</p><p> 常動(dòng)倉(cāng)(分兩層):針對(duì)生活中的易發(fā)性疾病所設(shè)計(jì),服藥時(shí)間、數(shù)量等可進(jìn)行自行設(shè)定,具備語(yǔ)音識(shí)別功能,可根據(jù)語(yǔ)音提示,自動(dòng)進(jìn)行藥物的選擇。</p><p> 8.具有時(shí)間的記憶功能。</p><p> 3 系統(tǒng)總體設(shè)計(jì)方案&
20、lt;/p><p> 3.1設(shè)計(jì)總體功能圖</p><p><b> 3.2功能描述</b></p><p> 3.2.1按鍵功能描述</p><p> 時(shí)間調(diào)整鍵:可對(duì)現(xiàn)在時(shí)間及設(shè)定時(shí)間進(jìn)行調(diào)整,可實(shí)現(xiàn)5路定時(shí)提醒:對(duì)于時(shí)間調(diào)整,可進(jìn)行年月日小時(shí)分的設(shè)定。</p><p> 設(shè)定藥物鍵:通
21、過(guò)此鍵可進(jìn)行服藥位置、時(shí)間及數(shù)量(最大為4)的設(shè)定,對(duì)于服藥位置,可進(jìn)行層數(shù)(最大為3)與格數(shù)(最大為6)的設(shè)定。</p><p> 采用默認(rèn)鍵:通過(guò)此鍵無(wú)需設(shè)定,即可享用標(biāo)準(zhǔn)方案:位置:一層2格;時(shí)間:早上8時(shí),數(shù)粒:2粒。</p><p> 3.2.2定時(shí)的開(kāi)啟</p><p> 當(dāng)時(shí)鐘計(jì)時(shí)達(dá)到預(yù)定時(shí)間,液晶自動(dòng)顯示藥品位置、種類及服用量,語(yǔ)音播報(bào)液晶屏上
22、顯示的信息。同時(shí),單片機(jī)控制直流電機(jī)迅速轉(zhuǎn)動(dòng),自動(dòng)開(kāi)啟藥盒。3.2.3系統(tǒng)硬件設(shè)計(jì)方案</p><p> 根據(jù)需要,系統(tǒng)硬件擬使用兩塊PCB板設(shè)計(jì)。其中一塊為語(yǔ)音遙控器,用于搭載凌陽(yáng)SPCE061A單片機(jī)、電源電路、音頻電路、I/O電路等外圍電路。另一塊為車體控制板,用于搭載接口電路,電源電路及電機(jī)驅(qū)動(dòng)。</p><p> 調(diào)整“現(xiàn)在時(shí)間”及定時(shí):1)接通電源時(shí)為默認(rèn)狀態(tài);2)當(dāng)前時(shí)間
23、顯示:12:00;3)定時(shí)顯示:08:00;4)數(shù)量顯示:2粒;5)當(dāng)前位置顯示:第一層。</p><p> 3.2.4 遙控器硬件設(shè)計(jì)方案</p><p> 在無(wú)線語(yǔ)音遙控智能電子醫(yī)藥盒的設(shè)計(jì)中,凌陽(yáng)SPCEO61A單片機(jī)作為遙控器的主控制器,需要增加一系列的外圍電路的支持才能實(shí)現(xiàn)音頻輸入輸出和識(shí)別,以及語(yǔ)音命令的輸出等功能。需要增加的外圍電路有:電源電路、MIC輸入電路、音頻輸出電
24、路、無(wú)線傳輸電路、復(fù)位電路、I/O接口電路。 </p><p><b> 1.電源電路</b></p><p> 凌陽(yáng)SPCE061A單片機(jī)內(nèi)核電源電壓要求為3.3V,其他邏輯器件要求5V供電,設(shè)計(jì)中采用DC9V供電,直流電壓先通過(guò)LM7805得到5V直流電源為邏輯電路供電,然后通過(guò)SPY0029穩(wěn)壓到3.3V,為整個(gè)單片機(jī)內(nèi)核供電。另外,在LM7805的前端入一
25、個(gè)二極管,目的在于防止電源接反而對(duì)整個(gè)電路造成損壞。電路如圖3-1所示。</p><p><b> 圖</b></p><p><b> 3-1 電源電路</b></p><p><b> 2.音頻電路</b></p><p><b> 1)MIC輸入電路&l
26、t;/b></p><p> 在使用SPCE061A的語(yǔ)音訓(xùn)練和聲音控制的時(shí)候,需要使用MIC輸入電路將語(yǔ)音信號(hào)接收,并傳送至SPCE061A進(jìn)行處理。為提高輸入的聲音質(zhì)量,MIC輸入電路還應(yīng)具備一定的濾波降噪功能。電路中的∏性濾波器就能很好的實(shí)現(xiàn)這個(gè)功能。同時(shí)使入電路可以實(shí)現(xiàn)自動(dòng)增益(AGC)控制。原理如圖3-2其中X1是語(yǔ)音的MIC輸入端。</p><p> 圖3-2 MIC
27、輸入電路</p><p><b> 2)DAC輸出電路</b></p><p> 在語(yǔ)音訓(xùn)練的過(guò)程中,凌陽(yáng)SPCE061A需要輸出信號(hào)提示音,以讓訓(xùn)練者了解其工作狀態(tài),方便進(jìn)行語(yǔ)音訓(xùn)練。另外還要播報(bào)藥盒的工作狀態(tài)。SPCE061A自帶雙通道DAC音頻輸出, DAC1、DAC2轉(zhuǎn)換輸出的模擬量電流信號(hào)分別通過(guò)DAC1和DAC2管腳輸出, DAC輸出為電流型輸出,所以
28、DAC輸出經(jīng)過(guò)SPY0030音頻放大,以驅(qū)動(dòng)喇叭放音。這為單片機(jī)的音頻設(shè)計(jì)提供了極大方便。原理圖如圖4.3。在P9上接一個(gè)2pin的插針外接喇叭,即可實(shí)現(xiàn)提示語(yǔ)音輸出功能。DAC電路中,SPY0030是凌陽(yáng)的一款音頻放大芯片,相當(dāng)于LM386,但是它比LM386音質(zhì)好,可以工作在2.4-6.0V范圍內(nèi),最大輸出功率可達(dá)700mW。</p><p> 圖3-3 DAC輸出電路</p><p&g
29、t;<b> 3.I/O接口電路</b></p><p> 接口電路凌陽(yáng)SPCE061A的兩路16位I/O接口引出,因?yàn)橐话氵壿嬰娐范际?位并行總線,所以SPCE061A的I/O接口分為4組,每組8個(gè)端口加兩個(gè)電源線,電源電壓可由雙刀雙擲選擇為3.3V或5V。另外,串口和IOB7及IOB10復(fù)用,在此設(shè)計(jì)中用該資源將語(yǔ)音命令傳輸給串口nRF2401模組進(jìn)行無(wú)線發(fā)射。原理圖如圖3-4。&l
30、t;/p><p> 圖3-4 I/O接口電路</p><p><b> 4.復(fù)位電路</b></p><p> 在一些情況下,需要對(duì)SPCE061A進(jìn)行硬件復(fù)位,有阻容電路完成上電復(fù)位功能,通電就自動(dòng)復(fù)位,另外,還可以按鍵外部復(fù)位,原理圖如圖4.5。
31、 </p><p> 圖 3-5 復(fù)位電路</p><p> 3.3產(chǎn)品使用注意事項(xiàng)</p><p> 1.在使用本產(chǎn)品時(shí)禁止藥物混放,同時(shí),若在已放過(guò)藥物的小格重新裝藥時(shí),及時(shí)清洗小格,保證小格干凈清潔,防止藥物污染。</p><p> 2.本產(chǎn)品應(yīng)放在小孩接觸范圍
32、之外。</p><p> 3.本產(chǎn)品應(yīng)在遮光,通風(fēng),干燥處保存。</p><p> 4 主要系統(tǒng)芯片及功能介紹</p><p> 4.1凌陽(yáng)單片機(jī)的選擇</p><p> MCS-51單片機(jī)+語(yǔ)音芯片的不足:</p><p> 1.集成性較低:MCS-51單片機(jī)與語(yǔ)音芯片之間的連線與外圍器件較多;</p
33、><p> 2.可編程性差,較難理解:在看懂時(shí)序圖的前提下才能理解其工作原理;</p><p><b> 3.語(yǔ)音效果一般;</b></p><p> 4.性價(jià)比較低,不易于接受和推廣。</p><p><b> 凌陽(yáng)單片機(jī)的優(yōu)點(diǎn):</b></p><p> 1.集成性
34、好,語(yǔ)音信號(hào)的實(shí)時(shí)采集:采用模塊式集成結(jié)構(gòu),片內(nèi)集成了2KB RAM、32KB Flash、ADC、DAC、并行I/O等,特別適合語(yǔ)音信號(hào)處理;</p><p> 2.可編程性好:2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器,14個(gè)中斷源,可以通過(guò)定時(shí)器、外部時(shí)鐘輸入、鍵喚醒等;</p><p> 3.語(yǔ)音效果好:7通道10位ADC,內(nèi)置麥克風(fēng)放大和自動(dòng)增益控制功能;</p><
35、p> 4.性價(jià)比高,易于接受和推廣。 </p><p> 4.2主要性能特點(diǎn)分析</p><p><b> 電子醫(yī)藥盒的不足:</b></p><p> 1.人的提示進(jìn)行藥物的選擇;</p><p> 2.按鍵設(shè)定,設(shè)置定時(shí)操作麻煩;</p><p> 3.總體性能比較單一。&l
36、t;/p><p> 多功能電子醫(yī)藥盒的特點(diǎn):</p><p> 1.能根據(jù)人的提示進(jìn)行藥物的選擇;</p><p> 2.人性化設(shè)計(jì)與友好的人機(jī)界面;</p><p> 3.24小時(shí)內(nèi)任意設(shè)定藥物服用提醒;</p><p> 4.語(yǔ)音互動(dòng),可以實(shí)現(xiàn)人機(jī)對(duì)話,具有小型機(jī)器人的識(shí)別能力;</p><
37、;p> 5.四倉(cāng)設(shè)計(jì),分為底倉(cāng)、固定倉(cāng)與常動(dòng)倉(cāng),介紹如下:</p><p> a)底倉(cāng):為藥物備用倉(cāng);</p><p> b)固定:倉(cāng)針對(duì)家庭中常常需要服用藥物的人所設(shè)計(jì),服藥時(shí)間、數(shù)量等可進(jìn)行自行設(shè)定。</p><p> c)常動(dòng)倉(cāng)(分兩層):針對(duì)生活中的易發(fā)性疾病所設(shè)計(jì),服藥時(shí)間、數(shù)量等可進(jìn)行自行設(shè)定,具備語(yǔ)音識(shí)別功能,可根據(jù)語(yǔ)音提示,自動(dòng)進(jìn)行藥物
38、的選擇。</p><p> 具有時(shí)間的記憶功能:</p><p> 用戶在吃藥的第一天或前幾天大多會(huì)記得按時(shí)吃藥,用戶在吃藥同時(shí)按動(dòng)一下智能藥盒上設(shè)定好的按鍵,智能藥盒就自動(dòng)記住這個(gè)時(shí)間,以后每天同樣的時(shí)間就會(huì)響鈴、閃光和語(yǔ)音提示說(shuō)話(hello,remember me)提醒用戶吃藥,每天如此。</p><p> 4.3系統(tǒng)主控制芯片及部件介紹</p&g
39、t;<p> 4.3.1無(wú)線語(yǔ)音遙控器主控制器SPCE061A介紹</p><p> 經(jīng)過(guò)上述討論,實(shí)現(xiàn)聲音智能控制功能最理想的控制芯片為臺(tái)灣凌陽(yáng)科技推出的SOPC(System On Programmable Chip)級(jí)16位MCU-DSP混合處理器SPCE061A作為處理語(yǔ)音指令的控制芯片,其兼有微處理器,數(shù)字信號(hào)處理器,存儲(chǔ)器的三重功能,具有豐富的片上系統(tǒng)資源。凌陽(yáng)SPCE061A具有μ
40、’nSP?的指令系統(tǒng)提供具有較高運(yùn)算速度的16位*16位的乘法運(yùn)算指令和內(nèi)積運(yùn)算指令,增添了DSP功能,使得μ’nSPTM系列運(yùn)用在復(fù)雜的數(shù)字信號(hào)處理方面既很便利,又比專用的DSP芯片廉價(jià)。凌陽(yáng)內(nèi)嵌32K字的Flash和2K字的SRAM,ROM和RAM統(tǒng)一編址,屬于馮諾依曼結(jié)構(gòu)計(jì)算機(jī),這樣的設(shè)計(jì)在制作中方便了對(duì)語(yǔ)音指令的壓縮和存儲(chǔ)。實(shí)物如圖4-1。</p><p> 圖4-1 凌陽(yáng)SPCE061A單片機(jī)
41、 圖4-2 ATMEGA16L管腳圖 </p><p> SPCE061A的主要性能:</p><p> 1.16位μ’nSP?核心高檔微控制器;</p><p> 2.工作電壓
42、:VVD為2.6V-3.6V(CPU),VDDH為VDD-5.5V(I/O);</p><p> 3.CPU時(shí)鐘:0.32MHz-49.152MHz;</p><p> 4.內(nèi)置2K字SRAM;</p><p> 5.內(nèi)置32K字FLASH;</p><p> 6.可編程音頻控制器;</p><p><b
43、> 7.晶體振蕩器;</b></p><p> 8.系統(tǒng)處于設(shè)備狀態(tài)。耗電小雨2mA 3.6V;</p><p> 9.2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);</p><p> 10.2個(gè)10位DAC;</p><p> 11.32位通用可編程輸入/輸出端口;</p><p&
44、gt; 12.14個(gè)中斷源可來(lái)自定時(shí)器A/B,時(shí)基,2個(gè)外部時(shí)鐘源輸;</p><p> 13.具備觸鍵喚醒功能;</p><p> 14.使用凌陽(yáng)音頻編碼SACM_S240方式(2.4Kbps),能容納210s的語(yǔ)音數(shù)據(jù);</p><p> 15.鎖相環(huán)PLL振蕩器提供系統(tǒng)時(shí)鐘信號(hào);</p><p> 16.32768Hz實(shí)時(shí)時(shí)鐘
45、;</p><p> 17.7通道10位電壓數(shù)模轉(zhuǎn)換器(ADC)和單通道聲音模數(shù)轉(zhuǎn)換器;</p><p> 18.聲音模數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制(AGC)功能;</p><p> 19.具備串口設(shè)備接口;</p><p> 20.具有低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(cè)(LVD)功能;</p>&l
46、t;p> 21.內(nèi)置在線仿真電路ICE(In-Circuit Emulator);</p><p> 22.具有保密能力;</p><p> 23.具有Watch Dog功能。</p><p> 主控制器ATMEGA16L的介紹</p><p> AVR內(nèi)核具有豐富的指令集和32個(gè)通用工作寄存器。所有的寄存器都直接與算邏單元(
47、ALU) 相連接,使得一條指令可以在一個(gè)時(shí)鐘周期內(nèi)同時(shí)訪問(wèn)兩個(gè)獨(dú)立的寄存器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的CISC 微控制器最高至10倍的數(shù)據(jù)吞吐率。管腳圖如圖3.2。</p><p> ATmega16L有如下特點(diǎn):</p><p> 1.16K字節(jié)的系統(tǒng)內(nèi)可編程Flash(具有同時(shí)讀寫的能力,即RWW);</p><p> 2.512 字節(jié)E
48、EPROM,1K 字節(jié)SRAM;</p><p> 3.32 個(gè)通用I/O 口線;</p><p> 4.32 個(gè)通用工作寄存器; </p><p> 5.用于邊界掃描的JTAG 接口,支持片內(nèi)調(diào)試與編程;</p><p> 6.三個(gè)具有比較模式的靈活的定時(shí)器/ 計(jì)數(shù)器(T/C);</p>&
49、lt;p> 7.片內(nèi)/外中斷,片內(nèi)經(jīng)過(guò)標(biāo)定的RC 振蕩器;</p><p> 8.可編程串行USART,有起始條件檢測(cè)器的通用串行接口;</p><p> 9.8路10位具有可選差分輸入級(jí)可編程增益(TQFP 封裝) 的ADC;</p><p> 10.具有片內(nèi)振蕩器的可編程看門狗定時(shí)器;</p><p> 11.一個(gè)SPI
50、串行端口;</p><p> 12.四通道PWM,兩路8位,兩路16位;</p><p> 13.六個(gè)可以通過(guò)軟件進(jìn)行選擇的省電模式:空閑模式、ADC 噪聲抑制模式;</p><p> 14.省電模式、掉電模式、Standby 模式以及擴(kuò)展的Standby 模式</p><p> 15.速度等級(jí):0 - 8 MHz;</p>
51、;<p> 16.工作電壓:2.7 - 5.5V。</p><p> 4.3.2直流電機(jī)驅(qū)動(dòng)芯片L298N的介紹</p><p> L298N是ST公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動(dòng)芯片。該芯片的主要特點(diǎn)是:工作電壓高,最高工作電壓可達(dá)46V;輸出電流大,瞬間峰值電流可達(dá)3A,持續(xù)工作電流為2A;內(nèi)含兩個(gè)H橋的高電壓大電流全橋式驅(qū)動(dòng)器,可以用來(lái)驅(qū)動(dòng)直流電動(dòng)機(jī)和步進(jìn)電動(dòng)
52、機(jī)、繼電器、線圈等感性負(fù)載;采用標(biāo)準(zhǔn)TTL邏輯電平信號(hào)控制;具有兩個(gè)使能控制端,在不受輸入信號(hào)影響的情況下允許或禁止器件工作;有一個(gè)邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可以外接檢測(cè)電阻,將變化量反饋給控制電路。其管腳圖和實(shí)物圖分別如圖4-1、圖4-2所示,管腳功能如表4-3所示。 </p><p> 圖4-1 L298N管腳圖
53、 圖4-2 L298N實(shí)物圖</p><p> 表4-2 L298N引腳功能表</p><p> 4.3.3無(wú)線語(yǔ)音遙控器中SPCE061A的功能</p><p> 在本次設(shè)計(jì)中,關(guān)鍵地問(wèn)題之一在于人聲的A/D轉(zhuǎn)換存儲(chǔ)與識(shí)別,SPCE061A提供了語(yǔ)音輸入壓縮以及辨識(shí)的先進(jìn)技術(shù)。</p><p> 1
54、. 語(yǔ)音指令的輸入。凌陽(yáng) SPCE061A利用麥克風(fēng)的指令輸入系統(tǒng),SPCE061A內(nèi)置由D/A轉(zhuǎn)換器 DACO和逐次逼近寄存器SAR組成的逐次逼近式8通道10位A/D轉(zhuǎn)換器,以及采樣/保持電路。其中7個(gè)通道用于將模擬量信號(hào)(電壓信號(hào))轉(zhuǎn)換為數(shù)字量信號(hào),可以直接通過(guò)引線(IOA 0-IOA 6)輸人(Line_Inl-Line_ln7)另外一個(gè)通道只用于語(yǔ)音輸人,即通過(guò)內(nèi)置自動(dòng)增益控制放大器的麥克風(fēng)通道(MIC-In)輸人,是語(yǔ)音采集
55、專用通道,也可設(shè)置為普通A/D輸入。</p><p> 2.語(yǔ)音指令的訓(xùn)練。語(yǔ)音遙控器作為機(jī)器,一定是不能先天理解人類的語(yǔ)言的,所以,必須教會(huì)它人類語(yǔ)言的含義。即語(yǔ)音訓(xùn)練,內(nèi)容是將人類的語(yǔ)言事先已訓(xùn)練的方式經(jīng)過(guò)模數(shù)轉(zhuǎn)換存儲(chǔ)在凌陽(yáng)SPCE061A的FLASH中,并指定每一條語(yǔ)音所要指向的操作,以便在日后的使用中將采集來(lái)的語(yǔ)音與存儲(chǔ)的語(yǔ)音相比對(duì),以確定單片機(jī)需要進(jìn)行的操作。</p><p>
56、 凌陽(yáng)SPCE061A對(duì)于不同的辨識(shí)能力提供以下兩種語(yǔ)音訓(xùn)練方式:</p><p> 1)特定發(fā)音人識(shí)別SD(Speaker Dependent),是指語(yǔ)音樣板由單個(gè)人訓(xùn)練,可用于語(yǔ)音提示,而DVR用來(lái)錄音和放音;</p><p> 2)非特定發(fā)音人識(shí)別SI(Speaker Independert)。是指語(yǔ)音樣板由不同年齡、不同性別、不同口音的人訓(xùn)練,可以識(shí)別一群人的命令;</
57、p><p> 在本次設(shè)計(jì)中,需要向小車訓(xùn)練:向前、向后、左轉(zhuǎn)、右轉(zhuǎn)、停止等幾項(xiàng)語(yǔ)音指令,以供控制小車時(shí)的辨識(shí)使用。</p><p> 值得注意的是,使用非特定發(fā)音人識(shí)別需要利用大量的DVR存儲(chǔ)不同人訓(xùn)練的語(yǔ)音,但是凌陽(yáng)SPCE061A并不能提供大量的內(nèi)存空間供存儲(chǔ)使用,由于設(shè)計(jì)條件有限,無(wú)法擴(kuò)展必要的存儲(chǔ)芯片完成存儲(chǔ)語(yǔ)音的功能,故選擇使用特定發(fā)音人識(shí)別。其訓(xùn)練具體流程參看后文內(nèi)容。<
58、/p><p> 3.對(duì)訓(xùn)練的語(yǔ)音指令的存儲(chǔ)。將經(jīng)A/D轉(zhuǎn)換后的數(shù)據(jù)壓縮存儲(chǔ),SPCEO61A單片機(jī)的16位DSP有很強(qiáng)的信息處理能力,最高時(shí)鐘頻率達(dá)49.152 MHz,具備運(yùn)算速度高等優(yōu)勢(shì)。這些為語(yǔ)音的錄放、合成及辨識(shí)提供了條件。凌陽(yáng)壓縮算法中DVR可用于錄、放音。語(yǔ)音的編碼、存儲(chǔ)、解碼處理是通過(guò)操作麥克風(fēng)輸人所生成的WAVE文件完成的,但在這個(gè)環(huán)節(jié)上會(huì)出現(xiàn)的一個(gè)問(wèn)題為其占用的存儲(chǔ)空間很大,對(duì)SPCEO61A單片
59、機(jī)的32K FLASH來(lái)說(shuō)想要存儲(chǔ)大量的信息顯然是不可能的。而SPCE061A提出了解決方法:SACMV25.LIB。該庫(kù)將A/D、編碼、解碼、存儲(chǔ)及D/A做成相應(yīng)的模塊,對(duì)于每個(gè)模塊都有其應(yīng)用程序接口API,所以只須了解每個(gè)模塊所要實(shí)現(xiàn)的功能及其參數(shù)的內(nèi)容,然后調(diào)用該API函數(shù)即可實(shí)現(xiàn)相應(yīng)功能。在進(jìn)行A/D轉(zhuǎn)換之前,從MIN_IN輸入的模擬信號(hào)要經(jīng)過(guò)緩沖器和放大器,AGC功能將通過(guò)MIC——IN通道輸入的模擬信號(hào)放大值控制在一定范圍內(nèi)
60、,然后放大信號(hào)經(jīng)采樣-保持模塊送入比較器參與A/D轉(zhuǎn)換值得確定。</p><p> 4. SPCE061A的語(yǔ)音辨識(shí)。語(yǔ)音辨識(shí)是一種以語(yǔ)音模型為指令基礎(chǔ)的控制方式,語(yǔ)音模型的質(zhì)量直接影響辨識(shí)操作的速度和準(zhǔn)確率。具體步驟是經(jīng)過(guò)兩次語(yǔ)音采集,即訓(xùn)練和發(fā)布指令。系統(tǒng)經(jīng)復(fù)雜的函數(shù)操作將發(fā)布指令與預(yù)先訓(xùn)練的一音模型進(jìn)行比對(duì),如與語(yǔ)音模型相匹配,則輸出控制信號(hào)。具體原理如圖4-3。</p><p>
61、 圖 4-3 語(yǔ)音辨識(shí)原理簡(jiǎn)圖</p><p> 凌陽(yáng)16位微處理器的SPCE061A核心實(shí)現(xiàn)與計(jì)算機(jī)連接采用有線方案,通過(guò)并口將預(yù)先設(shè)計(jì)的小車控制程序燒寫到SPCE061A單片機(jī),以識(shí)別各種語(yǔ)音指令.系統(tǒng)的處理過(guò)程為:當(dāng)向控制器發(fā)出語(yǔ)音命令時(shí),聲波通過(guò)MIC輸入,將相應(yīng)的信號(hào)傳遞到SPCE061A處理芯片,在芯片中通過(guò)相關(guān)的程序與預(yù)先訓(xùn)練好的語(yǔ)音模型進(jìn)行比較、識(shí)別及處理,根據(jù)識(shí)別的結(jié)果進(jìn)行判斷、轉(zhuǎn)換,然后發(fā)
62、出相應(yīng)的控制指令到無(wú)線模組,無(wú)線發(fā)送語(yǔ)音指令。</p><p> 圖 4-4 語(yǔ)音辨識(shí)流程</p><p> 使用特定人語(yǔ)音辨識(shí)的語(yǔ)音樣板由單個(gè)人訓(xùn)練和識(shí)別處理組成,如圖3.8。</p><p> 值得注意的是,凌陽(yáng)SPCEO61A在接收到控制語(yǔ)音指令后,并不是直接用其進(jìn)行辨識(shí)。</p><p> 為了提辨識(shí)的正確率,語(yǔ)音信號(hào)要經(jīng)過(guò)語(yǔ)
63、音識(shí)別電路,將語(yǔ)音信號(hào)經(jīng)過(guò)濾波器降噪、加重等處理后進(jìn)行預(yù)測(cè)、量化等一系列操作進(jìn)行模數(shù)轉(zhuǎn)換,以數(shù)字形式進(jìn)行過(guò)零次數(shù)能量相關(guān)函數(shù)等方法進(jìn)行匹配運(yùn)算,輸出辨識(shí)結(jié)果。</p><p> 5.語(yǔ)音指令的發(fā)送和回應(yīng)。在對(duì)遙控器發(fā)出語(yǔ)音指令后凌陽(yáng)SPCEO61A將人發(fā)出的。</p><p> 指令與訓(xùn)練時(shí)的音頻進(jìn)行辨識(shí)后確定指令,由串口無(wú)線模組nRF2401發(fā)射。車上控制器接收到相應(yīng)指令后,設(shè)置動(dòng)作
64、標(biāo)志位,返回回應(yīng)數(shù)據(jù),同時(shí)控制L298N和舵機(jī),使藥盒做出開(kāi)倉(cāng)閉倉(cāng)的動(dòng)作。SPCE061A接收到響應(yīng)數(shù)據(jù)后,可知電子藥盒已經(jīng)響應(yīng)了語(yǔ)音指令,便語(yǔ)音播報(bào)當(dāng)前電子藥盒的響應(yīng)。</p><p> 5 軟件設(shè)計(jì)部分及方案</p><p> 5.1凌陽(yáng)SPCE061A單片機(jī)指令系統(tǒng)與開(kāi)發(fā)環(huán)境</p><p> 凌陽(yáng)SPCEO61A單片機(jī)采用μ’nSP?內(nèi)核指令系統(tǒng)的程序
65、設(shè)計(jì)支持匯編語(yǔ)言和C語(yǔ)言編寫。在編程中也可以使用匯編偽指令,這樣能使句子所表達(dá)的意思的結(jié)構(gòu)更加清晰,能夠增強(qiáng)可讀性,使匯編器的編譯效率提高。μ’nSP?內(nèi)核對(duì)支持ANSI-C中使用的基本數(shù)據(jù)類型,并且可以在C程序中調(diào)用匯編函數(shù)提高代碼效率,并使其具有較好的實(shí)時(shí)性。聲控小車的各種動(dòng)作,以及指令以及工作方式都要通過(guò)C語(yǔ)言與匯編語(yǔ)言編寫,并進(jìn)行摸擬,調(diào)試等操作。為減少繁瑣的堆棧操作和提高程序可讀性,在本次設(shè)計(jì)中采用C語(yǔ)言編寫辨識(shí)程序。<
66、/p><p> 在編程工作結(jié)束后,將會(huì)對(duì)聲控小車進(jìn)行程序的輸入。使用凌陽(yáng)科技提供的一個(gè)集成開(kāi)發(fā)環(huán)境μ’nSP? IDE,它能完成程序的編輯、編譯、鏈接、調(diào)試和仿真等功能。使用它的的軟件仿真功能可以在不連接仿真板的情況下通過(guò)模擬硬件的部分功能來(lái)調(diào)試程序。并使用在線調(diào)試器PROBE對(duì)SPCEO61A程序進(jìn)行寫入,它既是一個(gè)程序燒寫器人又是一個(gè)實(shí)時(shí)在線調(diào)試器。它利用了SPCE06lA片內(nèi)置的在線仿真電路ICE(In-Ci
67、rcuit Emulator)接口和凌陽(yáng)公司的在線串行編程技術(shù)。PROBE工作于凌陽(yáng)IDE集成開(kāi)發(fā)環(huán)境軟件包下,其5芯的仿真頭直接連接到目標(biāo)電路板上SPCEO61A相應(yīng)引腳,直接對(duì)目標(biāo)電路板上的SPCEO61A調(diào)試,運(yùn)行編寫好的程序。PROBE的另一頭是標(biāo)準(zhǔn)25針打印機(jī)接口,直接連接到計(jì)算機(jī)打印口與微機(jī)通信,在計(jì)算機(jī)IDE集成開(kāi)發(fā)環(huán)境軟件包下,實(shí)現(xiàn)在線調(diào)試。</p><p> 圖5-6 計(jì)算機(jī),PROBE和用戶
68、目標(biāo)板三者之間的連接示意圖</p><p> 5.2 ATMEGA16L單片機(jī)指令系統(tǒng)與開(kāi)發(fā)環(huán)境</p><p> 為了獲得最高的性能以及并行性, AVR 采用了Harvard 結(jié)構(gòu),具有獨(dú)立的數(shù)據(jù)和程序總線。程序存儲(chǔ)器里的指令通過(guò)一級(jí)流水線運(yùn)行。CPU 在執(zhí)行一條指令的同時(shí)讀取下一條指令( 在本文稱為預(yù)取)。這個(gè)概念實(shí)現(xiàn)了指令的單時(shí)鐘周期運(yùn)行。程序存儲(chǔ)器是可以在線編程的FLASH。A
69、VRStudio是Atmel公司推出的AVR單片機(jī)集成開(kāi)發(fā)環(huán)境。能運(yùn)行于Windows9x/ME/NT/2000/XP等操作系統(tǒng)平臺(tái)下。它提供了源文件的編輯器,用于軟件仿真的芯片仿真器和在線硬件仿真(ICE)的接口。源程序的編輯可采用匯編語(yǔ)言,其匯編級(jí)編譯器(AVR Assembler)是免費(fèi)提供的。AVRStudio也可采用C語(yǔ)言編程,支持第三方C編譯器。AVRStudio還集成有軟件調(diào)試(AVR Studio)和實(shí)時(shí)在線仿真器(JT
70、AG ICE)以及AVRProg下載等功能。目前,ARTMEL公司所發(fā)布的最新版本為AVR Studio4.14,可以在ATMEL公司的官方網(wǎng)站htttp://www.atmel.com下載。</p><p> 圖5-7 AVRStudio開(kāi)發(fā)</p><p><b> 結(jié) 論</b></p><p> 本次對(duì)于多功能電子醫(yī)藥盒的設(shè)
71、計(jì)采用凌陽(yáng)SPCE061A十六位單片機(jī)和AVR系列ATMEGA16L高檔8位單片機(jī)配合實(shí)現(xiàn)。SPCE061A采用μ’nSP?內(nèi)核微處理器,其內(nèi)部集成語(yǔ)音采集、識(shí)別及播放功能,并且集成了2K字的RAM、32K字的Flash,同時(shí)ATMEGA16L內(nèi)集成的1K字節(jié)的SRAM和16K字節(jié)的FLASH使得整個(gè)系統(tǒng)不需要外擴(kuò)程序存儲(chǔ)器和RAM。由于采用了高性能的MCU,省掉了大量的外圍器件,使得硬件結(jié)構(gòu)大大簡(jiǎn)化,提高了系統(tǒng)的可靠性。遙控器部分選用
72、凌陽(yáng)SPCE061A,完全取決于其高集成度和較全面的功能,不需要增加復(fù)雜的外圍電路就可以實(shí)現(xiàn)語(yǔ)音辨識(shí)和一系列職能動(dòng)作。它的軟件編程采用C和匯編混合編程來(lái)實(shí)現(xiàn),集兩種語(yǔ)言之優(yōu)點(diǎn)于一體,它們的完美結(jié)合極大限度地簡(jiǎn)化了編程過(guò)程,豐富了編程思想,給開(kāi)發(fā)者帶來(lái)了莫大的方便。采用別的單片機(jī)實(shí)現(xiàn)所有功能一般要兩個(gè)單片機(jī),硬件電路也更加復(fù)雜。若要實(shí)現(xiàn)語(yǔ)音播報(bào)功能和語(yǔ)音辨識(shí),不是多用幾個(gè)別的類型的單片機(jī)就可實(shí)現(xiàn)的,而凌陽(yáng)單片機(jī)提供了很好的語(yǔ)音播放和錄制機(jī)
73、制以及簡(jiǎn)單的API接口編程。使用SPCE061A開(kāi)發(fā)產(chǎn)品不僅給開(kāi)發(fā)者耳目一新的感覺(jué)更給用戶以</p><p> 對(duì)于無(wú)線語(yǔ)音遙控智能來(lái)講,本次設(shè)計(jì)的作品并無(wú)太大實(shí)用價(jià)值,但有很大實(shí)際意義,其中聲音控制機(jī)器操作的思路是今后簡(jiǎn)化人機(jī)接口的方向。此類構(gòu)想可移植到諸如小家電、汽車等于生活息息相關(guān)的電子產(chǎn)品上。在人類與計(jì)算機(jī)的關(guān)系日益密切的今天,更為便捷、更為人性化、更為智能化的人機(jī)對(duì)話方式無(wú)疑是今后科技發(fā)展的新趨勢(shì)。&
74、lt;/p><p> 在結(jié)束了本次畢業(yè)設(shè)計(jì)后,本人對(duì)于單片機(jī)的了解和使用能力達(dá)到了一個(gè)更高的層次,使知識(shí)得到了充分的運(yùn)用,同時(shí)也補(bǔ)充了部分沒(méi)有接觸過(guò)的思想。本人從中受益匪淺。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]劉海承等. MCU-DSP型單片機(jī)原理與應(yīng)用.北京:北京航空航天大學(xué)出版社,2003.</p&
75、gt;<p> [2]羅亞非.凌陽(yáng) 16位單片機(jī)應(yīng)用基礎(chǔ).北京:北京航空航天大學(xué)出版社,2003</p><p> [3]鄭學(xué)堅(jiān),周斌.微型計(jì)算機(jī)原理及應(yīng)用(第三版)北京:清華大學(xué)出版社,2001.</p><p> [4]歐陽(yáng)斌林,等.單片機(jī)原理與應(yīng)用.中國(guó)水利水電出版社,2001.</p><p> [5]李晶皎.嵌人式語(yǔ)音技術(shù)及凌陽(yáng)16位
76、單片機(jī)應(yīng)用.北京:北京航空航天大學(xué)出版社,2003:97~102.</p><p> [6]潘松,黃繼業(yè).EDA技術(shù)實(shí)用教程.第二版.北京:科學(xué)出版社,2005: 234~237.</p><p> [7]凌陽(yáng)科技大學(xué)計(jì)劃.凌陽(yáng)單片機(jī)在大學(xué)生電子競(jìng)賽中的應(yīng)用,第一版,北京航空航天大學(xué)出版社,2005: 175~179.</p><p> [8]劉海成,秦進(jìn)平.
77、MCU-DSP型單片機(jī)原理與應(yīng)用基于凌陽(yáng)16位單片機(jī),第一版,北京航空航天大學(xué)出版社,2006:215~216.</p><p> [9]張齊,杜群貴.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)——基于C語(yǔ)言編程,第二版,電子工業(yè)出版社,2004:191~193.</p><p> [10]侯媛彬.凌陽(yáng)單片機(jī)原理及其畢業(yè)設(shè)計(jì)精選,第一版,科學(xué)出版社,2006:33~41.</p><p
78、> [11]吳雙力,崔劍,王伯嶺.AVR-GCC與AVR單片機(jī)C語(yǔ)言開(kāi)發(fā),第一版,北京航空航天大學(xué)出版社,2004:163~169.</p><p> [12]徐煜明,韓雁.單片機(jī)原理及接口技術(shù),第一版,電子工業(yè)出版社,2005:57~58. </p><p> [13]楊西明,朱騏.單片機(jī)編程與應(yīng)用入門,第一版,機(jī)械工業(yè)出版社,2004:341~344.</p>
79、<p> [14]嚴(yán)天峰.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與仿真調(diào)試,第一版,北京航空航天大學(xué)出版社,2005:215~223.</p><p> [15]Michael A. Miller.Data and Network Communications,第一版,科學(xué)出版社,2002:145~148.</p><p><b> 附錄1:電路圖</b></p&
80、gt;<p><b> 附錄2: 程序</b></p><p> #include<reg52.h></p><p> #include<intrins.h></p><p> #define uchar unsigned char</p><p> #define uin
81、t unsigned int</p><p> //********* 延時(shí)程序 *********</p><p> void delayms(unsigned int n) //延時(shí)10×n毫秒程序</p><p><b> {</b></p><p> unsign
82、ed int i,j;</p><p> for(i=0;i<n;i++)</p><p> for(j=0;j<2000;j++);</p><p><b> }</b></p><p> void delay(unsigned int m) //延時(shí)程序</p&g
83、t;<p><b> {</b></p><p> unsigned int i,j;</p><p> for(i=0;i<m;i++)</p><p> for(j=0;j<10;j++);</p><p><b> }</b></p><
84、p> void Delay(void)</p><p><b> {</b></p><p><b> uint del;</b></p><p><b> del=800;</b></p><p> while(del--);</p><p
85、><b> }</b></p><p> void delay1ms(unsigned int count) //1MS延時(shí)子程序 </p><p><b> { </b></p><p> unsigned char i,j,k; </p><p> for(k=count;k&g
86、t;0;k--) </p><p> for(i=32;i>0;i--) </p><p> for(j=248;j>0;j--); </p><p><b> } </b></p><p> /******************語(yǔ)音模塊********************/</p>
87、<p> sbit s1=P1^3;</p><p> sbit s2=P1^4;</p><p> sbit reshi=P1^5;</p><p> void speak2(void)</p><p><b> {</b></p><p> delay1ms(50);
88、</p><p><b> s2=1;</b></p><p> delay1ms(50);</p><p><b> s2=0;</b></p><p> delay1ms(2);</p><p><b> s2=1;</b></p&g
89、t;<p><b> //s2=1;</b></p><p><b> }</b></p><p> /**************LCD液晶***************/ </p><p> #define LCD_CS_SET P1|=0x04 //CS = P1.2</p>
90、<p> #define LCD_CS_CLR P1&=0xfb</p><p> #define LCD_SCK_SET P1|=0x02 //SCK = P1.1</p><p> #define LCD_SCK_CLR P1&=0xfd</p><p> #define LCD_SDA_SET P1|= 0x01
91、 //SDA = P1.0</p><p> #define LCD_SDA_CLR P1&= 0xfe</p><p> #define LCD_SDA_IN (P1 & 0x01)</p><p> sbit key1=P3^0;//定義按鍵位置</p><p> sbit key2=P3^1;</p>
92、;<p> sbit key3=P3^2;</p><p> sbit key4=P3^3;</p><p> sbit SCK=P3^6;</p><p> sbit SDA=P3^4;</p><p> sbit RST = P3^5; // DS1302復(fù)位</p><p>
93、 /***************電機(jī)******/</p><p> unsigned char code F_Rotation[4]={0x01,0x02,0x04,0x08};//正轉(zhuǎn)表格</p><p> unsigned char code B_Rotation[4]={0x08,0x04,0x02,0x01};//反轉(zhuǎn)表格</p><p> voi
94、d Delaymotor(unsigned int i)//延時(shí)</p><p><b> {</b></p><p> while(--i);</p><p><b> }</b></p><p> void oneblock(char w)</p><p><
95、;b> {</b></p><p> unsigned char i,j;</p><p> for(j=0;j<120;j++)</p><p><b> {</b></p><p> for(i=0;i<4;i++) //4相</p><p>
96、<b> {</b></p><p><b> if(w)</b></p><p> P2=B_Rotation[i]; //輸出對(duì)應(yīng)的相 可以自行換成反轉(zhuǎn)表格</p><p><b> else</b></p><p> P2=F_Rotation[i];<
97、/p><p> Delaymotor(1000); //改變這個(gè)參數(shù)可以調(diào)整電機(jī)轉(zhuǎn)速</p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p> unsigne
98、d char l_tmpdate[7]={0,0,12,14,11,3,9};//秒分時(shí)日月周年08-05-15 12:00:00</p><p> unsigned char l_tmpdisplay[8];</p><p> code unsigned char write_rtc_address[7]={0x80,0x82,0x84,0x86,0x88,0x8a,0x8c}; /
99、/秒分時(shí)日月周年 最低位讀寫位</p><p> code unsigned char read_rtc_address[7]={0x81,0x83,0x85,0x87,0x89,0x8b,0x8d}; </p><p> unsigned char weizhi[6]={0,0,0};</p><p> unsigned char shuliang[3]=
100、{0,0,0};</p><p> unsigned char shijian[7]={0,1,12,14,11,3,9};</p><p> char a=0,f=0;</p><p> /****************************************************************************/</p&g
101、t;<p> void Write_Ds1302_Byte(unsigned char temp) </p><p><b> {</b></p><p> unsigned char i;</p><p> for (i=0;i<8;i++) //循環(huán)8次 寫入數(shù)據(jù)</p><p&g
102、t;<b> { </b></p><p><b> SCK=0;</b></p><p> SDA=temp&0x01; //每次傳輸?shù)妥止?jié) </p><p> temp>>=1; //右移一位</p><p><b> SCK=1;<
103、/b></p><p><b> }</b></p><p><b> }</b></p><p> void Write_Ds1302( unsigned char address,unsigned char dat ) </p><p><b> {</b&
104、gt;</p><p><b> RST=0;</b></p><p><b> _nop_();</b></p><p><b> SCK=0;</b></p><p><b> _nop_();</b></p><p>
105、<b> RST=1;</b></p><p> _nop_(); //啟動(dòng)</p><p> Write_Ds1302_Byte(address);//發(fā)送地址</p><p> Write_Ds1302_Byte(dat);//發(fā)送數(shù)據(jù)</p><p> RST=0; //恢復(fù)</p
106、><p><b> }</b></p><p> /****************************************************************************/</p><p> unsigned char Read_Ds1302 ( unsigned char address )</p&g
107、t;<p><b> {</b></p><p> unsigned char i,temp=0x00;</p><p><b> RST=0;</b></p><p><b> _nop_();</b></p><p><b> SCK=0;
108、</b></p><p><b> _nop_();</b></p><p><b> RST=1;</b></p><p><b> _nop_();</b></p><p> Write_Ds1302_Byte(address);</p>
109、<p> for (i=0;i<8;i++) //循環(huán)8次 讀取數(shù)據(jù)</p><p><b> {</b></p><p><b> if(SDA)</b></p><p> temp|=0x80;//每次傳輸?shù)妥止?jié)</p><p><b> SCK
110、=0;</b></p><p> temp>>=1;//右移一位</p><p><b> SCK=1;</b></p><p><b> } </b></p><p><b> RST=0;</b></p><p>
111、; _nop_();//以下為DS1302復(fù)位的穩(wěn)定時(shí)間</p><p><b> RST=0;</b></p><p><b> SCK=0;</b></p><p><b> _nop_();</b></p><p><b> SCK=1;</
112、b></p><p><b> _nop_();</b></p><p><b> SDA=0;</b></p><p><b> _nop_();</b></p><p><b> SDA=1;</b></p><p&g
113、t;<b> _nop_();</b></p><p> return (temp);//返回</p><p><b> }</b></p><p> /****************************************************************************/&
114、lt;/p><p> void Read_RTC(void)//讀取 日歷</p><p><b> {</b></p><p> unsigned char i,*p;</p><p> p=read_rtc_address; //地址傳遞</p><p> for(i=0;i<
115、;7;i++)//分7次讀取 秒分時(shí)日月周年</p><p><b> {</b></p><p> l_tmpdate[i]=Read_Ds1302(*p);</p><p><b> p++;</b></p><p><b> }</b></p>
116、<p><b> }</b></p><p> /***********************************************************************/</p><p> void Set_RTC(void)//設(shè)定 日歷</p><p><b> {</b>
117、</p><p> unsigned char i,*p,tmp;</p><p> for(i=0;i<7;i++){ //BCD處理</p><p> tmp=l_tmpdate[i]/10;</p><p> l_tmpdate[i]=l_tmpdate[i]%10;</p><p&
118、gt; l_tmpdate[i]=l_tmpdate[i]+tmp*16;</p><p><b> }</b></p><p> Write_Ds1302(0x8E,0X00);</p><p> p=write_rtc_address;//傳地址</p><p> for(i=0;i<7;i++)
119、//7次寫入 秒分時(shí)日月周年</p><p><b> {</b></p><p> Write_Ds1302(*p,l_tmpdate[i]);</p><p><b> p++; </b></p><p><b> }</b></p><p
120、> Write_Ds1302(0x8E,0x80);</p><p><b> }</b></p><p> //********* 發(fā)送字節(jié) *********</p><p> void send_byte( uchar s_data )</p><p><b> {</b>&
121、lt;/p><p><b> uchar i;</b></p><p> LCD_SCK_CLR;</p><p> for( i=0; i<8; i++ )</p><p><b> {</b></p><p> if( s_data & 0x80 )
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文——多功能電子醫(yī)藥盒
- 多功能電子醫(yī)藥盒---開(kāi)題報(bào)告
- 多功能數(shù)字電子鐘畢業(yè)設(shè)計(jì)論文
- 多功能數(shù)字電子鐘畢業(yè)設(shè)計(jì)論文
- 電子畢業(yè)設(shè)計(jì)---多功能電子時(shí)鐘
- 多功能電子表畢業(yè)設(shè)計(jì)
- 多功能電子時(shí)鐘畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文 單片機(jī)多功能電子鐘設(shè)計(jì)
- 單片機(jī)多功能電子鐘畢業(yè)設(shè)計(jì)論文
- 單片機(jī)多功能電子鐘畢業(yè)設(shè)計(jì)論文
- 單片機(jī)多功能數(shù)字電子時(shí)鐘設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 多功能工業(yè)控制平臺(tái)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)(論文)多功能健身器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)多功能粉碎機(jī)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---多功能電子密碼鎖設(shè)計(jì)報(bào)告
- 多功能電子時(shí)鐘設(shè)計(jì)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)論文終稿 多功能電子詞典的設(shè)計(jì)與實(shí)現(xiàn)
- proteus多功能電子計(jì)價(jià)秤的畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文—多功能數(shù)字鐘的設(shè)計(jì)論文
- 多功能椅子設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
評(píng)論
0/150
提交評(píng)論