本科畢業(yè)設(shè)計語音計算器_第1頁
本科畢業(yè)設(shè)計語音計算器_第2頁
本科畢業(yè)設(shè)計語音計算器_第3頁
本科畢業(yè)設(shè)計語音計算器_第4頁
本科畢業(yè)設(shè)計語音計算器_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上摘 要近年來隨著科技的飛速發(fā)展,單片機的應(yīng)用正在不斷深入。在實時檢測和自動控制的單片機應(yīng)用系統(tǒng)中,單片機往往作為一個核心部件來使用。但僅單片機方面的知識是不夠的,還應(yīng)根據(jù)具體的硬件擴展和軟件設(shè)計,來加以完善單片機的功能。計算器是人們的日常生活中比較常用的電子產(chǎn)品之一。語音技術(shù)的進(jìn)展給這種應(yīng)用需要提供了一種有力的技術(shù)支持,逐漸被廣大用戶所接受,并廣泛應(yīng)用于各種需要語音響應(yīng)的場合。本次設(shè)計的簡易計算器系統(tǒng),以MCS-51系列中的AT89C51單片機為核心,通過鍵盤輸入,能夠?qū)崿F(xiàn)簡單的加減乘除四則運算,并將結(jié)果于LCD1602液晶顯示器顯示。另外此系統(tǒng)擴展了語音的錄放功能,

2、能夠根據(jù)用戶喜好進(jìn)行短時錄音和放音。硬件電路部分主要包括AT89C51單片機控制器模塊、LCD1602液晶顯示器模塊、4*4矩陣式控制按鍵模塊和語音播放模塊等。然后通過Proteus對系統(tǒng)進(jìn)行仿真,最后進(jìn)行實物焊接與調(diào)試。仿真和調(diào)試結(jié)果表明該系統(tǒng)能夠準(zhǔn)確計算,響應(yīng)時間較短,工作較穩(wěn)定。關(guān)鍵詞:AT89C51; LCD1602; ISD2560; 4*4矩陣式控制按鍵ABSTRACTIn recent years, with the rapid development of science and technology, SCM applications are deepening. In re

3、al-time detection and automatic control of microcomputer application system, the single chip microcomputer often as a core component to use. But only SCM knowledge is not enough, still should according to the specific hardware extension, and the software design, to improve the function of the microc

4、ontroller. Calculator is more common in Peoples Daily life of one of the electronic products. Speech technology progress for this application needs to provide a powerful technical support, is gradually accepted by the masses of users, and are widely applied to various needs voice response. This simp

5、le calculator system, based on the AT89C51 MCS - 51 series microcontroller as the core, through keyboard input, the arithmetic to implement a simple addition, subtraction, multiplication, and division, and will result in the LCD1602 LCD display. In addition this system extends the voice recording fu

6、nction, can according to users preferences for short time recording and playback. Hardware circuit part mainly consists of AT89C51 controller module, LCD1602 LCD module, 4 * 4 matrix module and voice broadcast module control buttons, etc. Then the system are simulated by Proteus, and finally carries

7、 on the real welding and debugging. The simulation and debugging results show that the system can accurately calculate, shorter response time, work more stable. Keywords:AT89C51; LCD1602; ISD2560; 4 * 4 matrix control buttons 專心-專注-專業(yè)目錄1 緒論1.1 系統(tǒng)開發(fā)背景 隨著社會的發(fā)展,科學(xué)的進(jìn)步,人們的生活水平在逐步的提高,尤其是微電子技的術(shù)的發(fā)展,猶如雨后春筍的變

8、化。計算器在人們的日常中視比較常見的電子產(chǎn)品之一,如何將常見的計算器技術(shù)更加成熟,充分利用已有的軟件和硬件條件,設(shè)計出更加出色的計算器,使其更好的為各行業(yè)服務(wù),成了如今電子領(lǐng)域重要的研究課題。1.2 系統(tǒng)開發(fā)意義人們的日常生活中已經(jīng)離不開計算器了,社會的各個角落幾乎都充斥著它的身影,比如各類商店,超市和辦公場所等等。因此設(shè)計一款方便實用的計算器有很大的實際意義。我們常見的計算器一般只有計算功能,和簡單的語音跟蹤,并不能根據(jù)用戶自身喜好進(jìn)行錄音。本設(shè)計正是出于此種創(chuàng)意,制作的計算器不僅能完成基本計算功能,而且還融入了語音系統(tǒng)于其中。即是說此計算器除能夠完成一般計算功能和語音跟蹤之外,還可以根據(jù)用

9、戶喜好自定義一段錄音,然后播放出來。這種根據(jù)自己喜好錄放音的計算器將會受到大家的喜歡。1.3 設(shè)計主要內(nèi)容隨著嵌入式系統(tǒng)(以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),且軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計算機系統(tǒng))的快速發(fā)展,單片機本著它簡單,功能強大,易于設(shè)計等優(yōu)點被設(shè)計者廣泛使用。本設(shè)計使用單片機作為中央控制器件,另附計算系統(tǒng)與語音系統(tǒng)為擴展完成。第一章為設(shè)計的背景、意義介紹,簡明扼要的闡述設(shè)計的目的和成果。第二章為系統(tǒng)方案設(shè)計,主要從設(shè)計的功能,方案的確定及選擇原因和系統(tǒng)組成來介紹。第三章為主要芯片介紹,詳細(xì)闡述了芯片的內(nèi)部結(jié)構(gòu)和引腳分布。第四章為設(shè)計的核心

