張冉
摘 要:隨著各種競(jìng)賽和娛樂活動(dòng)的出現(xiàn),搶答器的應(yīng)用逐漸廣泛。為了保證競(jìng)賽的公平性和選手搶答的準(zhǔn)確性,需要一款工作性能穩(wěn)定,準(zhǔn)確性高的搶答器。本文利用STM32F103RCT6單片機(jī)設(shè)計(jì)了一種八路無線搶答器。以單片機(jī)主控,外設(shè)部分由輸入模塊,藍(lán)牙模塊,語(yǔ)音播報(bào)模塊以及LCD屏顯示模塊構(gòu)成。本設(shè)計(jì)分成了數(shù)據(jù)輸入,藍(lán)牙通信和顯示三個(gè)部分。手機(jī)虛擬鍵盤按鍵是本設(shè)計(jì)的輸入部分,主持人和選手通過手機(jī)虛擬鍵盤向單片機(jī)輸入數(shù)據(jù),數(shù)據(jù)通過藍(lán)牙傳入到單片機(jī),經(jīng)其內(nèi)部處理,在LCD屏以及LED上顯示,并通過語(yǔ)音播報(bào)。本設(shè)計(jì)通過Keil軟件進(jìn)行編程,利用實(shí)物調(diào)試,以軟硬件相結(jié)合的方式完成設(shè)計(jì)。經(jīng)實(shí)踐證明,此八路無線搶答器不僅設(shè)計(jì)簡(jiǎn)單,成本較低且工作穩(wěn)定,適應(yīng)性強(qiáng),具有一定的實(shí)用價(jià)值。
關(guān)鍵詞:STM32; 搶答器; 藍(lán)牙模塊
1系統(tǒng)硬件設(shè)計(jì)
本系統(tǒng)是由STM32,手機(jī)虛擬鍵盤,藍(lán)牙,LCD屏及語(yǔ)音五個(gè)模塊組成的,通過STM32主控實(shí)現(xiàn)了計(jì)時(shí),搶答,鎖存,顯示,語(yǔ)音播報(bào)等功能。系統(tǒng)結(jié)構(gòu)圖如圖1-1示:
2系統(tǒng)軟件設(shè)計(jì)
本課題軟件部分的所有程序都是通過C語(yǔ)言在Keil軟件上編程的。為了使程序內(nèi)容的邏輯清晰更容易被理解,我們對(duì)其進(jìn)行了模塊化設(shè)計(jì)。從搶答器的整個(gè)系統(tǒng)流程來看,可將其分為串口模塊,手機(jī)藍(lán)牙通信模塊,LCD屏顯示模塊,倒計(jì)時(shí)模塊以及搶答判斷模塊。
2.1串口模塊
本課題中一共用到了USart1和USart2兩個(gè)通信串口。USart1是用來連接藍(lán)牙模塊的,USart2則連接了語(yǔ)音模塊。通過對(duì)USart1和USart2中引腳的配置,完成相應(yīng)的數(shù)據(jù)傳輸功能。
2.2手機(jī)藍(lán)牙通信
課題中,手機(jī)與STM32之間的通信是通過ATK-HC05藍(lán)牙模塊實(shí)現(xiàn)的。藍(lán)牙自身并不能完成通信功能,只能延伸串口通信功能。在使用藍(lán)牙時(shí),上電后將KEY設(shè)置為VCC進(jìn)入AT指令模式,發(fā)送AT+ROLE=0指令將其設(shè)置為從機(jī)用手機(jī)搜索連接藍(lán)牙。[10-12]再發(fā)送AT+UART<115200><0><0>將其設(shè)置其參數(shù),與串口1匹配。
2.3LCD屏顯示
TFT-LCD屏是本課中主要的顯示模塊,系統(tǒng)的狀態(tài),計(jì)時(shí),和搶答結(jié)果都是由它來顯示的。在使用TFT_LCD時(shí),首先要對(duì)LCD進(jìn)行初始化。LCD常用初始化函數(shù)有:
繪制字符函數(shù):void Draw_table(u16 width,u16 height,u16 xadd,u16 yadd,const u8 *table,u16 color);
清除固定區(qū)域顯示函數(shù):void clearArea(u16 width,u16 height,u16 xadd,u16 yadd,u16 color);
2.4搶答數(shù)據(jù)處理
在選手搶答時(shí),需要鎖定搶答成功的選手號(hào)。因此在串口數(shù)據(jù)處理函數(shù)void UsartDeal(void)中定義了一個(gè)鎖定標(biāo)志位(lock=0時(shí)解鎖,lock=1時(shí)鎖定),當(dāng)進(jìn)入搶答環(huán)節(jié)時(shí)(sysState==2)進(jìn)行鎖定,只允許一位選手搶答成功。流程圖如下:
3實(shí)驗(yàn)結(jié)果
下圖為連接完成的實(shí)物圖,通過實(shí)物檢測(cè),驗(yàn)證了本次設(shè)計(jì)的無線搶答器實(shí)現(xiàn)了基本的搶答功能,完成了實(shí)驗(yàn)的初衷。
參考文獻(xiàn)
[1] 何勉.基于AT89S52單片機(jī)控制的八路搶答器的設(shè)計(jì)與仿真[J].電子技術(shù)與軟件工程,2019,(04):232-233.