版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 1 引言</b></p><p> 1.1 基于單片機控制的語言復讀機研究的意義</p><p> 單片機又稱微控制器,或稱嵌入式控制器。單片機的出現(xiàn)和應用,正從根本上改變著傳統(tǒng)的控制系統(tǒng)設計思想和設計方法,給人們帶來觀念上的沖擊。廣大的電子應用專業(yè)技術人員面臨的單片機應用技術,如同20世紀70年代面臨數(shù)字集成電路技術一樣。過去經(jīng)
2、常采用模擬電路,脈沖電路,組合邏輯實現(xiàn)的大部分控制電路系統(tǒng),現(xiàn)在相當一部分都可以用各種單片機利用軟件方法予以取代。這種用軟件代替硬件并能提高系統(tǒng)性能的控制技術,我們稱之“微控制技術”。它標志著一種全新概念的出現(xiàn),是對傳統(tǒng)控制技術的革命??梢哉f,單片機,可編程門陣列與傳統(tǒng)模擬技術相結合,構成新一代電子應用技術,這是不可能回避的一項新型的工程應用技術。傳統(tǒng)的設計方法正在演變成軟件和硬件相結合的方法,許多電路設計將轉化為程序設計問題。<
3、/p><p> 雖然單片機已經(jīng)是一個微型機算計,但實質上它只是一個芯片。光有這樣一個芯片還不能完成任何工作。要讓單片機去完成相應的工作,在實際應用中,就應當將單片機和被控對象進行電氣連接,必須外加各種擴展接口電路,外部設備,被控對象的硬件和軟件,構成一個“單片機應用系統(tǒng)”才行。單片機應用系統(tǒng)由硬件和軟件組成,硬件是指MCU、存儲器、I/O接口和外設等物理器件的有機組合。軟件是指系統(tǒng)監(jiān)控程序的總稱。在開發(fā)的過程中,它
4、們的設計不能完全分開,二者需要互相配合、不斷調整才能組成高性能的應用系統(tǒng)。單片機應用系統(tǒng)的開發(fā)包括系統(tǒng)總體設計、硬件設計、軟件設計、系統(tǒng)調試等幾個階段,它們有時交叉進行。</p><p> 單片機主要用于計算機外設、實時控制、儀器儀表、通信和家用電器等各個領域,是計算機技術和電子技術的綜合性應用,在不同應用場合其技術要求各不相同,因此設計方法和研制的步驟不完全一樣。而現(xiàn)在的智能家電無一例外是采用微控制器來實現(xiàn)的
5、,所以家用電器是單片機應用最多的領域之一。它是家用電器實現(xiàn)智能化的心臟和大腦。由于家用電器體積小,故要求其控制器體積更小以便能嵌入其結構之中。而家用電器品種多,功能差異也大,所以又要求其控制器有靈活的控制功能。單片機以微小的體積和編程的靈活性而產(chǎn)生多種控制功能,完全可以滿足家用電器的需求[1]。</p><p> 隨著國民經(jīng)濟的發(fā)展,人民的生活水平不斷提高,語言復讀機作為人們學習工作的好助手,越來越受到消費者的
6、喜愛。通過對于基于單片機控制的語言復讀機的研究我們可以更清晰,更實際的掌握單片機的一些基本的控制和應用[10]。單片機在日常家電中的應用比較廣泛,語言復讀機控制系統(tǒng)就是一種以單片機為控制核心的系統(tǒng),它把以往對復讀機的繁瑣的操作變得簡單化,不但其機器性能顯著提高,還增加了難以實現(xiàn)得功能。因此對于語言復讀的研究一方面可以讓我們對于所學的單片機和電路有關知識有個更好的理解和鞏固,一方面也鍛煉了自身的動手能力,特別是能夠實現(xiàn)軟硬連調所具備的能力
7、[11]</p><p> 1.2 復讀機的發(fā)展史</p><p> 自1999年國家教委正式宣布:今后我國大、中、小學生的外語教學和考試將側重于學生的口語、聽力綜合水平后,復讀機市場被國家政策迅速孵化為一個容量上千萬臺的成熟市場。據(jù)統(tǒng)計,中國市場1998年、1999年和2000年復讀機的銷量分別為50萬臺、300萬臺和800萬臺,2001年復讀機的銷量超過1000萬臺,2002年達
8、到1300萬臺,2003年將增加到1500萬臺[12]。 </p><p> 我國消費電子行業(yè)經(jīng)過多年的發(fā)展,出現(xiàn)了生產(chǎn)能力過剩、需求增長緩慢、市場競爭劇烈的殘酷局面。復讀機產(chǎn)業(yè)的異軍突起,導致金正.新科、清華紫光等眾多的大型家電企業(yè)和IT企業(yè)紛紛在2002年進入復讀機行業(yè)。根據(jù)消費電子行業(yè)以往的經(jīng)驗,這么多廠家在一個有限的市場內競爭,必然以爆發(fā)大規(guī)模的價格戰(zhàn)收場,而且最終往往是落得兩敗俱傷。復讀機的市場容量雖
9、然每年還在高速增長,但是市場競爭突出表現(xiàn)為價格競爭,價格不斷被迫下跌,使復讀機成為僅有微利或無利可圖的產(chǎn)品,過早地進入了產(chǎn)品衰退期。為了求得企業(yè)的生存與發(fā)展,一些具有戰(zhàn)略眼光的企業(yè)早在幾年前就投入了大量的人力物力進行新產(chǎn)品開發(fā),以便將來給企業(yè)提供新的利潤增長點。 2002年6月,清華紫光推出了一種可視復讀機.打破了傳統(tǒng)復該機無法顯示文字和翻譯文字的功能局限,將聽說、閱讀、翻譯、詞匯等語言技能訓練有機地結合起來,可綜合提高外語學習者的英語
10、水平和學習效率。這種集文字顯示、可視復讀、英漢互譯和電子辭典等功能于一身的復讀機,可同時營造“聲音”與“文字”構造的語言環(huán)境,從語言的音、形、義三個角度全方位展示語言信息,可充分調動學生的聽覺、視覺、大腦等多種器官去綜合捕捉</p><p> 可視復讀機的出現(xiàn),不僅僅導致了外語學習工具的革命,而且發(fā)展出一項劃時的信息記錄與傳播技術--可視錄音技術,使人類可以利用價格低廉的錄音磁帶記錄和傳播聲音與文字信息,將傳統(tǒng)
11、的圖書、報刊雜志、錄音節(jié)目記錄在同一載體上出版發(fā)行,創(chuàng)造出一種大眾化的信息傳播媒介和文化消費載體,對人類的學習方式、工作方式和生活方式產(chǎn)生深遠的影響,產(chǎn)生巨大的社會效益和經(jīng)濟效益[13]。</p><p> 復讀機就是可以把聲音存儲下來并且重復播放的一種機器。是在便攜式收錄機的基礎上,增加了微處理芯片、數(shù)字存儲芯片后形成的多功能語言信號存取設備。它是在磁帶放音的同時將模擬信號轉換為數(shù)字信號,儲存在數(shù)字存儲芯片中
12、;復讀狀態(tài)時再將數(shù)字存儲器中的信號轉換為模擬信號,通過功率放大后由揚聲器還原出聲音。復讀機所有狀態(tài)的轉換均是在電腦微處理芯片的控制下來完成的[15]。</p><p><b> 2 單片機簡介</b></p><p> 2.1 單片機的發(fā)展史</p><p> 單片機是把微型計算機主要部分都集中在一個芯片上的單芯片微型計算機。由于他的
13、結構與指令都是按照工業(yè)控制要求設計的,故又叫單片機微控制器。國外曾經(jīng)一度把它稱作單片微計算機。 單片機作為微型計算機的一個重要分支,應用面很廣,發(fā)展很快。自單片機誕生至今,已發(fā)展為上百種系列的近千個機種。 如果將8位單片機的推出作為起點,那么單片機的發(fā)展歷史大致可分為以下幾個階段: (1)第一階段(1976-1978):單片機的探索階段。以Intel公司的MCS–48為代表。MCS–48的推出是在工控領域的控索,
14、參與這一控索的公司還有Motorola 、Zilog等,都取得了滿意的效果。這就是SCM的誕生年代,“單機片”一詞即由此而來。 (2)第二階段(1978-1982)單片機的完善階段。Intel公司在MCS–48基礎上推出了完善的、典型的單片機系列MCS–51。它在以下幾個方面奠定了典型的通用總線型單片機體系結構。①完善的外部總線。MCS-51設置了經(jīng)典的8位單片機的總線結構,包括8位數(shù)據(jù)總線、16位地址總線、控制總線及具有很多
15、機通信功能的串行通信接口。 ②CPU外圍功能</p><p> 近年,由于CHMOS技術的進步,大大地促進了單片機的CMOS化。CMOS芯片除了低功耗特性之外,還具有功耗的可控性,使單片機可以工作在功耗精細管理狀態(tài)。這也是今后以80C51取代8051為標準MCU芯片的原因。因為單片機芯片多數(shù)是采用CMOS(金屬柵氧化物)半導體工藝生產(chǎn)。CMOS電路的特點是低功耗、高密度、低速度、低價格。采用雙極型半導體工藝的
16、TTL電路速度快,但功耗和芯片面積較大。隨著技術和工藝水平的提高,又出現(xiàn)了HMOS(高密度、高速度MOS)和CHMOS工藝。CHMOS和HMOS工藝的結合。目前生產(chǎn)的CHMOS電路已達到LSTTL的速度,傳輸延遲時間小于2ns,它的綜合優(yōu)勢已在于TTL電路。因而,在單片機領域CMOS正在逐漸取代TTL電路。 2:低功耗化 </p><p> 單片機的功耗已從Ma級,甚至1uA以下;使用電壓在3-6V之間,完
17、全適應電池工作。低功耗化的效應不僅是功耗低,而且?guī)砹水a(chǎn)品的高可靠性、高抗干擾能力以及產(chǎn)品的便攜化。 3:低電壓化 </p><p> 幾乎所有的單片機都有WAIT、STOP等省電運行方式。允許使用的電壓范圍越來越寬,一般在3-6V范圍內工作。低電壓供電的單片機電源下限已可達1-2V。目前0.8V供電的單片機已經(jīng)問世。 4:低噪聲與高可靠性 </p><p> 為提高單片機的抗
18、電磁干擾能力,使產(chǎn)品能適應惡劣的工作環(huán)境,滿足電磁兼容性方面更高標準的要求,各單片廠家在單片機內部電路中都采用了新的技術措施。 5:大容量化 </p><p> 以往單片機內的ROM為1KB-4KB,RAM為64B-128B。但在需要復雜控制的場合,該存儲容量是不夠的,必須進行外接擴充。為了適應這種領域的要求,須運用新的工藝,使片內存儲器大容量化。目前,單片機內ROM最大可達64KB,RAM最大為2KB。
19、6:高性能化 </p><p> 主要是指進一步改進CPU的性能,加快指令運算的速度和提高系統(tǒng)控制的可靠性。采用精簡指令集(RISC)結構和流水線技術,可以大幅度提高運行速度?,F(xiàn)指令速度最高者已達100MIPS(Million Instruction Per Seconds,即兆指令每秒),并加強了位處理功能、中斷和定時控制功能。這類單片機的運算速度比標準的單片機高出10倍以上。由于這類單片機有極高的指令速度,
20、就可以用軟件模擬其I/O功能,由此引入了虛擬外設的新概念。 7:小容量、低價格化 </p><p> 與上述相反,以4位、8位機為中心的小容量、低價格化也是發(fā)展動向之一。這類單片機的用途是把以往用數(shù)字邏輯集成電路組成的控制電路單片化,可廣泛用于家電產(chǎn)品。 8:外圍電路內裝化 </p><p> 這也是單片機發(fā)展的主要方向。隨著集成度的不斷提高,有可能把眾多的各種處圍功能器件集成在片
21、內。除了一般必須具有的CPU、ROM、RAM、定時器/計數(shù)器等以外,片內集成的部件還有模/數(shù)轉換器、DMA控制器、聲音發(fā)生器、監(jiān)視定時器、液晶顯示驅動器、彩色電視機和錄像機用的鎖相電路等。 9:串行擴展技術 </p><p> 在很長一段時間里,通用型單片機通過三總線結構擴展外圍器件成為單片機應用的主流結構。隨著低價位OTP(One Time Programble)及各種類型片內程序存儲器的發(fā)展,加之處圍接口
22、不斷進入片內,推動了單片機“單片”應用結構的發(fā)展。特別是IC、SPI等串行總線的引入,可以使單片機的引腳設計得更少,單片機系統(tǒng)結構更加簡化及規(guī)范化。隨著半導體集成工藝的不斷發(fā)展,單片機的集成度將更高、體積將更小、功能將列強。在單片機家族中,80C51系列是其中的佼佼者,加之Intel公司將其MCS–51系列中的80C51內核使用權以專利互換或出售形式轉讓給全世界許多著名IC制造廠商,如Philips、NEC、Atmel、AMD、華邦等,
23、這些公司都在保持與80C51單片機兼容的基礎上改善了80C51的許多特性。這樣,80C51就變成有眾多制造廠商支持的、發(fā)展出上百品種的大家族,現(xiàn)統(tǒng)稱為80C51系列。80C51單片機已成為單片機發(fā)展的主流。專家認為,雖然世界上的MCU品種繁多,功能各異,開發(fā)裝置也互不兼容,但是客觀發(fā)展表明,80C51可能最終形成事實上的標準MCU芯片[6]。 2.3 89C51單片機的</p><p> 圖2.1所示為89
24、C51帶閃存(Flash ROM)單片機的基本結構框圖。</p><p> 圖2.1 89C51單片機結構框圖</p><p> 在一小塊芯片上,集成了一個微型計算機的各個組成部分,即89C51單片機芯片內包括:</p><p> ?。?)一個8位的80C51微處理器(CPU);(2)片內256字節(jié)數(shù)據(jù)存儲器RAM/SFR</p><p>
25、; 片內4KB程序存儲器Flash ROM;(3)4個8位并行I/O端口P0~P3,每個端口既可以用作輸入,也可以用作輸出;(4)2個16位的定時/計數(shù)器;(5)具有5個中斷源,2個中斷優(yōu)先級的中斷控制系統(tǒng);(6)1個全雙工的串行I/O口;(7)片內振蕩器和時鐘產(chǎn)生電路(最高允許振蕩頻率為24MHz);(8)具有節(jié)電工作方式(即空閑方式及掉電方式)。以上各個部分通過片內8位數(shù)據(jù)總線(DBUS)相連接[7]。</p>&l
26、t;p> 2.4 89C51單片機引腳及其功能</p><p> 2.4.1 89C51的引腳結構</p><p> 89C51芯片具有40根引腳,其引腳圖如下。</p><p> 圖2.2 89C51的引腳結構</p><p> 2.4.2 89C51單片機的引腳分類</p><p><b
27、> 1.電源線2根。</b></p><p> Vcc:編程和正常操作時的電源電壓,接+5V。Vss:地電平。2.晶體振蕩器2根。XTAL1:振蕩器的反向放大器輸入。使用外部振蕩器時必須接地。XTAL2:振蕩器的反向放大器輸出和內部時鐘發(fā)生器的輸入。當使用外部振蕩器時用于輸入外部震蕩信號。3.I/O口共有P0、P1、P2、P3四個8位口,32根I/O線,其功能如下: (1)P
28、0.0—P0.7(AD0—AD7)是I/O端口0的引腳。端口0是一個8位漏極開路的雙向I/O端口。在存取外部存儲器時,該端口分時地用作低8位的地址線和8位雙向的數(shù)據(jù)端口(在此時內部上拉電阻有效)。 (2)P1.0—P1.7是端口1的引腳,是一個帶內部上拉電阻的8位雙向I/O通道,專供用戶使用。 (3)P2.0—P2.7(A8—A15)是端口2的引腳。端口2是一個帶內部上拉電阻的8位雙向I/O口,在訪問外部存儲器時,它輸出高8
29、位地址A8—A15。 (4)P3.0—P3.7是端口3的引腳。端口3是一個帶內部上拉電阻的8位雙向I/O口,該口的每一位均可獨立地定義第一I/O口功能或第二I/O口功能。作為第一功能使用時,口的結構與P1操作</p><p> 引腳 第二功能P3.0 RXD(串行輸入口)P3.1
30、 TXD(串行輸出口)P3.2 INT0(外部中斷)P3.3 INT1(外部中斷)P3.4 T0(定時器0外部輸入)P3.5 T1(定時器1外部輸入)P3.6
31、 WR(外部數(shù)據(jù)存儲器寫選通)P3.7 RD(外部數(shù)據(jù)存儲器讀選通) 由上看出,89C51單片機不是將地址總線、數(shù)據(jù)總線和控制總線分開,而是地址線、數(shù)據(jù)線和部分控制均由I/O口完成。4.控制線 (1)PSEN:程序存儲器的使能引腳,是外部程序存儲器的選通信號,低電平有效。從外部程序存儲器取</p><p> 2.5 89
32、C51的CPU</p><p> CPU是單片機的核心部件。它由運算器和控制器等部件組成。</p><p> 2.5.1 運算器</p><p> 運算器的功能是進行算術運算和邏輯運算??梢詫Π胱止?jié)(4位)、單字節(jié)等數(shù)據(jù)進行操做,例如能完成加、減、乘、除、加1、減1、BCD碼十進制調整、比較等算術運算和與、或、異或、求補、循環(huán)等邏輯操作,操作結果的狀態(tài)信息送
33、至狀態(tài)寄存器。</p><p> 89C51運算器還包含有一個布爾處理器,用來處理位操作。它是以進位標志位C為累加器的,可執(zhí)行置位、復位、取反、等于1轉移、等于0轉移、等于1轉移且清0以及進位標志位與其他可尋址的位之間進行數(shù)據(jù)傳送等位操作。也能使進位標志位與其他可位尋址的位之間進行邏輯與、或操作。</p><p> ?。?)程序計數(shù)器PC</p><p> 程序
34、計數(shù)器PC用來存放即將要執(zhí)行的指令地址,共16位,可對64K程序存儲器直接尋址。執(zhí)行指令時,PC內容的低8位經(jīng)P0口輸出,高8位經(jīng)P2口輸出。</p><p><b> ?。?)指令寄存器</b></p><p> 指令寄存器中存放指令代碼。CPU執(zhí)行指令時,由程序存儲器中讀取的指令代碼送入指令寄存器,經(jīng)譯碼后由定時與控制電路發(fā)出相應的控制信號,完成指令功能。<
35、;/p><p> ?。?)定時與控制部件</p><p> 2.5.2 時鐘電路</p><p> 89C51片內設有一個由反向放大器所構成的振蕩電路,XTAL1和XTAL2分別為振蕩電路的輸入和輸出端,時鐘可以由內部方式產(chǎn)生或外部方式產(chǎn)生。內部方式時鐘電路如圖2.3所示。在XTAL1和XTAL2引腳上外接定時元件,內部振蕩電路就產(chǎn)生自激振蕩。定時元件通常采用石英
36、晶體和電容組成的并聯(lián)諧振回路。晶振可以在1.2MHz到12MHz之間選擇,電容值在5-30PF之間選擇,電容的大小可起頻率微調作用。</p><p> 圖2.3 內部方式時鐘電路</p><p> 外部方式的時鐘很少用,若要用時,只要將XTAL1接地,XTAL2接外部振蕩器就行。對外部振蕩信號無特殊要求,只要保證脈沖寬度,一般采用頻率低于12MHz的方波信號。</p>&
37、lt;p> 時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個兩相時鐘信號P1和P2供單片機使用。P1在每一個狀態(tài)S的前半部分有效,P2在每個狀態(tài)的后半部分有效[9]。</p><p><b> 2.6 復位操作</b></p><p> 89系列單片機與其他微處理器一樣,在啟動時需要復位,使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開始工作。89系列單片機的
38、復位信號是從RST引腳輸入到芯片內的施密特觸發(fā)器中的。復位是單片機的初始化操作。其主要功能是把PC初始化為0000H,使單片機從0000H單元執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也須按復位鍵重新啟動[10]。</p><p> 3 語言復讀機的硬件功能介紹</p><p> 3.1 基于AT89C51單片機控制的語言
39、復讀機原理</p><p><b> 原理圖見附錄B</b></p><p> 復讀機就是可以把聲音存儲下來并且重復播放的一種機器。是在便攜式收錄機的基礎上,增加了微處理芯片、數(shù)字存儲芯片后形成的多功能語言信號存取設備。它是在磁帶放音的同時將模擬信號轉換為數(shù)字信號,儲存在數(shù)字存儲芯片中;復讀狀態(tài)時再將數(shù)字存儲器中的信號轉換為模擬信號,通過功率放大后由揚聲器還原出聲
40、音。復讀機所有狀態(tài)的轉換均是在電腦微處理芯片的控制下來完成的 </p><p><b> 3.2 硬件系統(tǒng)</b></p><p> 主要包括三大模塊, 控制解碼模塊( 包括DSP、D/AC 轉換電路, 中斷控制, 實時時鐘) , 數(shù)據(jù)存儲模塊( 包括DSP 內部8K×24bits ROM, DSP 內部96K×24bitsRAM, 文件存
41、儲NANDFlash 內存, SDRAM) , 輸入輸出模塊( 包括開關、按鈕、USB2.0 接口、OLED 顯示屏, 高保真放大器及耳機接口, CD 線路直錄口) 。</p><p> 3.2.1 系統(tǒng)的結構 </p><p> 系統(tǒng)結構框圖如圖3.1 所示, 以微處理器AT89C51為核心, 加電啟動后, 加載引導程序及操作系統(tǒng)程序,接受按鍵操作指令, 訪問片外Flash 存儲模
42、塊, 讀出壓縮音頻文件, 存入內部RAM中, DSP 解碼后, 將數(shù)字音頻信號傳送到數(shù)模轉換器DAC, 模擬音頻信號通過耳機輸出。文字信號在MCU 控制下通過OLED 屏幕顯示。</p><p> 圖3.1 系統(tǒng)結構框圖</p><p><b> 3.3 按鍵設計</b></p><p> 采用矩陣掃描式按鍵方案, 可以使通用I/O 口
43、的利用率達到最高。按鍵的功能設計完全按照復讀機的實際需求, 主要有復讀鍵,播放鍵、菜單鍵、快進、快退鍵等。按鍵功能通過編寫軟件來完成。為了節(jié)約播放器空間, 采用按鍵組合功能方案: 短按/長按、模式雙功能鍵, 盡量利用少的按鍵實現(xiàn)多種功能。按鍵接口如圖3.2所示。</p><p> 圖3.2 矩陣式按鍵接口示意圖 </p><p>
44、;<b> 1.菜單鍵</b></p><p> 播放器關閉狀態(tài)下,長按MENU/ON 鍵,系統(tǒng)開機;播放或停止狀態(tài)下, 短按MENU/ON 鍵, 進入系統(tǒng)主菜單。</p><p><b> 2.播放鍵</b></p><p> 開機后, 短按PLAY/OFF 鍵開始播放, 播放狀態(tài)下短按PLAY/OFF 鍵暫停播
45、放; 長按PLAY/OFF 鍵,進入關機進程。</p><p><b> 3.復讀鍵</b></p><p> (1)一鍵復讀:播放狀態(tài)下, 短按REPLAY 鍵, 播放器將重復播放當前位置前t 秒( 設定為30 秒) 的內容。在復讀狀態(tài)下, 再次短按REPLAY 鍵, 將退出復讀模式,繼續(xù)播放正文內容。在播放或復讀狀態(tài)下,如果播放的文件帶有LRC 內容, 文詞將
46、同步顯示.跟讀: 在播放狀態(tài)下, 長按REPLAY 鍵, 屏幕提示:“錄音中…, 按MENU/ON 鍵跟讀”字樣, 此時播放器將對用戶的語音進行錄音。當用戶需要結束錄音時, 可以根據(jù)屏幕提示短按MENU/ON 鍵, 進入跟讀模式, 即重復播放剛才的錄音, 此時屏幕提示“跟讀中?, 按REPLAY 鍵,進入對比復讀”字樣, 此時用戶可以</p><p> 有兩種選擇: 第一種,短按MENU/ON 鍵, 回到播放的
47、狀態(tài); 第二種,短按REPLAY 鍵, 進入對比復讀狀態(tài)。對比復讀: 在跟讀模式中, 短按REPLAY 鍵, 進入對比復讀模式, 將剛才的錄音和播放內容進行對比播放, 循環(huán)播放:錄音<>正文內容<>錄音<>正文內容<>?, 如果播放文件有LRC 內容, 則屏幕同步顯示文詞。短按MENU/ON 鍵返回到正常的播放狀態(tài)。</p><p> (2) 對比復讀: 在跟讀模
48、式中, 短按REPLAY 鍵, 進入對比復讀模式, 將剛才的錄音和播放內容進行對比播放, 循環(huán)播放:錄音<>正文內容<>錄音<>正文內容<>?, 如果播放文件有LRC 內容, 則屏幕同步顯示文詞。短按MENU/ON 鍵返回到正常的播放狀態(tài)。</p><p> 3.4 對比復讀模塊的流程</p><p><b> 1.一鍵復讀&l
49、t;/b></p><p> 一旦播放器開始播放, 則在內存空間中開辟一個循環(huán)緩沖區(qū), 用來對當前正文播放的內容進行同步記錄。循環(huán)緩沖區(qū)中只保留最近t 秒( 設定為30 秒) 的內容。當用戶按下復讀鍵時, 播放器先中斷當前播放, 再循環(huán)播放緩沖區(qū)中的內容, 直到用戶再次按鍵。每一次記錄都需要新建一個與之對應的記錄文件, 第二次復讀需要先對記錄文件進行刷新。</p><p><
50、b> 2.跟讀</b></p><p> 系統(tǒng)一旦發(fā)現(xiàn)跟讀條件, 即中斷正文播放, 判斷本次按鍵是否為開機后第一次按下跟讀鍵。如果是,則不進行文件刪除操作; 如果不是, 則將最近一次的錄音文件刪除(為存儲新的錄音文件作準備)。然后從正文播放模式切換到錄音模式, 建立相應的路徑和文件名, 對用戶的語音進行錄音。在語音記錄過程中, 系統(tǒng)一旦檢測到菜單鍵按下, 則結束當前的錄音過程,并開始循環(huán)播放
51、剛才的語音文件。循環(huán)播放中, 一旦系統(tǒng)檢測到播放鍵, 則從錄音模式切換到正文播放模式, 并將開始播放的位置定位到被中斷位置的前t 處,并開始播放。</p><p><b> 3.對比復讀</b></p><p> 對比復讀是跟讀功能與復讀功能的綜合。系統(tǒng)一旦檢測到對比復讀條件, 找出跟讀時的正文中斷位置y, 再前移t 秒開始從x 位置開始播放正文, 并每隔固定時間
52、檢測是否已經(jīng)播放到y(tǒng) 位置; 如果已到達y 位置, 則將正文播放模式切換到錄音模式, 把最近一次跟讀時建立的錄音文件調出來進行播放, 每隔一定時間檢測是否已經(jīng)播放到錄音文件末尾。播放到錄音文件末尾時, 則將錄音模式切換到正文播放模式, 并重新從x 位置開始新一輪的對比復讀, 內容與前一次相同。對比復讀過程中, 系統(tǒng)一旦檢測到菜單鍵按下, 則退出對比復讀功能, 從x 位置開始常規(guī)播放正文內容。</p><p>
53、圖 3.3 對比復讀流程</p><p><b> 4 軟件過程控制</b></p><p> 在本設計中,我們用Keil c51軟件對設計中的程序進行調試。用Protel軟件對原理圖進行繪制,用Proteus和Keil c51共同完成本設計的仿真。</p><p> 4.1 Keil c51集成開發(fā)環(huán)境</p>&l
54、t;p> 隨著單片機的不斷發(fā)展,以C為主流的單片機高級語言也不斷被更多的單片機愛好者和工程師所喜愛。使用C語言肯定要使用到C編譯器,以便把寫好的C程序編譯為機器碼,這樣單片機才能執(zhí)行編寫好的程序。KEIL uVISION2是眾多單片機應用開發(fā)軟件中優(yōu)秀的軟件之一,它支持眾多不同公司的MCS51架構的芯片,它集編輯,編譯,仿真等于一體,同時還支持PLM,匯編和C語言的程序設計,界面友好,易學易用,在調試程序,軟件仿真方面也有很強大
55、的功能。</p><p> Keil的使用方法如下:</p><p> ?。?)點擊Project菜單,選擇彈出的下拉式菜單中的New Project,如圖4.2。接著彈出一個標準Windows文件對話窗口,如圖4.3,在“文件名”中輸入您的第一個C 程序項目名稱,這里我們用“test”。“保存”后的文件擴展名為uv2,這是KEIL uVision2項目文件擴展名,以后可以直接點擊此文件
56、以打開先前做的項目。</p><p> 圖4.2 New Project 菜單</p><p> ?。?)首先在項目中創(chuàng)建新的程序文件或加入舊程序文件。如果您沒有現(xiàn)成的程序,那么就要新建一個程序文件。這里采用Hello World!\串行通訊程序。</p><p><b> 圖4.4 選取芯片</b></p><p>
57、; 圖4.5 新建程序文件</p><p> (3)點擊圖4.5中的3保存新建的程序,也可以用菜單File-Save或快捷鍵Ctrl+S進行保存。因是新文件所以保存時會彈出類似圖4.3的文件操作窗口,把第一個程序命名為test1.c,保存在項目所在的目錄中,這時您會發(fā)現(xiàn)程序單詞有了不同的顏色,說明KEIL的C語法檢查生效了。如圖4.6鼠標在屏幕左邊的Source Group1文件夾圖標上右擊彈出菜單,在這里可
58、以做在項目中增加減少文件等操作。選“Add File to Group ‘Source Group 1’”彈出文件窗口,選擇剛剛保存的文件,按ADD按鈕,關閉文件窗,程序文件已加到項目中了。這時在Source Group1文件夾圖標左邊出現(xiàn)了一個小+號說明,文件組中有了文件,點擊它可以展開查看。</p><p> 圖4.6 把文件加入到項目文件組中</p><p> ?。?)C程序文件已
59、被加到了項目中了,下面就剩下編譯運行了。這個項目只是用做學習新建程序項目和編譯運行仿真的基本方法,所以使用軟件默認的編譯設置,它不會生成用于芯片燒寫的HEX文件。先看圖4.7,圖中1、2、3都是編譯按鈕,不同是1是用于編譯單個文件。2是編譯鏈接當前項目,如果先前編譯過一次之后文件沒有做動編輯改動,這時再點擊是不會再次重新編譯的。3是重新編譯,每點擊一次均會再次編譯鏈接一次,不管程序是否有改動。在3右邊的是停止編譯按鈕,只有點擊了前三個中
60、的任一個,停止按鈕才會生效。5是菜單中的它們。在4中可以看到編譯的錯誤信息和使用的系統(tǒng)資源情況等,以后我們要查錯就靠它了。6是有一個小放大鏡的按鈕,這就是開啟\關閉調試模式的按鈕,它也存在于菜單Debug-Start\Stop Debug Session,快捷鍵為Ctrl+F5。</p><p><b> 圖4.7 編譯程序</b></p><p> ?。?)進入調
61、試模式,軟件窗口樣式大致如圖4.8所示。圖中1為運行,當程序處于停止狀態(tài)時才有效,2為停止,程序處于運行狀態(tài)時才有效。3是復位,模擬芯片的復位,程序回到最開頭處執(zhí)行。按4可以打開5中的串行調試窗口,這個窗口可以看到從51芯片的串行口輸入輸出的字符,這里的第一個項目也正是在這里看運行結果。這些在菜單中也有。首先按4打開串行調試窗口,再按運行鍵,這時就可以看到串行調試窗口中不斷的打印“HelloWorld!”。最后要停止程序運行回到文件編輯
62、模式中,就要先按停止按鈕再按開啟\關閉調試模式按鈕。然后就可以進行關閉KEIL 等相關操作了[12]。</p><p> 圖4.8 調試模式窗口</p><p> 4.2 仿真軟件Proteus介紹 </p><p> 在學習、開發(fā)單片機系統(tǒng)時,常常需要硬件仿真設備,用于加快學習和開發(fā)的進度,但此設備對單片機數(shù)量、種類和固定外圍電路有所限制,并且價格較貴。而
63、聯(lián)合運用仿真軟件Proteus和單片機開發(fā)軟件環(huán)境Keil uVision構建單片機虛擬實驗室,在沒有硬件實物的環(huán)境下虛擬建立了一個硬件仿真平臺,大大擴充實驗靈活性,為單片機的學習、開發(fā)提供了一種十分方便有效的平臺。</p><p> Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單
64、片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者,從事單片機教學的教師,致力于單片機開發(fā)應用的科技工作者的青睞。Proteus可提供的仿真元器件資源:仿真數(shù)字和模擬,交流和直流等數(shù)千種元器件,有30多個元件庫。Proteus可提供的仿真儀表資源:示波器,邏輯分析儀,虛擬終端,SPI調試器,I2C調試器,信號發(fā)生器,模式發(fā)生器,交直流電壓表,交直流電流表。理論上同一種儀器可以在一個電路中隨意的調用。除了現(xiàn)實存在的儀器外,
65、Proteus還提供了一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示波器相似,但功能更多。這些虛擬儀器儀表具有理想的參數(shù)指標,例如極高的輸入阻抗,極低的輸出阻抗。這些都盡可能減少了儀器對測量結果的影響。Proteus提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號[13]。 </p><p> 4.3 Keil與Proteus的在線聯(lián)合仿真</
66、p><p> Keil與Proteus在各自的環(huán)境下都可以進行一定程度仿真調試。然而,Keil只能對程序進行調試,不能看到硬件的運行結果,因此并不直觀;而Proteus軟件在對單片機系統(tǒng)進行仿真調試的時候只能對硬件做出改動,不能直觀的了解程序運行的情況,難以對程序中存在的不足和錯誤進行修改。如果能把這兩者結合起來,同時觀察程序的運行情況和當時硬件系統(tǒng)所處的狀態(tài),則可以方便地找出系統(tǒng)設計中存在的軟、硬件錯誤。根據(jù)Pr
67、oteus軟件的官方文檔,在單片機仿真模型中包含了專門的代碼,可以聯(lián)合Keil uVision集成開發(fā)環(huán)境,提供源代碼級的仿真調試,即在Keil中調試、運行程序,而將硬件輸入輸出結果顯示在Proteus中,兩者可以進行無縫聯(lián)合仿真[14]。</p><p><b> 5 程序設計</b></p><p> 5.1 C程序介紹</p><p&
68、gt; 本課題采用C語言作為一種結構化的程序設計語言,C語言的特點就是可以使你盡量少地對硬件進行操作,具有很強的功能性、結構性和可移植性,常常被優(yōu)選作為單片機系統(tǒng)的編程語言。但是基于單片機的C語言和標準C語言有很大區(qū)別,如何結合單片機的系統(tǒng)資源,用C語言開發(fā)符合實際工程需要的單片機系統(tǒng),對用編程者來說具有十分重要的意義。C語言具有很強的功能性和結構性,可以縮短單片機控制系統(tǒng)的開發(fā)周期,而且易于調試和維護,已經(jīng)成為目前單片機語言中最流行
69、的編程語言。 用C編寫程序比匯編更符合人們的思考習慣,開發(fā)者可以擺脫與硬件無必要的接觸,更專心的考慮功能和算法而不是考慮一些細節(jié)問題,這樣就減少了開發(fā)和調試的時間。C語言具有良好的程序結構,適用于模塊化程序設計,因此采用C語言設計單片機應用系統(tǒng)程序時,首先要盡可能地采用結構化的程序設計方法,將功能模塊化,由不同的模塊完成不同的功能,這樣可使整個應用系統(tǒng)程序結構清晰,易于調試和維護。不同的功能模塊,分別指定相應的入口參數(shù)和出口參數(shù)
70、,對于一些要重復調用的程序一般把其編成函數(shù),這樣可以減少程序代碼的長度,又便于整個程序的管理,還可增強可讀性和移植性[15]。</p><p> 5.2 主程序設計</p><p><b> 主程序見附錄A</b></p><p> 主程序的工作過程為:先進行初始化工作,隨后根據(jù)輸入的鍵值分別散轉至對應的子程序)。復讀機開始工作。INT
71、0外中斷服務子函數(shù)用于實現(xiàn)功能選擇。</p><p><b> 6 結論</b></p><p> 在本次設計中利用AT89C51單片機作為主控芯片,P1口為輸入端口,P2,P0口為輸出端口,使用單片機的A/D、D/A轉換器完成聲音的數(shù)字錄放,效果較以便采用語音芯片的復讀機清晰、明亮、逼真。 </p><p> 因為本人水平有限,故論文
72、中所述內容如有不夠詳細、明確的地方還請各位老師及領導批評指正,本人再次表示虛心接受和聆聽教誨。</p><p><b> 附錄A 程序清單</b></p><p> REREAD BIT 20H.0</p><p> PLAY BIT 20H.1</p><p> START BIT
73、P1.5</p><p> TEND BIT P1.4</p><p> ORG 0000</p><p> LJMP MAIN</p><p> ORG 0003</p><p> LJMP SINTO</p><p> ORG 0013H
74、</p><p> LJMP SINT1</p><p><b> MAIN:</b></p><p> MOV P1,#10011110B</p><p> CLR REREAD</p><p> CLR PLAY</p><p> SET
75、B ITO</p><p> SETB IT1</p><p><b> SETB EA</b></p><p> SETB EXO</p><p> JNB REREAD,$</p><p> CLR REREAD</p><p>
76、 MOV DPTR,#0</p><p><b> MLAB1:</b></p><p> SETB START</p><p> CLR START</p><p> JNB TEND,$</p><p> CLR TEND</p><p>
77、; CLR P1.3</p><p> MOV A,P0</p><p> SETB P1.3</p><p> MOVX @DPTR,A</p><p> INC DPTR</p><p> CLR P1.2</p><p> MOVX
78、@DPTR,A</p><p> INC DPTR</p><p> JNB REREAD,MLAB1</p><p> CLR REREAD</p><p> MOV 25H,DPH</p><p> MOV 26H,DPL</p><p> S
79、ETB P1.6</p><p> CLR P1.7</p><p> MOV DPTR,#0</p><p><b> MLAB2:</b></p><p> MOVX A,@DPTR</p><p> MOV PO,A</p><
80、;p> SCLR P1.1</p><p> SETB P1.1</p><p> INC DPTR</p><p> MOV A,DPH</p><p> CJNE A,15H,MLAB3</p><p> MOV A,DPL</p>
81、<p> CJNE A,26H,MLAB3</p><p> MOV DPTR,#0</p><p><b> MLAB3:</b></p><p> JNB PLAY,MLAB2</p><p> SETB P1.7</p><p> CL
82、R P1.6</p><p> LJMP MLAB1</p><p><b> SINTO:</b></p><p> SETB REREAD</p><p><b> RETI</b></p><p><b> SINT1:
83、</b></p><p> SETB PLAY</p><p><b> RETI</b></p><p><b> END</b></p><p> 附錄B 語言復讀機原理圖</p><p> 附錄C 語言復讀機Proteus的仿真電路&l
84、t;/p><p><b> 參 考 文 獻</b></p><p> [1]徐敏.基于單片機控制的多媒體中央控制系統(tǒng)的設計.江蘇財經(jīng)技術學院,2006 :8-10</p><p> [2]孫慨.單片機原理及應用系統(tǒng)設計.北京:國防工業(yè)出版社,2005 :21-23</p><p> [3]胡力.單片機原理與應用.北京
85、:電子工業(yè)出版社,2001 :112-113[4]鐔子龍.基于單片機控制的紅外線報警系統(tǒng)設計.吉首大學,物理科學與信息工程學院,1999 :19</p><p> [5]師黎.單片微型計算機與接口技術.北京:電子工業(yè)出版社,2001 :55</p><p> [6]李朝青.單片機原理及接口技術.北京航空航天大學出版社,2005 :72-75</p><p>
86、 [7]徐惠民,安德寧.單片微型計算機原理接口與應用.北京:北京郵電大學出版社,1996 :17-19[8]何立民.單片機高級教程.北京:北京航空航天大學出版社,2001 :35</p><p> [9]張靖武,周靈彬.單片機系統(tǒng)的PROTEUS設計與仿真.北京:電子工業(yè)出版社,2001 :103-107</p><p> [10]肖玲妮.PROTEL2004電路設計.第1版.北京:
87、清華大學出版社,2006 :113</p><p> [11]夏繼強.單片機實驗與實踐教程.北京:北京航空航天大學出版社,2001 :67 [12]徐瑋.C51單片機高效入門.第1版.北京:機械工業(yè)出版社,2002 :9</p><p> [13]找宗軍,步步高BK-683A語言復讀機,2002 :96-99</p><p> [14]趙曉安.MCS-51單
88、片機原理及應用.天津:天津大學出版社,2001 :13 </p><p> [15]李正華.用3802單片機實現(xiàn)立體聲復讀機,2002:15</p><p> [16]李維祥.單片機原理與運用.天津:天津大學出版社,2001</p><p> [17]錢逸秋.單片機原理與應用.北京:電子工業(yè)出版社,2001</p><p> [18]
89、李群芳.單片微型計算機與接口技術.北京:電子工業(yè)出版社,2001</p><p> [20]毛謙敏.單片機原理及應用系統(tǒng)設計.北京:國防工業(yè)出版社,2005</p><p> [22]李華.MCS-51系列單片機實用接口技術.北京:北京航空航天大學出版社,</p><p> [23]陳粵初.單片機應用系統(tǒng)設計與實踐.北京:北京航空航天大學出版社,1991<
90、;/p><p> [24]樓然苗.李光飛.51系列單片機設計實例.北京:北京航空航天大學出版社,2003</p><p> [25]沈紅衛(wèi).基于單片機的智能系統(tǒng)設計與實現(xiàn).北京:電子工業(yè)出版社,2005</p><p> [26]王力虎.李紅波.PC控制及接口程序設計實例.北京:科學出版社,2004</p><p> [27]肖玲妮.PR
91、OTEL2004電路設計.第1版.北京:清華大學出版社,2006</p><p> [28]張靖武,周靈彬.單片機系統(tǒng)的PROTEUS設計與仿真.第1版.北京:電子工業(yè)出版社,2001</p><p><b> 致 謝</b></p><p> 本文是我在本科學習階段的最后一份答卷,也可能是我作為學生的最后一份答卷?;厥渍撐牡膶懽鬟^程,
92、得到了許多人的幫助,特別是我的老師、朋友和室友,他們在我論文的完成過程中給予了許多的教誨、幫助和鼓勵。借此機會,向他們表示我由衷的感激之情!</p><p> 首先,我要特別感謝我的導師***老師。***老師學識淵博、平易近人,對待我們像對待自己的朋友。在設計和論文的完成過程中給了我最直接的幫助,真心感謝xx老師給我的指導和幫助。</p><p> 最后,我要深深感謝辛勤養(yǎng)育我的父母。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計論文-語音復讀機--單片機在語音錄放技術中的應用
- 單片機畢業(yè)設計---基于單片機控制的模擬電梯顯示
- 基于單片機的電機控制畢業(yè)設計
- 基于單片機的彩燈控制設計畢業(yè)設計
- 單片機畢業(yè)設計--用單片機設計日歷和時鐘
- 基于單片機的溫度控制畢業(yè)設計
- 單片機畢業(yè)設計---基于單片機的恒溫控制器的設計
- 畢業(yè)設計--基于單片機控制的直流恒流源設計
- 基于單片機的畢業(yè)設計
- 單片機畢業(yè)設計--單片機設計數(shù)字溫度計
- 畢業(yè)設計----基于單片機全自動洗衣機設計
- 基于單片機的pid溫度控制畢業(yè)設計
- 基于單片機的步進電機控制畢業(yè)設計
- 基于單片機的步進電機控制畢業(yè)設計
- 畢業(yè)設計論文 基于單片機的溫度控制設計
- 單片機控制水位畢業(yè)設計
- 單片機洗衣控制畢業(yè)設計
- 單片機畢業(yè)設計--汽車轉彎燈單片機控制
- 畢業(yè)設計---基于單片機的音樂噴泉控制
- 單片機畢業(yè)設計--單片機控制的led點陣顯示
評論
0/150
提交評論