程瑞龍
摘要:該文介紹了一種以STC89C54RD+單片機(jī)模塊為核心的投珠機(jī)的設(shè)計(jì),該投珠機(jī)在檢測(cè)到投幣或投珠之后開(kāi)始工作,通過(guò)按下中間的停止按鍵停止,停止的位置的數(shù)值即為中獎(jiǎng)的倍數(shù)??梢酝ㄟ^(guò)后面的開(kāi)關(guān)控制投珠機(jī)的模式,在設(shè)置模式中可以對(duì)相關(guān)參數(shù)進(jìn)行修改,操作過(guò)程中有語(yǔ)音播報(bào)功能。該文闡述了各模塊的設(shè)計(jì)過(guò)程,最后對(duì)設(shè)備進(jìn)行了綜合調(diào)試。
關(guān)鍵詞:STC89C54;投珠機(jī);語(yǔ)音播報(bào)
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)32-7758-03
1 概述
隨著各種電子設(shè)備的發(fā)展,游戲機(jī)在娛樂(lè)行業(yè)得到了很大程度的發(fā)展,現(xiàn)已開(kāi)發(fā)出針對(duì)各種年齡階段人群的游戲機(jī)。該文重點(diǎn)闡述了一款基于STC8954RD單片機(jī)平臺(tái)的投珠機(jī)的設(shè)計(jì)。該投珠機(jī)現(xiàn)已在各大超市或娛樂(lè)場(chǎng)所穩(wěn)定運(yùn)行,該投珠機(jī)通過(guò)投幣器投入硬幣,對(duì)應(yīng)出來(lái)相應(yīng)數(shù)量的珠子,在固定的投珠孔投入珠子即可開(kāi)始游戲。該設(shè)備具備斷電保護(hù)功能和相關(guān)數(shù)據(jù)的累計(jì)功能,可以在輸入密碼情況下隨時(shí)查詢(xún)當(dāng)前累計(jì)的錢(qián)數(shù),并帶有語(yǔ)音播報(bào)功能。
2 概述
投珠機(jī)電路板右下角有 3個(gè)黑色的小按鈕,分別是機(jī)器的“設(shè)置”鍵、“+”、“-”,可查看并播報(bào)投幣金額,及修改各項(xiàng)游戲參數(shù)。只有在無(wú)人游戲狀態(tài)下,打開(kāi)機(jī)器才可以修改相關(guān)設(shè)置。 如單獨(dú)按“+”鍵、“-”鍵可設(shè)置音樂(lè)聲音大小。每按一次設(shè)置鍵,均有相應(yīng)語(yǔ)音提示,此時(shí)按“-”鍵、“+”鍵可更改參數(shù),并且2秒鐘后會(huì)自動(dòng)保存并退出設(shè)置狀態(tài)??稍O(shè)置游戲模式,模式分為2種:普通模式與智能模式。普通模式是只要向機(jī)器投珠,即有反應(yīng);而智能模式是只有先投幣后,投珠才有反應(yīng);并且中獎(jiǎng)后機(jī)器出珠的數(shù)量,是機(jī)器接受珠子的數(shù)量,超出機(jī)器出珠數(shù)量,投珠將沒(méi)有反應(yīng)。這樣可有效避免市場(chǎng)上其他珠子放入機(jī)器游戲。此時(shí)按“+”“-”鍵可更改參數(shù)。(0代表普通模式,1代表智能模式)。當(dāng)機(jī)器出現(xiàn)故障不能正常運(yùn)轉(zhuǎn)時(shí),機(jī)器會(huì)發(fā)出報(bào)警,并會(huì)給出語(yǔ)音提示,只要按照語(yǔ)音提示操作即可排除故障。
3 系統(tǒng)結(jié)構(gòu)
5.2 顯示燈程序設(shè)計(jì)
投珠機(jī)顯示小燈共16個(gè),都是共陽(yáng)極接法,通過(guò)單片機(jī)驅(qū)動(dòng)LN2003驅(qū)動(dòng),按鍵檢測(cè)在檢測(cè)到玩家投珠后,進(jìn)入游戲狀態(tài),采用的是單個(gè)小燈循環(huán)跑的形式,每個(gè)小燈對(duì)應(yīng)不同的中獎(jiǎng)率,分別為5倍,4倍,3倍,2倍,1倍和0倍,按下中間的停止按鍵,小燈立即停止,如果落在3倍上,那么就是中獎(jiǎng)三倍,投入珠子的數(shù)量乘以3即為玩家獲得的珠子。通過(guò)調(diào)節(jié)不同小燈的延時(shí)時(shí)間來(lái)確定中獎(jiǎng)率,也就是把0倍的時(shí)間稍微調(diào)的長(zhǎng)一點(diǎn),而倍數(shù)時(shí)間比較短,這樣中獎(jiǎng)的幾率就是可控的,因?yàn)殚g隔的時(shí)間較短,玩家一般看不出來(lái)。如果玩家長(zhǎng)時(shí)間沒(méi)有按停止按鍵,那么在小燈轉(zhuǎn)了一定的時(shí)間自動(dòng)停止,停止的時(shí)間是要求三圈以上加上一個(gè)隨機(jī)時(shí)間。顯示燈在空閑模式還有小燈整體循環(huán)跑的程序和整體閃爍的功能。同時(shí)要求在小燈控制的同時(shí)配套音樂(lè)播放。
5.3 數(shù)碼管顯示程序
數(shù)碼管顯示部分由單片機(jī)控制三片74HC595D來(lái)控制三個(gè)數(shù)碼管數(shù)碼管之間輸入輸出串聯(lián)起來(lái),各個(gè)數(shù)碼管之間有進(jìn)位,實(shí)際上只使用兩個(gè)還有一個(gè)數(shù)碼管預(yù)留,利用單片機(jī)控制74HC595D的第11、 12腳接口來(lái)傳遞數(shù)據(jù)。在數(shù)碼管顯示子程序里面要做好提取數(shù)據(jù)的千位、百位、十位、個(gè)位,如果要顯示一個(gè)4位數(shù),或者三位數(shù),那么由兩個(gè)數(shù)碼管分兩次顯示交替實(shí)現(xiàn),先顯示千位和百位,再顯示十位和個(gè)位,中間閃爍間隔,來(lái)回顯示三次。
5.4 EEPROM存儲(chǔ)
在游戲過(guò)程中有可能會(huì)發(fā)生斷電的情況,那么要求玩家斷電前投幣的狀態(tài)和投珠的狀態(tài)藥能夠保持,本系統(tǒng)采用了將玩家投幣數(shù)和投珠數(shù)以及中獎(jiǎng)數(shù)以及已出珠數(shù)四個(gè)變量在發(fā)生改變時(shí)存儲(chǔ)在EEPROM中,防止掉電丟失。在主程序開(kāi)始之前初始化階段都要求讀取這四個(gè)變量。
游戲機(jī)機(jī)主可能要查詢(xún)機(jī)器的中獎(jiǎng)率或者總的投幣數(shù),在開(kāi)機(jī)狀態(tài)下,連擊六下停止鍵,進(jìn)入查詢(xún)程序,然后輸入相應(yīng)的項(xiàng)目可以通過(guò)讀取EEPROM來(lái)獲得這兩個(gè)數(shù)值,同樣在這兩個(gè)變量發(fā)生改變的時(shí)候,也需要及時(shí)的寫(xiě)入EEPROM中。
5.5 中斷服務(wù)程序
本系統(tǒng)要求游戲機(jī)不管處于什么模式,一旦有投幣或者投珠的情況,要立即切換到游戲模式中,所以在投幣與投珠的兩個(gè)檢測(cè)上采用的外中斷的形式,投幣采用的外中斷0,投珠采用的是外中斷2實(shí)現(xiàn)的,觸發(fā)中斷之后除了立即響應(yīng)外,還需要修改EEPROM內(nèi)部的數(shù)據(jù)。由于系統(tǒng)軟件涉及到時(shí)間要求,本系統(tǒng)采用了定時(shí)器0來(lái)及時(shí)計(jì)時(shí)。
6 結(jié)束語(yǔ)
本投珠機(jī)在單片機(jī)控制的基礎(chǔ)上,采用了微動(dòng)開(kāi)關(guān)檢測(cè)投珠與落珠,利用中斷進(jìn)入游戲程序,并在開(kāi)始游戲程序之前設(shè)置了設(shè)定模式。在調(diào)試的過(guò)程中,發(fā)現(xiàn)喇叭有雜音,經(jīng)檢查發(fā)現(xiàn)功放部分PCB走線從芯片底下直接穿過(guò)的,有電磁干擾,改進(jìn)PCB解決問(wèn)題;在批量生產(chǎn)之前廠商提出部分貼片元件0603封裝的,操作工人在量產(chǎn)的過(guò)程中有難度,加長(zhǎng)了工時(shí),換用0805的封裝解決問(wèn)題;第一批生產(chǎn)了一百臺(tái)機(jī)器,發(fā)現(xiàn)有部分機(jī)器吐珠不正確的情況,經(jīng)過(guò)檢查發(fā)現(xiàn)時(shí)程序不夠優(yōu)化響應(yīng)不夠及時(shí)導(dǎo)致的,經(jīng)修改解決問(wèn)題。
該游戲機(jī)的設(shè)計(jì)成本較低,具有較高的實(shí)用價(jià)值?,F(xiàn)已量產(chǎn)運(yùn)行穩(wěn)定,但智能程度可能不夠。
參考文獻(xiàn):
[1] 丁向榮.STC系列增強(qiáng)型8051單片機(jī)原理與應(yīng)用[M].北京:電子工業(yè)出版社,2011.
[2] 李群芳.單片微型計(jì)算機(jī)與接口技術(shù)[M].北京:電子工業(yè)出版社,2005.
[3] 閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].5版.北京:高等教育出版社,2006.endprint
摘要:該文介紹了一種以STC89C54RD+單片機(jī)模塊為核心的投珠機(jī)的設(shè)計(jì),該投珠機(jī)在檢測(cè)到投幣或投珠之后開(kāi)始工作,通過(guò)按下中間的停止按鍵停止,停止的位置的數(shù)值即為中獎(jiǎng)的倍數(shù)。可以通過(guò)后面的開(kāi)關(guān)控制投珠機(jī)的模式,在設(shè)置模式中可以對(duì)相關(guān)參數(shù)進(jìn)行修改,操作過(guò)程中有語(yǔ)音播報(bào)功能。該文闡述了各模塊的設(shè)計(jì)過(guò)程,最后對(duì)設(shè)備進(jìn)行了綜合調(diào)試。
關(guān)鍵詞:STC89C54;投珠機(jī);語(yǔ)音播報(bào)
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)32-7758-03
1 概述
隨著各種電子設(shè)備的發(fā)展,游戲機(jī)在娛樂(lè)行業(yè)得到了很大程度的發(fā)展,現(xiàn)已開(kāi)發(fā)出針對(duì)各種年齡階段人群的游戲機(jī)。該文重點(diǎn)闡述了一款基于STC8954RD單片機(jī)平臺(tái)的投珠機(jī)的設(shè)計(jì)。該投珠機(jī)現(xiàn)已在各大超市或娛樂(lè)場(chǎng)所穩(wěn)定運(yùn)行,該投珠機(jī)通過(guò)投幣器投入硬幣,對(duì)應(yīng)出來(lái)相應(yīng)數(shù)量的珠子,在固定的投珠孔投入珠子即可開(kāi)始游戲。該設(shè)備具備斷電保護(hù)功能和相關(guān)數(shù)據(jù)的累計(jì)功能,可以在輸入密碼情況下隨時(shí)查詢(xún)當(dāng)前累計(jì)的錢(qián)數(shù),并帶有語(yǔ)音播報(bào)功能。
2 概述
投珠機(jī)電路板右下角有 3個(gè)黑色的小按鈕,分別是機(jī)器的“設(shè)置”鍵、“+”、“-”,可查看并播報(bào)投幣金額,及修改各項(xiàng)游戲參數(shù)。只有在無(wú)人游戲狀態(tài)下,打開(kāi)機(jī)器才可以修改相關(guān)設(shè)置。 如單獨(dú)按“+”鍵、“-”鍵可設(shè)置音樂(lè)聲音大小。每按一次設(shè)置鍵,均有相應(yīng)語(yǔ)音提示,此時(shí)按“-”鍵、“+”鍵可更改參數(shù),并且2秒鐘后會(huì)自動(dòng)保存并退出設(shè)置狀態(tài)。可設(shè)置游戲模式,模式分為2種:普通模式與智能模式。普通模式是只要向機(jī)器投珠,即有反應(yīng);而智能模式是只有先投幣后,投珠才有反應(yīng);并且中獎(jiǎng)后機(jī)器出珠的數(shù)量,是機(jī)器接受珠子的數(shù)量,超出機(jī)器出珠數(shù)量,投珠將沒(méi)有反應(yīng)。這樣可有效避免市場(chǎng)上其他珠子放入機(jī)器游戲。此時(shí)按“+”“-”鍵可更改參數(shù)。(0代表普通模式,1代表智能模式)。當(dāng)機(jī)器出現(xiàn)故障不能正常運(yùn)轉(zhuǎn)時(shí),機(jī)器會(huì)發(fā)出報(bào)警,并會(huì)給出語(yǔ)音提示,只要按照語(yǔ)音提示操作即可排除故障。
3 系統(tǒng)結(jié)構(gòu)
5.2 顯示燈程序設(shè)計(jì)
投珠機(jī)顯示小燈共16個(gè),都是共陽(yáng)極接法,通過(guò)單片機(jī)驅(qū)動(dòng)LN2003驅(qū)動(dòng),按鍵檢測(cè)在檢測(cè)到玩家投珠后,進(jìn)入游戲狀態(tài),采用的是單個(gè)小燈循環(huán)跑的形式,每個(gè)小燈對(duì)應(yīng)不同的中獎(jiǎng)率,分別為5倍,4倍,3倍,2倍,1倍和0倍,按下中間的停止按鍵,小燈立即停止,如果落在3倍上,那么就是中獎(jiǎng)三倍,投入珠子的數(shù)量乘以3即為玩家獲得的珠子。通過(guò)調(diào)節(jié)不同小燈的延時(shí)時(shí)間來(lái)確定中獎(jiǎng)率,也就是把0倍的時(shí)間稍微調(diào)的長(zhǎng)一點(diǎn),而倍數(shù)時(shí)間比較短,這樣中獎(jiǎng)的幾率就是可控的,因?yàn)殚g隔的時(shí)間較短,玩家一般看不出來(lái)。如果玩家長(zhǎng)時(shí)間沒(méi)有按停止按鍵,那么在小燈轉(zhuǎn)了一定的時(shí)間自動(dòng)停止,停止的時(shí)間是要求三圈以上加上一個(gè)隨機(jī)時(shí)間。顯示燈在空閑模式還有小燈整體循環(huán)跑的程序和整體閃爍的功能。同時(shí)要求在小燈控制的同時(shí)配套音樂(lè)播放。
5.3 數(shù)碼管顯示程序
數(shù)碼管顯示部分由單片機(jī)控制三片74HC595D來(lái)控制三個(gè)數(shù)碼管數(shù)碼管之間輸入輸出串聯(lián)起來(lái),各個(gè)數(shù)碼管之間有進(jìn)位,實(shí)際上只使用兩個(gè)還有一個(gè)數(shù)碼管預(yù)留,利用單片機(jī)控制74HC595D的第11、 12腳接口來(lái)傳遞數(shù)據(jù)。在數(shù)碼管顯示子程序里面要做好提取數(shù)據(jù)的千位、百位、十位、個(gè)位,如果要顯示一個(gè)4位數(shù),或者三位數(shù),那么由兩個(gè)數(shù)碼管分兩次顯示交替實(shí)現(xiàn),先顯示千位和百位,再顯示十位和個(gè)位,中間閃爍間隔,來(lái)回顯示三次。
5.4 EEPROM存儲(chǔ)
在游戲過(guò)程中有可能會(huì)發(fā)生斷電的情況,那么要求玩家斷電前投幣的狀態(tài)和投珠的狀態(tài)藥能夠保持,本系統(tǒng)采用了將玩家投幣數(shù)和投珠數(shù)以及中獎(jiǎng)數(shù)以及已出珠數(shù)四個(gè)變量在發(fā)生改變時(shí)存儲(chǔ)在EEPROM中,防止掉電丟失。在主程序開(kāi)始之前初始化階段都要求讀取這四個(gè)變量。
游戲機(jī)機(jī)主可能要查詢(xún)機(jī)器的中獎(jiǎng)率或者總的投幣數(shù),在開(kāi)機(jī)狀態(tài)下,連擊六下停止鍵,進(jìn)入查詢(xún)程序,然后輸入相應(yīng)的項(xiàng)目可以通過(guò)讀取EEPROM來(lái)獲得這兩個(gè)數(shù)值,同樣在這兩個(gè)變量發(fā)生改變的時(shí)候,也需要及時(shí)的寫(xiě)入EEPROM中。
5.5 中斷服務(wù)程序
本系統(tǒng)要求游戲機(jī)不管處于什么模式,一旦有投幣或者投珠的情況,要立即切換到游戲模式中,所以在投幣與投珠的兩個(gè)檢測(cè)上采用的外中斷的形式,投幣采用的外中斷0,投珠采用的是外中斷2實(shí)現(xiàn)的,觸發(fā)中斷之后除了立即響應(yīng)外,還需要修改EEPROM內(nèi)部的數(shù)據(jù)。由于系統(tǒng)軟件涉及到時(shí)間要求,本系統(tǒng)采用了定時(shí)器0來(lái)及時(shí)計(jì)時(shí)。
6 結(jié)束語(yǔ)
本投珠機(jī)在單片機(jī)控制的基礎(chǔ)上,采用了微動(dòng)開(kāi)關(guān)檢測(cè)投珠與落珠,利用中斷進(jìn)入游戲程序,并在開(kāi)始游戲程序之前設(shè)置了設(shè)定模式。在調(diào)試的過(guò)程中,發(fā)現(xiàn)喇叭有雜音,經(jīng)檢查發(fā)現(xiàn)功放部分PCB走線從芯片底下直接穿過(guò)的,有電磁干擾,改進(jìn)PCB解決問(wèn)題;在批量生產(chǎn)之前廠商提出部分貼片元件0603封裝的,操作工人在量產(chǎn)的過(guò)程中有難度,加長(zhǎng)了工時(shí),換用0805的封裝解決問(wèn)題;第一批生產(chǎn)了一百臺(tái)機(jī)器,發(fā)現(xiàn)有部分機(jī)器吐珠不正確的情況,經(jīng)過(guò)檢查發(fā)現(xiàn)時(shí)程序不夠優(yōu)化響應(yīng)不夠及時(shí)導(dǎo)致的,經(jīng)修改解決問(wèn)題。
該游戲機(jī)的設(shè)計(jì)成本較低,具有較高的實(shí)用價(jià)值。現(xiàn)已量產(chǎn)運(yùn)行穩(wěn)定,但智能程度可能不夠。
參考文獻(xiàn):
[1] 丁向榮.STC系列增強(qiáng)型8051單片機(jī)原理與應(yīng)用[M].北京:電子工業(yè)出版社,2011.
[2] 李群芳.單片微型計(jì)算機(jī)與接口技術(shù)[M].北京:電子工業(yè)出版社,2005.
[3] 閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].5版.北京:高等教育出版社,2006.endprint
摘要:該文介紹了一種以STC89C54RD+單片機(jī)模塊為核心的投珠機(jī)的設(shè)計(jì),該投珠機(jī)在檢測(cè)到投幣或投珠之后開(kāi)始工作,通過(guò)按下中間的停止按鍵停止,停止的位置的數(shù)值即為中獎(jiǎng)的倍數(shù)??梢酝ㄟ^(guò)后面的開(kāi)關(guān)控制投珠機(jī)的模式,在設(shè)置模式中可以對(duì)相關(guān)參數(shù)進(jìn)行修改,操作過(guò)程中有語(yǔ)音播報(bào)功能。該文闡述了各模塊的設(shè)計(jì)過(guò)程,最后對(duì)設(shè)備進(jìn)行了綜合調(diào)試。
關(guān)鍵詞:STC89C54;投珠機(jī);語(yǔ)音播報(bào)
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)32-7758-03
1 概述
隨著各種電子設(shè)備的發(fā)展,游戲機(jī)在娛樂(lè)行業(yè)得到了很大程度的發(fā)展,現(xiàn)已開(kāi)發(fā)出針對(duì)各種年齡階段人群的游戲機(jī)。該文重點(diǎn)闡述了一款基于STC8954RD單片機(jī)平臺(tái)的投珠機(jī)的設(shè)計(jì)。該投珠機(jī)現(xiàn)已在各大超市或娛樂(lè)場(chǎng)所穩(wěn)定運(yùn)行,該投珠機(jī)通過(guò)投幣器投入硬幣,對(duì)應(yīng)出來(lái)相應(yīng)數(shù)量的珠子,在固定的投珠孔投入珠子即可開(kāi)始游戲。該設(shè)備具備斷電保護(hù)功能和相關(guān)數(shù)據(jù)的累計(jì)功能,可以在輸入密碼情況下隨時(shí)查詢(xún)當(dāng)前累計(jì)的錢(qián)數(shù),并帶有語(yǔ)音播報(bào)功能。
2 概述
投珠機(jī)電路板右下角有 3個(gè)黑色的小按鈕,分別是機(jī)器的“設(shè)置”鍵、“+”、“-”,可查看并播報(bào)投幣金額,及修改各項(xiàng)游戲參數(shù)。只有在無(wú)人游戲狀態(tài)下,打開(kāi)機(jī)器才可以修改相關(guān)設(shè)置。 如單獨(dú)按“+”鍵、“-”鍵可設(shè)置音樂(lè)聲音大小。每按一次設(shè)置鍵,均有相應(yīng)語(yǔ)音提示,此時(shí)按“-”鍵、“+”鍵可更改參數(shù),并且2秒鐘后會(huì)自動(dòng)保存并退出設(shè)置狀態(tài)??稍O(shè)置游戲模式,模式分為2種:普通模式與智能模式。普通模式是只要向機(jī)器投珠,即有反應(yīng);而智能模式是只有先投幣后,投珠才有反應(yīng);并且中獎(jiǎng)后機(jī)器出珠的數(shù)量,是機(jī)器接受珠子的數(shù)量,超出機(jī)器出珠數(shù)量,投珠將沒(méi)有反應(yīng)。這樣可有效避免市場(chǎng)上其他珠子放入機(jī)器游戲。此時(shí)按“+”“-”鍵可更改參數(shù)。(0代表普通模式,1代表智能模式)。當(dāng)機(jī)器出現(xiàn)故障不能正常運(yùn)轉(zhuǎn)時(shí),機(jī)器會(huì)發(fā)出報(bào)警,并會(huì)給出語(yǔ)音提示,只要按照語(yǔ)音提示操作即可排除故障。
3 系統(tǒng)結(jié)構(gòu)
5.2 顯示燈程序設(shè)計(jì)
投珠機(jī)顯示小燈共16個(gè),都是共陽(yáng)極接法,通過(guò)單片機(jī)驅(qū)動(dòng)LN2003驅(qū)動(dòng),按鍵檢測(cè)在檢測(cè)到玩家投珠后,進(jìn)入游戲狀態(tài),采用的是單個(gè)小燈循環(huán)跑的形式,每個(gè)小燈對(duì)應(yīng)不同的中獎(jiǎng)率,分別為5倍,4倍,3倍,2倍,1倍和0倍,按下中間的停止按鍵,小燈立即停止,如果落在3倍上,那么就是中獎(jiǎng)三倍,投入珠子的數(shù)量乘以3即為玩家獲得的珠子。通過(guò)調(diào)節(jié)不同小燈的延時(shí)時(shí)間來(lái)確定中獎(jiǎng)率,也就是把0倍的時(shí)間稍微調(diào)的長(zhǎng)一點(diǎn),而倍數(shù)時(shí)間比較短,這樣中獎(jiǎng)的幾率就是可控的,因?yàn)殚g隔的時(shí)間較短,玩家一般看不出來(lái)。如果玩家長(zhǎng)時(shí)間沒(méi)有按停止按鍵,那么在小燈轉(zhuǎn)了一定的時(shí)間自動(dòng)停止,停止的時(shí)間是要求三圈以上加上一個(gè)隨機(jī)時(shí)間。顯示燈在空閑模式還有小燈整體循環(huán)跑的程序和整體閃爍的功能。同時(shí)要求在小燈控制的同時(shí)配套音樂(lè)播放。
5.3 數(shù)碼管顯示程序
數(shù)碼管顯示部分由單片機(jī)控制三片74HC595D來(lái)控制三個(gè)數(shù)碼管數(shù)碼管之間輸入輸出串聯(lián)起來(lái),各個(gè)數(shù)碼管之間有進(jìn)位,實(shí)際上只使用兩個(gè)還有一個(gè)數(shù)碼管預(yù)留,利用單片機(jī)控制74HC595D的第11、 12腳接口來(lái)傳遞數(shù)據(jù)。在數(shù)碼管顯示子程序里面要做好提取數(shù)據(jù)的千位、百位、十位、個(gè)位,如果要顯示一個(gè)4位數(shù),或者三位數(shù),那么由兩個(gè)數(shù)碼管分兩次顯示交替實(shí)現(xiàn),先顯示千位和百位,再顯示十位和個(gè)位,中間閃爍間隔,來(lái)回顯示三次。
5.4 EEPROM存儲(chǔ)
在游戲過(guò)程中有可能會(huì)發(fā)生斷電的情況,那么要求玩家斷電前投幣的狀態(tài)和投珠的狀態(tài)藥能夠保持,本系統(tǒng)采用了將玩家投幣數(shù)和投珠數(shù)以及中獎(jiǎng)數(shù)以及已出珠數(shù)四個(gè)變量在發(fā)生改變時(shí)存儲(chǔ)在EEPROM中,防止掉電丟失。在主程序開(kāi)始之前初始化階段都要求讀取這四個(gè)變量。
游戲機(jī)機(jī)主可能要查詢(xún)機(jī)器的中獎(jiǎng)率或者總的投幣數(shù),在開(kāi)機(jī)狀態(tài)下,連擊六下停止鍵,進(jìn)入查詢(xún)程序,然后輸入相應(yīng)的項(xiàng)目可以通過(guò)讀取EEPROM來(lái)獲得這兩個(gè)數(shù)值,同樣在這兩個(gè)變量發(fā)生改變的時(shí)候,也需要及時(shí)的寫(xiě)入EEPROM中。
5.5 中斷服務(wù)程序
本系統(tǒng)要求游戲機(jī)不管處于什么模式,一旦有投幣或者投珠的情況,要立即切換到游戲模式中,所以在投幣與投珠的兩個(gè)檢測(cè)上采用的外中斷的形式,投幣采用的外中斷0,投珠采用的是外中斷2實(shí)現(xiàn)的,觸發(fā)中斷之后除了立即響應(yīng)外,還需要修改EEPROM內(nèi)部的數(shù)據(jù)。由于系統(tǒng)軟件涉及到時(shí)間要求,本系統(tǒng)采用了定時(shí)器0來(lái)及時(shí)計(jì)時(shí)。
6 結(jié)束語(yǔ)
本投珠機(jī)在單片機(jī)控制的基礎(chǔ)上,采用了微動(dòng)開(kāi)關(guān)檢測(cè)投珠與落珠,利用中斷進(jìn)入游戲程序,并在開(kāi)始游戲程序之前設(shè)置了設(shè)定模式。在調(diào)試的過(guò)程中,發(fā)現(xiàn)喇叭有雜音,經(jīng)檢查發(fā)現(xiàn)功放部分PCB走線從芯片底下直接穿過(guò)的,有電磁干擾,改進(jìn)PCB解決問(wèn)題;在批量生產(chǎn)之前廠商提出部分貼片元件0603封裝的,操作工人在量產(chǎn)的過(guò)程中有難度,加長(zhǎng)了工時(shí),換用0805的封裝解決問(wèn)題;第一批生產(chǎn)了一百臺(tái)機(jī)器,發(fā)現(xiàn)有部分機(jī)器吐珠不正確的情況,經(jīng)過(guò)檢查發(fā)現(xiàn)時(shí)程序不夠優(yōu)化響應(yīng)不夠及時(shí)導(dǎo)致的,經(jīng)修改解決問(wèn)題。
該游戲機(jī)的設(shè)計(jì)成本較低,具有較高的實(shí)用價(jià)值?,F(xiàn)已量產(chǎn)運(yùn)行穩(wěn)定,但智能程度可能不夠。
參考文獻(xiàn):
[1] 丁向榮.STC系列增強(qiáng)型8051單片機(jī)原理與應(yīng)用[M].北京:電子工業(yè)出版社,2011.
[2] 李群芳.單片微型計(jì)算機(jī)與接口技術(shù)[M].北京:電子工業(yè)出版社,2005.
[3] 閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].5版.北京:高等教育出版社,2006.endprint