基于語音技術(shù)的智能家居系統(tǒng)的設(shè)計(jì)畢業(yè)論文_第1頁
基于語音技術(shù)的智能家居系統(tǒng)的設(shè)計(jì)畢業(yè)論文_第2頁
基于語音技術(shù)的智能家居系統(tǒng)的設(shè)計(jì)畢業(yè)論文_第3頁
基于語音技術(shù)的智能家居系統(tǒng)的設(shè)計(jì)畢業(yè)論文_第4頁
基于語音技術(shù)的智能家居系統(tǒng)的設(shè)計(jì)畢業(yè)論文_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 學(xué) 院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)設(shè)計(jì)題目:設(shè)計(jì)題目:基于語音技術(shù)的智能家居系統(tǒng)的設(shè)計(jì) 系系 別:別: 信息工程系 班班 級:級: 11 通信(1)班 姓姓 名:名: 指指 導(dǎo)導(dǎo) 教教 師:師: 2 0 1 5 年6 月2 日基于語音技術(shù)的智能家居系統(tǒng)的設(shè)計(jì)摘摘 要要不管人們身處何地,不管人們身在何時(shí),快節(jié)奏的生活是共同的特征,智能化的生活環(huán)境成了每一個(gè)人的追求。毫無疑問,智能家居系統(tǒng)的出現(xiàn)最符合人們對居住環(huán)境的要求。智能家居是現(xiàn)代電子技術(shù)、通訊技術(shù)及自動化技術(shù)相結(jié)合的產(chǎn)物。不管人們在哪里,不管人們在做什么,都可以隨時(shí)知道家庭中各電器的情況,同時(shí)也可以控制它們的開啟或關(guān)閉。語音識別技術(shù)是智能家居

2、的一種不可缺少的技術(shù)。包含信號處理、模式識別和人工智能等領(lǐng)域。智能家居是新生的一個(gè)智能化的系統(tǒng),本設(shè)計(jì)模擬了智能家居的工作過程。本設(shè)計(jì)中所利用的技術(shù)有語音識別技術(shù)和紅外遙控技術(shù)。同時(shí)以 51 單片機(jī)作為整個(gè)設(shè)計(jì)的核心,以它來控制整個(gè)系統(tǒng)。智能家居讓人們有了一個(gè)便捷、舒適的生活環(huán)境,同時(shí)使人們的生活水平有了一定的提高。在一定程度上,也保障了人們的生命財(cái)產(chǎn)安全。可以讓人們很放心的去做自己想做的事情。關(guān)鍵詞:關(guān)鍵詞:智能家居 51 單片機(jī) 語音識別 紅外遙控Design of Intelligent Home Furnishing System Based on Speech TechnologAb

3、stractNo matter when and where we are,fast-paced life is our common feature, intelligent living environment has become our goal for everyone.There is no doubt that the emergence of smart home system in line with our living environment. Intelligent home furnishing is a product combined with modern el

4、ectronic technology, communication technology and automation technology.No matter where people,and what people are doing,you can always know the family situation of the various appliances,but also can control them on or off.Speech recognition technology is an indispensable technology.It contains sig

5、nal processing, pattern recognition and artificial intelligence.Intelligent home furnishing is a nascent intelligent system.The design simulates the working process of the smart home.The design use speech recognition technology and infrared remote control technology,51 microcontroller,as the centrol

6、 of the design,controls the system.Intelligent home furnishing so that people have convenient and comfortable living environment,while making peoples living standards have improved to some extent.To some extent,but also to protect peoples lives and property.You can make people feel comfortable to do

7、 the things they want.Keywords: intelligent home furnishing; 51 SCM; voice recognition of infrared; remote control目 錄1 引言.12 智能家居系統(tǒng)的前期研究.22.1 智能家居系統(tǒng)的發(fā)展現(xiàn)狀及發(fā)展趨勢.22.1.1 國外的發(fā)展現(xiàn)狀.22.1.2 國內(nèi)的發(fā)展現(xiàn)狀.22.1.3 智能家居系統(tǒng)發(fā)展趨勢.32.2 智能家居系統(tǒng)的預(yù)期功能.32.3 智能家居系統(tǒng)的設(shè)計(jì)方案.33 智能家居系統(tǒng)的硬件設(shè)計(jì).53.1 單片機(jī)模塊.53.1.1 單片機(jī)的簡介.53.1.2 單片機(jī)的外圍電路.63.

8、1.3 單片機(jī)的硬件電路.83.2 語音識別模塊.83.2.1 語音芯片 LD3320 的介紹.83.2.2 語音識別的原理.93.2.3 語音識別模塊的硬件連接.103.3 紅外遙控模塊.103.3.1 紅外發(fā)光二極管的介紹.113.3.2 紅外發(fā)射部分的介紹.113.3.3 紅外發(fā)射部分硬件連接.113.3.4 HS0038 的介紹.123.3.5 紅外接收過程及硬件連接.123.4 整體實(shí)物圖.134 智能家居系統(tǒng)軟件設(shè)計(jì).144.1 語音識別模塊.144.1.1 通用初始化.154.1.2 寄存器的初始化.164.1.3 寫入識別列表.164.1.4 開始識別.184.2 紅外發(fā)射部分

9、.204.2.1 紅外發(fā)射原理.204.2.2 紅外發(fā)射程序.214.3 紅外接收模塊.234.4 模擬電器控制部分.255 硬件的調(diào)試過程.275.1 連接語音芯片和紅外發(fā)光二極管的單片機(jī)的調(diào)試.275.2 紅外遙控模塊的調(diào)試.285.3 語音識別模塊的調(diào)試.286 總結(jié)與展望.296.1 結(jié)論.296.2 前景展望.30謝 辭.31參考文獻(xiàn).32附錄 I.33附錄 II.34唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)1 引言心有多大,舞臺就有多大。每個(gè)人都懷揣著夢想,想要更好的未來,想要更好的生活,所以每個(gè)人都在不斷奮斗和創(chuàng)新,這種創(chuàng)新不但推動了個(gè)人的進(jìn)步,更推動了社會的發(fā)展。于是人類

10、的生活越來越方便,人們的居住環(huán)境也越來越智能化。這種智能化在智能家居上就有很好的體現(xiàn)。語音識別技術(shù)在現(xiàn)代生活中有畫龍點(diǎn)睛的作用,與很多領(lǐng)域都息息相關(guān)。例如信號處理、模式識別、人工智能等領(lǐng)域。其中國內(nèi)中科院的自動化所、清華大學(xué)等科研機(jī)構(gòu)和高校等許多研究機(jī)構(gòu)都在從事語音識別領(lǐng)域的研究和開發(fā),并且國家 863 智能計(jì)算機(jī)專家組還為語音識別技術(shù)研究專門立項(xiàng),并取得了高水平的科研成果1。語音識別技術(shù)的目標(biāo)是將人類的語言轉(zhuǎn)換為計(jì)算機(jī)可讀的輸入??茖W(xué)家們利用語音數(shù)據(jù)庫里大量的數(shù)據(jù)進(jìn)行分析,得到了在統(tǒng)計(jì)概率最優(yōu)化意義上的各個(gè)基元語音特征。并且將這些特征和語音模型轉(zhuǎn)化為硬件芯片。在使用這些芯片時(shí),可以直接使用。

