胡珍玉
(哈爾濱投資集團有限責任公司哈爾濱150001)
系統總體設計框圖如圖1所示。根據設計要求,硬件結構主要由主控芯片AT89S51單片機作為核心控制部件,系統由實時時鐘、語音錄放控制、當前時間調整、提醒時間設置、LED譯碼/驅動、時間顯示和語音處理等模塊組成。該系統利用實時時鐘芯片DS1302產生年、月、日、時、分、秒等時間信息,通過單片機對時間信息進行處理后送數碼管顯示驅動電路;語音錄放部分采用可擦除、可分段語音處理芯片ISD2560記錄語音以及其他外圍電路組成語音提示系統,在接收到放音命令后根據單片機發送過來的語音信息地址,對存放的語音數據進行組合,發出與時間相對應的語音信息,實現語音報時功能。

圖1 系統總體設計框圖
1.2.1 控制器選擇
語音提示器系統的控制模塊選用單片機AT89S51作為主控部件。它是一款低功耗、高性能的8位單片機,并且與MSC-51引腳和指令系統完全兼容,芯片上的EEPROM允許在線重復編程1 000多次,非常適合在本系統的設計開發中使用。
1.2.2 時鐘芯片選擇
語音提示器系統的時鐘芯片選用DALLAS公司推出的DS1302,其片內含實時時鐘舊歷和31字節靜態RAM的時鐘芯片,通過串行接口與單片機進行通信。DS1302與單片機之間能采用同步串行的方式進行通信,僅需復位線RST,IO數據線、SCLK串行時鐘線3根線即可完成數據的通訊。DS1302數據傳送方式有單字節和多字節傳送方式,根據控制命令字和數據傳送的時序,單片機可以對DS1302重新設置時間和讀取實時時間。
1.2.3 LED數碼管顯示接口選擇
設計選擇動態顯示方式。動態顯示是一位一位地輪流點亮各位數碼管,這種逐位點亮顯示器的方式稱為位掃描。動態方式顯示時,各數碼管分時輪流選通,要使其穩定顯示,必須采用掃描方式,即在某一時刻只選通一位數碼管,并送出相應的段碼,在另一時刻選通另一位數碼管,并送出相應的段碼。依此規矩循環,即可使各位數碼管顯示需要顯示的字符。在輪流點亮過程中,只要每位顯示間隔時間足夠短就可以給人以同時顯示的感覺,給人的印象就是一組穩定的顯示數據。采用動態顯示方式節省I/O口,硬件電路也較靜態顯示簡單,但其亮度不如靜態顯示方式,而且在顯示位數較多時,CPU要依次掃描,占用CPU較多時間。
1.2.4 語音芯片選擇
設計選擇ISD2560語音芯片。該片是ISD系列單片語音錄放集成電路的一種。具有永久記憶型語音錄放電路,錄音時間為60 s,可重復錄放10萬次。該芯片采用多電平直接模擬量存儲專利技術,每個采樣值可直接存儲在片內單個EEPROM單元中,因此能夠非常真實、自然地再現語音、音樂、音調和效果聲。ISD2560還省去了A/D和D/A轉換器,其集成度較高。此外,ISD2560還具備微控制器所需的控制接口。能夠實現復雜的信息處理功能,如信息的組合、連接、設定固定的信息段和信息管理等。
數碼管動態掃描接口電路如圖2所示。

圖2 顯示部分電路圖