10、,即硬件電路設(shè)計。此章將硬件電路分為若干模塊,分別介紹了各模塊的硬件設(shè)計電路。第五章為軟件設(shè)計,主要介紹了語言的選擇,控制字的確定,流程圖和最后的仿真與調(diào)試。通過這幾章的介紹,完成簡易計算器的設(shè)計。2 系統(tǒng)方案總體設(shè)計2.1簡易計算器的功能介紹2.1.1 基本功能根據(jù)所學(xué)知識,自行設(shè)計一個計算器,要求該計算器能夠?qū)崿F(xiàn)加減乘除四則混合運算,能夠?qū)崿F(xiàn)連續(xù)計算。2.1.2 擴展功能(1)該計算器可顯示負(fù)數(shù)。(2)該計算器帶有語音播報系統(tǒng),可自定義錄、放音。(3)該計算器能夠進(jìn)行錯誤提示和數(shù)據(jù)溢出提示。2.2 方案論證與比較2.2.1 控制器部分設(shè)計方案論證與選擇根據(jù)設(shè)計要求,控制器主要用于數(shù)據(jù)的接收

11、和發(fā)送、數(shù)據(jù)的運算和控制液晶屏顯示等。針對這些,對于控制器的選擇有以下三種方案。方案一:采用計算器專用芯片實現(xiàn)。用計算器專用芯片進(jìn)行設(shè)計并編程實現(xiàn)。這種設(shè)計方案計算效率高、速度快、而且成本也相對較低,是廠家做計算器的最佳方案。但是計算器專用芯片的使用最主要是規(guī)范和專業(yè),適用于復(fù)雜領(lǐng)域計算?,F(xiàn)設(shè)計的計算器只需完成基本計算功能和語音模塊擴展,并且由于專用芯片的使用繁瑣復(fù)雜,價格昂貴,所以這個方案不可取。方案二:采用FPGA(現(xiàn)場可編程門陣列)作為系統(tǒng)的控制器。FPGA將所有器件集成到一塊芯片上,體積小,節(jié)省空間,直接面向用戶,使用方便,硬件測試和實現(xiàn)方便快捷,開發(fā)效率高,工作可靠性好。可實現(xiàn)各種復(fù)

12、雜的邏輯功能,規(guī)模大,密度高,采用并行的輸入輸出方式,系統(tǒng)處理速度高,適合作為大規(guī)模實時系統(tǒng)的控制核心。由于本設(shè)計對數(shù)據(jù)處理速度的要求不是很高,F(xiàn)PGA的高速處理的優(yōu)勢得不到充分體現(xiàn)。又由于其集成度高,成本偏高。而且其芯片的引腳較多,實物電路板布線復(fù)雜,加重了電路的實際焊接的工作。這樣一來FPGA的性價比太低,所以這個方案不考慮。方案三:用單片機實現(xiàn)。由于單片機集成了運算器電路、控制電路、存儲器、中斷系統(tǒng)、定時器/計數(shù)器以及輸入/輸出口電路等,所以用單片機設(shè)計控制電路省去了很多分立元器件。而且單片機是可編程芯片,可以運用C語言編寫,對于一些復(fù)雜的計算功能,它可以調(diào)用C語言庫函數(shù),使編程工作變得

13、非常簡單。所以該課題用單片機實現(xiàn),不僅功能易于實現(xiàn),而且精確度高,穩(wěn)定性好,抗干擾能力強。并且由于其成本低、體積小、技術(shù)成熟和功耗小,技術(shù)比較成熟,性價比也相當(dāng)高。更重要的是本人經(jīng)過四年的學(xué)習(xí),對單片機已有深刻的理解,使用起來更加方便靈活。綜上所述,通過各個方面綜合比較,為達(dá)到最佳效果,我們采用方案三用單片機來設(shè)計此控制器。2.2.2 顯示電路部分設(shè)計方案論證與選擇方案一:數(shù)碼管顯示方案。使用兩個四位一體動態(tài)數(shù)碼管顯示,具有程序簡單,對外界環(huán)境要求低,易于維護(hù),精確可靠,操作簡單,顯示直觀的特點。但由于數(shù)碼管只能顯示數(shù)字和代碼,不能顯示漢字及常用符號等,所以此方案不考慮。方案二:采用LCD16

14、02型液晶顯示。(一)基本顯示特性1、+5V電壓,對比可調(diào)度;2、內(nèi)含復(fù)位電路;3、提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能;4、有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM;5、內(nèi)建有160個5X7點陣的字型的字符發(fā)生器CGROM;6、8個可由用戶自定義的5X7的字符發(fā)生器CGRAM。(二)接口定義LCD1602接口定義如表2-1所示表2-1 接口定義圖引腳號引腳名電平輸入/輸出作用12345678910111213141516VssVccVeeRSR/WEDB0DB1DB2DB3DB4DB5DB6DB7AK0/10/11,100/10/10/10/10/10/10/10/1

15、+Vcc接地輸入輸入輸入輸入/輸出輸入/輸出輸入/輸出輸入/輸出輸入/輸出輸入/輸出輸入/輸出輸入/輸出電源地電源(+5V)對比可調(diào)電壓0=輸入指令1=輸入數(shù)據(jù)0=向LCD寫入指令或數(shù)據(jù)1=從LCD讀取數(shù)據(jù)使能信號,1時讀取信息,10(下降沿)執(zhí)行指令數(shù)據(jù)總線line0(最低位)數(shù)據(jù)總線line1數(shù)據(jù)總線line2數(shù)據(jù)總線line3數(shù)據(jù)總線line4數(shù)據(jù)總線line5數(shù)據(jù)總線line6數(shù)據(jù)總線line7(最高位)LCD背光電源正極LCD背光電源負(fù)極綜上所敘,AT1602的顯示效果好、功能齊全,所以我們選用AT1602液晶顯示。該液晶有16個引腳,它能顯示32個字符,并且硬件電路設(shè)計簡單,顯示美