11、遙控技術(shù)的出現(xiàn)要追溯于 1960 年,它雖然在 60 年代就出現(xiàn)了,但是由于種種原因,并沒有得到理想的發(fā)展。七十年代末,隨著大規(guī)模集成電路和計(jì)算機(jī)技術(shù)的發(fā)展,遙控技術(shù)才得到快速發(fā)展。紅外遙控的特點(diǎn)是不影響周邊環(huán)境、不干擾其他電氣設(shè)備,同時(shí)也不容易被其他信號所干擾,是很好的信息傳輸媒體,所以目前它在通信方面被廣泛的應(yīng)用。51 單片機(jī)是一款具有有較強(qiáng)的抗干擾能力,運(yùn)行速度比較高,功耗比較低的單片機(jī)。它可以作為核心處理器來處理信息和控制其他設(shè)備,同時(shí)價(jià)格比較低廉,性價(jià)比很高,所以在很多系統(tǒng)中,都有其應(yīng)用。這些技術(shù)的配合 51 單片機(jī),可以為本設(shè)計(jì)成功的模擬智能家居系統(tǒng),方便了設(shè)計(jì)者對智能家居這一課題

12、的研究和學(xué)習(xí)。智能家居可以為使用者提供更加舒適安全的生活環(huán)境,也可以幫助人們合理的分配和利用資源。智能家居系統(tǒng)的出現(xiàn),讓人們的幸福感有所提升,符合現(xiàn)代人的生活理念,相信在不久的未來,它將會普遍被每一個(gè)家庭所應(yīng)用,讓人們每一個(gè)人,真正享受智能化的生活。唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)2 智能家居系統(tǒng)的前期研究2.1 智能家居系統(tǒng)的發(fā)展現(xiàn)狀及發(fā)展趨勢2.1.1 國外的發(fā)展現(xiàn)狀早在 20 世紀(jì) 80 年代,世界上就有智能化的建筑出現(xiàn)。這個(gè)建筑出現(xiàn)在美國,它的智能化體現(xiàn)在它利用了計(jì)算機(jī)系統(tǒng)去監(jiān)控樓內(nèi)的空調(diào)、照明等用電設(shè)備。同時(shí)可以提供語音通信和電子郵件等服務(wù)。在 21 世紀(jì)初期,出現(xiàn)了家

13、庭的智能化系統(tǒng)。這種智能化系統(tǒng)應(yīng)用于許多的家庭中,幫助人們完成了許多的功能,方便了人們的生活。世界首富比爾蓋茨先生也耗資 6000 萬美元打造屬于自己的高端別墅的智能家居系統(tǒng)??萍荚诎l(fā)展,國外的這種技術(shù)也在不斷的完善。隨著技術(shù)的成熟,超過一半的家庭都在使用這種家庭智能化系統(tǒng)。在智能家居系統(tǒng)的研發(fā)方面,美國及一些歐洲國家一直處于領(lǐng)先地位。好多國家的好多公司都想著研發(fā)出屬于自己的控制系統(tǒng)。目前市場上出現(xiàn)的智能家居控制系統(tǒng)主要有 X-10、EIB 和 8X 等。這些系統(tǒng)都有屬于自己的優(yōu)勢,同樣也有屬于自己的劣勢。X-10 系統(tǒng)采用集中的控制方式,如果家庭在使用這個(gè)系統(tǒng)時(shí),它不需要額外的布線,這是它的

14、優(yōu)勢。但是在施工方面,需要開槽或者鉆孔,所以難度比較高,又由于施工費(fèi)用比較高,所以沒有應(yīng)用于國內(nèi)市場。EIB 系統(tǒng)采用的是預(yù)埋總線和中央控制的方式。價(jià)格昂貴,沒有滿足大部分人的消費(fèi)觀,所以沒有應(yīng)用于國內(nèi)市場。8X 系統(tǒng)采用預(yù)處理總線和集中控制的方式。該系統(tǒng)日益成熟并且并且相對來說比較符合中國的國情。但是系統(tǒng)的靈活性不夠,所以也沒有應(yīng)用到中國市場。國外的技術(shù)相對來說比較先進(jìn),發(fā)展也很迅速。但是中國的國情,決定了不同地域的不同的使用者會有不同的需求。國外的某種技術(shù),也許可以滿足一部分人的需求,但是不適合普遍使用。所以要開發(fā)出適合自己的智能家居系統(tǒng)。2.1.2 國內(nèi)的發(fā)展現(xiàn)狀20 世紀(jì) 90 年代以

15、后,中國的智能家居才開始出現(xiàn),智能小區(qū)開始興起。中國的智能化的建筑最早出現(xiàn)在上海、深圳和廣州等一線的沿海城市,隨后大陸才開始陸續(xù)發(fā)展的。在 1999 年實(shí)施的全國住宅小區(qū)智能化技術(shù)示范工程,使人們國家的智能化又上升到一個(gè)新的階段。到目前為止,在中國的某些大城市中,有近一半的家庭實(shí)現(xiàn)了智能化。中國企業(yè)也紛紛推出自己的產(chǎn)品,例如海爾的 e 家庭,這個(gè)系列的產(chǎn)品以海爾電腦作為控制中心,各種網(wǎng)絡(luò)家電作為終端設(shè)備,海爾移動電話作為移動唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)數(shù)字控制中心3。海爾也不定時(shí)的推出自己的一系列產(chǎn)品包括網(wǎng)絡(luò)電視、冰箱、空調(diào)、微波爐等。清華同方的 e-home 數(shù)字家園,該智

16、能家居控制系統(tǒng)專門針對中國家庭設(shè)計(jì)。產(chǎn)品以功能模塊開發(fā)為主,基于國外成熟的智能家居標(biāo)準(zhǔn)之上。很明顯,跟國外相比較,中國對智能家居的研究起步比較晚,到目前為止都沒有形成一定的標(biāo)準(zhǔn),現(xiàn)在國內(nèi)各大軟、硬件機(jī)構(gòu)正在積極的研發(fā)更為符合市場的智能化家居設(shè)備,用來解決當(dāng)前智能化產(chǎn)品實(shí)用性差,使用復(fù)雜及產(chǎn)品價(jià)格昂貴等缺點(diǎn),技術(shù)創(chuàng)新性也逐步向國際先進(jìn)水平靠攏,這樣的未來真的期待。2.1.3 智能家居系統(tǒng)發(fā)展趨勢經(jīng)過哥本哈根會議,中國更明確了節(jié)能減排,綠色建筑的目標(biāo)。為了達(dá)到這一目標(biāo),中國勢必會建設(shè)綠色建筑,鋪設(shè)智能化系統(tǒng),智能化系統(tǒng)中的智能家居系統(tǒng)將會形成一個(gè)新的產(chǎn)業(yè),也可以促進(jìn)中國房地產(chǎn)業(yè)的發(fā)展。由于智能家居

