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