16、觀。2.2.3 鍵盤設(shè)計方案與選擇方案一:獨立鍵盤。獨立鍵盤為一端接地,另一端接I/O口,并且要接上拉電阻。這種鍵盤的硬件很容易實現(xiàn),但由于每一個按鍵就要占用一個I/O口,浪費單片機的I/O口資源,不適合本次設(shè)計,此方案不考慮。方案二:4*4矩陣式鍵盤。這種鍵盤的硬件簡單,使用的I/O口比獨立鍵盤減少一半,并且這種鍵盤的編程方法很常見,相對來說比較熟。所以本次設(shè)計采用4*4矩陣式鍵盤。2.3 系統(tǒng)組成本設(shè)計采用MCS-51系列單片機AT89C51來設(shè)計計算器。通過擴展必要的外圍接口電路,實現(xiàn)對計算器的設(shè)計。由鍵盤輸入數(shù)值,再通過80C51單片機輸入到系統(tǒng),并由I/O口輸出,最后由LCD1602

17、顯示輸入數(shù)值和輸出結(jié)果,同時通過語音模塊達(dá)到實時語音播報,通過語音擴展模塊實現(xiàn)錄放音的功能效果。其中,本設(shè)計以單片機為核心,包括按鍵模塊、擴展模塊、基本運算模塊、語音模塊和顯示模塊。系統(tǒng)框圖如圖2-1所示: 圖2-1 系統(tǒng)框圖硬件電路是采用結(jié)構(gòu)化系統(tǒng)設(shè)計方法,該方法保證設(shè)計電路的標(biāo)準(zhǔn)化、模塊化。硬件電路設(shè)計最重要的選擇是確定用于控制的單片機,并確定與之配套的外圍芯片,使所設(shè)計的系統(tǒng)實用性強、操作簡單。軟件設(shè)計的方法與開發(fā)環(huán)境的選取有著直接的關(guān)系,本系統(tǒng)由于是采用CMS-51系列單片機,因此使用Keil C語言進(jìn)行開發(fā),Proteus仿真軟件進(jìn)行仿真。此編程工具相比匯編語言具有結(jié)構(gòu)化、適用范圍大

18、、可移植性好等特點。本系統(tǒng)軟件設(shè)計采用模塊化系統(tǒng)設(shè)計方法,先編寫各個功能模塊子程序,然后進(jìn)行組合與調(diào)整,經(jīng)過Keil C調(diào)試后,達(dá)到設(shè)計功能要求,并在Proteus中仿真。在設(shè)計中采用AT89C51單片機作為微處理器,低電壓、高性能CMOS 8位單片機,片內(nèi)含4K bytes的可反復(fù)擦寫的Flash只讀程序存儲器和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash 存儲單元。硬件方面需完成包括鍵盤控制,LCD屏顯示控制,基本運算控制、語音控制等設(shè)計。除外,還有各部件之間的連接、引腳間的連接等工作。軟件方面則需完成各功能

19、模塊的程序編寫,及調(diào)試和仿真工作。3 硬件電路設(shè)計硬件電路主要包括單片機為核心的復(fù)位電路、時鐘電路,顯示電路、語音電路和按鍵電路。通過各電路,詳細(xì)的介紹了電路組成。3.1 主控芯片選型及分析 隨著集成電路工藝的發(fā)展,出現(xiàn)了單片機、DSP、ARM等多種單片機。DSP:有16位的到32位之分,16位DSP適合中高級工控到簡單語音/圖片處理,32位DSP適合復(fù)雜語音/圖片/視頻等處理。ARM:是32位單片機,適合做中高級工控或簡單語音/圖片(不含視頻)的處理。而AT89C51是一種帶有4K字節(jié)閃爍可編程可擦除只讀存儲的低電壓、高性能CMOS8位微處理器,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳均相兼

20、容。MCS-51單片機雖然和DSP,ARM相比處理速度和運算速度上都比較慢,但它體積小、質(zhì)量輕、價格便宜,速度也可以滿足本次實驗的要求,所以我們采用AT89C51這款單片機作為本設(shè)計的主控芯片。AT89C51內(nèi)部原理圖如圖3-1所示: 圖3-1 AT89C51單片機內(nèi)部原理圖引腳圖如圖3-2所示:圖3-2 AT89C51單片機引腳圖AT89C51的主要特性:(1) 與MCS-51兼容(2) 4K字節(jié)可編程閃爍存儲器(3) 數(shù)據(jù)保留時間:10年(4) 全靜態(tài)工作:0Hz-24Hz(5) 128*8位內(nèi)部RAM(6) 32可編程I/O線(7) 兩個16位定時器/計數(shù)器(8) 5個中斷源(9) 可編

21、程串行通道(10) 片內(nèi)振蕩器和時鐘電路中央處理器:中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(RAM):C51內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。程序存儲器(ROM):C51共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/

22、計數(shù)器:C51有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷,用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)口:C51共有4組8位I/O口(P0、P1、P2和P3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:C51內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng):C51具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。時鐘電路:C51內(nèi)置最高頻率達(dá)12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但C51單片機需外置振蕩電容。3.2 復(fù)位電路A