17、系統(tǒng)還缺乏統(tǒng)一明確的國際標(biāo)準(zhǔn),許多公司開發(fā)出的產(chǎn)品都是基于自己組的網(wǎng)絡(luò)和信息交換協(xié)議,不具有一般性。技術(shù)復(fù)雜、接入設(shè)備不能兼容以及成本過高,所以限制了產(chǎn)品的發(fā)展,同時(shí)限制了產(chǎn)品的普及。所以現(xiàn)在的目標(biāo)是設(shè)計(jì)出一個(gè)符合中國國情、操作實(shí)用性強(qiáng)、成本低廉、容易推廣和被人們所需求的智能家居控制系統(tǒng)。做為智能家居的核心系統(tǒng)的智能家居控制系統(tǒng),它的設(shè)計(jì)功能的完善必將推動住宅智能化的發(fā)展。而系統(tǒng)功能的集成化、用戶使用的傻瓜化和市場的平民化將是智能家居控制器的發(fā)展趨勢,系統(tǒng)也將逐步邁向綠色化。人類所想的無非也就是可以不費(fèi)吹灰之力做成自己想做的事情。而智能家居的終極目標(biāo)就是可以實(shí)現(xiàn)人們的這種夢想,實(shí)現(xiàn)智能化。2.

18、2 智能家居系統(tǒng)的預(yù)期功能本設(shè)計(jì)中要求語音識別采用 LD3320,完成語音命令的采集與識別,并將結(jié)果傳送給單片機(jī);紅外發(fā)射采用紅外發(fā)光二極管,在單片機(jī)控制下發(fā)送相應(yīng)序列的紅外信號;紅外接收采用 HS0038,接受紅外信號并解碼,傳送給單片機(jī)。利用繼電器模擬家用電器;用單片機(jī)控制整個(gè)系統(tǒng)??梢赃_(dá)到預(yù)期的功能。智能家居系統(tǒng)的預(yù)期功能是:當(dāng)對著麥克風(fēng)下達(dá)一個(gè)命令時(shí),相應(yīng)的繼電器模塊的指示燈會亮或者滅。同樣應(yīng)用到現(xiàn)實(shí)中,所實(shí)現(xiàn)的功能也應(yīng)該是當(dāng)要說出一個(gè)命令時(shí),家用電器會自動開啟或者關(guān)閉。減少了人為操作,讓人們真正享受智能化的生活。2.3 智能家居系統(tǒng)的設(shè)計(jì)方案唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè)

19、計(jì)計(jì)本設(shè)計(jì)綜合性相對比較高,要軟硬件相結(jié)合。解決了軟件問題,還需要知道模擬智能家居系統(tǒng)的硬件是如何工作的。其工作過程:智能家居系統(tǒng)由麥克風(fēng)、語音芯片 LD3320、紅外發(fā)光二極管、單片機(jī)以及紅外一體化接收器HS0038、繼電器等硬件組成。語音信號被麥克風(fēng)收集并傳送到語音芯片內(nèi)部,語音芯片內(nèi)部已經(jīng)放置好關(guān)鍵詞列表,收集到的語音信息與原先放好的語句進(jìn)行匹配和對比,得到一個(gè)最優(yōu)的結(jié)果,這個(gè)結(jié)果通過串口發(fā)送給單片機(jī),單片機(jī)作為核心控制器可以控制紅外發(fā)光二極管發(fā)出載有相應(yīng)信息的的紅外信號,紅外一體化接收器接收后,通過解調(diào)還原出發(fā)來的信息從而去控制繼電器的開或者關(guān),從而來模擬實(shí)現(xiàn)智能家居系統(tǒng)。智能家居系統(tǒng)

20、的整體設(shè)計(jì)框圖如下圖2-1 所示。語音信號LD3320識別數(shù)據(jù)單片機(jī)紅外發(fā)射頭紅外信號紅外遙控接收頭 單片機(jī)控制信息 實(shí)現(xiàn)相應(yīng)功能繼電器 繼電器圖 2-1 智能家居系統(tǒng)設(shè)計(jì)框圖唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)3 智能家居系統(tǒng)的硬件設(shè)計(jì)3.1 單片機(jī)模塊3.1.1 單片機(jī)的簡介單片機(jī)全稱單片微型計(jì)算機(jī)(Single Chip Microcomputer) , 又稱(Micro Controller Unit),是將計(jì)算機(jī)的基本部分微型化,使之集成在一塊芯片上的微機(jī),片內(nèi)含 CPU、RAM、ROM、并行 I/O 口、串行 I/O 口、定時(shí)器/計(jì)數(shù)器、A/D、D/A、中斷系統(tǒng)、系統(tǒng)時(shí)鐘

21、及系統(tǒng)總線等,它本身就是一個(gè)嵌入式系統(tǒng),同時(shí)也是其他嵌入式系統(tǒng)的核心4。關(guān)于其內(nèi)部結(jié)構(gòu)的簡介如下表 3-1 所示。表 3-1 單片機(jī)內(nèi)部結(jié)構(gòu)簡介名稱簡介微處理器(CPU)8 位的 CPU,包括了運(yùn)算器和控制器數(shù)據(jù)存儲器(RAM)可以放數(shù)據(jù),內(nèi)存 128B。最大外擴(kuò)為64KB程序存儲器(ROM/EPROM)用來放程序,最大外擴(kuò) 64KB。51 單片機(jī)是 4KB 的 ROM并行 I/O 口4 個(gè) 8 位并行 I/O 口(P0、P1、P2、P3)串行口4 種工作方式??梢耘c其他單片機(jī)相連,實(shí)現(xiàn)更加復(fù)雜的功能定時(shí)器/計(jì)數(shù)器2 個(gè) 16 位定時(shí)器/計(jì)數(shù)器。中斷系統(tǒng)具有 5 個(gè)中斷源,2 級中斷優(yōu)先權(quán)。特

