【正文】
播放結(jié)束后,可以繼續(xù)錄入下一段語音 [9]。 4. W29C040 存儲擴展部分:通過 SPCE061A IO 口 的控制,將錄音編碼后的數(shù)據(jù)存儲到 W29C040 中。 :主要是由 MIC、自動增益電路、 AD 轉(zhuǎn)換電路構(gòu)成,通過 MIC 采樣語音數(shù)據(jù),并經(jīng)內(nèi)置自動增益電路處理、 AD 轉(zhuǎn)換后,編碼并存儲到 W29C040 FLASH中。管腳表如 表 26 所示 : 表 26 W29C040 管腳功能表 管腳名稱 功能描述 A0A18 地址的輸入口 DQ0DQ7 數(shù)據(jù)的輸入 /輸出口 CE 片選腳 OE 讀腳 WE 寫腳 VDD 5V腳 VSS 地 二. W29C040 讀寫時序 ( 1) 讀時序圖及在數(shù)據(jù)保護模式下的頁寫 時序圖如下 所示 : 基于單片機數(shù)碼錄音與播放系統(tǒng)的設(shè)計 19 A d d r e s s A 1 8 ~ 0C EO EW EQ 7 ~ 0T A CT C ET O ET C HT MT O HT C HH i g h tV HD a t a 1D a t a 2R e a d C y c l e T i m i n g D i a g r a m 圖 211 讀時序圖 5 5 5 5 2 A A A 5 5 5 5A A 5 5 A OA d d r e s sA 1 8 ~ 0D Q 7 ~ 0C EO EW ET W PT W P HT C L OS W 1 S W 2S W 0B y t o 0B y t o N 1 B y t o NT w cT h r e e b y t e s e q u e n c e f o rs o f t w a r e d a t a p r o t e c t i o nm o d eB y t e / p a g eb a d c y c l es t a r t s( L a s t B y t e )I n f o m a l w a r e s t a r t sP a g e W r i t e T i m i n g D i a g r a m S o f t w a r e D a t a P r o t e c t i o nM o d e 圖 212 在數(shù)據(jù)保護模式下的頁寫時序圖 ( 2)寫結(jié)束判斷時序圖 W EC EO ED G 6T W RT D HT O ET C HH I G H ZT o g g l e B i t T i m i n g D i a g r a m 圖 213 結(jié)束判斷時序圖 基于單片機數(shù)碼錄音與播放系統(tǒng)的設(shè)計 20 數(shù)碼錄音與播放 系統(tǒng)結(jié)構(gòu) 數(shù)碼錄音 與 播放系統(tǒng)結(jié)構(gòu)圖如 圖 214 所示: 按 鍵S P C E 0 6 1 AX I CS P KW 2 9 C 0 4 0地址口數(shù)據(jù)口控制口錄 音 電 路播 放 電 路 圖 214 數(shù)碼錄音播放系統(tǒng)結(jié)構(gòu) 本系統(tǒng)包括按鍵部分、音頻錄入部分、音頻輸出部分和 W29C040 存儲擴展等四部分。本系統(tǒng)提供 W29C040 相關(guān)的讀寫模塊,此模塊也可應用于 W29C040 同系列的相關(guān) FLASH 芯片 中 [9]。該系統(tǒng)可以廣泛應用于需求的錄音較長的場合。那么系統(tǒng)如何擴展 Memory,解決 I/O 口不夠的問題呢?這里介紹一款芯片 W29C040,它能夠解決所有 I/O 不夠用的 問題 。 V C CV S SV LR / WR SEB L AB L KD B 0D B 1D B 2D B 3D B 4D B 5D B 6D B 7S M C 1 6 0 2凌 陽 單 片機S P C E 0 6 1 AV D DX L S E E PX R O M TD B O~D B 7I O A 0~I O A 7 圖 210 SPCE061A與 SMC1602 的顯示電路 基于單片機數(shù)碼錄音與播放系統(tǒng)的設(shè)計 18 語音 電路的設(shè)計 W29C040 簡介 隨著數(shù)字語音,圖像處理技術(shù)的飛速發(fā)展,其在電子產(chǎn)品中也得到廣泛應用,如語音智能玩具、 PDA 以及有語音、圖像識別技術(shù)的機器人。 顯示電路的設(shè)計 如圖 210 所示,單片機 SPCE061A 與芯片 SMC1602 的顯示電路。 指令 10:寫數(shù)據(jù)。 指令 9:讀忙信號和光標地址。 指令 7: 字符發(fā)生器 RAM 地址設(shè)置。 指令 6:功能設(shè)置命令。 指令 5:光標或顯示移位。 指令 4:顯示開關(guān)控制。 基于單片機數(shù)碼錄音與播放系統(tǒng)的設(shè)計 17 I/D:光標移動方向,高電平右移,低電平左移。 指令 2:光標復位,光標返回到地址 00H。 表 25 1602 液晶模塊內(nèi)部的控制器的 11 條控制指令 序號 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清顯示 0 0 0 0 0 0 0 0 0 1 2 光標返回 0 0 0 0 0 0 0 0 1 / 3 置輸入模式 0 0 0 0 0 0 0 1 I/D S 4 顯示開 /關(guān)控制 0 0 0 0 0 0 1 D C B 5 光標或字符移位 0 0 0 0 0 1 S/C R/L / / 6 置功能 0 0 0 0 1 DL N F / / 7 置字符發(fā)生存儲器地址 0 0 0 1 字符發(fā)生存儲器地址 8 置數(shù)據(jù)存儲器地址 0 0 1 顯示數(shù)據(jù)存儲器地址 9 讀忙標志或地址 0 1 BF 計數(shù)器地址 10 寫數(shù)到 CGRAM 或 DDRAM 1 0 要寫的數(shù)據(jù)內(nèi)容 11 從 CDRAM 或 DDRAM 讀數(shù) 1 1 讀出的數(shù)據(jù)內(nèi)容 1602 液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。 D0~D7 為 8 位雙向數(shù)據(jù)線。當 RS 和 R/W同為低電平時可以寫人指令或者顯示地址;當 RS 為低電平、 R/W 為高電平時可以讀忙信號;當 RS 為高電平、 R/W 為低電平時可以寫人數(shù)據(jù) [4]。 RS 為寄存器選擇端, RS 為高電平時選擇數(shù)據(jù)寄存器,為低電平時選擇指令寄存器。 VL 為液晶顯示器對比度調(diào)整端,接電源正極時對比度最弱,接地時對比度最高。下面以 1602 字符型液晶顯示器為例,介紹其用法,實物如圖 29 所示。事先從微機中提取要顯示的漢字的點陣碼,每個漢字占 32B,分左右兩半,各占 16B,左邊為 5??右邊為 6??,根據(jù)在LCD 上開始顯示的行列號及每行的列數(shù)可找出顯示 RAM 對應的地址,設(shè)立光標,送上要顯示的漢字的第一字節(jié),光標位置加 1,送第二個字節(jié),換行按列對齊,送第三個字節(jié)??,直到 32B 顯示完,就可以在 LCD 上得到一個完整漢字 [4]。對于內(nèi)帶字符發(fā)器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作 在文本方式,根據(jù)在 LCD上開始顯示的行列號及每行的列數(shù)找出顯示 RAM 對應的地址,設(shè)立光標,并在此處送上該字符對應的代碼即可。例如,屏的第一行的亮或暗,由 R 人 M 區(qū)的 000H~00FH 的 16 字節(jié)的內(nèi)容決定,當 (000H)=FFH 時,屏幕的左上角顯示一條短亮線,長度為 8 個點;當 (3FFH)=FFH時,屏幕的右下角顯示一條短亮線;當( 000H) =FFHF、 (001H)=00H、 (002H)=00H、(00EH)=00H、 (00FH)=00H 時,在屏幕的頂部顯示一條由 8 段亮線和 8 條暗線組成的虛線。 3.液晶顯示器各種類形的顯示原理 基于單片機數(shù)碼錄音與播放系統(tǒng)的設(shè)計 15 (1)線段的顯示 點陣圖形式液晶由 M*N 個顯示單元組成,假設(shè) LCD 顯示屏有 64 行,每行有 128 列,每 8 列對應 1 字節(jié)的 8 位,則每行由 16 字節(jié),共 16*8=128 個點組成。除了黑白顯示外,液晶顯示器還有多灰度、彩色顯示等。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動、易于實現(xiàn)全彩色顯示的特點,廣泛用于便攜式電腦、數(shù)字攝像機、 PDA 移動通信工具等領(lǐng)域。電路圖如圖 28 所示。在此設(shè)計中,主器件在總線上產(chǎn)生時鐘脈沖,尋址信號,數(shù)據(jù)信號,而從器件則相應接受數(shù)據(jù),送出數(shù)據(jù)。 在本設(shè)計中,以 SPCE061A 為主器件, DS1302 為從器件, RST 接在主器件 IOB2上,此引腳為高位的時候,選中該芯片,對其進行操作。當 VDD2 大于 VDD1+ 時, VDD2給 DS1302 供電。 VDD2 在雙電源系統(tǒng)中提供電源,在這種運行方式下 VDD1 連接到備份電源,以便在沒有主電源的情況下能保存時間信息以及數(shù)據(jù)。 基于單片機數(shù)碼錄音與播放系統(tǒng)的設(shè)計 14 DS1302 與單片機的硬件電路的設(shè)計 DS1302 與單片機的連接僅需要 3 條線,即 SCLK、 I/O、 RST。 數(shù)據(jù)輸入 —— 輸入命令字節(jié) 8 個時鐘周期之后,在下 8 個時鐘周期的上升沿輸人數(shù)據(jù),若有額外的 SCLK 周期是不予理睬的,數(shù)據(jù)輸入開始位是位 0。 復位和時鐘控制 —— 數(shù)據(jù)傳輸?shù)膯邮怯?RST 置為高電平開始的, RST 啟動控制邏輯,允許地址 /命令序列送入移位寄存器, 一個時鐘周期是一個下降沿緊跟一個上升沿,數(shù)據(jù)輸入的時候,在時鐘上升沿數(shù)據(jù)必須有效;如果 RST 變低,所有數(shù)據(jù)傳送即被終止, I/0 引腳到一個高阻狀態(tài)。 DS1302 也可用外部振蕩器驅(qū)動,這時 X1 引腳連接外部振蕩器信號, X2 懸浮 [5]。 12345678V D D 2X 1X 2G N DV D D 1S C L KI OR S T 圖 27 DS1302 引腳排列 DS1302 具有一個可編程的涓流充電器,主電源和備份電源的雙電源引腳, 7 個附加字節(jié)的暫存寄存器,包括移位寄存器、控制邏輯、振蕩器、實時時鐘和 RAM。 7 個附加字節(jié)的暫存寄存器,包括移位寄存器、控制邏輯、振蕩器、實時時鐘和 RAM。實時時鐘可以提供秒、分、時、日、星期、月和年,一個月小于 31 日時可自動調(diào)整,包括閏年,有效至 2100 年。 DS1302 結(jié)構(gòu)框圖與引腳介紹 電 源 控 制實 時 時 鐘輸 入 移 位寄 存 器命 令 和控 制 邏 輯3 1 * 8R A M振 蕩 器和 分 頻 器/ R S TS C L KV D D 1V D D 2G N DI / OD A T A B U SADDRESSBUS 圖 26 DS1302 結(jié)構(gòu)框圖 1.結(jié)構(gòu)框圖與引腳介紹 基于單片機數(shù)碼錄音與播放系統(tǒng)的設(shè)計 13 DS1302 原理框圖見圖 26 所示。 PROBE 的另一頭是標準25 針打印機接口,直接連接到計算機打印口與上位機通訊,在計算機 IDE 集成開發(fā)環(huán)境 軟件包下,完成在線調(diào)試功能 .[13] DS1302 芯片簡介 在以凌陽單片機為核心構(gòu)成的裝置中,經(jīng)常需要一個實時的時鐘和日歷,以便對一些實時發(fā)生事件記錄時給予時標,實時時鐘芯片便可起到這一作用,過去多用并行接口的時鐘芯片,如 MC146818, DS12887 等。它利用了 SPCE061A 片內(nèi)置的在線仿真電路 ICE( In Circuit Emulator) 接口和凌陽公司的在線串行編程技術(shù)。用它可以替代在單片機應用項目的開發(fā)過程中常用的軟件工具 ——硬件在線實時 。 基于單片機數(shù)碼錄音與播放系統(tǒng)的設(shè)計 12 SPCE061A 開發(fā)工具 SPCE061A 的開發(fā)是通過在線調(diào)試器 PROBE 實現(xiàn)的。如圖 25 所示: 1 2M H ZO S C 3 2 0O S C 3 2 13 0 p F3 0 p FY 1 圖 25 時鐘電路的設(shè)計 內(nèi)部程序存 振蕩晶體可在 ~12MHz之間選擇,電容值無嚴格要求,但在電容值取值對振蕩頻率輸出的穩(wěn)定性、大小、振蕩電路起振速度有少許影響, CX CX2可在 20pF~100pF之間取值,但在 60pF~70pF時振蕩器有較高的頻率穩(wěn)定性 [8]。而時序所研究的則是指令執(zhí)行中各信號之間的相互時間的關(guān)系。 基于單片機數(shù)碼錄音與播放系統(tǒng)的設(shè)計 11 表 23 復位后寄存器狀態(tài) 寄存器 復位狀態(tài) 寄存器 復位狀態(tài) PC 0000H TMOD 00H ACC 00H TCON 00H B 00H TL0 00H PSW 00H TH0 00H SP 07H TL1 00H DPTR 0000H TH1 00H IOB0—IOB3 0FFH SCON 00H IP 000000B SBUF 不定 IE 0000000 PCON 00000 本次設(shè)計 復位電路,如圖 24所示