23、T89C51單片機在啟動時都需要復(fù)位,使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機的復(fù)位信號是從RST引腳輸入到芯片內(nèi)部的斯密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如RST引腳上有一個高電平并維持2個機器周期(24個振蕩周期),則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。如圖3-3所示,其為手動復(fù)位電路,通過接通一按鈕開關(guān),使單片機進(jìn)入復(fù)位狀態(tài)。圖3-3 復(fù)位電路3.3 時鐘電路AT89C51芯片內(nèi)部有一個高增益反相放大器,用于構(gòu)成振蕩器,反相放大器的輸入端為XTAL1,輸出端為XTAL2,兩端跨接石英晶體及兩個電容就可以構(gòu)成穩(wěn)定的自激振蕩器。電容器C1和C2

24、通常取22pf左右,可穩(wěn)定頻率并對振蕩頻率有微調(diào)作用。振蕩脈沖頻率范圍為024MHz。 時鐘接口電路如圖3-4所示:圖3-4 時鐘電路3.4 顯示電路本設(shè)計采用LCD1602液晶顯示器來顯示輸出數(shù)據(jù)。 本設(shè)計通過D0-D7引腳向LCD寫指令字或?qū)憯?shù)據(jù)以使LCD實現(xiàn)不同的功能或顯示相應(yīng)的數(shù)據(jù)。其接口電路如圖3-5所示。圖3-5 顯示電路LCD部分3.5 語音電路 3.51 ISD2560選型及分析目前市場流行的語音芯片有很多,從性價比的角度來考慮,美國ISD公司的ISD系列語音芯片可謂是一只獨秀。ISD系列語音芯片具有以下優(yōu)點:(1)采用模擬量數(shù)據(jù)存儲在半導(dǎo)體存儲器直接存儲的專利技術(shù),即將模擬量

25、數(shù)據(jù)直接寫入單個存儲單元,不需要經(jīng)過A/D,D/A轉(zhuǎn)換。(2)內(nèi)部集成了大容量的的EEPROM,不再需要擴展存儲器。(3)控制簡單,控制引腳與TTL電平兼容。(4)集成度高,使用方便。(5)能較好的真時再現(xiàn)語音的自然效果,避免了一搬固體語音電路的因為量化和壓縮所造成的量化噪聲和失真現(xiàn)象。 因此本例選用ISD公司的語音芯片ISD2560。ISD2560是ISD公司生產(chǎn)的語音錄入和重放芯片ISD2500系列之一,ISD2500系列芯片包括ISD2560,ISD2575,ISD2590和ISD25120四種,他們的主要區(qū)別在于存儲語音的時間長度,ISD2560的錄音時間為60秒,ISD2575的錄音

26、時間為75秒,ISD2590的錄音時間為90秒,而ISD25120的錄音時間為120秒。ISD2560采用多電平直接模擬量存儲專利技術(shù),每個采樣值可直接存儲在片內(nèi)單個EEPROM單元中,因此能夠非常真實,自然得再現(xiàn)語音,音樂,音調(diào)和效果聲,從而避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和“金屬聲”。ISD2560的采樣頻率為8kHZ,同一系列的產(chǎn)品采樣頻率越低,錄音/放音時間越長,但同頻帶和音質(zhì)會有所降。ISD2560可重復(fù)錄放10萬多次,它是一種永久記憶型語音錄音/放音電路,它具有音質(zhì)自然,使用方便,單片存放,反復(fù)錄音,功耗低,抗斷電等許多優(yōu)點,因此在許多領(lǐng)域獲得了廣泛的應(yīng)用。ISD2

27、560省去了A/D和D/A轉(zhuǎn)換器,集成度較高,內(nèi)部包括前置放大器,內(nèi)部時鐘,定時器,采樣時鐘,濾波器,自動增益控制,邏輯控制,模擬收發(fā)器,解碼器和480k字節(jié)的EEPROM。ISD2560內(nèi)部的EEPROM存儲單元均勻分為600行,有600個地址單元,每個地址單元指向其中一行,每一個地址單元的地址分辨率為100ms。此外,ISD2560還具備微控制器所需的控制接口。通過操縱地址和控制線可完成不同的任務(wù),以便實現(xiàn)復(fù)雜的信息處理功能,如信息的組合,連接,設(shè)定固定的信息段和信息管理等。ISD2560可不分段,也可按最小段長為單位來任意組合分段。ISD2560內(nèi)部原理圖如圖3-6所示: 圖 3-6 I

28、SD2560內(nèi)部原理圖由內(nèi)部框圖可知其內(nèi)部集成了高精度的時鐘電路,無需外部配置晶振, ISD2560可進(jìn)行錄、放兩種操作。錄入時,語音信號經(jīng)過換能器MIC轉(zhuǎn)變?yōu)殡娦盘枺撔盘柦?jīng)過隔直電容去除直流分量后送入前置放大器,微弱的電信號經(jīng)過前置放大后由ANAOUT腳輸出,經(jīng)過隔直電容后送入ANAIN腳,既而信號進(jìn)入自動增益AGC放大器,信號電平得到調(diào)理,使其符合存儲電路的動態(tài)范圍。為使得采樣信號不產(chǎn)生失真,采樣系統(tǒng)必須滿足奈奎斯特采樣定律。ISD2560的采樣頻率8K, 故實際應(yīng)用中,為存儲不失真音頻信息,放大后的信號必須經(jīng)過一個低通濾波器后方可送入存儲單元,該濾波器為一五極點抗干擾濾波器,高頻頻限為