22、殊功能寄存器(SFR)一共有 21 個(gè)。用于 CPU 對片內(nèi)其他部分進(jìn)行管理、控制、監(jiān)視。上表介紹了單片機(jī)的內(nèi)部結(jié)構(gòu),在這里值得說明的是 51 單片機(jī)有很多種不同的型號。區(qū)分它們主要依據(jù)存儲器的配置。在這里以最簡單的例子來說明,8031 芯片內(nèi)是沒有程序存儲器的,但是其他型號的芯片里有程序存儲器。還有增強(qiáng)型的存儲容量比普通型的存儲容量要多至少 1 倍。介紹完單片機(jī)的內(nèi)部結(jié)構(gòu),現(xiàn)在來介紹下單片機(jī)的引腳及其功能。單片機(jī)分為可總線擴(kuò)展的和不可以總線擴(kuò)展的,是因?yàn)閱纹瑱C(jī)本身可以滿足這些系統(tǒng)所需要的功能,不需要外擴(kuò)。本設(shè)計(jì)中所使用的單片機(jī)采用的是雙列直插式的封裝結(jié)構(gòu),一共有 40 個(gè)引腳,本設(shè)計(jì)中沒有用

23、到單片機(jī)的所有引腳,只使用了電源端、接地端、串口輸入、外部中斷以及 P0P3 的某些引腳。在這里介紹下各引腳的功能,如下表 3-2 所示。唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)表 3-2 51 單片機(jī)的引腳功能表名稱功能簡介P1 口(18 腳)P1 口是一個(gè) 8 位雙向 I/O 口。當(dāng) P1 口的鎖存器寫入 “1”時(shí),P1 口可作為輸入端。是低 8 位的地址復(fù)用總線端口。P2 口(2128 腳)8 位準(zhǔn)雙向 I/O 口。既可作為普通 I/O 口引腳。也可作為高 8 位地址總線。P2 口與 P1 口的輸出級結(jié)構(gòu)相同,內(nèi)部都有上拉電阻。整個(gè)端口結(jié)構(gòu)基本相同。P3 口(1017 腳)是雙功能

24、靜態(tài)端口。作為第一功能使用時(shí),其功能與 P1 口相同。當(dāng)作為第二功能使用時(shí),又都有各自的定義。P0 口(3239 腳)8 位雙向三態(tài) I/O 口線。既可作為普通 I/O 口引腳。也可作為數(shù)據(jù)/低 8 位地址總線。VCC(40)電源電壓端。GND(20)地端。RST(9)復(fù)位輸入端。復(fù)位后,內(nèi)部專用寄存器及 I/O 口的處置與8051 的情況一樣。而內(nèi)部的狀態(tài)保持不變。XTAL1(19)振蕩器反相放大器的輸入。內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2(20)振蕩器反相放大器的輸出端。ALE地址鎖存允許,當(dāng)單片機(jī)訪問外部存儲器時(shí)。該引腳的輸入信號 ALE 用于鎖存 P0 的低 8 位地址。ALE 輸出的

25、頻率為時(shí)鐘振蕩頻率的 1/6。PSEN程序存儲器允許。輸出讀外部程序存儲器的選通信號。取指令操作周期,PSEN 的頻率為振蕩頻率的 1/6;若此期間有訪問外部數(shù)據(jù)存儲器的操作。則有一個(gè)機(jī)器周期中的 PSEN 信號將不出現(xiàn)。EAEA=0,單片機(jī)只訪問外部程序存儲器。對 8031 此引腳必須接地。EA=1,單片機(jī)訪問外部程序存儲器。對內(nèi)部有程序存儲器的單片機(jī)。此引腳必須接高電平。在這里需要注意的是,P3 口具有雙功能,介紹下它的第二功能,以便設(shè)計(jì)者更好的利用單片機(jī)以完成本設(shè)計(jì)所需要的功能。P3 口的特殊功能如下表 3-3 所示。表 3-3 P3 口特殊功能口線特殊功能P3.0RXD ( 串行口輸入

26、端 )P3.1TXD ( 串行口輸出端 )P3.2/INT0 ( 外部中斷 0)P3.3/INT1 ( 外部中斷 1)P3.4T0 ( 定時(shí)器 0 外部輸入 )P3.5T1 ( 定時(shí)器 1 外部輸入 )唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)3.1.2 單片機(jī)的外圍電路單片機(jī)的外圍電路包括復(fù)位電路和時(shí)鐘電路兩部分。復(fù)位電路的作用主要是,不管單片機(jī)遇到什么樣的不正常的操作,都可以實(shí)現(xiàn)單片機(jī)的初始化,使它從某一確定的狀態(tài)重新開始運(yùn)行。上電復(fù)位和開關(guān)復(fù)位都可以完成復(fù)位電路的作用,它們只是 2 種不同的形式。上電復(fù)位要求接通電源后,自動實(shí)現(xiàn)復(fù)位操作。開關(guān)復(fù)位要求在電源接通的條件下,在單片機(jī)運(yùn)行期

27、間,如果發(fā)生死機(jī),用按鈕開關(guān)操作使單片機(jī)復(fù)位4。復(fù)位電路如圖 3-1 所示。RST圖 3-1 RST 電路其中 RST 端接 51 單片機(jī)的第 9 引腳,按下復(fù)位按鍵以后,PC 指向 0000H單元、SP 指向 07H 單元、P0 口為 FFH、P1 口為 FFH、P2 口為 FFH、P3 口為FFH 以及其他的寄存器為 0。51 單片機(jī)芯片內(nèi)部有一高增益反相放大器,用于構(gòu)成振蕩器.反相放大器的輸入端為 XTAL1,輸出端為 XTAL2,在 XTAL1、XTAL2(第 19、18 引腳)兩端跨接一個(gè)石英晶體振蕩器,和兩個(gè)電容就構(gòu)成了穩(wěn)定自激諧振電路,晶振頻率為 11.0592MHz。C12,C

28、13 是兩個(gè)瓷片電容,與晶振 Y2 構(gòu)成了自激諧振電路,其電容的作用主要是對頻率進(jìn)行微調(diào),一般取 30-45PF 左右,使用該電路可產(chǎn)生穩(wěn)定的 11.0592MHZ 頻率,受外界的環(huán)境的干擾影響非常小5。其接法如圖 3-2 所示。唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)圖 3-2 外圍時(shí)鐘電路3.1.3 單片機(jī)的硬件電路本設(shè)計(jì)最核心的器件是 51 單片機(jī),它控制了整個(gè)系統(tǒng),完成了語音信息的處理、紅外信號的發(fā)射以及紅外信號的接收。它的外圍電路如下圖 3-3 所示。圖 3-3 51 單片機(jī)外圍電路3.2 語音識別模塊3.2.1 語音芯片 LD3320 的介紹LD3320 芯片是一款“語音識別