圖3 時鐘接口電路圖
單片機AT89S51和DS1302接口電路如圖3所示。
串行時鐘芯片 DS1302的 SCLK,RST,1/0口分別與單片機的 P3.5,P3.4,P3.3 相連。根據DS1302數據傳送的時序圖利用軟件模擬完成串行數據傳送。DS1302的VCC接3 V的鋰電池作
對DS1302進行任何數據傳送時,第一個數據字節必須是命令字節,格式見表2。其中最高有效位MSB(位7)必須為邏輯1,如果它是0,禁止寫DS1302。位6為邏輯0時,指定傳送時鐘/日歷數據;邏輯1指定傳送RAM數據。位1~5為主電源掉電后的備用電源。
S1302串行時鐘芯片內部結構,主要由移位寄存器、控制邏輯、振蕩器、實時時鐘及31字節的RAM組成。它的內部的實時時鐘/日歷提供秒、分、時、日、月及年等信息,對小于31天的月末的日期進行調整,還包括閏年的校正功能。時鐘的運行可采用24 h或AM(上午)和PM(下午)的12 h格式。
DS1302的數據傳送時序如圖4所示,當RST為高位時,對芯片的操作有效。SCLK線上為時鐘脈沖,其上升沿時,I/O線上信息輸入有效(低位在前,高位在后)[6];而下降沿時,I/O線上的數據輸出有效(低位在前,高位在后)。圖4數據傳送時序對DS1302的每一次讀寫需16個時鐘脈沖,前8個脈沖輸入操作地址和讀寫命令。指定進行輸入或輸出的特定寄存器的地址。最低有效位LSB(位0)為邏輯0時,指定進行寫操作(輸入);邏輯1指定進行讀操作(輸出)。命令字節總是從最低有有效位LSB(位0)開始輸入。其地址命令字節的格式如表1所示。

圖4 數據傳送時序

表1 地址命令字節的格式
隨機地址錄放音電路的錄放音起始地址可以通過單片機對語音芯片的A0~A9進行控制而實現。隨機地址可以選擇芯片中的任意地址。隨機地址錄放音電路如圖5所示。
單片機的P2口接ISD2560的A0-A7,P3.6,P3.7接A8,A9作為地址選擇線。ISD2560的P/R,/CE,PD 分別接單片機的 P0.7,P0.6,P0.5 口。錄音時,按下錄音鍵,單片機通過 P2口送出ISD2560錄放語音段的起始地址,再使PD端、P/R端和/CE端為低電平啟動錄音;結束時,松開按鍵,單片機又讓/CE端回到高電平。即完成一段語音的錄制。同樣的方法可錄取第二段、第三段、……。特別值得注意的是,錄制時間不能超過預先設定的每段語音的時間。放音時,根據需播放的語音內容,找到相應的語音段起始地址,可根據實際情況組合回放,并通過口線送出。再將P/端設為高電平,PD端設為低電平,并讓CE端產生一負脈沖啟動放音,這時單片機只需等待ISD2560的信息結束信號,即EOM的產生。信號為一負脈沖,在負脈沖的上升沿,這段語音才播放結束。所以單片機必須要檢測到,EOM的上升沿才能播放第二段,否則播放的語音就不連續,而且會產生啪啪聲,這一點在編制軟件時一定要注意。標志啟動發出下一段的放音地址,這樣連續放音就可以實現語音報時的功能。

圖5 隨即機地址錄放音電路圖
主程序設計
按鍵中斷程序設計
時鐘接口程序設計
語音芯片接口程序設計
錄音放音子程序流程圖(圖6)

圖6 錄音放音子程序流程圖
智能語音提示器具有顯示年、月、日、時、分、秒和整點音樂報時及定時鬧鐘等諸多功能,能夠達到設計的總體要求。與傳統的語音處理器產品相比較,該系統具有硬件電路簡單、開發周期短和音質高保真等優點,具有一定的實用價值與推廣價值。
[1] 高旭東.PIC單片機智能測控系統[D].哈爾濱理工大學,2002.
[2] 電子報合訂本[N].成都:電子科技大學出版社.2005:165-231.
[3] 馮育長.單片機系統設計與實例分析[M].西安電子科大出版社.2007.
[4] 黃賢武.傳感器原理及應用.電子科技大學出版社,2003,75-81.
[5] 姚遠,凌毓濤.TLC2543在89C51單片機數據采集系統中的應用[N].湖北武漢:華中師范大學信息技術系電子工程師學報,2003(09).
[6] 苗齊壯,孫鳳英,張梅美.基于Trans-Modeler軟件的公交信號優先模擬研究[J].森林工程,2012,28(3):47-50.
[7] 貢雪梅.日歷電子鐘的設計[J].西安:西安航空技術高等專科學校學報.2004:21-22.