29、3.4K,完全滿足奈奎斯特定律,該器件典型帶寬為3.4K。調(diào)理完畢的信號在內(nèi)部時鐘的作用下以閉環(huán)控制形式送入模擬存儲陣列。如3-7圖所示: 圖 3-7 閉環(huán)存儲電路被采樣信號經(jīng)采樣電路取樣保持,同時電子被泵入模擬存儲單元,此時兩者被送入比較器的比較端,當(dāng)兩者電平相等時則停止向EPROM中寫入數(shù)據(jù),這樣模擬信息得到了存儲。在器件的放音模式下,錄入的模擬電壓在取樣脈沖的作用下,順序的從模擬矩陣中讀出并恢復(fù)為原始波形,經(jīng)五極點平滑濾波器后入混合器,以便與外界其他信號混合,而后送入功率放大器,并由SP+,SP-端輸出,可直接驅(qū)動揚聲器。ISD2560應(yīng)用電壓:單5 V供電,錄/放時間:60S尋址空間:

30、1024位最多語音分段:600 支持OVF 溢出ISD2560引腳圖如圖3-8所示:圖3-8 ISD2560引腳圖A0-A9引腳提供語音芯片ISD2560的地址/模式輸入,通過A8、A9引腳可以配置ISD2560操作模式。P/R引腳控制語音芯片ISD2560的錄音/放音模式的選擇,P/R引腳為低,ISD2560為錄音狀態(tài),為高ISD2560為放音狀態(tài)。PD引腳和ISD2560的節(jié)電控制輸入相連,通過此引腳可以控制芯片的開關(guān)。CE引腳用于控制語音芯片的片選,低電平時選中芯片。單片機的P3.3(INT1)引腳、P2.5引腳和ISD2560DE的EOM標(biāo)志輸出相連,EOM標(biāo)志在錄音時由芯片自動插入到

31、錄音信息的結(jié)尾處,放音遇到EOM時,會產(chǎn)生低電平脈沖(約12.5ms)觸發(fā)單片機中斷,單片機在檢測到此輸出的上升沿后播放新的錄音。語音接口電路如圖3-9所示:圖3-9 語音電路以下為芯片ISD2560的主要引腳說明:AO0/MO-A6/M6,A7-A9(1-10引腳):地址線/模式輸入。共有1024種組合狀態(tài)。最前面的600個狀態(tài)作為狀態(tài)內(nèi)部存儲器的尋址用,最后256個狀態(tài)作為操作模式。當(dāng)A8或A9有一個為零時,作為地址線,作為當(dāng)前錄音/放音操作的起始地址,地址端一直用作輸入,不輸出操作過程中的內(nèi)部地址信息,地址輸入在CE的下降沿被鎖存。當(dāng)A8和A9均為1時,為模式輸入。AUX IN(11引腳

32、):輔助輸入。當(dāng)CE和P/R為高,放音不進(jìn)行或處于放音溢出狀態(tài)時,該引腳的輸入信號通過內(nèi)部輸出放大器驅(qū)動揚聲器輸出端。SP+,SP-(14,15引腳):揚聲器輸出。可驅(qū)動16歐以上的揚聲器(內(nèi)存放音時功率為12.2mW,AUXIN放音是功率為50mW)。ISD2500系列的所有的器件在芯片上都有一個差分揚聲器驅(qū)動器。MIC IN(17引腳):話筒輸入引腳。麥克的輸入通過此引腳將信號送至片內(nèi)的前置放大器,片內(nèi)自動增益控制電路(AGC)將此前置放大器的增益控制在-1524dB。外接話筒應(yīng)該通過一系列電容交流耦合進(jìn)此引腳,耦合電容值和芯片內(nèi)部此引腳的10千歐輸入阻抗共同決定了ISD2560芯片頻帶的

33、低頻截至點。MIC REF(18引腳): 話筒參考輸入引腳。此引腳是前置放大器的反向輸入,當(dāng)以差分形式連接話筒時,可減小噪聲,提高共模抑制比。AGC(19引腳):自動增益控制引腳。AGC可動態(tài)調(diào)整前置增益以補償話筒輸入電平的寬幅變化,使得錄制變化很大的音量(從耳語道喧囂聲)時失真都保持最小。響應(yīng)時間取決于該端內(nèi)置的5千歐電阻和從該端到VSSA端所接電容的時間常數(shù)。 ANA IN(20引腳):模擬輸入引腳。此引腳為芯片錄音信號輸入端。對話筒輸入來說,應(yīng)將ANA OUT引腳通過外接電容連至此引腳,該電容和本端的3千歐輸入阻抗決定了芯片頻帶的附加低端截至頻率。ANA OUT(21引腳):模擬輸出引腳

34、。此引腳為前置放大器的輸出,其前置電壓增益取決于AGC引腳的電平。 OVF(22引腳):出標(biāo)志輸出引腳,低電平有效。芯片處于存儲空間末尾時,此引腳輸出低電平脈沖以表示溢出,之后該引腳狀態(tài)跟隨CE引腳的狀態(tài),直到PD引腳變高復(fù)位芯片 CE(23引腳):芯片使能輸入引腳,低電平有效。此引腳為低電平使能所有的錄音和播放操作。芯片在該引腳的下降沿和鎖存地址線和P/R引腳的狀態(tài)。 PD(24引腳):節(jié)電控制引腳。此引腳變高后可使芯片停止而進(jìn)入節(jié)電狀態(tài)。芯片發(fā)生溢出,即OVF引腳輸出低電平后,應(yīng)將此引腳變高以將地址指針復(fù)位到錄音/放音空間的開始位置。 EOM(25引腳):信息結(jié)尾標(biāo)志輸出引腳,低電平有效。