29、”專用芯片,由 ICRoute 公司設(shè)計(jì)生產(chǎn)。該芯片集成了語音識別處理器和一些外部電路,包括 AD、DA 轉(zhuǎn)換器、麥克風(fēng)接唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)口、聲音輸出接口等,本芯片不需要外接任何的輔助芯片如 Flash、RAM 等,直接集成在現(xiàn)有的產(chǎn)品中既可以實(shí)現(xiàn)語音識別、聲控、人機(jī)對話功能,并且,識別的關(guān)鍵詞語列表是可以任意動態(tài)編輯的6。主要的特色功能有:非特定人語音識別技術(shù)、可動態(tài)編輯的識別關(guān)鍵詞語列表、單芯片解決方案、高精度A/D 和 D/A 通道、高準(zhǔn)確度和實(shí)用的語音識別效果、可自由編輯 50 條關(guān)鍵詞語7。它的內(nèi)部邏輯結(jié)構(gòu)如圖 3-4 所示。圖 3-4 LD3320 內(nèi)

30、部結(jié)構(gòu)邏輯圖LD3320 芯片有 48 個(gè)引腳,在圖中可以看到 20 個(gè)引腳,在本次設(shè)計(jì)中沒有使用所有的引腳。MICP 和 MICN 分別接麥克風(fēng)的正負(fù)引腳、CLK 接外部時(shí)鐘,頻率在 4-48HZ 之間、GND 是接地端和 VDD 是電源端。電源的主要目的是給芯片供電,使它可以正常工作。3.2.2 語音識別的原理語音識別技術(shù)是將人類語音中的詞匯內(nèi)容轉(zhuǎn)換為計(jì)算機(jī)可讀的輸入??茖W(xué)家們利用語音數(shù)據(jù)庫里大量的數(shù)據(jù)進(jìn)行分析,可以得到在統(tǒng)計(jì)概率最優(yōu)化意義上的各個(gè)基元語音特征。并且將這些特征和語音模型轉(zhuǎn)化為硬件芯片。語言識別原理主要是:科學(xué)家建立語言模型,分析語音特征,并將這些轉(zhuǎn)化為硬件芯片 LD3320

31、。最先將相關(guān)命令的詞語列表,寫入芯片內(nèi)。其次通過麥克風(fēng)采集語音信號,并將得到的信號,送入芯片內(nèi)部。然后芯片將收到的信號唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)進(jìn)行頻譜分析,提取特征,并根據(jù)它內(nèi)部的這種特殊的算法和編輯好的關(guān)鍵詞列表一一匹配,將匹配率最高的結(jié)果以串口的形式發(fā)回給單片機(jī)。語音識別的過程,就是把用戶說出的內(nèi)容,通過頻譜轉(zhuǎn)換為語音特征,和這個(gè)關(guān)鍵詞語列表中的條目進(jìn)行一一匹配,最優(yōu)匹配的一條作為識別結(jié)果14。在本設(shè)計(jì)中語音識別列表是打開燈、關(guān)閉燈、打開熱水器、關(guān)閉熱水器、打開空調(diào)、關(guān)閉空調(diào)、全部打開、全部關(guān)閉燈等。不論這個(gè)列表的條目內(nèi)容是什么,只需要用戶設(shè)置相關(guān)的寄存器,就可以把相

32、應(yīng)的待識別條目內(nèi)容以字符形式傳遞給識別引擎8。語音識別過程如下圖 3-5 所示。圖 3-5 語音識別芯片識別過程框圖3.2.3 語音識別模塊的硬件連接該模塊由單片機(jī)、語音芯片以及麥克風(fēng)組成。單片機(jī)選用的是 51 單片機(jī),語音芯片的型號是 LD3320。單片機(jī)是語音模塊的核心控制平臺,并且它控制著語音芯片去完成對語音信號的采集和對比分析,同時(shí)將對比得出的一個(gè)最優(yōu)結(jié)果以串口中斷的方式傳回給單片機(jī)。最后通過紅外遙控模塊傳送給另一個(gè)單片,使繼電器的指示燈亮或者滅。語音識別模塊與主控單片機(jī)的硬件連接如圖 3-6 所示。唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)圖 3-6 語音識別模塊的硬件連接圖3.

33、3 紅外遙控模塊紅外遙控模塊主要有兩部分構(gòu)成,紅外發(fā)送部分和紅外接收部分,現(xiàn)在一一介紹這兩部分。這個(gè)模塊最大的優(yōu)點(diǎn)就是,不會干擾其他的信號,不影響其他設(shè)備的正常工作,而自己本身也不受其他信號的影響。3.3.1 紅外發(fā)光二極管的介紹紅外發(fā)射部分的主要元件為紅外發(fā)光二極管,實(shí)際上是一只特殊的發(fā)光二極管,由于其內(nèi)部材料不同于普通發(fā)光二極管,因而在其兩端施加一定電壓時(shí),它便發(fā)出的是紅外線而不是可見光9。在其實(shí)際應(yīng)用中要加上反向電壓,才可以正常工作,它發(fā)出的紅外線的波長在 940 毫米左右。在這需要注意的是:在調(diào)試時(shí),如果不知道紅外發(fā)光二極管是好是壞,能否正常工作,可以用萬用表的電阻檔量他的正反向電阻。

34、3.3.2 紅外發(fā)射部分的介紹單片機(jī)在空閑時(shí)候,功耗比較低,比較節(jié)能。當(dāng)出現(xiàn)語音命令時(shí),語音識別模塊會在觸發(fā)狀態(tài)下采集語音命令進(jìn)行分析,并將結(jié)果傳給單片機(jī),產(chǎn)生串口中斷,這時(shí)單片機(jī)會調(diào)用命令函數(shù)關(guān)閉串口中斷,同時(shí)開啟定時(shí)器中斷,定時(shí)器 T0 作為紅外線發(fā)射頻率控制器,當(dāng) T0 定時(shí)溢出時(shí)中斷程序使紅外管接口電平反轉(zhuǎn)一次,寫入定時(shí)器的初值不同,在輸出端口就得到不同的發(fā)射頻率14。在語音識別模塊的論述中講到,語音芯片會將采集到的語音信號與放好的關(guān)鍵詞列表進(jìn)行匹配得到最優(yōu)結(jié)果,這個(gè)結(jié)果會以串口的方式發(fā)送給單片。單片機(jī)唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)接收到這個(gè)最優(yōu)結(jié)果以后,會打開定時(shí)器,

35、產(chǎn)生一個(gè)個(gè)的高低電平。即完成了發(fā)送信號的編碼,產(chǎn)生了一個(gè)脈沖串信號。這個(gè)脈沖串信號載有相應(yīng)的信息,通過紅外發(fā)光二極管發(fā)射出去。3.3.3 紅外發(fā)射部分硬件連接這一部分由 51 單片機(jī)和紅外發(fā)光二極管構(gòu)成。用來發(fā)送二進(jìn)制信號經(jīng)過編碼以后的脈沖串信號。它與單片機(jī)的連接方式如下圖 3-7 所示。圖 3-7 紅外發(fā)射部分的電路圖3.3.4 HS0038 的介紹紅外接收部分采用一體化接收器 HS0038。HS0038 黑色環(huán)氧樹脂封裝。一共有三個(gè)管腳:地端、電源端和信號輸出端。它可以不受其他光源的干擾,功耗低,而且靈敏度高。HS0038 的抗干擾能力較強(qiáng),成本低,完成對信號進(jìn)行放大、檢波、整形得到 TT

