




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 摘 要近年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來使用。但僅單片機(jī)方面的知識(shí)是不夠的,還應(yīng)根據(jù)具體的硬件擴(kuò)展和軟件設(shè)計(jì),來加以完善單片機(jī)的功能。計(jì)算器是人們的日常生活中比較常用的電子產(chǎn)品之一。語音技術(shù)的進(jìn)展給這種應(yīng)用需要提供了一種有力的技術(shù)支持,逐漸被廣大用戶所接受,并廣泛應(yīng)用于各種需要語音響應(yīng)的場(chǎng)合。本次設(shè)計(jì)的簡易計(jì)算器系統(tǒng),以mcs-51系列中的at89c51單片機(jī)為核心,通過鍵盤輸入,能夠?qū)崿F(xiàn)簡單的加減乘除四則運(yùn)算,并將結(jié)果于lcd1602液晶顯示器顯示。另外此系統(tǒng)擴(kuò)展了語音的錄放功能,能夠根據(jù)用戶喜好進(jìn)行短時(shí)
2、錄音和放音。硬件電路部分主要包括at89c51單片機(jī)控制器模塊、lcd1602液晶顯示器模塊、4*4矩陣式控制按鍵模塊和語音播放模塊等。然后通過proteus對(duì)系統(tǒng)進(jìn)行仿真,最后進(jìn)行實(shí)物焊接與調(diào)試。仿真和調(diào)試結(jié)果表明該系統(tǒng)能夠準(zhǔn)確計(jì)算,響應(yīng)時(shí)間較短,工作較穩(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 real-time dete
3、ction 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 microcontroller. c
4、alculator 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 simple calculato
5、r 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 function, can
6、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 on the real
7、 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 ii目錄1 緒論11.1 系統(tǒng)開發(fā)背景11.2 系統(tǒng)開發(fā)意義11.3 設(shè)計(jì)主要內(nèi)容12 系統(tǒng)方案總體設(shè)計(jì)32.1簡易計(jì)算器的功能介紹32.1.1 基本功能32.1.2 擴(kuò)展
8、功能32.2 方案論證與比較32.2.1 控制器部分設(shè)計(jì)方案論證與選擇32.2.2 顯示電路部分設(shè)計(jì)方案論證與選擇42.2.3 鍵盤設(shè)計(jì)方案與選擇52.3 系統(tǒng)組成63 硬件電路設(shè)計(jì)83.1 主控芯片選型及分析83.2 復(fù)位電路103.3 時(shí)鐘電路113.4 顯示電路113.5 語音電路123.6 按鍵電路174 軟件設(shè)計(jì)194.1 at89c51單片機(jī)中斷允許控制194.2 lcd1602控制194.2.1 lcd1602字符發(fā)生存儲(chǔ)器(cgrom)204.2.2 lcd1602顯示數(shù)據(jù)寄存器(ddram)214.3 計(jì)算器軟件設(shè)計(jì)224.3.1 系統(tǒng)總流程圖234.3.2 算術(shù)運(yùn)算程序設(shè)計(jì)
9、234.3.3 按鍵程序設(shè)計(jì)244.3.4 顯示程序設(shè)計(jì)244.3.5 錯(cuò)誤處理及提示程序設(shè)計(jì)254.4 語音播報(bào)軟件設(shè)計(jì)254.4.1 分段錄放音264.4.2 程序流程圖264.5 軟件仿真與實(shí)物調(diào)試294.5.1 keil uvision調(diào)試294.5.2 四則運(yùn)算、除數(shù)為0和數(shù)值溢出仿真演示:334.5.3 實(shí)物調(diào)試345 結(jié)論與展望35致謝36參考文獻(xiàn)37附錄38電路整體原理圖38計(jì)算器源程序39語音播報(bào)源程序50ii1 緒論1.1 系統(tǒng)開發(fā)背景 隨著社會(huì)的發(fā)展,科學(xué)的進(jìn)步,人們的生活水平在逐步的提高,尤其是微電子技的術(shù)的發(fā)展,猶如雨后春筍的變化。計(jì)算器在人們的日常中視比較常見的電子
10、產(chǎn)品之一,如何將常見的計(jì)算器技術(shù)更加成熟,充分利用已有的軟件和硬件條件,設(shè)計(jì)出更加出色的計(jì)算器,使其更好的為各行業(yè)服務(wù),成了如今電子領(lǐng)域重要的研究課題。1.2 系統(tǒng)開發(fā)意義人們的日常生活中已經(jīng)離不開計(jì)算器了,社會(huì)的各個(gè)角落幾乎都充斥著它的身影,比如各類商店,超市和辦公場(chǎng)所等等。因此設(shè)計(jì)一款方便實(shí)用的計(jì)算器有很大的實(shí)際意義。我們常見的計(jì)算器一般只有計(jì)算功能,和簡單的語音跟蹤,并不能根據(jù)用戶自身喜好進(jìn)行錄音。本設(shè)計(jì)正是出于此種創(chuàng)意,制作的計(jì)算器不僅能完成基本計(jì)算功能,而且還融入了語音系統(tǒng)于其中。即是說此計(jì)算器除能夠完成一般計(jì)算功能和語音跟蹤之外,還可以根據(jù)用戶喜好自定義一段錄音,然后播放出來。這種
11、根據(jù)自己喜好錄放音的計(jì)算器將會(huì)受到大家的喜歡。1.3 設(shè)計(jì)主要內(nèi)容隨著嵌入式系統(tǒng)(以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),且軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng))的快速發(fā)展,單片機(jī)本著它簡單,功能強(qiáng)大,易于設(shè)計(jì)等優(yōu)點(diǎn)被設(shè)計(jì)者廣泛使用。本設(shè)計(jì)使用單片機(jī)作為中央控制器件,另附計(jì)算系統(tǒng)與語音系統(tǒng)為擴(kuò)展完成。第一章為設(shè)計(jì)的背景、意義介紹,簡明扼要的闡述設(shè)計(jì)的目的和成果。第二章為系統(tǒng)方案設(shè)計(jì),主要從設(shè)計(jì)的功能,方案的確定及選擇原因和系統(tǒng)組成來介紹。第三章為主要芯片介紹,詳細(xì)闡述了芯片的內(nèi)部結(jié)構(gòu)和引腳分布。第四章為設(shè)計(jì)的核心,即硬件電路設(shè)計(jì)。此章將硬件電路分為若干
12、模塊,分別介紹了各模塊的硬件設(shè)計(jì)電路。第五章為軟件設(shè)計(jì),主要介紹了語言的選擇,控制字的確定,流程圖和最后的仿真與調(diào)試。通過這幾章的介紹,完成簡易計(jì)算器的設(shè)計(jì)。2 系統(tǒng)方案總體設(shè)計(jì)2.1簡易計(jì)算器的功能介紹2.1.1 基本功能根據(jù)所學(xué)知識(shí),自行設(shè)計(jì)一個(gè)計(jì)算器,要求該計(jì)算器能夠?qū)崿F(xiàn)加減乘除四則混合運(yùn)算,能夠?qū)崿F(xiàn)連續(xù)計(jì)算。2.1.2 擴(kuò)展功能(1)該計(jì)算器可顯示負(fù)數(shù)。(2)該計(jì)算器帶有語音播報(bào)系統(tǒng),可自定義錄、放音。(3)該計(jì)算器能夠進(jìn)行錯(cuò)誤提示和數(shù)據(jù)溢出提示。2.2 方案論證與比較2.2.1 控制器部分設(shè)計(jì)方案論證與選擇根據(jù)設(shè)計(jì)要求,控制器主要用于數(shù)據(jù)的接收和發(fā)送、數(shù)據(jù)的運(yùn)算和控制液晶屏顯示等。針
13、對(duì)這些,對(duì)于控制器的選擇有以下三種方案。方案一:采用計(jì)算器專用芯片實(shí)現(xiàn)。用計(jì)算器專用芯片進(jìn)行設(shè)計(jì)并編程實(shí)現(xiàn)。這種設(shè)計(jì)方案計(jì)算效率高、速度快、而且成本也相對(duì)較低,是廠家做計(jì)算器的最佳方案。但是計(jì)算器專用芯片的使用最主要是規(guī)范和專業(yè),適用于復(fù)雜領(lǐng)域計(jì)算?,F(xiàn)設(shè)計(jì)的計(jì)算器只需完成基本計(jì)算功能和語音模塊擴(kuò)展,并且由于專用芯片的使用繁瑣復(fù)雜,價(jià)格昂貴,所以這個(gè)方案不可取。方案二:采用fpga(現(xiàn)場(chǎng)可編程門陣列)作為系統(tǒng)的控制器。fpga將所有器件集成到一塊芯片上,體積小,節(jié)省空間,直接面向用戶,使用方便,硬件測(cè)試和實(shí)現(xiàn)方便快捷,開發(fā)效率高,工作可靠性好。可實(shí)現(xiàn)各種復(fù)雜的邏輯功能,規(guī)模大,密度高,采用并行的
14、輸入輸出方式,系統(tǒng)處理速度高,適合作為大規(guī)模實(shí)時(shí)系統(tǒng)的控制核心。由于本設(shè)計(jì)對(duì)數(shù)據(jù)處理速度的要求不是很高,fpga的高速處理的優(yōu)勢(shì)得不到充分體現(xiàn)。又由于其集成度高,成本偏高。而且其芯片的引腳較多,實(shí)物電路板布線復(fù)雜,加重了電路的實(shí)際焊接的工作。這樣一來fpga的性價(jià)比太低,所以這個(gè)方案不考慮。方案三:用單片機(jī)實(shí)現(xiàn)。由于單片機(jī)集成了運(yùn)算器電路、控制電路、存儲(chǔ)器、中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器以及輸入/輸出口電路等,所以用單片機(jī)設(shè)計(jì)控制電路省去了很多分立元器件。而且單片機(jī)是可編程芯片,可以運(yùn)用c語言編寫,對(duì)于一些復(fù)雜的計(jì)算功能,它可以調(diào)用c語言庫函數(shù),使編程工作變得非常簡單。所以該課題用單片機(jī)實(shí)現(xiàn),不僅功
15、能易于實(shí)現(xiàn),而且精確度高,穩(wěn)定性好,抗干擾能力強(qiáng)。并且由于其成本低、體積小、技術(shù)成熟和功耗小,技術(shù)比較成熟,性價(jià)比也相當(dāng)高。更重要的是本人經(jīng)過四年的學(xué)習(xí),對(duì)單片機(jī)已有深刻的理解,使用起來更加方便靈活。綜上所述,通過各個(gè)方面綜合比較,為達(dá)到最佳效果,我們采用方案三用單片機(jī)來設(shè)計(jì)此控制器。2.2.2 顯示電路部分設(shè)計(jì)方案論證與選擇方案一:數(shù)碼管顯示方案。使用兩個(gè)四位一體動(dòng)態(tài)數(shù)碼管顯示,具有程序簡單,對(duì)外界環(huán)境要求低,易于維護(hù),精確可靠,操作簡單,顯示直觀的特點(diǎn)。但由于數(shù)碼管只能顯示數(shù)字和代碼,不能顯示漢字及常用符號(hào)等,所以此方案不考慮。方案二:采用lcd1602型液晶顯示。(一)基本顯示特性1、+
16、5v電壓,對(duì)比可調(diào)度;2、內(nèi)含復(fù)位電路;3、提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能;4、有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器ddram;5、內(nèi)建有160個(gè)5x7點(diǎn)陣的字型的字符發(fā)生器cgrom;6、8個(gè)可由用戶自定義的5x7的字符發(fā)生器cgram。(二)接口定義lcd1602接口定義如表2-1所示表2-1 接口定義圖引腳號(hào)引腳名電平輸入/輸出作用12345678910111213141516vssvccveersr/wedb0db1db2db3db4db5db6db7ak0/10/11,100/10/10/10/10/10/10/10/1+vcc接地輸入輸入輸入輸入/輸出輸入/
17、輸出輸入/輸出輸入/輸出輸入/輸出輸入/輸出輸入/輸出輸入/輸出電源地電源(+5v)對(duì)比可調(diào)電壓0=輸入指令1=輸入數(shù)據(jù)0=向lcd寫入指令或數(shù)據(jù)1=從lcd讀取數(shù)據(jù)使能信號(hào),1時(shí)讀取信息,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個(gè)引腳,它能顯示32個(gè)字符,并且硬件電路設(shè)計(jì)簡單,顯示美觀。2.2.3 鍵盤設(shè)計(jì)方案與選擇方案一
18、:獨(dú)立鍵盤。獨(dú)立鍵盤為一端接地,另一端接i/o口,并且要接上拉電阻。這種鍵盤的硬件很容易實(shí)現(xiàn),但由于每一個(gè)按鍵就要占用一個(gè)i/o口,浪費(fèi)單片機(jī)的i/o口資源,不適合本次設(shè)計(jì),此方案不考慮。方案二:4*4矩陣式鍵盤。這種鍵盤的硬件簡單,使用的i/o口比獨(dú)立鍵盤減少一半,并且這種鍵盤的編程方法很常見,相對(duì)來說比較熟。所以本次設(shè)計(jì)采用4*4矩陣式鍵盤。2.3 系統(tǒng)組成本設(shè)計(jì)采用mcs-51系列單片機(jī)at89c51來設(shè)計(jì)計(jì)算器。通過擴(kuò)展必要的外圍接口電路,實(shí)現(xiàn)對(duì)計(jì)算器的設(shè)計(jì)。由鍵盤輸入數(shù)值,再通過80c51單片機(jī)輸入到系統(tǒng),并由i/o口輸出,最后由lcd1602顯示輸入數(shù)值和輸出結(jié)果,同時(shí)通過語音模塊
19、達(dá)到實(shí)時(shí)語音播報(bào),通過語音擴(kuò)展模塊實(shí)現(xiàn)錄放音的功能效果。其中,本設(shè)計(jì)以單片機(jī)為核心,包括按鍵模塊、擴(kuò)展模塊、基本運(yùn)算模塊、語音模塊和顯示模塊。系統(tǒng)框圖如圖2-1所示: 圖2-1 系統(tǒng)框圖硬件電路是采用結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)方法,該方法保證設(shè)計(jì)電路的標(biāo)準(zhǔn)化、模塊化。硬件電路設(shè)計(jì)最重要的選擇是確定用于控制的單片機(jī),并確定與之配套的外圍芯片,使所設(shè)計(jì)的系統(tǒng)實(shí)用性強(qiáng)、操作簡單。軟件設(shè)計(jì)的方法與開發(fā)環(huán)境的選取有著直接的關(guān)系,本系統(tǒng)由于是采用cms-51系列單片機(jī),因此使用keil c語言進(jìn)行開發(fā),proteus仿真軟件進(jìn)行仿真。此編程工具相比匯編語言具有結(jié)構(gòu)化、適用范圍大、可移植性好等特點(diǎn)。本系統(tǒng)軟件設(shè)計(jì)采用模
20、塊化系統(tǒng)設(shè)計(jì)方法,先編寫各個(gè)功能模塊子程序,然后進(jìn)行組合與調(diào)整,經(jīng)過keil c調(diào)試后,達(dá)到設(shè)計(jì)功能要求,并在proteus中仿真。在設(shè)計(jì)中采用at89c51單片機(jī)作為微處理器,低電壓、高性能cmos 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的flash只讀程序存儲(chǔ)器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(cpu)和flash 存儲(chǔ)單元。硬件方面需完成包括鍵盤控制,lcd屏顯示控制,基本運(yùn)算控制、語音控制等設(shè)計(jì)。除外,還有各部件之間的連接、引腳間的連接等工作。軟件方面則需完成各功能模塊的程序編寫,及調(diào)試和仿真工作。3 硬
21、件電路設(shè)計(jì)硬件電路主要包括單片機(jī)為核心的復(fù)位電路、時(shí)鐘電路,顯示電路、語音電路和按鍵電路。通過各電路,詳細(xì)的介紹了電路組成。3.1 主控芯片選型及分析 隨著集成電路工藝的發(fā)展,出現(xiàn)了單片機(jī)、dsp、arm等多種單片機(jī)。dsp:有16位的到32位之分,16位dsp適合中高級(jí)工控到簡單語音/圖片處理,32位dsp適合復(fù)雜語音/圖片/視頻等處理。arm:是32位單片機(jī),適合做中高級(jí)工控或簡單語音/圖片(不含視頻)的處理。而at89c51是一種帶有4k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)的低電壓、高性能cmos8位微處理器,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳均相兼容。mcs-51單片機(jī)雖然和dsp,ar
22、m相比處理速度和運(yùn)算速度上都比較慢,但它體積小、質(zhì)量輕、價(jià)格便宜,速度也可以滿足本次實(shí)驗(yàn)的要求,所以我們采用at89c51這款單片機(jī)作為本設(shè)計(jì)的主控芯片。at89c51內(nèi)部原理圖如圖3-1所示: 圖3-1 at89c51單片機(jī)內(nèi)部原理圖引腳圖如圖3-2所示:圖3-2 at89c51單片機(jī)引腳圖at89c51的主要特性:(1) 與mcs-51兼容(2) 4k字節(jié)可編程閃爍存儲(chǔ)器(3) 數(shù)據(jù)保留時(shí)間:10年(4) 全靜態(tài)工作:0hz-24hz(5) 128*8位內(nèi)部ram(6) 32可編程i/o線(7) 兩個(gè)16位定時(shí)器/計(jì)數(shù)器(8) 5個(gè)中斷源(9) 可編程串行通道(10) 片內(nèi)振蕩器和時(shí)鐘電路
23、中央處理器:中央處理器(cpu)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,cpu負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。數(shù)據(jù)存儲(chǔ)器(ram):c51內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的ram只有128個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。程序存儲(chǔ)器(rom):c51共有4096個(gè)8位掩膜rom,用于存放用戶程序,原始數(shù)據(jù)或表格。定時(shí)/計(jì)數(shù)器:c51有兩個(gè)16位的可編程定時(shí)/
24、計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷,用于控制程序轉(zhuǎn)向。并行輸入輸出(i/o)口:c51共有4組8位i/o口(p0、p1、p2和p3),用于對(duì)外部數(shù)據(jù)的傳輸。全雙工串行口:c51內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng):c51具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。時(shí)鐘電路:c51內(nèi)置最高頻率達(dá)12mhz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但c51單片機(jī)需外置振蕩電容。3.2 復(fù)位電路at89c51單片機(jī)在啟動(dòng)時(shí)都需要復(fù)位,使
25、cpu及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機(jī)的復(fù)位信號(hào)是從rst引腳輸入到芯片內(nèi)部的斯密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如rst引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期),則cpu就可以響應(yīng)并將系統(tǒng)復(fù)位。如圖3-3所示,其為手動(dòng)復(fù)位電路,通過接通一按鈕開關(guān),使單片機(jī)進(jìn)入復(fù)位狀態(tài)。圖3-3 復(fù)位電路3.3 時(shí)鐘電路at89c51芯片內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器,反相放大器的輸入端為xtal1,輸出端為xtal2,兩端跨接石英晶體及兩個(gè)電容就可以構(gòu)成穩(wěn)定的自激振蕩器。電容器c1和c2通常取22pf左右,可穩(wěn)定頻率并對(duì)振蕩頻
26、率有微調(diào)作用。振蕩脈沖頻率范圍為024mhz。 時(shí)鐘接口電路如圖3-4所示:圖3-4 時(shí)鐘電路3.4 顯示電路本設(shè)計(jì)采用lcd1602液晶顯示器來顯示輸出數(shù)據(jù)。 本設(shè)計(jì)通過d0-d7引腳向lcd寫指令字或?qū)憯?shù)據(jù)以使lcd實(shí)現(xiàn)不同的功能或顯示相應(yīng)的數(shù)據(jù)。其接口電路如圖3-5所示。圖3-5 顯示電路lcd部分3.5 語音電路 3.51 isd2560選型及分析目前市場(chǎng)流行的語音芯片有很多,從性價(jià)比的角度來考慮,美國isd公司的isd系列語音芯片可謂是一只獨(dú)秀。isd系列語音芯片具有以下優(yōu)點(diǎn):(1)采用模擬量數(shù)據(jù)存儲(chǔ)在半導(dǎo)體存儲(chǔ)器直接存儲(chǔ)的專利技術(shù),即將模擬量數(shù)據(jù)直接寫入單個(gè)存儲(chǔ)單元,不需要經(jīng)過a/
27、d,d/a轉(zhuǎn)換。(2)內(nèi)部集成了大容量的的eeprom,不再需要擴(kuò)展存儲(chǔ)器。(3)控制簡單,控制引腳與ttl電平兼容。(4)集成度高,使用方便。(5)能較好的真時(shí)再現(xiàn)語音的自然效果,避免了一搬固體語音電路的因?yàn)榱炕蛪嚎s所造成的量化噪聲和失真現(xiàn)象。 因此本例選用isd公司的語音芯片isd2560。isd2560是isd公司生產(chǎn)的語音錄入和重放芯片isd2500系列之一,isd2500系列芯片包括isd2560,isd2575,isd2590和isd25120四種,他們的主要區(qū)別在于存儲(chǔ)語音的時(shí)間長度,isd2560的錄音時(shí)間為60秒,isd2575的錄音時(shí)間為75秒,isd2590的錄音時(shí)間為
28、90秒,而isd25120的錄音時(shí)間為120秒。isd2560采用多電平直接模擬量存儲(chǔ)專利技術(shù),每個(gè)采樣值可直接存儲(chǔ)在片內(nèi)單個(gè)eeprom單元中,因此能夠非常真實(shí),自然得再現(xiàn)語音,音樂,音調(diào)和效果聲,從而避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和“金屬聲”。isd2560的采樣頻率為8khz,同一系列的產(chǎn)品采樣頻率越低,錄音/放音時(shí)間越長,但同頻帶和音質(zhì)會(huì)有所降。isd2560可重復(fù)錄放10萬多次,它是一種永久記憶型語音錄音/放音電路,它具有音質(zhì)自然,使用方便,單片存放,反復(fù)錄音,功耗低,抗斷電等許多優(yōu)點(diǎn),因此在許多領(lǐng)域獲得了廣泛的應(yīng)用。isd2560省去了a/d和d/a轉(zhuǎn)換器,集成度
29、較高,內(nèi)部包括前置放大器,內(nèi)部時(shí)鐘,定時(shí)器,采樣時(shí)鐘,濾波器,自動(dòng)增益控制,邏輯控制,模擬收發(fā)器,解碼器和480k字節(jié)的eeprom。isd2560內(nèi)部的eeprom存儲(chǔ)單元均勻分為600行,有600個(gè)地址單元,每個(gè)地址單元指向其中一行,每一個(gè)地址單元的地址分辨率為100ms。此外,isd2560還具備微控制器所需的控制接口。通過操縱地址和控制線可完成不同的任務(wù),以便實(shí)現(xiàn)復(fù)雜的信息處理功能,如信息的組合,連接,設(shè)定固定的信息段和信息管理等。isd2560可不分段,也可按最小段長為單位來任意組合分段。isd2560內(nèi)部原理圖如圖3-6所示: 圖 3-6 isd2560內(nèi)部原理圖由內(nèi)部框圖可知其內(nèi)
30、部集成了高精度的時(shí)鐘電路,無需外部配置晶振, isd2560可進(jìn)行錄、放兩種操作。錄入時(shí),語音信號(hào)經(jīng)過換能器mic轉(zhuǎn)變?yōu)殡娦盘?hào),該信號(hào)經(jīng)過隔直電容去除直流分量后送入前置放大器,微弱的電信號(hào)經(jīng)過前置放大后由anaout腳輸出,經(jīng)過隔直電容后送入anain腳,既而信號(hào)進(jìn)入自動(dòng)增益agc放大器,信號(hào)電平得到調(diào)理,使其符合存儲(chǔ)電路的動(dòng)態(tài)范圍。為使得采樣信號(hào)不產(chǎn)生失真,采樣系統(tǒng)必須滿足奈奎斯特采樣定律。isd2560的采樣頻率8k, 故實(shí)際應(yīng)用中,為存儲(chǔ)不失真音頻信息,放大后的信號(hào)必須經(jīng)過一個(gè)低通濾波器后方可送入存儲(chǔ)單元,該濾波器為一五極點(diǎn)抗干擾濾波器,高頻頻限為3.4k,完全滿足奈奎斯特定律,該器件典
31、型帶寬為3.4k。調(diào)理完畢的信號(hào)在內(nèi)部時(shí)鐘的作用下以閉環(huán)控制形式送入模擬存儲(chǔ)陣列。如3-7圖所示: 圖 3-7 閉環(huán)存儲(chǔ)電路被采樣信號(hào)經(jīng)采樣電路取樣保持,同時(shí)電子被泵入模擬存儲(chǔ)單元,此時(shí)兩者被送入比較器的比較端,當(dāng)兩者電平相等時(shí)則停止向eprom中寫入數(shù)據(jù),這樣模擬信息得到了存儲(chǔ)。在器件的放音模式下,錄入的模擬電壓在取樣脈沖的作用下,順序的從模擬矩陣中讀出并恢復(fù)為原始波形,經(jīng)五極點(diǎn)平滑濾波器后入混合器,以便與外界其他信號(hào)混合,而后送入功率放大器,并由sp+,sp-端輸出,可直接驅(qū)動(dòng)揚(yáng)聲器。isd2560應(yīng)用電壓:單5 v供電,錄/放時(shí)間:60s尋址空間:1024位最多語音分段:600 支持ov
32、f 溢出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引腳用于控制語音芯片的片選,低電平時(shí)選中芯片。單片機(jī)的p3.3(int1)引腳、p2.5引腳和isd2560de的eom標(biāo)志輸出相連,eom標(biāo)志在錄音時(shí)由芯片自動(dòng)插入到錄音信息的結(jié)尾處,放音遇到eom時(shí),會(huì)產(chǎn)
33、生低電平脈沖(約12.5ms)觸發(fā)單片機(jī)中斷,單片機(jī)在檢測(cè)到此輸出的上升沿后播放新的錄音。語音接口電路如圖3-9所示:圖3-9 語音電路以下為芯片isd2560的主要引腳說明:ao0/mo-a6/m6,a7-a9(1-10引腳):地址線/模式輸入。共有1024種組合狀態(tài)。最前面的600個(gè)狀態(tài)作為狀態(tài)內(nèi)部存儲(chǔ)器的尋址用,最后256個(gè)狀態(tài)作為操作模式。當(dāng)a8或a9有一個(gè)為零時(shí),作為地址線,作為當(dāng)前錄音/放音操作的起始地址,地址端一直用作輸入,不輸出操作過程中的內(nèi)部地址信息,地址輸入在ce的下降沿被鎖存。當(dāng)a8和a9均為1時(shí),為模式輸入。aux in(11引腳):輔助輸入。當(dāng)ce和p/r為高,放音不
34、進(jìn)行或處于放音溢出狀態(tài)時(shí),該引腳的輸入信號(hào)通過內(nèi)部輸出放大器驅(qū)動(dòng)揚(yáng)聲器輸出端。sp+,sp-(14,15引腳):揚(yáng)聲器輸出??沈?qū)動(dòng)16歐以上的揚(yáng)聲器(內(nèi)存放音時(shí)功率為12.2mw,auxin放音是功率為50mw)。isd2500系列的所有的器件在芯片上都有一個(gè)差分揚(yáng)聲器驅(qū)動(dòng)器。mic in(17引腳):話筒輸入引腳。麥克的輸入通過此引腳將信號(hào)送至片內(nèi)的前置放大器,片內(nèi)自動(dòng)增益控制電路(agc)將此前置放大器的增益控制在-1524db。外接話筒應(yīng)該通過一系列電容交流耦合進(jìn)此引腳,耦合電容值和芯片內(nèi)部此引腳的10千歐輸入阻抗共同決定了isd2560芯片頻帶的低頻截至點(diǎn)。mic ref(18引腳):
35、 話筒參考輸入引腳。此引腳是前置放大器的反向輸入,當(dāng)以差分形式連接話筒時(shí),可減小噪聲,提高共模抑制比。agc(19引腳):自動(dòng)增益控制引腳。agc可動(dòng)態(tài)調(diào)整前置增益以補(bǔ)償話筒輸入電平的寬幅變化,使得錄制變化很大的音量(從耳語道喧囂聲)時(shí)失真都保持最小。響應(yīng)時(shí)間取決于該端內(nèi)置的5千歐電阻和從該端到vssa端所接電容的時(shí)間常數(shù)。 ana in(20引腳):模擬輸入引腳。此引腳為芯片錄音信號(hào)輸入端。對(duì)話筒輸入來說,應(yīng)將ana out引腳通過外接電容連至此引腳,該電容和本端的3千歐輸入阻抗決定了芯片頻帶的附加低端截至頻率。ana out(21引腳):模擬輸出引腳。此引腳為前置放大器的輸出,其前置電壓增
36、益取決于agc引腳的電平。 ovf(22引腳):出標(biāo)志輸出引腳,低電平有效。芯片處于存儲(chǔ)空間末尾時(shí),此引腳輸出低電平脈沖以表示溢出,之后該引腳狀態(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)志輸出引腳,低電平有效。eom標(biāo)志在錄音時(shí)由芯片自控插入到該信息
37、段的結(jié)尾。當(dāng)放音遇到eom時(shí),此引腳輸出低電平脈沖。 xclk(26引腳):外部時(shí)鐘輸入引腳。此引腳內(nèi)部與下拉元件,不用時(shí)應(yīng)接地。 p/r(27引腳):錄音/放音模式選擇引腳。此引腳在ce的下降沿鎖存。高電平選擇放音,低電平選擇錄音。錄音時(shí),由地址線提供起始地址,直到錄音持續(xù)到ce或pd變高,或內(nèi)存溢出;如果是前一種情況,芯片將自動(dòng)在錄音結(jié)束處寫入eom標(biāo)志。放音時(shí),由地址輸入提供起始地址,放音持續(xù)到eom標(biāo)志。如果ce一直為低,或芯片工作在某些操作模式,放音則會(huì)忽略eom而繼續(xù)進(jìn)行下去,知道發(fā)生溢出為止。3.6 按鍵電路計(jì)算機(jī)輸入數(shù)字和其他功能按鍵時(shí)要用到很多按鍵,在這種情況下,編程會(huì)很簡單
38、,但是會(huì)占用大量的i/o口資源,因此在很多情況下都不采用這樣的方式,而是采用矩陣鍵盤的方式。矩陣鍵盤采用四條i/o線作為行線,四條i/o線作為列線組成鍵盤,在行線和列線的每個(gè)交叉點(diǎn)上設(shè)置一個(gè)按鍵。這樣鍵盤上按鍵的數(shù)量就為4*4個(gè),這樣行列式鍵盤結(jié)構(gòu)能有效的提高單片機(jī)系統(tǒng)中i/o口的利用率。其中mm74c922為口擴(kuò)展芯片,單片機(jī)擴(kuò)展口電路如圖4.5所示,在本設(shè)計(jì)中,計(jì)算器輸入鍵盤的4條行線、列線分別連接到mm74c922的x1-x4、y1-y4引腳,mm74c922的數(shù)據(jù)輸出口與單片機(jī)的p2口相連,mm74c922的da引腳經(jīng)過一個(gè)與非門連接到單片機(jī)的/int0腳,當(dāng)mm74c922檢測(cè)到鍵盤
39、輸入時(shí),da產(chǎn)生高電平,與之相連的/int0檢測(cè)到低電平,給單片機(jī)一個(gè)中斷,單片機(jī)從p2口的低四位讀入鍵盤上按下的鍵的值。圖3-10 單片機(jī)擴(kuò)展口電路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ù)有效輸出腳。任一按鍵按下時(shí),此腳位會(huì)輸出高電位,按鍵釋放后
40、此腳又會(huì)恢復(fù)為低電位。(6) oe(output enable,腳13):芯片使能腳,接低電位可使芯片選通。按鍵電路如圖3-11所示圖3-11 按鍵電路4 軟件設(shè)計(jì)本設(shè)計(jì)是硬件電路和軟件編程相結(jié)合的設(shè)計(jì)方案,選擇合適的編程語言是一個(gè)重要的環(huán)節(jié)。在單片機(jī)的應(yīng)用系統(tǒng)程序設(shè)計(jì)時(shí),常用的是匯編語言和c語言。匯編語言程序可讀性和可移植性比較差。而c語言雖然執(zhí)行效率沒有匯編語言高,但語言簡潔,使用方便,靈活,運(yùn)算豐富,表達(dá)化類型多樣化,數(shù)據(jù)結(jié)構(gòu)類型豐富,具有結(jié)構(gòu)化的控制語句,程序設(shè)計(jì)自由度大,有很好的可重用性,可移植性等特點(diǎn)。由于現(xiàn)在單片機(jī)的發(fā)展已經(jīng)達(dá)到了很高的水平,內(nèi)部的各種資源相當(dāng)?shù)呢S富,cpu的處理
41、速度非常的快。用c語言來控制單片機(jī)無疑是一個(gè)理想的選擇。所以在本設(shè)計(jì)中采用c語言編寫軟件程序。4.1 at89c51單片機(jī)中斷允許控制ie:中斷允許控制寄存器如表4-1所示:表4-1 中斷允許控制寄存器位地址afaeadacabaaa9a8位符號(hào)ea/et2eset1ex1et0ex0寄存器地址a8h,位尋址afha8h。ea:中斷允許總控制位當(dāng)ea=0時(shí),中斷總禁止。當(dāng)ea=1時(shí),中斷總允許后中斷的禁止與允許由各中斷源的中斷允許控制位進(jìn)行設(shè)置。ex0( ex1):外部中斷允許控制位當(dāng)ex0( ex1)0 禁止外中斷當(dāng)ex0( ex1)1 允許外中斷et0(ex1):定時(shí)/計(jì)數(shù)中斷允許控制位當(dāng)
42、et0(et1)0 禁止定時(shí)(或計(jì)數(shù))中斷當(dāng)et0(et1)1 允許定時(shí)(或計(jì)數(shù))中斷et2:定時(shí)器2中斷允許控制位,在at89s52、at89c52中es:串行中斷允許控制位當(dāng)es0 禁止串行中斷當(dāng)es1 允許串行中斷4.2 lcd1602控制4.2.1 lcd1602字符發(fā)生存儲(chǔ)器(cgrom)1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(cgrom)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如表4-2所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“a”的代碼是01000001b(41h),顯示時(shí)模塊把地址41h中的點(diǎn)陣字符圖
43、形顯示出來,我們就能看到字母“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è)定每次寫入的一個(gè)字符是否移動(dòng)。此設(shè)計(jì)規(guī)定光標(biāo)右移、顯示屏不移動(dòng),及操作數(shù)
44、為0x06。參數(shù)設(shè)定的情況如下所示:位名 設(shè)置i/d0=寫入新數(shù)據(jù)后光標(biāo)左移 1=寫入新數(shù)據(jù)后光標(biāo)右移s0=寫入新數(shù)據(jù)后顯示屏不移動(dòng)1=寫入新數(shù)據(jù)后顯示屏整體右移1個(gè)字符3顯示開關(guān)控制指令如表4-5所示表4-5 開關(guān)控制指令指令功能指令編碼rsr/wdb7db6db5db4db3db2db1db0顯示開關(guān)控制0000001dcb功能:控制顯示器開/關(guān)、光標(biāo)顯示/關(guān)閉以及光標(biāo)是否閃爍。此設(shè)計(jì)規(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è)定指令如表4-6所示表4-
45、6 功能設(shè)定指令指令功能指令編碼rsr/wdb7db6db5db4db3db2db1db0功能設(shè)定00001dlnfxx功能:設(shè)定數(shù)據(jù)總線位數(shù)、顯示的行數(shù)及字型。此設(shè)計(jì)規(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點(diǎn)陣/每字符1=510點(diǎn)陣/每字符5液晶屏顯示位置如表4-7所示表4-7 液晶屏顯示位置顯示位置12345678910111213141516地址第一行000102030405060708090a0b0c0d0e0f第二行404142434445464748494a4b4c
46、4d4e4f功能:0x31(數(shù)字1的代碼)并不能顯示1出來。原因就是如果你要想在ddram的00h地址處顯示數(shù)據(jù),則必須將00h加上80h,即80h,若要在ddram的01h處顯示數(shù)據(jù),則必須將01h加上80h即80h+01h。依次類推。4.3 計(jì)算器軟件設(shè)計(jì)現(xiàn)實(shí)生活中人們熟知的計(jì)算器,其功能主要如下:1、 鍵盤輸入;2、 數(shù)值顯示;3、 加、減、乘、除四則運(yùn)算;4、 對(duì)錯(cuò)誤的控制及提示;針對(duì)上述功能,計(jì)算器軟件程序要完成以下模塊的設(shè)計(jì):1、 鍵盤輸入檢測(cè)模塊2、 算術(shù)運(yùn)算模3、 塊lcd顯示模塊4、 錯(cuò)誤處理及提示模塊。4.3.1 系統(tǒng)總流程圖圖4-1 系統(tǒng)總流程圖4.3.2 算術(shù)運(yùn)算程序設(shè)
47、計(jì) 算術(shù)運(yùn)算程序的過程為:先判斷輸入的運(yùn)算符是+、-、*、/ 中的哪一個(gè),輸入數(shù)值是否溢出,若溢出規(guī)定范圍,則顯示錯(cuò)誤信息,若是/,則要先判斷除數(shù)是否為零,為零就顯示錯(cuò)誤信息,不為零則顯示運(yùn)算結(jié)果,結(jié)果可顯示小數(shù)點(diǎn)后3位,若是-,則直接顯示運(yùn)算結(jié)果,可顯示負(fù)數(shù)。其流程圖如圖4-2所示。圖4-2運(yùn)算流程圖4.3.3 按鍵程序設(shè)計(jì) 有鍵按下時(shí),單片機(jī)響應(yīng)外部中斷0,轉(zhuǎn)入外部中斷0中斷處理函數(shù),在中斷處理函數(shù)中完成對(duì)按鍵的判斷,以進(jìn)行下一步的程序處理。4.3.4 顯示程序設(shè)計(jì)利用lcd靜態(tài)顯示,通過程序向lcd寫指令字或數(shù)據(jù)使lcd完成不同功能或顯示相應(yīng)數(shù)據(jù)。4.3.5 錯(cuò)誤處理及提示程序設(shè)計(jì)當(dāng)計(jì)算
48、器執(zhí)行過程中有錯(cuò)誤時(shí),會(huì)在lcd上顯示相應(yīng)的提示,如當(dāng)除數(shù)為0時(shí),計(jì)算器會(huì)在lcd上提示error。當(dāng)參與計(jì)算的數(shù)值或結(jié)果超出范圍時(shí),計(jì)算器會(huì)在lcd上提示overflow。4.4 語音播報(bào)軟件設(shè)計(jì)錄音時(shí),按下錄音鍵,單片機(jī)通過口線設(shè)置語音段的起始地址,再使pd端、p /r端和ce端為低電平啟動(dòng)錄音;結(jié)束時(shí),松開按鍵,單片機(jī)又讓ce端回到高電平,完成一段語音的錄制。同樣的方法可錄取第二段、第三段。特別值得注意的是,錄音時(shí)間不能超過預(yù)先設(shè)定的每段語音的時(shí)間。放音時(shí),根據(jù)需播放的語音內(nèi)容,找到相應(yīng)的語音段起始地址,并通過口線送出。再將p /r端設(shè)為高電平,pd端設(shè)為低電平,并讓ce端產(chǎn)生一負(fù)脈沖啟
49、動(dòng)放音,這時(shí)單片機(jī)只需等待isd2560的信息結(jié)束信號(hào),即eom的產(chǎn)生。信號(hào)為一負(fù)脈沖,在負(fù)脈沖的上升沿,該段語音才播放結(jié)束,所以單片機(jī)必須要檢測(cè)到eom的上升沿才能播放第二段,否則播放的語音就不連續(xù),而且會(huì)產(chǎn)生啪啪聲。具體的軟件設(shè)計(jì)如表4-8所示表4-8 isd2560軟件設(shè)計(jì)地址表pdcep/ra9a8a7a6a5a4a3a2a1a0分段數(shù)地址錄音00000000000000段0x0000h00000000000011段0x0001h000000010011139段0x0027h00010000000000段0x0200h00000000000011段0x0201h000100010011
50、139段0x0027h4.4.1 分段錄放音2500系列最多可分為600段,只要在分段錄/放操作前(不少于300納秒),給地址a0-a9賦值,錄音及放音功能均從設(shè)定的起始地址開始,錄音結(jié)束由停止鍵操作決定,芯片內(nèi)部自動(dòng)在該段的結(jié)束位置插入結(jié)束標(biāo)志(eom);而放音芯片遇到eom標(biāo)志即自動(dòng)停止放音。4.4.2 程序流程圖 本設(shè)計(jì)主要通過單片機(jī)對(duì)isd2560的控制實(shí)現(xiàn)指定地址入口的錄音和循環(huán)播放。程序要實(shí)現(xiàn)下面的過程:“開始”鍵按下后,即系統(tǒng)上電后,系統(tǒng)初始化,然后判斷開始鍵是否按下,如果按下則單片機(jī)控制pd,p/r引腳低電平,并指向錄音地址,啟動(dòng)錄音過程。調(diào)用錄音函數(shù),錄音函數(shù)為:void r
51、ecord(void) ce = 0; /片選有效 pd = 0; /非節(jié)電模式 pr = 0 ; /錄音當(dāng)ce=0 時(shí)芯片使能輸入引腳,使能所有的的錄音操作。當(dāng)pd=0 時(shí)使芯片開始工作,而進(jìn)入非節(jié)電模式。當(dāng)pr=0 時(shí)開始錄音,錄音時(shí),由地址線提供起始地址,直到錄音持續(xù)到ce或pd變高,或自動(dòng)溢出。語音播報(bào)流程如圖4-3所示圖4-3語音播報(bào)系統(tǒng)總流程圖在預(yù)先設(shè)定的時(shí)間內(nèi),(小于60s)結(jié)束錄音,松開“開始”鍵單片機(jī)控制p/r引腳回到高電平,即完成一段語音的錄制。之后打開外部中斷1,啟動(dòng)放音,放音函數(shù)為: void playback(void) ce = 0; / 片選有效 pd = 0;
52、/ 非節(jié)電模式 pr = 1; / 放音當(dāng)ce=0 時(shí)芯片使能輸入引腳,使能所有的的錄音操作。當(dāng)pd=0 時(shí)使芯片開始工作,而進(jìn)入非節(jié)電模式。當(dāng) pr=1時(shí)為高電平,這時(shí)選擇放音,這時(shí)由地址輸入提供起始地址,放音持續(xù)到eom位標(biāo)志。每次放音結(jié)束時(shí),eom輸出會(huì)觸發(fā)單片機(jī)的外部中斷1,經(jīng)過適當(dāng)?shù)难訒r(shí)后,重新啟動(dòng)第二次放音,這樣重復(fù)三次后關(guān)閉外部中斷1,流程結(jié)束,等待下一次錄音。外部中斷服務(wù)子程序流程圖如圖4-4所示:圖 4-4 外部中斷服務(wù)子程序流程圖4.5 軟件仿真與實(shí)物調(diào)試下面用keil uvision與 proteus仿真軟件實(shí)現(xiàn)簡易計(jì)算器的仿真與調(diào)試。4.5.1 keil uvision調(diào)試圖4-5 keil軟件主界面keil是目前51單片機(jī)開發(fā)最常用的編譯軟件,操作如上圖4-7所示。首先點(diǎn)擊project-new project(project-open project為打開一個(gè)已經(jīng)存在的工程),如圖4-6所示。圖4-6 keil軟件打開新工程界面點(diǎn)開后,在出現(xiàn)的對(duì)話框中選擇工程存在路徑,單擊“保存”后,出現(xiàn)如圖4-7所示界面。在此界面上選擇電路板上所用的單片機(jī)型號(hào),單擊“確定”。圖4-7 選擇電路板上所用的單片機(jī)型號(hào)點(diǎn)擊,或者file-new,便建立了一個(gè)空的文本框。將寫完的程序添加到工程里面,如圖4-10所示,在左邊project workspace里
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ī)護(hù)理學(xué)(第5版)課件 第十章 其他常用中醫(yī)護(hù)理技術(shù)
- 三農(nóng)產(chǎn)品包裝與運(yùn)輸管理手冊(cè)
- 物理力學(xué)概念引入與實(shí)踐活動(dòng)設(shè)計(jì)
- 政府部門信息化建設(shè)和數(shù)據(jù)治理方案
- 銷售員工心態(tài)培訓(xùn)課程
- 可行性研究報(bào)告封面格式
- 建筑智能化系統(tǒng)設(shè)計(jì)技術(shù)規(guī)范
- 零售業(yè)O2O營銷模式創(chuàng)新與實(shí)施策略
- 綠色建筑材料應(yīng)用技術(shù)規(guī)范書
- 機(jī)器人技術(shù)及其在物流行業(yè)的應(yīng)用手冊(cè)
- GB/T 5023.5-2008額定電壓450/750 V及以下聚氯乙烯絕緣電纜第5部分:軟電纜(軟線)
- GB/T 23445-2009聚合物水泥防水涂料
- 瓷貼面教學(xué)課件
- 尺骨冠突骨折課件
- 北師大版七年級(jí)下冊(cè)第一章整式的乘除計(jì)算題專項(xiàng)訓(xùn)練
- 2022年蘇州健雄職業(yè)技術(shù)學(xué)院單招考試面試試題及答案解析
- 植物生理教案
- 乳腺癌改良根治術(shù)
- 新版(七步法案例)PFMEA
- 臨床護(hù)理重點(diǎn)專科建設(shè)項(xiàng)目評(píng)審標(biāo)準(zhǔn)
- 二倍角的三角函數(shù)說課稿
評(píng)論
0/150
提交評(píng)論