35、EOM標(biāo)志在錄音時由芯片自控插入到該信息段的結(jié)尾。當(dāng)放音遇到EOM時,此引腳輸出低電平脈沖。 XCLK(26引腳):外部時鐘輸入引腳。此引腳內(nèi)部與下拉元件,不用時應(yīng)接地。 P/R(27引腳):錄音/放音模式選擇引腳。此引腳在CE的下降沿鎖存。高電平選擇放音,低電平選擇錄音。錄音時,由地址線提供起始地址,直到錄音持續(xù)到CE或PD變高,或內(nèi)存溢出;如果是前一種情況,芯片將自動在錄音結(jié)束處寫入EOM標(biāo)志。放音時,由地址輸入提供起始地址,放音持續(xù)到EOM標(biāo)志。如果CE一直為低,或芯片工作在某些操作模式,放音則會忽略EOM而繼續(xù)進(jìn)行下去,知道發(fā)生溢出為止。3.6 按鍵電路計算機輸入數(shù)字和其他功能按鍵時要

36、用到很多按鍵,在這種情況下,編程會很簡單,但是會占用大量的I/O口資源,因此在很多情況下都不采用這樣的方式,而是采用矩陣鍵盤的方式。矩陣鍵盤采用四條I/O線作為行線,四條I/O線作為列線組成鍵盤,在行線和列線的每個交叉點上設(shè)置一個按鍵。這樣鍵盤上按鍵的數(shù)量就為4*4個,這樣行列式鍵盤結(jié)構(gòu)能有效的提高單片機系統(tǒng)中I/O口的利用率。其中MM74C922為口擴展芯片,單片機擴展口電路如圖4.5所示,在本設(shè)計中,計算器輸入鍵盤的4條行線、列線分別連接到MM74C922的X1-X4、Y1-Y4引腳,MM74C922的數(shù)據(jù)輸出口與單片機的P2口相連,MM74C922的DA引腳經(jīng)過一個與非門連接到單片機的/

37、INT0腳,當(dāng)MM74C922檢測到鍵盤輸入時,DA產(chǎn)生高電平,與之相連的/INT0檢測到低電平,給單片機一個中斷,單片機從P2口的低四位讀入鍵盤上按下的鍵的值。圖3-10 單片機擴展口電路MM74C922主要引腳說明:(1) Y1-Y4(腳1-腳4):4*4鍵盤第一列至第四列。(2) X1-X4(腳11、10、8、7):4*4鍵盤第一行至第四行。(3) DOA- DOD(Dataout A-D,腳14-17):按鍵之BCD碼輸出(4) KBM(Keyboard Mask,腳6):內(nèi)部消除開關(guān)彈跳電路所外加電容的。(5) DA(Data Available,腳12):數(shù)據(jù)有效輸出腳。任一按鍵按

38、下時,此腳位會輸出高電位,按鍵釋放后此腳又會恢復(fù)為低電位。(6) OE(Output Enable,腳13):芯片使能腳,接低電位可使芯片選通。按鍵電路如圖3-11所示圖3-11 按鍵電路4 軟件設(shè)計本設(shè)計是硬件電路和軟件編程相結(jié)合的設(shè)計方案,選擇合適的編程語言是一個重要的環(huán)節(jié)。在單片機的應(yīng)用系統(tǒng)程序設(shè)計時,常用的是匯編語言和C語言。匯編語言程序可讀性和可移植性比較差。而C語言雖然執(zhí)行效率沒有匯編語言高,但語言簡潔,使用方便,靈活,運算豐富,表達(dá)化類型多樣化,數(shù)據(jù)結(jié)構(gòu)類型豐富,具有結(jié)構(gòu)化的控制語句,程序設(shè)計自由度大,有很好的可重用性,可移植性等特點。由于現(xiàn)在單片機的發(fā)展已經(jīng)達(dá)到了很高的水平,內(nèi)

39、部的各種資源相當(dāng)?shù)呢S富,CPU的處理速度非常的快。用C語言來控制單片機無疑是一個理想的選擇。所以在本設(shè)計中采用C語言編寫軟件程序。4.1 AT89C51單片機中斷允許控制IE:中斷允許控制寄存器如表4-1所示:表4-1 中斷允許控制寄存器位地址AFAEADACABAAA9A8位符號EA/ET2ESET1EX1ET0EX0寄存器地址A8H,位尋址AFHA8H。EA:中斷允許總控制位當(dāng)EA=0時,中斷總禁止。當(dāng)EA=1時,中斷總允許后中斷的禁止與允許由各中斷源的中斷允許控制位進(jìn)行設(shè)置。EX0( EX1):外部中斷允許控制位當(dāng)EX0( EX1)0 禁止外中斷當(dāng)EX0( EX1)1 允許外中斷ET0(

40、EX1):定時/計數(shù)中斷允許控制位當(dāng)ET0(ET1)0 禁止定時(或計數(shù))中斷當(dāng)ET0(ET1)1 允許定時(或計數(shù))中斷ET2:定時器2中斷允許控制位,在AT89S52、AT89C52中ES:串行中斷允許控制位當(dāng)ES0 禁止串行中斷當(dāng)ES1 允許串行中斷4.2 LCD1602控制4.2.1 LCD1602字符發(fā)生存儲器(CGROM)1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,如表4-2所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是B(41H),顯示時模塊把地址

41、41H中的點陣字符圖形顯示出來,我們就能看到字母“A” 。表4-2 LCD1602字符碼顯示圖4.2.2 LCD1602顯示數(shù)據(jù)寄存器(DDRAM)1清屏指令如表4-3所示表4-3 清屏指令指令功能指令編碼RSR/WDB7DB6DB5DB4DB3DB2DB1DB0清屏0000000001功能:清除液晶顯示器,即清屏操作數(shù)為0x01。2進(jìn)入模式設(shè)置指令如表4-4所示表4-4 模式設(shè)置指令指令功能指令編碼RSR/WDB7DB6DB5DB4DB3DB2DB1DB0進(jìn)入模式設(shè)置00000001I/DS功能:設(shè)定每次定入1位數(shù)據(jù)后光標(biāo)的移位方向,并且設(shè)定每次寫入的一個字符是否移動。此設(shè)計規(guī)定光標(biāo)右移、顯