36、L 電平的編碼信號,不需要其他外圍電路,最后將編碼信號傳送給單片機(jī),經(jīng)單片機(jī)解碼并執(zhí)行去控制相關(guān)對象15。它的引腳及功能如下圖 3-8 所示。圖 3-8 HS0038 的引腳及功能圖在此需要注意,判斷 HS0038 是否可以正常工作時(shí),需要在把上圖的第二唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)和第三引腳之間連接一個(gè)二極管和一個(gè)發(fā)光二極管,手拿遙控器對著接收頭按下任意鍵,如果發(fā)光二極管閃爍,可以證明 HS0038 可以正常工作。3.3.5 紅外接收過程及硬件連接紅外接收就是對紅外信號的接收、放大、檢波、整形,之后解調(diào)出紅外遙控編碼脈沖的一種過程16。注意的是接收的波長為 7501150 納

37、米之間。它的具體實(shí)現(xiàn)過程如下圖 3-9 所示。單片機(jī)紅外發(fā)射電路一體化紅外接收頭單片機(jī)輸出調(diào)制發(fā)送接收解調(diào)圖 3-9 紅外遙控的實(shí)現(xiàn)過程圖紅外接收部分只需要 HS0038 就可以完成所需要的功能,不需要外加其他設(shè)備,HS0038 與單片機(jī)的連接方式如下圖 3-10 所示。圖 3-10 紅外接收電路圖3.4 整體實(shí)物圖模擬智能家居系統(tǒng)的實(shí)物連接如下圖 3-11 所示。解碼唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)圖 3-11 整體實(shí)物圖4 智能家居系統(tǒng)軟件設(shè)計(jì)4.1 語音識別模塊語音識別模塊的整體的流程圖如圖 4-1 所示。唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)N 開始 是否為觸發(fā)狀

38、態(tài) 采集語音命令 識別語音命令 傳送相應(yīng)的語音命令 系統(tǒng)是否繼續(xù)識別 結(jié)束YNY 串口初始化 芯片通用初始化 語音識別初始化寫列表 等待語音輸入圖 4-1 語音模塊流程圖由圖 3-5 可以知道,語音芯片通過 P3.0 與 51 單片機(jī)相連接。在送入語音命令之前,所要做的準(zhǔn)備工作如下:把所連接的串口、語音芯片以及一些寄存器初始化;把所需要的關(guān)鍵詞列表寫入到語音芯片中;等待語音信號的輸入。當(dāng)麥克風(fēng)收集到語音命令時(shí),在語音芯片內(nèi)部會以一定的算法將關(guān)鍵詞列唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)表與該語音信號進(jìn)行對比匹配。將最終的結(jié)果通過 P3.0 送入單片機(jī)。要注意的是:對語音芯片、所連接的串

39、口的各種操作都必須通過寄存器的操作來完成,包括設(shè)置標(biāo)志位、讀取狀態(tài)、向 FIF0 寫入數(shù)據(jù)等16。4.1.1 通用初始化讓芯片還原最初的方式和狀態(tài),等待語音命令的輸入,這樣會更好的識別信息,完成操作。參考程序如下:Void LD_init_Common( )bMp3play=0;LD_ReadReg(0 x06);/*soft reset.*/LD_WriteReg(0 x1F,0 x0);Delay(10);LD_WriteReg(0 x89,0 x03); LD_WriteReg(0 xCF,0 x43);LD_WriteReg(0 xCB,0 x02);/*PLL setting*/LD

40、_WriteReg(0 x11,LD_PLL_11);If (nLD_Mode=LD_MODE-MP3) LD_WriteReg(0 x1E,0 x00);LD_WriteReg(0 x19,LD_PLL_19);LD_WriteReg(0 x1B,LD_PLL_1B);LD_WriteReg(0 x1D,LD_PLL_1D);LD_WriteReg(0 x79,LD_LEDMTR_FREQ); ELSE LD_WriteReg(0 x1E,0 x00); LD_WriteReg(0 x19,0 x3f); LD_WriteReg(0 x1D,0 x1f); LD_WriteReg(0 x1B

41、,0 x08); LD_WriteReg(0 xCD,0 x04);唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì) LD_WriteReg(0 x17,0 x4c); LD_WriteReg(0 xB9,0 x00) LD_WriteReg(0 xCF,0 x4f);LD_WriteReg(0 x6F,0 xff); 4.1.2 寄存器的初始化語音識別模塊中,寄存器有著很重要的作用,可以說大部分的操作是根據(jù)它來完成的。對寄存器設(shè)置的程序如下:Void LD_init_ASR()nld_Mode=LD_MODE_ASR_RUN;LD_Init_Common();LD_WriteReg(0 xBD

42、,0 x00);LD_WriteReg(0 x17,0 x48); Delay(10);LD_WriteReg(0 x3C,0 x80);LD_WriteReg(0 x3E,0 x07); LD_WriteReg(0 x38,0 xff)LD_WriteReg(0 x3A,0 x07);LD_WriteReg(0 x40,0 x08);LD_WriteReg(0 x42,0 x00); LD_WriteReg(0 x44,0 x08)LD_WriteReg(0 x46,0 x08);LD_WriteReg(0 x1b,0 x48);Delay(1); 4.1.3 寫入識別列表LD3320 最多

43、支持 50 個(gè)識別條目,每個(gè)識別條目可以是單字、詞組或短句,長度為不超過 10 個(gè)漢字或者 79 個(gè)字節(jié)拼音串。每個(gè)識別條目是標(biāo)準(zhǔn)普聽話的漢語拼音(小寫),每兩個(gè)字(漢語拼音)之間用一個(gè)空格間隔,編號可以相同,可以不連續(xù),但數(shù)值要小于 256(00H-FFH)17。在寫入識別列表時(shí),每一個(gè)待識別的語句需要一個(gè)編號。這個(gè)編號是識別出以后,通過串口返回單片唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)機(jī)的值。值得注意的是,這個(gè)編號是要一字節(jié)的。同時(shí)列表中不同的待識別語句的編號可以相同。也可以不同??梢赃B續(xù),也可以不連續(xù)。如表 4-1 所示。 表4-1 編寫的語音識別列表把關(guān)鍵詞列表寫入到語音芯片的

44、代碼如下:uint8 LD_AsrAddFixed( ) uint8 k, flag; uint8 nAsrAddLength; const char sRecog1015 = da kai deng, guan bi deng, da kai dian shi, guan bi dian shi, da kai kong tiao,guan bi kong tiao,”da kai re shui qi”,”guan bi re shui qi”quan bu da kai”quan bu guan bi;const unit8 pcode10=code_dakaideng, code_gu

