文檔簡介
1、. . . . 畢 業(yè) 設 計題目:基于單片機的簡易計算器設計姓 名:學 號:學 院: 信息學院 專 業(yè): 電子信息工程 指 導 教 師:協(xié)助指導教師:2011年 5月 23日48 / 53摘要近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術日益更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往作為一個核心部件來使用,但僅單片機方面的知識是不夠的,還應根據(jù)具體硬件結構、軟硬件結合,來加以完善。計算器在人們的日常生活中是比較常見的電子產(chǎn)品之一,并且語音技術的進展給這種應用需要提供了一種有力的技術支持,逐漸被廣大用戶所接受,并廣泛用于各種需要語音響應的場合?;谶@
2、樣的理念,本次設計是用AT89C51單片機、LCD顯示器、控制按鍵、語音芯片ISD2560為元件來設計的具有語音播報功能的簡易計算器。利用此設計熟悉單片機微控制器與C語言編程,對其片資源與各個I/O端口的功能和基本用途的了解。掌握Microsoft Visual C+ 6.0應用程序開發(fā)環(huán)境,常用的LCD顯示器的使用方法和一般鍵盤的使用方法。關鍵字:AT89C51、ISD2560、LCD、控制按鍵AbstractWith the rapid development of science and technology in recent years, the application of SCM
3、 is a growing, while driving more traditional control detection technology updates. In real-time detection and automatic control of microcomputer application system, the microcontroller is often used as a core component, but only SCM knowledge is not enough, the structure should be based on specific
4、 hardware, software and hardware combination to be improved.Calculator in people's daily lives is one of the more common electronic products, and progress in speech technology to such applications need to provide a strong technical support, have been gradually accepted by the majority of users,
5、and is widely used for various needs Voice response applications. Based on this concept, this design is AT89C51 microcontroller, LCD display, control buttons, voice chip ISD2560 devices designed for the voice broadcast function with a simple calculator. Familiar with using this microcontroller desig
6、n and C language programming microcontrollers, resources and all of its chip I / O port functions and basic use of the understanding. Master the Microsoft Visual C + + 6.0 application development environment, the common use of LCD displays and general use of the keyboard.Keywords: AT89C51、ISD2560 、L
7、CD control buttons朗讀顯示對應的拉丁字符的拼音 字典目錄摘要IAbstractII引言11 緒論21.1 系統(tǒng)開發(fā)背景21.2 系統(tǒng)開發(fā)意義21.3 設計容和章節(jié)分配22 系統(tǒng)方案設計32.1 功能介紹32.1.1 基本功能32.1.2 擴展功能32.2 方案論證與比較32.2.1 控制部分的設計方案論證與選擇32.2.2 顯示電路的設計方案論證與選擇42.2.3 鍵盤設計方案與選擇52.3 系統(tǒng)組成62.4 總體設計思想73 主要芯片介紹83.1 AT89C51選擇與介紹:83.2 ISD2560選擇與介紹:103.3 開發(fā)工具的選擇與介紹:124 硬件電路設計1
8、44.1 復位電路144.2 時鐘電路144.3 顯示電路154.4 語音電路154.5 按鍵電路175 軟件設計205.1 AT89C51單片機中斷允許控制205.2 LCD1602控制205.2.1 LCD1602字符發(fā)生存儲器(CGROM)205.2.2 LCD1602顯示數(shù)據(jù)寄存器(DDRAM)215.3 計算器軟件設計235.3.1 系統(tǒng)總流程圖235.3.2 算術運算程序設計245.3.3 按鍵程序設計255.3.4 顯示程序設計255.3.5錯誤處理與提示程序設計255.4 語音播報軟件設計265.4.1 分段錄放音275.4.2 程序流程圖275.5 仿真與調試305.5.1
9、KEIL uVision調試305.5.2 Proteus 對于本設計的仿真33結論35致36參考文獻37附錄38附錄A38附錄B39附錄C40附錄D41附錄E50引言當今社會,隨著人們物質生活的不斷提高,電子產(chǎn)品已經(jīng)走進了家家戶戶,無論是生活或學習,還是娛樂和消遣幾乎樣樣都離不開電子產(chǎn)品,大型復雜的計算能力是人腦所不能勝任的,而且比較容易出錯。計算器作為一種快速通用的計算工具方便了用戶的使用。計算器可謂是我們最親密的電子伙伴之一。隨著人類社會的不斷進步,隨著語音芯片的普與,語音報播被廣泛應用于車站報站器,語音型數(shù)字萬用表,出租車語音報站器,排隊機等,并且面向家庭個人使用的方向發(fā)展,更加人性化
10、。自動語音提示技術是計算機語音處理技術的一種應用,屬于語音再生合成技術疇。錄放系統(tǒng)具有電路簡明、應用方便、單片錄放、不怕掉電、音色純正、性價比高等特性,與此相關的語音系統(tǒng)已廣泛地用于通信、工控 、醫(yī)療、報警示訊等領域。本設計著重在于計算器的設計和開發(fā),并從實際意義出發(fā)對計算器設計做了進一步的擴充,將語音播報錄放技術融入其中,更好的發(fā)揮了電子產(chǎn)品的作用,為人們的生活帶來便利。1 緒論1.1 系統(tǒng)開發(fā)背景隨著社會的法陣發(fā)展,科學的進步,人們的生活水平在逐步的提高,尤其是微電子技的術的發(fā)展,猶如雨后春筍的變化。計算器在人們的日常中視比較常見的電子產(chǎn)品之一,如何將常見的計算器技術更加成熟,充分利用已有
11、的軟件和硬件條件,設計出更加出色的計算器,使其更好的為各行業(yè)服務,成了如今電子領域重要的研究課題。1.2 系統(tǒng)開發(fā)意義人們的日程生活中已經(jīng)離不開計算器了,社會的各個角落都有它的身影,比如商店,辦公室,學校。因此設計一款簡單實用的計算器會有很大的實際意義。普通的計算器只能完成計算功能,并不能根據(jù)用戶自身需要進行錄音,而本設計設計的計算器不僅僅能完成計算這項功能,并能將語音系統(tǒng)融到計算器中,可以自定義一段錄音,然后播放出來,很有意思。這種根據(jù)自己喜好錄放音的計算器將會受到大家的喜歡。1.3 設計容和章節(jié)分配隨著嵌入式的快速發(fā)展,單片機本著它簡單,功能強大,易于設計等優(yōu)點被設計者使用。因此,本設計使
12、用單片機做為控制器件,將計算系統(tǒng)與語音系統(tǒng)結合。通過此次設計的完成,對字符液晶顯示模塊的工作原理,如初始化、清屏、顯示、調用與外特性有較清楚的認識,并會使用LCD實現(xiàn)計算結果的顯示,在充分分析部邏輯的概念的同時,進行軟件編譯和調試。第一章為設計的背景、意義介紹,簡明扼要的闡述設計的目的和成果;第二章為系統(tǒng)方案設計介紹,主要從設計的功能,方案的確定與選擇原因和系統(tǒng)組成來介紹。第三章為主要芯片介紹,詳細介紹了芯片的部結構和引腳分布。第四章為設計的核心,即硬件電路設計,此章將硬件電路分為若干模塊,分別介紹了模塊的硬件設計電路。第五章為軟件設計,從語言的選擇,控制字的確定,流程圖的介紹到最后的仿真與調
13、試。通過這幾章的介紹,完成簡易計算器的設計。2 系統(tǒng)方案設計2.1 功能介紹2.1.1 基本功能根據(jù)所學知識,自行設計一個計算器,要求自行設計供電電源,該計算器能夠實現(xiàn)加減乘除四則混合運算,能夠實現(xiàn)連續(xù)計算。2.1.2 擴展功能(1)該計算器能夠實現(xiàn)精確到小數(shù)點三位的運算。(2)該計算器可顯示負數(shù)。(3)該計算器帶有DIY語音系統(tǒng),可自定義錄/放音。2.2 方案論證與比較2.2.1 控制部分的設計方案論證與選擇根據(jù)設計要求,控制器主要用于紅外信號的接收和辨認、控制步進電機的動作,控制顯示步進電機的轉速等??刂破髦饕糜跀?shù)據(jù)的接收和發(fā)送、數(shù)據(jù)的運算,控制顯示液晶屏等,針對這些要求,對于控制器的選
14、擇有以下三種方案。方案一:采用計算器專用芯片實現(xiàn)。用計算器專用芯片進行設計并編程實現(xiàn)。這種設計方案計算效率高、速度快、而且成本也相對較低,是廠家做計算器的最佳方案。但是本人對計算器專用芯片掌握的不夠,還不足以實現(xiàn)設計計算器,所以這個方案不可去可取。方案二:采用FPGA(現(xiàn)場可編程門陣列)作為系統(tǒng)的控制器。FPGA將所有器件集成到一塊芯片上,體積小,節(jié)省空間,提高了穩(wěn)定性;直接面向用戶,具有極大的靈活性和通用性,使用方便,硬件測試和實現(xiàn)快捷,開發(fā)效率高,工作可靠性好。可以實現(xiàn)各種復雜的邏輯功能,規(guī)模大,密度高,采用并行的輸入輸出方式,系統(tǒng)處理速度高,適合作為大規(guī)模實時系統(tǒng)的控制核心。由FPGA部
15、編程實現(xiàn)計算器功能,本設計對數(shù)據(jù)處理速度的要求不是很高,F(xiàn)PGA的高速處理的優(yōu)勢得不到充分的體現(xiàn),由于其集成度高,使其成本偏高,同時由于芯片的引腳較多,實物電路板布線復雜,加重了電路設計和實際焊接的工作。并且FPGA的價格相對較高,性價比太低,所以這個方案不考慮。方案三、用單片機實現(xiàn)。由于單片機集成了運算器電路、控制電路、存儲器、中斷系統(tǒng)、定時器/計數(shù)器以與輸入/輸出口電路等,所以用單片機設計控制電路省去了很多分立元器件。由于單片機是可編程芯片,并且它可以運用C語言編寫,對于一些復雜的計算功能,可以調用C語言庫函數(shù)。使編寫程序變得非常簡單。所以該課題用單片機實現(xiàn),不僅功能易于實現(xiàn),而且精確度高
16、,穩(wěn)定性好,抗干擾能力強。并且由于其成本低、體積小、技術成熟和功耗小等優(yōu)點,且技術比較成熟。性價比也相當高。更重要的是本人經(jīng)過幾年的學習,對單片機已有深刻的理解,并且可以靈活運用。綜上所述,并通過各個方面綜合比較為達到最佳效果。我們采用方案三利用單片機控制器。2.2.2 顯示電路的設計方案論證與選擇方案一:數(shù)碼管顯示方案。數(shù)碼管顯示使用兩個四位一體動態(tài)數(shù)碼管顯示方案,采用動態(tài)數(shù)碼管顯示,具有程序簡單,對外界環(huán)境要求低,易于維護,同時其精度比較高,精確可靠,操作簡單。顯示直觀的特點。但只能顯示數(shù)字和一些代碼,不能顯示漢字與一些常用的符號,且硬件設計比較復雜。方案二:采用AT1602型液晶顯示。(
17、一)基本特性顯示特性1、+5V電壓,對比可調度;2、含復位電路;3、提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能;4、有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM;5、建有160個5X7點陣的字型的字符發(fā)生器CGROM;6、8個可由用戶自定義的5X7的字符發(fā)生器CGRAM。(二)接口定義AT1602接口定義如圖2.1所示:圖2.1接口定義圖綜上所敘,AT1602的顯示效果好、功能齊全,所以我們選用AT1602液晶顯示。該液晶有16個引腳,它能顯示32個字符,并且硬件電路設計簡單,顯示美觀。2.2.3 鍵盤設計方案與選擇方案一:獨立鍵盤。獨立鍵盤為一端接地,另一端接I/O口,并且要接
18、上拉電阻。這種鍵盤的硬件都很容易實現(xiàn),但每一個按鍵就要用一個I/O口,非常的浪費單片機的I/O口資源,不適合本次設計。方案二:自制編碼鍵盤。編碼鍵盤編程簡單,占用資源少,但其硬件比較復雜,要用很多的二極管,不是很理想。方案三:4*4矩陣式鍵盤。這種鍵盤的硬件簡單,使用的I/O口比獨立鍵盤減少一半,而且這種鍵盤的編程方法已很成熟。所以本次設計采用這種矩陣式鍵盤。2.3 系統(tǒng)組成本設計采用MCS-51系列單片機AT89C51來設計計算器。通過擴展必要的外圍接口電路,實現(xiàn)對計算器的設計。由鍵盤輸入數(shù)值,再通過8051單片機輸入到系統(tǒng),并由I/O口輸出送到LCD顯示屏;最后由1602LCD顯示輸入數(shù)值
19、和輸出結果,還可以通過語音模塊可以達到語音播報實現(xiàn)錄放音的功能效果。其中,設計以單片機為核心,包括開關模塊、擴展模塊、運算模塊、語音模塊和顯示模塊。系統(tǒng)框圖如下圖所示:擴展模塊顯示模塊開關模塊語音模塊運算模塊AT89C51主控器圖2.2系統(tǒng)框圖硬件電路是采用結構化系統(tǒng)設計方法,該方法保證設計電路的標準化、模塊化。硬件電路的設計最重要的選擇用于控制的單片機,并確定與之配套的外圍芯片,使所設計的系統(tǒng)實用性強、操作簡單。軟件設計的方法與開發(fā)環(huán)境的選取有著直接的關系,本系統(tǒng)由于是采用51系列單片機,因此使用Keil C語言進行開發(fā),Proteus仿真軟件進行仿真。此編程工具相比匯編語言具有結構化、適用
20、圍大、可移植性好等特點。本系統(tǒng)軟件設計采用模塊化系統(tǒng)設計方法,先編寫各個功能模塊子程序,然后進行組合與調整,經(jīng)過Keil調試后,達到設計功能要求,并在Proteus中仿真。在設計中采用AT89C51單片機作為微處理器,低電壓、高性能CMOS 8位單片機,片含4K bytes的可反復擦寫的Flash只讀程序存儲器和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),兼容標準MCS-51指令系統(tǒng),片置通用8位中央處理器(CPU)和Flash 存儲單元。硬件方面完成包括鍵盤控制,LCD屏顯示控制,運算控制、語音控制等設計。除外,還有各部件之間的連接、引腳間的連接等工作;軟件方面完成各功能的程序編寫,在
21、程序編寫完成后,進行程序調試。2.4 總體設計思想1、可以進行四則運算,采用LCD顯示數(shù)據(jù)和結果。2、鍵盤包括數(shù)字鍵(0-9)、符號鍵(+、-、*、/)、清除鍵和等號鍵,設計中采用4*4鍵盤。3、執(zhí)行程序:鍵入數(shù)字,通過LCD顯示出來,當鍵入+、-、*、/運算符,計算器在部執(zhí)行數(shù)值轉換和存儲,并等待再次鍵入數(shù)值后將顯示鍵入的數(shù)值,按等號就會在LCD上輸出運算結果。4、錯誤提示:當單片機執(zhí)行程序中有錯誤時,會在LCD上顯示相應的提示,如:當除數(shù)為0、數(shù)值超出圍時,計算器會在LCD上錯誤提示。5、可進行聲音的錄音和放音。3 主要芯片介紹3.1 AT89C51選擇與介紹:隨著集成電路工藝的發(fā)展,出現(xiàn)
22、了單片機、DSP,、ARM等多種單片機。DSP:它從16位32位,部采用哈佛結構,特別適合數(shù)據(jù)處理。16位DSP適合中高級工控到簡單語音/圖片(不含視頻)處理;32位DSP適合復雜語音/圖片/視頻處理。ARM:是32位單片機,由于結構和計算速度的原因,目前適合做事務處理或者中低端應用,從中高級工控到簡單語音/圖片(不含視頻)處理 。而AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術
23、制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。51單片機雖然和DSP,ARM相比處理速度和運算速度上都比較慢,但它的體積小、質量輕、價格便宜,它的速度可以滿足本次實驗的要求,所以我們采用AT89C51這款單片機。AT89C51部原理圖如圖3.1所示:圖3.1AT89C51單片機部原理圖引腳圖如圖3.2所示:圖3.2 AT89C51單片機引腳圖AT89C51的主要特性:(1) 與MCS-51兼容(2) 4K字節(jié)可編程閃爍存儲器(3) 數(shù)據(jù)保
24、留時間:10年(4) 全靜態(tài)工作:0Hz-24Hz(5) 128*8位部RAM(6) 32可編程I/O線(7) 兩個16位定時器/計數(shù)器(8) 5個中斷源(9) 可編程串行通道(10) 片振蕩器和時鐘電路中央處理器:中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責控制、指揮和調度整個單元系統(tǒng)協(xié)調的工作,完成運算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(RAM):C51部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只
25、有128個,可存放讀寫的數(shù)據(jù),運算的中間結果或用戶定義的字型表。程序存儲器(ROM):C51共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器:C51有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷,用于控制程序轉向。并行輸入輸出(I/O)口:C51共有4組8位I/O口(P0、P1、P2和P3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:C51置一個全雙工串行通信口,用于與其它設備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。中斷系統(tǒng):C51具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,
26、并具有2級的優(yōu)先級別選擇。時鐘電路:C51置最高頻率達12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但C51單片機需外置振蕩電容。3.2 ISD2560選擇與介紹:目前市場流行的語音芯片有很多,從性價比的角度來考慮,美國ISD公司的ISD系列語音芯片可謂是一只獨秀。ISD系列語音芯片具有以下優(yōu)點:(1)采用模擬量數(shù)據(jù)存儲在半導體存儲器直接存儲的專利技術,即將模擬量數(shù)據(jù)直接寫入單個存儲單元,不需要經(jīng)過A/D,D/A轉換。(2)部集成了大容量的的EEPROM,不再需要擴展存儲器。(3)控制簡單,控制引腳與TTL電平兼容。(4)集成度高,使用方便。(5)能較好的真時再現(xiàn)語音的自然效果,避免
27、了一搬固體語音電路的因為量化和壓縮所造成的量化噪聲和失真現(xiàn)象。 因此本例選用ISD公司的語音芯片ISD2560。ISD2560是ISD公司生產(chǎn)的語音錄入和重放芯片ISD2500系列之一,ISD2500系列芯片包括ISD2560,ISD2575,ISD2590和ISD25120四種,他們的主要區(qū)別在于存儲語音的時間長度,ISD2560的錄音時間為60秒,ISD2575的錄音時間為75秒,ISD2590的錄音時間為90秒,而ISD25120的錄音時間為120秒。 ISD2560采用多電平直接模擬量存儲專利技術,每個采樣值可直接存儲在片單個EEPROM單元中,因此能夠非常真實,自然得再現(xiàn)語音,音樂,
28、音調和效果聲,從而避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和“金屬聲”。 ISD2560的采樣頻率為8kHZ,同一系列的產(chǎn)品采樣頻率越低,錄音/放音時間越長,但同頻帶和音質會有所降低。ISD2560可重復錄放10萬多次,它是一種永久記憶型語音錄音/放音電路,它具有音質自然,使用方便,單片存放,反復錄音,功耗低,抗斷電等許多優(yōu)點,因此在許多領域獲得了廣泛的應用。ISD2560省去了A/D和D/A轉換器,集成度較高,部包括前置放大器,部時鐘,定時器,采樣時鐘,濾波器,自動增益控制,邏輯控制,模擬收發(fā)器,解碼器和480k字節(jié)的EEPROM。ISD2560部的EEPROM存儲單元均勻分為600
29、行,有600個地址單元,每個地址單元指向其中一行,每一個地址單元的地址分辨率為100ms。此外,ISD2560還具備微控制器所需的控制接口。通過操縱地址和控制線可完成不同的任務,以便實現(xiàn)復雜的信息處理功能,如信息的組合,連接,設定固定的信息段和信息管理等。ISD2560可不分段,也可按最小段長為單位來任意組合分段。ISD2560部原理圖如圖3.3所示: 圖 3.3 ISD2560部原理圖由部框圖可知其部集成了高精度的時鐘電路,無需外部配置晶振, ISD2560可進行錄、放兩種操作。錄入時,語音信號經(jīng)過換能器MIC轉變?yōu)殡娦盘?,該信號?jīng)過隔直電容去除直流分量后送入前置放大器,微弱的電信號經(jīng)過前置
30、放大后由ANAOUT腳輸出,經(jīng)過隔直電容后送入ANAIN腳,既而信號進入自動增益AGC放大器,信號電平得到調理,使其符合存儲電路的動態(tài)圍。為使得采樣信號不產(chǎn)生失真,采樣系統(tǒng)必須滿足奈奎斯特采樣定律。ISD2560的采樣頻率8K, 故實際應用中,為存儲不失真音頻信息,放大后的信號必須經(jīng)過一個低通濾波器后方可送入存儲單元,該濾波器為一五極點抗干擾濾波器,高頻頻限為3.4K,完全滿足奈奎斯特定律,該器件典型帶寬為3.4K。調理完畢的信號在部時鐘的作用下以閉環(huán)控制形式送入模擬存儲陣列。如3.4圖所示:圖 3.4 閉環(huán)存儲電路被采樣信號經(jīng)采樣電路取樣保持,同時電子被泵入模擬存儲單元,此時兩者被送入比較器
31、的比較端,當兩者電平相等時則停止向EPROM中寫入數(shù)據(jù),這樣模擬信息得到了存儲。在器件的放音模式下,錄入的模擬電壓在取樣脈沖的作用下,順序的從模擬矩陣中讀出并恢復為原始波形,經(jīng)五極點平滑濾波器后入混合器,以便與外界其他信號混合,而后送入功率放大器,并由SP+,SP-端輸出,可直接驅動揚聲器。ISD2560應用電壓:單5 V供電錄/放時間:60S尋址空間:1024位最多語音分段:600支持OVF溢出支持節(jié)電模式:錄放操作周期外電流僅為0.5uAISD2560引腳圖如圖2.4所示:圖3.5 ISD2560引腳圖3.3 開發(fā)工具的選擇與介紹:本設計原理圖繪制采用的是Protel99SE。Protel
32、99SE是Protel公司近10年來致力于Windows平臺開發(fā)的最新結晶,能實現(xiàn)從電學概念設計到輸出物理生產(chǎn)數(shù)據(jù),以與這之間的所有分析、驗證和設計數(shù)據(jù)管理。因而今天的Protel最新產(chǎn)品已不是單純的PCB(印制電路板)設計工具,而是一個系統(tǒng)工具,覆蓋了以PCB為核心的整個物理設計。 利用protel進行電路設計需要三個步驟:一繪制原理圖二產(chǎn)生網(wǎng)絡表三完成PCB(印刷電路板)繪制圖3.6 protel設計電路步驟圖本設計利用protel軟件畫的硬件電路圖主要有單片機AT89C51的最小系統(tǒng)和語音芯片ISD2560電路與它們的接口電路,并對其進行PCB版圖繪制。本設計的計算器語音播報系統(tǒng)是以AT
33、89C51為核心建立的系統(tǒng),在軟件編輯方面,需要對計算器、語音錄/放音兩部分分別構成的子函數(shù)進行編輯。在編輯中需要用keil C51軟件。計算器的仿真由軟件Proteus完成,他能很好的模擬計算環(huán)境,達到硬件的仿真效果。4 硬件電路設計硬件電路主要包括單片機為核心的復位電路、時鐘電路,外圍電路有顯示電路、語音電路和按鍵電路。通過各電路,詳細的介紹了電路組成。4.1 復位電路AT89C51單片機在啟動時都需要復位,使CPU與系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機的復位信號是從RST引腳輸入到芯片部的斯密特觸發(fā)器中的。當系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如RST引腳上
34、有一個高電平并維持2個機器周期(24個振蕩周期),則CPU就可以響應并將系統(tǒng)復位。如圖4.1所示,其為手動復位電路,通過接通一按鈕開關,使單片機進入復位狀態(tài)。圖4.1 復位電路4.2 時鐘電路AT89C51芯片部有一個高增益反相放大器,用于構成振蕩器,反相放大器的輸入端為XTAL1,輸出端為XTAL2,兩端跨接石英晶體與兩個電容就可以構成穩(wěn)定的自激振蕩器。電容器C1和C2通常取22pf左右,可穩(wěn)定頻率并對振蕩頻率有微調作用。振蕩脈沖頻率圍為024MHz。 時鐘接口電路如圖4.2所示:圖4.2 時鐘電路4.3 顯示電路本設計采用LCD1602液晶顯示器來顯示輸出數(shù)據(jù),即可以顯示兩行,每行16個字
35、符。本設計通過D0-D7引腳向LCD寫指令字或寫數(shù)據(jù)以使LCD實現(xiàn)不同的功能或顯示相應的數(shù)據(jù)。其接口電路如圖4.3所示。圖4.3 顯示電路4.4 語音電路A0-A9引腳提供語音芯片ISD2560的地址/模式輸入,通過A8、A9引腳可以配置ISD2560操作模式。P/R引腳控制語音芯片ISD2560的錄音/放音模式的選擇,P/R引腳為低,ISD2560為錄音狀態(tài),為高ISD2560為放音狀態(tài)。PD引腳和ISD2560的節(jié)電控制輸入相連,通過此引腳可以控制芯片的開關。CE引腳用于控制語音芯片的片選,低電平時選中芯片。單片機的P3.3(INT1)引腳、P2.5引腳和ISD2560DE的EOM標志輸出
36、相連,EOM標志在錄音時由芯片自動插入到錄音信息的結尾處,放音遇到EOM時,會產(chǎn)生低電平脈沖(約12.5ms)觸發(fā)單片機中斷,單片機在檢測到此輸出的上升沿后播放新的錄音。語音接口電路如圖4.4所示:圖4.4 語音電路以下為芯片ISD2560的主要引腳說明:·AO0/MO-A6/M6,A7-A9(1-10引腳):地址線/模式輸入。共有1024種組合狀態(tài)。最前面的600個狀態(tài)作為狀態(tài)部存儲器的尋址用,最后256個狀態(tài)作為操作模式。當A8或A9有一個為零時,作為地址線,作為當前錄音/放音操作的起始地址,地址端一直用作輸入,不輸出操作過程中的部地址信息,地址輸入在CE的下降沿被鎖存。當A8和
37、A9均為1時,為模式輸入。·AUX IN(11引腳):輔助輸入。當CE和P/R為高,放音不進行或處于放音溢出狀態(tài)時,該引腳的輸入信號通過部輸出放大器驅動揚聲器輸出端。·SP+,SP-(14,15引腳):揚聲器輸出??沈寗?6歐以上的揚聲器(存放音時功率為12.2mW,AUXIN放音是功率為50mW)。ISD2500系列的所有的器件在芯片上都有一個差分揚聲器驅動器。·MIC IN(17引腳):話筒輸入引腳。麥克的輸入通過此引腳將信號送至片的前置放大器,片自動增益控制電路(AGC)將此前置放大器的增益控制在-1524dB。外接話筒應該通過一系列電容交流耦合進此引腳,耦
38、合電容值和芯片部此引腳的10千歐輸入阻抗共同決定了ISD2560芯片頻帶的低頻截至點。·MIC REF(18引腳): 話筒參考輸入引腳。此引腳是前置放大器的反向輸入,當以差分形式連接話筒時,可減小噪聲,提高共模抑制比。·AGC(19引腳):自動增益控制引腳。AGC可動態(tài)調整前置增益以補償話筒輸入電平的寬幅變化,使得錄制變化很大的音量(從耳語道喧囂聲)時失真都保持最小。響應時間取決于該端置的5千歐電阻和從該端到VSSA端所接電容的時間常數(shù)。·ANA IN(20引腳):模擬輸入引腳。此引腳為芯片錄音信號輸入端。對話筒輸入來說,應將ANA OUT引腳通過外接電容連至此引
39、腳,該電容和本端的3千歐輸入阻抗決定了芯片頻帶的附加低端截至頻率。·ANA OUT(21引腳):模擬輸出引腳。此引腳為前置放大器的輸出,其前置電壓增益取決于AGC引腳的電平。·OVF(22引腳):溢出標志輸出引腳,低電平有效。芯片處于存儲空間末尾時,此引腳輸出低電平脈沖以表示溢出,之后該引腳狀態(tài)跟隨CE引腳的狀態(tài),直到PD引腳變高復位芯片·CE(23引腳):芯片使能輸入引腳,低電平有效。此引腳為低電平使能所有的錄音和播放操作。芯片在該引腳的下降沿和鎖存地址線和P/R引腳的狀態(tài)。·PD(24引腳):節(jié)電控制引腳。此引腳變高后可使芯片停止而進入節(jié)電狀態(tài)。芯片
40、發(fā)生溢出,即OVF引腳輸出低電平后,應將此引腳變高以將地址指針復位到錄音/放音空間的開始位置。·EOM(25引腳):信息結尾標志輸出引腳,低電平有效。EOM標志在錄音時由芯片自控插入到該信息段的結尾。當放音遇到EOM時,此引腳輸出低電平脈沖。·XCLK(26引腳):外部時鐘輸入引腳。此引腳部與下拉元件,不用時應接地。·P/R(27引腳):錄音/放音模式選擇引腳。此引腳在CE的下降沿鎖存。高電平選擇放音,低電平選擇錄音。錄音時,由地址線提供起始地址,直到錄音持續(xù)到CE或PD變高,或存溢出;如果是前一種情況,芯片將自動在錄音結束處寫入EOM標志。放音時,由地址輸入提供
41、起始地址,放音持續(xù)到EOM標志。如果CE一直為低,或芯片工作在某些操作模式,放音則會忽略EOM而繼續(xù)進行下去,知道發(fā)生溢出為止。4.5 按鍵電路 計算機輸入數(shù)字和其他功能按鍵時要用到很多按鍵,在這種情況下,編程會很簡單,但是會占用大量的I/O口資源,因此在很多情況下都不采用這樣的方式,而是采用矩陣鍵盤的方式。矩陣鍵盤采用四條I/O線作為行線,四條I/O線作為列線組成鍵盤,在行線和列線的每個交叉點上設置一個按鍵。這樣鍵盤上按鍵的數(shù)量就為4*4個,這樣行列式鍵盤結構能有效的提高單片機系統(tǒng)中I/O口的利用率。其中MM74C922為口擴展芯片,單片機擴展口電路如圖4.5所示,在本設計中,計算器輸入鍵盤
42、的4條行線、列線分別連接到MM74C922的X1-X4、Y1-Y4引腳,MM74C922的數(shù)據(jù)輸出口與單片機的P2口相連,MM74C922的DA引腳經(jīng)過一個與非門連接到單片機的/INT0腳,當MM74C922檢測到鍵盤輸入時,DA產(chǎn)生高電平,與之相連的/INT0檢測到低電平,給單片機一個中斷,單片機從P2口的低四位讀入鍵盤上按下的鍵的值。圖4.5 單片機擴展口電路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):按鍵之B
43、CD碼輸出(4) KBM(Keyboard Mask,腳6):部消除開關彈跳電路所外加電容的引腳。(5) DA(Data Available,腳12):數(shù)據(jù)有效輸出腳。任一按鍵按下時,此腳位會輸出高電位,按鍵釋放后此腳又會恢復為低電位。(6) OE(Output Enable,腳13):芯片使能腳,接低電位可使芯片選通。MM74C922對各按鍵的響應如表4.1所示:表4.1按鍵電路如圖4.6所示:圖4.6 按鍵電路5 軟件設計本設計是硬件電路和軟件編程相結合的設計方案,選擇合適的編程語言是一個重要的環(huán)節(jié)。在單片機的應用系統(tǒng)程序設計時,常用的是匯編語言和C語言。匯編語言程序可讀性和可移植性比較差
44、。而C語言雖然執(zhí)行效率沒有匯編語言高,但語言簡潔,使用方便,靈活,運算豐富,表達化類型多樣化,數(shù)據(jù)結構類型豐富,具有結構化的控制語句,程序設計自由度大,有很好的可重用性,可移植性等特點。由于現(xiàn)在單片機的發(fā)展已經(jīng)達到了很高的水平,部的各種資源相當?shù)呢S富,CPU的處理速度非常的快。用C語言來控制單片機無疑是一個理想的選擇。所以在本設計中采用C語言編寫軟件程序。5.1 AT89C51單片機中斷允許控制IE:中斷允許控制寄存器如表5.1所示:寄存器地址A8H,位尋址AFHA8H。表5.1位地址AFAEADACABAAA9A8位符號EA/ET2ESET1EX1ET0EX0EA:中斷允許總控制位當EA=0
45、時,中斷總禁止。當EA=1時,中斷總允許后中斷的禁止與允許由各中斷源的中斷允許控制位進行設置。EX0( EX1):外部中斷允許控制位當EX0( EX1)0 禁止外中斷當EX0( EX1)1 允許外中斷ET0(EX1):定時/計數(shù)中斷允許控制位當ET0(ET1)0 禁止定時(或計數(shù))中斷當ET0(ET1)1 允許定時(或計數(shù))中斷ET2:定時器2中斷允許控制位,在AT89S52、AT89C52中ES:串行中斷允許控制位當ES0 禁止串行中斷當ES1 允許串行中斷5.2 LCD1602控制5.2.1 LCD1602字符發(fā)生存儲器(CGROM)1602液晶模塊部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲
46、了160個不同的點陣字符圖形,如表5.3所示,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A” 。表5.2 LCD1602字符碼顯示圖5.2.2 LCD1602顯示數(shù)據(jù)寄存器(DDRAM)1.清屏指令功能:清除液晶顯示器,即清屏操作數(shù)為0x01。2.進入模式設置指令功能:設定每次定入1位數(shù)據(jù)后光標的移位方向,并且設定每次寫入的一個字符是否移動。此設計規(guī)定光標右移、顯示屏不移動,與操作數(shù)為0x06。參數(shù)設定的情況如下
47、所示:位名 設置I/D 0=寫入新數(shù)據(jù)后光標左移 1=寫入新數(shù)據(jù)后光標右移S 0=寫入新數(shù)據(jù)后顯示屏不移動 1=寫入新數(shù)據(jù)后顯示屏整體右移1個字符3.顯示開關控制指令功能:控制顯示器開/關、光標顯示/關閉以與光標是否閃爍。此設計規(guī)定顯示功能開、無光標、光標 不閃
48、爍,操作數(shù)為0x0c。參數(shù)設定的情況如下:位名 設置D 0=顯示功能關 1=顯示功能開C
49、; 0=無光標 1=有光標B 0=光標
50、閃爍 1=光標不閃爍4.功能設定指令功能:設定數(shù)據(jù)總線位數(shù)、顯示的行數(shù)與字型。此設計規(guī)定數(shù)據(jù)總線為8位、顯示2行,操作數(shù)為0x38。參數(shù)設定的情況如下:位名 設置DL &
51、#160; 0=數(shù)據(jù)總線為4位 1=數(shù)據(jù)總線為8位N 0=顯示1行
52、 1=顯示2行F 0=5×7點陣/每字符 1=5×10點陣/每字符
53、5.液晶屏顯示位置顯示位置12345678910111213141516地址(H)第一行000102030405060708090A0B0C0D0E0F第二行404142434445464748494A4B4C4D4E4F功能:0x31(數(shù)字1的代碼)并不能顯示1出來。原因就是如果你要想在DDRAM的00H地址處顯示數(shù)據(jù),則必須將00H加上80H,即80H,若要在DDRAM的01H處顯示數(shù)據(jù),則必須將01H加上80H即80H+01H。依次類推。5.3 計算器軟件設計現(xiàn)實生活中人們熟知的計算器,其功能主要如下:1、 鍵盤輸入;2、 數(shù)值顯示;3、 加、減、乘、除四則運算;4、 對錯誤的控制與提示
54、;針對上述功能,計算器軟件程序要完成以下模塊的設計:1、 鍵盤輸入檢測模塊2、 算術運算模3、 塊LCD顯示模塊4、 錯誤處理與提示模塊。5.3.1系統(tǒng)總流程圖圖5.1 系統(tǒng)總流程圖5.3.2算術運算程序設計 算術運算程序的過程為:先判斷輸入的運算符是+、-、*、/ 中的哪一個,輸入數(shù)值是否溢出,若溢出規(guī)定圍,則顯示錯誤信息,若是/,則要先判斷除數(shù)是否為零,為零就顯示錯誤信息,不為零則顯示運算結果,結果可顯示小數(shù)點后3位,若是-,則直接顯示運算結果,可顯示負數(shù)。其流程圖如圖5.2所示。圖5.2運算流程圖5.3.3按鍵程序設計有鍵按下時,單片機響應外部中斷0,轉入外部中斷0中斷處理函數(shù),在中斷處
55、理函數(shù)中完成對按鍵的判斷,以進行下一步的程序處理。5.3.4顯示程序設計利用LCD靜態(tài)顯示,通過程序向LCD寫指令字或數(shù)據(jù)使LCD完成不同功能或顯示相應數(shù)據(jù)。5.3.5 錯誤處理與提示程序設計當計算器執(zhí)行過程中有錯誤時,會在LCD上顯示相應的提示,如當除數(shù)為0或數(shù)值超出圍時,計算器會在LCD上提示錯誤。5.4 語音播報軟件設計錄音時,按下錄音鍵,單片機通過口線設置語音段的起始地址,再使PD端、P /R端和CE端為低電平啟動錄音;結束時,松開按鍵,單片機又讓CE端回到高電平,完成一段語音的錄制。同樣的方法可錄取第二段、第三段。特別值得注意的是,錄音時間不能超過預先設定的每段語音的時間。放音時,根
56、據(jù)需播放的語音容,找到相應的語音段起始地址,并通過口線送出。再將P /R端設為高電平,PD端設為低電平,并讓CE端產(chǎn)生一負脈沖啟動放音,這時單片機只需等待ISD2560的信息結束信號,即EOM的產(chǎn)生。信號為一負脈沖,在負脈沖的上升沿,該段語音才播放結束,所以單片機必須要檢測到EOM的上升沿才能播放第二段,否則播放的語音就不連續(xù),而且會產(chǎn)生啪啪聲。具體的軟件設計和錄放音時序圖見表5.3、圖5.4和圖5.5所示。表5.3 ISD2560軟件設計地址表圖5.3 ISD2560語音芯片放音時序圖圖5.4 ISD2560語音芯片錄音時序圖5.4.1 分段錄放音2500系列最多可分為600段,只要在分段錄
57、/放操作前(不少于300納秒),給地址A0-A9賦值,錄音與放音功能均從設定的起始地址開始,錄音結束由停止鍵操作決定,芯片部自動在該段的結束位置插入結束標志(EOM);而放音芯片遇到EOM標志即自動停止放音。2500系列地址空間是這樣分配的:地址0-599作為分段用表 5.5 ISD2560 地址空間分配圖5.4.2 程序流程圖 本設計主要通過單片機對ISD2560的控制實現(xiàn)指定地址入口的錄音和循環(huán)播放。程序要實現(xiàn)下面的過程:“開始”鍵按下后,即系統(tǒng)上電后,系統(tǒng)初始化,然后判斷開始鍵是否按下,如果按下則單片機控制PD,P/R引腳低電平,并指向錄音地址,啟動錄音過程。調用錄音函數(shù),錄音函數(shù)為:V
58、oid record(void) CE = 0; /片選有效 PD = 0; /非節(jié)電模式 PR = 0 ; /錄音當CE=0 時芯片使能輸入引腳,使能所有的的錄音操作。當PD=0 時使芯片開始工作,而進入非節(jié)電模式。當PR=0 時開始錄音,錄音時,由地址線提供起始地址,直到錄音持續(xù)到CE或PD變高,或自動溢出。語音播報系統(tǒng)總流程如圖5.6所示:圖5.6 語音播報系統(tǒng)總流程圖在預先設定的時間,(小于60s)結束錄音,松開“開始”鍵單片機控制P/R引腳回到高電平,即完成一段語音的錄制。之后打開外部中斷1,指定放音地址,啟動放音程序,其放音函數(shù)為: Void playback(void) CE =
59、 0; / 片選有效 PD = 0; / 非節(jié)電模式 PR = 1; / 放音當CE=0 時芯片使能輸入引腳,使能所有的的錄音操作。當PD=0 時使芯片開始工作,而進入非節(jié)電模式。當 PR=1時為高電平,這時選擇放音,這時由地址輸入提供起始地址,放音持續(xù)到EOM位標志。每次放音結束時,EOM輸出會觸發(fā)單片機的外部中斷1,經(jīng)過適當?shù)难訒r后,重新啟動第二次放音,這樣重復三次后關閉外部中斷1,流程結束,等待下一次錄音。外部中斷服務子程序流程圖如圖5.7所示:外部中斷服務子程序 關閉外部中斷 如果count<2 Count+ 延時 打開外部中斷 調用播放函數(shù)圖 5.7 外部中斷服務子程序流程圖5.5 仿真與調試下面用KEIL uVision與 porteus仿真軟件實現(xiàn)簡易計算器的仿真與調試。5.5.1 KEIL uVision調試Keil是目前進行51單片機開發(fā)最常用的編譯軟件,操作如下:圖5.8 3.6 Keil軟件主界面首先點擊Project->New Project(Project-&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農學創(chuàng)新研究探索
- 大學生就業(yè)協(xié)議書(2篇)
- 2024年跨境電子商務平臺建設與運營合同
- 2025年電子POS機租賃及系統(tǒng)維護一體化合同3篇
- 電梯維保承包合同
- 簡單的股份轉讓協(xié)議書范本
- 2024年麻石欄桿工程監(jiān)理合同
- 1 我們愛整潔 ( 說課稿)-2023-2024學年道德與法治一年級下冊統(tǒng)編版
- 2024年版物業(yè)管理服務合同詳細條款
- 《勞動合同法》87條
- 小學語文教研組期末考試質量分析
- 《五年級奧數(shù)總復習》精編課件
- TS2011-16 帶式輸送機封閉棧橋圖集
- 校園安全存在問題及對策
- 多聯(lián)機的施工方案與技術措施
- 鉆井作業(yè)常見安全隱患
- 新型肥料配方設計與加工PPT課件
- 國際色卡四色模擬專色CMYK色值對照表
- 裝飾施工階段安全檢查表
- 輥壓成型在汽車輕量化中應用的關鍵技術及發(fā)展-北方工業(yè)大學
- 地理信息系統(tǒng)原理全冊配套完整課件
評論
0/150
提交評論