42、示屏不移動,及操作數(shù)為0x06。參數(shù)設(shè)定的情況如下所示:位名 設(shè)置I/D0=寫入新數(shù)據(jù)后光標(biāo)左移 1=寫入新數(shù)據(jù)后光標(biāo)右移S0=寫入新數(shù)據(jù)后顯示屏不移動1=寫入新數(shù)據(jù)后顯示屏整體右移1個字符3顯示開關(guān)控制指令如表4-5所示表4-5 開關(guān)控制指令指令功能指令編碼RSR/WDB7DB6DB5DB4DB3DB2DB1DB0顯示開關(guān)控制0000001DCB功能:控制顯示器開/關(guān)、光標(biāo)顯示/關(guān)閉以及光標(biāo)是否閃爍。此設(shè)計規(guī)定顯示功能開、無光標(biāo)、光標(biāo) 不閃爍,操作數(shù)為0x0c。參數(shù)設(shè)定的情況如下位名 設(shè)置D 0=顯示功能關(guān)1=顯示功能開C 0=無光標(biāo) 1=有光標(biāo)B 0=光標(biāo)閃爍 1=光標(biāo)不閃爍4功能設(shè)定指令

43、如表4-6所示表4-6 功能設(shè)定指令指令功能指令編碼RSR/WDB7DB6DB5DB4DB3DB2DB1DB0功能設(shè)定00001DLNFXX功能:設(shè)定數(shù)據(jù)總線位數(shù)、顯示的行數(shù)及字型。此設(shè)計規(guī)定數(shù)據(jù)總線為8位、顯示2行,操作數(shù)為0x38。參數(shù)設(shè)定的情況如下位名 設(shè)置DL0=數(shù)據(jù)總線為4位1=數(shù)據(jù)總線為8位N 0=顯示1行 1=顯示2行F 0=57點陣/每字符1=510點陣/每字符5液晶屏顯示位置如表4-7所示表4-7 液晶屏顯示位置顯示位置12345678910111213141516地址第一行000102030405060708090A0B0C0D0E0F第二行4041424344454647

44、48494A4B4C4D4E4F功能:0x31(數(shù)字1的代碼)并不能顯示1出來。原因就是如果你要想在DDRAM的00H地址處顯示數(shù)據(jù),則必須將00H加上80H,即80H,若要在DDRAM的01H處顯示數(shù)據(jù),則必須將01H加上80H即80H+01H。依次類推。4.3 計算器軟件設(shè)計現(xiàn)實生活中人們熟知的計算器,其功能主要如下:1、 鍵盤輸入;2、 數(shù)值顯示;3、 加、減、乘、除四則運算;4、 對錯誤的控制及提示;針對上述功能,計算器軟件程序要完成以下模塊的設(shè)計:1、 鍵盤輸入檢測模塊2、 算術(shù)運算模3、 塊LCD顯示模塊4、 錯誤處理及提示模塊。4.3.1 系統(tǒng)總流程圖圖4-1 系統(tǒng)總流程圖4.3

45、.2 算術(shù)運算程序設(shè)計 算術(shù)運算程序的過程為:先判斷輸入的運算符是+、-、*、/ 中的哪一個,輸入數(shù)值是否溢出,若溢出規(guī)定范圍,則顯示錯誤信息,若是/,則要先判斷除數(shù)是否為零,為零就顯示錯誤信息,不為零則顯示運算結(jié)果,結(jié)果可顯示小數(shù)點后3位,若是-,則直接顯示運算結(jié)果,可顯示負(fù)數(shù)。其流程圖如圖4-2所示。圖4-2運算流程圖4.3.3 按鍵程序設(shè)計 有鍵按下時,單片機響應(yīng)外部中斷0,轉(zhuǎn)入外部中斷0中斷處理函數(shù),在中斷處理函數(shù)中完成對按鍵的判斷,以進(jìn)行下一步的程序處理。4.3.4 顯示程序設(shè)計利用LCD靜態(tài)顯示,通過程序向LCD寫指令字或數(shù)據(jù)使LCD完成不同功能或顯示相應(yīng)數(shù)據(jù)。4.3.5 錯誤處理

46、及提示程序設(shè)計當(dāng)計算器執(zhí)行過程中有錯誤時,會在LCD上顯示相應(yīng)的提示,如當(dāng)除數(shù)為0時,計算器會在LCD上提示error。當(dāng)參與計算的數(shù)值或結(jié)果超出范圍時,計算器會在LCD上提示overflow。4.4 語音播報軟件設(shè)計錄音時,按下錄音鍵,單片機通過口線設(shè)置語音段的起始地址,再使PD端、P /R端和CE端為低電平啟動錄音;結(jié)束時,松開按鍵,單片機又讓CE端回到高電平,完成一段語音的錄制。同樣的方法可錄取第二段、第三段。特別值得注意的是,錄音時間不能超過預(yù)先設(shè)定的每段語音的時間。放音時,根據(jù)需播放的語音內(nèi)容,找到相應(yīng)的語音段起始地址,并通過口線送出。再將P /R端設(shè)為高電平,PD端設(shè)為低電平,并讓