45、anbideng, code_dakaidianshi, code_guanbidianshi, code_dakaikongtiao, code_guanbikongtiao, code_dakaireshuiqi, code_guanbireshuiqi, code_quanbudakai, code_quanbuguanbi;flag = 1;for (k=0; k10; k+) if(LD_Check_AsrBusyFlag_b2() = = 0) flag = 0; break; 編號字符串0 x01da kai deng0 x02guan bi deng0 x03da kai ko

46、ng tiao 0 x04guan bi kong tiao 0 x05da kai dian shi0 x06guan bi dian shi0 x07da kai re shui qi0 x08guan bi re shui qi0 x09quan bu da kai0 x0aquan bu guan bi唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì) LD_WriteReg(0 xc1, pCodek ); LD_WriteReg(0 xc3, 0 ); LD_WriteReg(0 x08, 0 x04); Delay(1); LD_WriteReg(0 x08, 0 x00); Del

47、ay(1); for (nAsrAddLength=0; nAsrAddLength20; nAsrAddLength+) if (sRecogknAsrAddLength = 0) break; LD_WriteReg(0 x5, sRecogknAsrAddLength LD_WriteReg(0 xb9, nAsrAddLength); LD_WriteReg(0 xb2, 0 xff); LD_WriteReg(0 x37, 0 x04); return flag; 4.1.4 開始識別完成各初始化,并且將關(guān)鍵詞列表寫入芯片以后,就可以等待語音命令的輸入。當(dāng)有信號輸入時(shí),語音芯片會調(diào)用

48、識別程序。單片機(jī)程序中,一般會用一個(gè)全局變量控制當(dāng)前狀態(tài),在編程時(shí)把對該狀態(tài)的設(shè)置放在 LD3320 芯片開始識別以前18。uint8 LD_AsrRun() nAsrStatus=LD_ASR_RUNING; LD_WriteReg(0 x35,MIC_VOL); LD_WriteReg(0 x1C,0 x09); LD_WriteReg(0 xBD,0 x20); LD_WriteReg(0 x08,0 x01); delay( 1 ); LD_WriteReg(0 x08,0 x00); delay( 1 );唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)將識別到的結(jié)果存放到 C5 寄存

49、器。如果麥克風(fēng)采集到聲音,不管是否是正常結(jié)果,都會產(chǎn)生一個(gè)中斷信號,而中斷程序要根據(jù)寄存器的值分析結(jié)果。讀取 BA 寄存器的值,可以知道有幾個(gè)候選答案,而 C5 寄存器里的答案是得分最高、最可能正確的答案18。麥克風(fēng)采集到語音信號以后,送入到 LD3320 的內(nèi)部。與寫入的關(guān)鍵詞列表進(jìn)行對比與匹配,會得到一個(gè)最優(yōu)結(jié)果。將該結(jié)果所對應(yīng)的序號傳遞給單片機(jī)。此時(shí)單片機(jī)會把該信號進(jìn)行調(diào)制然后通過紅外發(fā)光二極管發(fā)射出去。語音控制指令所對應(yīng)的返回值如下表 4-2 所示。表 4-2 語音控制指令對應(yīng)的串口返回值buff=USART_Receive(); switch (buff)case 00:clrbit

50、( PortA, PA0 ); /對 PA0 寫 0break;case 01:setbit( PortA, PA0 ); /對 PA0 寫 1break;case 02:clrbit( PortA, PA2 ); /對 PA2 寫 0break; case 03: setbit( PortA, PA2 ); /對 PA2 寫 1 break; case 04:語音控制指令對應(yīng)串口返回值打開燈0 x01關(guān)閉燈0 x02打開空調(diào)0 x03關(guān)閉空調(diào)0 x04打開電視0 x05關(guān)閉電視0 x06打開熱水器0 x07關(guān)閉熱水器0 x08全部打開0 x09全部關(guān)閉0 x0a唐唐 山山 學(xué)學(xué) 院院 畢畢

51、業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì) clrbit( PortA, PA4 ); /對 PA4 寫 0 break; case 05: setbit( PortA, PA4 ); /對 PA4 寫 1 break; case 06: PortA=0 xFF; break; default: break;本設(shè)計(jì)中利用該芯片模擬了智能家居系統(tǒng)。設(shè)計(jì)的過程中,設(shè)計(jì)者常常需要下達(dá)一些短口令,而在所設(shè)計(jì)的訓(xùn)練環(huán)境中,如果口令采用鍵盤或鼠標(biāo)的方式進(jìn)行輸入,這顯然違背了設(shè)計(jì)的初衷,所以使用 LD3320 控制電路用語音識別的方式,將獲得的識別結(jié)果再換成串口信號,輸入單片機(jī),達(dá)到語音控制的目的。4.2 紅外發(fā)射部分4.2.1 紅

52、外發(fā)射原理單片機(jī)接收到串口發(fā)送的信息以后,會打開定時(shí)器,產(chǎn)生一個(gè)個(gè)的高低電平,產(chǎn)生了一個(gè)脈沖串信號。這個(gè)脈沖串信號載有相應(yīng)的信息,然后通過單片機(jī)的控制,從紅外發(fā)光二極管中發(fā)出調(diào)制好的脈沖串信號。這就是紅外發(fā)射的原理。編碼方式采用的是 PPM 編碼。這種編碼具有以下特征:(1) 編碼后的信號是由前導(dǎo)碼、16 位地址碼(8 位地址碼、8 位地址碼的反碼)和 16 位操作碼(8 位操作碼、8 位操作碼的反碼)組成。前導(dǎo)碼:是一個(gè)遙控碼的起始部分,由一個(gè) 9ms 的高電平和一個(gè) 4.5ms 的低電平組成,作為接受數(shù)據(jù)的準(zhǔn)備脈沖19。地址碼可以用來區(qū)分設(shè)備。16 位操作碼用來執(zhí)行不同的操作。需要注意的是

53、,紅外遙控設(shè)備不同,16 位的地址碼是不相同的。所以地址碼的作用就是防止不同遙控設(shè)備發(fā)射的碼型的干擾。(2) 采用脈寬調(diào)制的串行碼,是二進(jìn)制碼,由0和1組成。這 2 個(gè)字符的周期不同。而且高低電平的順序也相同,先有一個(gè)高電平,后有一個(gè)低電平。高電平持續(xù)的時(shí)間也一樣為 0.56ms。低電平持續(xù)的時(shí)間不同,字符0的電平持續(xù)的時(shí)間為 0.56ms。字符1持續(xù)的時(shí)間為 1.12ms。二進(jìn)制編碼如下圖 4-2 所示。唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)圖 4-2 二進(jìn)制編碼4.2.2 紅外發(fā)射程序首先初始化串口中斷,等待串口中斷響應(yīng)。當(dāng)有語音信號輸入時(shí),語音芯片將通過匹配得到的最優(yōu)的結(jié)果以串口

