多媒體搖獎系統的設計與實(shí)現
本文介紹的搖獎系統是一種采用MCS-51單片機控制彩燈亮暗狀態(tài)和音響變化的多媒體系統,該系統將傳統的搖獎功能與電腦的多媒體技術(shù)相結合,最主要的特點(diǎn)體現在兩個(gè)方面:第一是采用定點(diǎn)單片機來(lái)產(chǎn)生不同的隨機數來(lái)設立不同的獎項,從而體現搖獎的公平性,同時(shí)能事先設立不同獎項的產(chǎn)生概率,因此商家能控制每一搖獎組中產(chǎn)生各種獎項的數目,從而來(lái)保護商家的利益,并且具有搖獎結果的統計功能。第二是該系統能根據不同的搖獎結果來(lái)產(chǎn)生不同的聲、光、電顯示效果,從而增加趣味性,提高產(chǎn)品的技術(shù)含量。
本文引用地址:http://dyxdggzs.com/article/2842.htm為了實(shí)現上述兩大特點(diǎn),在開(kāi)發(fā)該系統時(shí),需要解決兩大技術(shù)問(wèn)題:第一,如何利用定點(diǎn)單片機來(lái)產(chǎn)生隨機數,為此本文提出了一種基于定點(diǎn)單片機的隨機數產(chǎn)生算法,同時(shí)也提出了不同等級獎項的產(chǎn)生概率的控制方法。第二,如何實(shí)現聲光及其語(yǔ)音系統?本文介紹了采用ISD2500數碼語(yǔ)音芯片來(lái)實(shí)現搖獎?wù)Z(yǔ)音系統的具體方法。
在多媒體搖獎系統中,各種獎項的產(chǎn)生是通過(guò)的MCS-51單片機產(chǎn)生的隨機數來(lái)實(shí)現的。 MCS-51系列單片機是目前8位定點(diǎn)單片機的主流,數量約占8位單片機的38.3%,在實(shí)時(shí)控制、智能化儀表等方面應用最廣。該單片機有一個(gè)8位的面向控制的CPU、1個(gè)128字節的RAM、21個(gè)特殊功能的寄存器、4個(gè)8位并行I/0端口、1個(gè)全雙工異步串行端口、2個(gè)16位定時(shí)器和計數器、2個(gè)優(yōu)先級別的5個(gè)中斷源,其中P0~P3是I/O端口,這4個(gè)并行I/O端口影射到SFR(特殊功能寄存器)。通過(guò)對這些寄存器的讀寫(xiě),可以實(shí)現從相應I/O端口的輸入和輸出。由于PO~P3端口被影射到特殊功能寄存器,對這些端口寄存器的讀寫(xiě)就實(shí)現了信息由相應端口的輸入和輸出。盡管MCS-51單片機具有較強控制I/O的功能,但由于MCS-51是一個(gè)8位的定點(diǎn)單片機,而且RAM也較小,不能采用類(lèi)似于浮點(diǎn)單片機的隨機數的產(chǎn)生函數等算法來(lái)生成隨機數。因此對定點(diǎn)單片機來(lái)說(shuō),如何生成隨機數是一個(gè)很難的技術(shù)問(wèn)題。根據隨機數來(lái)確定獎項,這是體現搖獎系統的公平性的最基本要求。本文根據MCS-51的特點(diǎn),提出了一種很簡(jiǎn)單而且很巧妙的獲取隨機數的方法。
MCS-51是一種工作頻率較高的單片機,其工作頻率可達12MHz,指令周期為1ms,因此其中的計數器的計數單位為1ms,因此我們可以對用戶(hù)按下?lián)u獎按鈕到松開(kāi)按鈕進(jìn)行以微秒為單位計數,并將該計數結果對一定大小的數(我們采用100)進(jìn)行求余運算,由于計數單位是微秒級,用戶(hù)無(wú)法控制計數器的求余結果,因此我們可以將此余數看作隨機數,以此作為確定獎項的依據。為了控制獎項的產(chǎn)生概率,我們設立了一個(gè)多對一的影射表,將0~99的余數分別影射到不同的獎項中,從而實(shí)現對不同獎項產(chǎn)生概率的控制。例如,如果在100人為1組的抽獎活動(dòng),希望產(chǎn)生5種不同的獎項,并希望產(chǎn)生的一等獎的概率為2%,二等為8%,三等為20%,四等為30%,五等為40%。因此在設立影射表時(shí),可以將100個(gè)余數中的2個(gè)影射到一等獎,8個(gè)不同的余數影射到二等獎,20個(gè)不同的余數影射到三等獎,30個(gè)不同的余數影射到四等獎,剩下的40個(gè)余數影射到五等獎。在建立影射表時(shí),影射到同一等級獎項的余數最好不要連續,因為經(jīng)過(guò)反復測試,證明如果不連續余數的影射會(huì )使獎項產(chǎn)生的分布性更好。
搖獎系統的語(yǔ)音子系統能根據不同結果和所處的不同狀態(tài)來(lái)自動(dòng)產(chǎn)生不同的語(yǔ)音和音樂(lè )信號。組成該系統的核心部件是美國信息存儲器件(ISD)公司的2500數碼語(yǔ)音芯片,該芯片采用了直接模擬量存儲技術(shù),能較好地保留模擬量中的有效成分,音質(zhì)好,即使錄放音樂(lè )歌曲也能保真還原;在片內有480Kb的EEPROM,因此掉電也不會(huì )丟失信息;10個(gè)地址輸入端,尋址能力可達1024位,因此可分600段,并設有溢出端,便于多個(gè)器件級聯(lián)。采用該芯片組成的語(yǔ)音系統可以獲得比傳統的語(yǔ)音合成方式更好的音質(zhì),更低的成本,更高的可靠性和靈活性。
根據搖獎的狀態(tài)數和獎項數,事先在2500語(yǔ)音芯片中設置相應的語(yǔ)音段,并錄制不同的語(yǔ)音和音樂(lè )信號。單片機MCS-51在不同的時(shí)間根據搖獎系統所處的不同狀態(tài)或者是搖獎后的不同獎項來(lái)控制2500語(yǔ)音芯片來(lái)播放不同段的語(yǔ)音和音樂(lè ),從而給觀(guān)眾聽(tīng)覺(jué)上感官效果。并配合搖獎機面板上的不同彩燈的閃爍效果,使觀(guān)眾可以處于一個(gè)五彩繽紛的聲、光、電高科技效果中。
多媒體搖獎系統由控制、燈光顯示、語(yǔ)音和接口等子系統組成,系統的組成框圖如圖1所示。其中燈光顯示子系統是由5組不同的顏色的彩燈組成,每種顏色代表一種獎項,在觀(guān)眾按下?lián)u獎按鈕并松開(kāi)之后,某一組顏色的燈亮表示該觀(guān)眾獲得某項獎項。另外,在搖獎系統處于不同的階段,各種彩燈以不同的頻率輪流閃爍。燈光顯示子系統在控制子系統下工作。
控制子系統是整個(gè)搖獎系統的核心,它不僅能夠根據事先設置的搖獎概率來(lái)產(chǎn)生不同的獎項,而且還能夠控制不同彩燈的亮暗和語(yǔ)音播放來(lái)表示搖獎的結果??刂谱酉到y的核心部件是AT89C51單片機,該單片機通過(guò)8位并行I/O端口P0口的前5位P0。0到P0。4來(lái)連接5組彩燈,并通過(guò)設置相應的位置位和復位來(lái)控制彩燈的亮暗,同時(shí)也可控制相應語(yǔ)音段的播放。其控制流程圖如圖2所示。
語(yǔ)音子系統能根據搖獎后的不同結果和所處的不同狀態(tài)來(lái)播放不同的語(yǔ)音和音樂(lè ),其核心是ISD2500數碼語(yǔ)音芯片,該芯片以分段的形式(5段)存儲了5個(gè)聲音文件(.WAV),在何時(shí)播放何段聲音文件是由單片機來(lái)控制的。ISD2500的分段尋址由A0到A9來(lái)控制,其錄音和放音功能均從設定起始地址開(kāi)始,錄音結束是由停止鍵確定,芯片自動(dòng)在該段的結束位置插入結束標志(EOM);而放音時(shí)芯片遇到EOM標志就自動(dòng)停止放音。ISD2500地址的空間分配如表1所示,其中0~599作為分段用,地址600~767未使用,地址768~1023為工作模式選擇。
由于本系統只采用了5段語(yǔ)音,所以MCS-51單片機只需使用并行口P2中前5位來(lái)控制,即分別為P2。0到P2。4,控制代碼如下所示:。
Voice:
Mov a, r5;
Rl a
Mov r5, a
Djnz r4,voice
Mov p0,r5
Mov a,r5
Cpl a
Mov r5, a
Mov p2,r5
Call delay1
Mov p2,#ffh
……
其中,delay過(guò)程是一個(gè)延遲子程序,主要用來(lái)消除按鈕的抖動(dòng)。
另外,本搖獎系統還建立了一個(gè)搖獎結果的查詢(xún)子系統,該功能只能是系統管理員使用,由密碼鎖定,主要用于管理員來(lái)查詢(xún)各獎項的得獎人數。采用兩個(gè)七段數碼管來(lái)顯示,其中數碼管是通過(guò)3個(gè)74LS164移位寄存器與單片機連接。AT89C51單片機通過(guò)串行口將所要顯示的結果的數字字型碼以逐位方式送入到移位寄存器鏈,構成字符的寄存顯示。同時(shí)操作員還可以通過(guò)面板控制系統對系統參數做初始化。
利用定點(diǎn)單片機來(lái)產(chǎn)生隨機數和隨機數產(chǎn)生概率的控制算法,并以該算法為基礎,開(kāi)發(fā)的具有語(yǔ)音播放、同時(shí)具有聲光電顯示效果的多媒體搖獎系統,具有科技含量高,制造成本低廉等特點(diǎn),可廣泛應用于商家的促銷(xiāo)活動(dòng)和電視臺舉辦各種趣味活動(dòng)中?!?/font>
參考文獻
1 陳光東,趙性初,單片微型計算機原理和接口技術(shù),華中理工大學(xué)出版社。
2 姚凱學(xué)等,單片機原理及應用,重慶大學(xué)出版社。
評論