47、CE端產(chǎn)生一負(fù)脈沖啟動放音,這時單片機只需等待ISD2560的信息結(jié)束信號,即EOM的產(chǎn)生。信號為一負(fù)脈沖,在負(fù)脈沖的上升沿,該段語音才播放結(jié)束,所以單片機必須要檢測到EOM的上升沿才能播放第二段,否則播放的語音就不連續(xù),而且會產(chǎn)生啪啪聲。具體的軟件設(shè)計如表4-8所示表4-8 ISD2560軟件設(shè)計地址表PDCEP/RA9A8A7A6A5A4A3A2A1A0分段數(shù)地址錄音00000000000000段0x0000H00000000000011段0x0001H000000010011139段0x0027H00010000000000段0x0200H00000000000011段0x0201H00

48、0100010011139段0x0027H4.4.1 分段錄放音2500系列最多可分為600段,只要在分段錄/放操作前(不少于300納秒),給地址A0-A9賦值,錄音及放音功能均從設(shè)定的起始地址開始,錄音結(jié)束由停止鍵操作決定,芯片內(nèi)部自動在該段的結(jié)束位置插入結(jié)束標(biāo)志(EOM);而放音芯片遇到EOM標(biāo)志即自動停止放音。4.4.2 程序流程圖 本設(shè)計主要通過單片機對ISD2560的控制實現(xiàn)指定地址入口的錄音和循環(huán)播放。程序要實現(xiàn)下面的過程:“開始”鍵按下后,即系統(tǒng)上電后,系統(tǒng)初始化,然后判斷開始鍵是否按下,如果按下則單片機控制PD,P/R引腳低電平,并指向錄音地址,啟動錄音過程。調(diào)用錄音函數(shù),錄音

49、函數(shù)為:Void record(void) CE = 0; /片選有效 PD = 0; /非節(jié)電模式 PR = 0 ; /錄音當(dāng)CE=0 時芯片使能輸入引腳,使能所有的的錄音操作。當(dāng)PD=0 時使芯片開始工作,而進(jìn)入非節(jié)電模式。當(dāng)PR=0 時開始錄音,錄音時,由地址線提供起始地址,直到錄音持續(xù)到CE或PD變高,或自動溢出。語音播報流程如圖4-3所示圖4-3語音播報系統(tǒng)總流程圖在預(yù)先設(shè)定的時間內(nèi),(小于60s)結(jié)束錄音,松開“開始”鍵單片機控制P/R引腳回到高電平,即完成一段語音的錄制。之后打開外部中斷1,啟動放音,放音函數(shù)為: Void playback(void) CE = 0; / 片選有

50、效 PD = 0; / 非節(jié)電模式 PR = 1; / 放音當(dāng)CE=0 時芯片使能輸入引腳,使能所有的的錄音操作。當(dāng)PD=0 時使芯片開始工作,而進(jìn)入非節(jié)電模式。當(dāng) PR=1時為高電平,這時選擇放音,這時由地址輸入提供起始地址,放音持續(xù)到EOM位標(biāo)志。每次放音結(jié)束時,EOM輸出會觸發(fā)單片機的外部中斷1,經(jīng)過適當(dāng)?shù)难訒r后,重新啟動第二次放音,這樣重復(fù)三次后關(guān)閉外部中斷1,流程結(jié)束,等待下一次錄音。外部中斷服務(wù)子程序流程圖如圖4-4所示:圖 4-4 外部中斷服務(wù)子程序流程圖4.5 軟件仿真與實物調(diào)試下面用KEIL uVision與 proteus仿真軟件實現(xiàn)簡易計算器的仿真與調(diào)試。4.5.1 KE

51、IL uVision調(diào)試圖4-5 Keil軟件主界面KEIL是目前51單片機開發(fā)最常用的編譯軟件,操作如上圖4-7所示。首先點擊Project-New Project(Project-Open Project為打開一個已經(jīng)存在的工程),如圖4-6所示。圖4-6 Keil軟件打開新工程界面點開后,在出現(xiàn)的對話框中選擇工程存在路徑,單擊“保存”后,出現(xiàn)如圖4-7所示界面。在此界面上選擇電路板上所用的單片機型號,單擊“確定”。圖4-7 選擇電路板上所用的單片機型號點擊,或者File-New,便建立了一個空的文本框。將寫完的程序添加到工程里面,如圖4-10所示,在左邊Project Workspace

52、里的Source Group 1上右擊,選擇Add Files to Group Source Group 1。在打開的對話框中,選擇剛存的文件路徑和對應(yīng)的擴展名。如圖4-8所示:圖4-8 添加文件到工程中建立工程的時候,默認(rèn)是不生成HEX文件的,得在編譯做如下設(shè)置:單擊,或者在Project Workspace里Target 1上右擊,選擇“Options for Target Target 1”。出現(xiàn)如圖4-9所示對話框,選擇“Target”“Output”按圖示,進(jìn)行更改,點“確定”。圖4-9 編譯設(shè)置編譯輸入計算器和語音的代碼:點擊工具欄中的按鈕。如圖4-10、4-11所示:圖4-10 計算器編譯圖圖4-11 語音編譯圖對于本設(shè)計,進(jìn)入proteus ISIS 集成環(huán)境,繪制原理圖,將Keil編譯過的HEX文件加載到單片機中,運行即可。Protues軟件仿真如圖4-12所示圖4-12 Proteus軟件仿真圖4.5.2 四則運算、除數(shù)為0和數(shù)值溢出仿真演示:(1) 加法仿真:以666和222作為加數(shù)和被加數(shù)運算,結(jié)果為888。如圖4-13所示 圖4-13 加法仿真(2)減法仿真:以777和3作為被減數(shù)和減數(shù)運算,結(jié)果為774。如圖4-14所示 如圖4-14 減法仿真(3)乘法仿真:以155和2作為乘數(shù)和被乘數(shù)運算,結(jié)果為310。如圖4-15所示 如圖4-1

溫馨提示

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

評論

0/150

提交評論