54、的形式發(fā)回單片機(jī),這時(shí)單片機(jī)出現(xiàn)串口中斷,會執(zhí)行串口中斷函數(shù)。得到命令代碼,開啟定時(shí)器中斷,調(diào)用發(fā)射函數(shù)。最終可以使紅外發(fā)光二極管發(fā)出載有相應(yīng)信息的信號。紅外發(fā)射函數(shù)要先發(fā)送一個(gè)前導(dǎo)碼由 9ms 的高電平和 4.5ms 的低電平構(gòu)成,之后在發(fā)送 16 位地址碼,16 位地址碼能區(qū)別不同的紅外遙控設(shè)備,防止不同機(jī)種遙控碼互相干擾。本設(shè)計(jì)中的地址碼為 3,地址反碼為 252。最后發(fā)送 16 位數(shù)據(jù)操作碼和數(shù)據(jù)操作反碼。本設(shè)計(jì)中的數(shù)據(jù)操作碼就是語音識別結(jié)果。具體流程圖如圖 4-3 所示。唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)圖 4-3 紅外發(fā)射流程圖本設(shè)計(jì)中波特率默認(rèn)為 9600bps。則串

55、口初始化代碼如下所示:#define FOSC 11059200 /11.0592M 晶振#define BAUD 9600void UART_Init(void)PCON |= 0 x00;SCON = 0 x50; /8 位數(shù)據(jù),可變波特率TMOD = 0 x20;TL1 = -(FOSC/12/32/BAUD); /設(shè)定定時(shí)初值TH1 = TL1; /設(shè)定定時(shí)器重裝值ET1 = 0; /禁止定時(shí)器 1 中斷TR1 = 1; /啟動定時(shí)器 1本設(shè)計(jì)中,當(dāng)串口接收到信息以后,會產(chǎn)生串口中斷,在接收數(shù)據(jù)時(shí)需要清除串口中斷標(biāo)志位,同時(shí)打開定時(shí)器,利用定時(shí)器,產(chǎn)生一串高低電平。這串高低電平就是要發(fā)

56、送的信息。而定時(shí)器中斷響應(yīng)函數(shù)如下所示:void timeint(void) interrupt 1 開始串口初始化等待是否串口中斷發(fā)送信號否是唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì) TH0=0 xFF; TL0=0 xE6; /設(shè)定時(shí)值為 38K,也就是每隔 26us 中斷一次count+;if (flag=1)OP=OP; /如果是待發(fā)送的有效數(shù)據(jù) flag=1elseOP = 0; ir_in = OP;4.3 紅外接收模塊在紅外接收模塊與單片機(jī)的外部中斷 0 口相連接。當(dāng)檢測到有紅外信號輸入時(shí),會產(chǎn)生外部中斷。就會進(jìn)入外部中斷處理程序。在處理數(shù)據(jù)的過程中還要關(guān)閉外部中斷直到接收

57、完數(shù)據(jù),才可以再打開外部中斷19。對紅外遙控的數(shù)據(jù)接收主要是在外部中斷函數(shù)中進(jìn)行的,處理過程為:當(dāng)有語音送入到語音芯片內(nèi)部,進(jìn)過識別分析以后,由單片機(jī)控制發(fā)送信號。這時(shí)紅外一體化接收器最先會接收到一個(gè)低電平。因?yàn)榻邮掌鬟B接外部中斷 0 口同時(shí)采用下降沿的觸發(fā)方式。紅外接收程序中已經(jīng)將 P3 口設(shè)置為高電平。當(dāng)接收到低電平時(shí),產(chǎn)生一個(gè)下降沿,會產(chǎn)生外部中斷。這時(shí)程序計(jì)數(shù)器 PC 會指向外部中斷程序的入口地址。去執(zhí)行外部中斷處理函數(shù)。首先關(guān)閉外部中斷。然后根據(jù)一體化接收器脈沖信號輸出引腳的高低電平持續(xù)的時(shí)間判斷紅外遙控發(fā)送的數(shù)據(jù)。這個(gè)數(shù)據(jù)有 4 個(gè)字節(jié),而單片機(jī)會根據(jù)第 3 個(gè)字節(jié)數(shù)據(jù)的不同來執(zhí)行

58、不同的操作。紅外接收器在接收時(shí)會有自己的一個(gè)判斷。只接收正確的紅外信號。這個(gè)判斷主要是根據(jù)前導(dǎo)碼來完成。之后接收到地址碼和數(shù)據(jù)操作碼。單片機(jī)根據(jù)數(shù)據(jù)操作碼來控制相應(yīng)的繼電器。紅外接收函數(shù)的流程圖如下圖 4-4 所示。唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)繼電器控制返回調(diào)用紅外接收函數(shù) 開始端口初始化是否外部 0 中斷否是圖 4-4 紅外接收流程圖外部中斷函數(shù)的代碼如下所示:void interrupt0()interrupt 0uchar i=0,j=0,k=0,us=0;uchar addr4=0;EX0=0;for(i=0;i255;i+) /9ms 內(nèi)有高電平認(rèn)為是干擾if(P3

59、&0 x04) /255 的值實(shí)際時(shí)間為 800usEX0=1;return;while(!(P3&0 x04); /等待 9ms 低電平過去唐唐 山山 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì) for(i=0;i4;i+)for(j=0;j8;j+)while(P3&0 x04);/等待 4.5ms 高電平過去while(!(P3&0 x04); /等待高電平while(P3&0 x04)/計(jì)算這個(gè)高電平的時(shí)間for(us=0;us=30)EX0=1;return;addri=addri1;/接收一位數(shù)據(jù)if(k=8)addri=addri|0 x80; /

60、高電平大于 0.56ms,則為 1k=0;P2=(addr2); /P2 的 LED 顯示二進(jìn)制鍵值4.4 模擬電器控制部分本設(shè)計(jì)中選用繼電器模擬家用電器,繼電器模塊指示燈的亮滅代表家用電器的開啟或關(guān)閉。繼電器上一共有 4 個(gè)指示燈分別連著 51 單片機(jī)的P1.0P1.3,由這四個(gè)口來控制,低電平可以使繼電器的指示燈亮。當(dāng)紅外一體化接收器 HS0038 接收到紅外信號時(shí),會產(chǎn)生一個(gè)下降沿,使 51 單片機(jī)產(chǎn)生外部中斷,調(diào)用外部中斷函數(shù)。在外部中斷函數(shù)中,有相應(yīng)的程序控制 P1 口的電平的高低。從而控制繼電器模塊指示燈的亮滅。這部分程序代碼如下:sbit num1=P10;sbit num2=P11;sbit num3=P12;s

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論