孫軍輝
德州職業(yè)技術(shù)學(xué)院 山東德州 253034
基于單片機(jī)應(yīng)用的多路無線搶答器的設(shè)計(jì)
孫軍輝
德州職業(yè)技術(shù)學(xué)院 山東德州 253034
鑒于傳統(tǒng)電路設(shè)計(jì)的搶答器電路復(fù)雜、成本高、穩(wěn)定性差等缺點(diǎn)設(shè)計(jì)基于單片機(jī)應(yīng)用的無線搶答器,采用了硬件和軟件相結(jié)合的設(shè)計(jì)思想,應(yīng)用程序設(shè)計(jì)提升了搶答器的性能,無線模塊由三極管控制,使其動(dòng)作迅速、運(yùn)行可靠?;趩纹瑱C(jī)的無線搶答器克服了傳統(tǒng)搶答器的不足,又能較好實(shí)現(xiàn)其功能。
單片機(jī);無線搶答;硬件電路;系統(tǒng)程序
Abstract: Because of complex circuit, high cost, poor stability of responder that was designed by traditional circuit, the wireless responder is designed by single chip microcomputer, uses design concept of the combination of hardware and software, promotes the performance of responder which uses program design. Wireless module that is controlled by triodes acts quickly and operates reliably. Wireless responder which is designed by single chip microcomputer overcomes the inadequacy of traditional responder and is better able to realize its function.
Key words: single chip microcomputer; wireless responder; hardware circuit; system program
單片機(jī)的使用領(lǐng)域已十分廣泛,如智能儀表、實(shí)時(shí)工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等“智能型”工業(yè)產(chǎn)品。在知識(shí)競(jìng)賽搶答中,簡(jiǎn)單電路設(shè)計(jì)的搶答器,只靠人的能力很難判斷出哪一組先搶答,且故障率高、體積大應(yīng)用不方便。利用單片機(jī)編程設(shè)計(jì)搶答器,能輕松地分辨出搶答的次序,且具有體積小、故障率低的優(yōu)點(diǎn)。
1.1 單片機(jī)的選擇
單片機(jī)選用的是STC89C52,它是一種低功效、高性能CMOS8位微控制器,具有8k在系統(tǒng)可編程Flash存儲(chǔ)器。
1.2 無線搶答器的設(shè)計(jì)思路
采用STC89C52單片機(jī)作為整個(gè)控制核心??刂葡到y(tǒng)的4個(gè)模塊為:顯示模塊、控制模塊、聲音模塊、無線搶答模塊。按鍵通過開關(guān)電路輸入各路的搶答信號(hào),經(jīng)單片機(jī)處理, 輸出控制信號(hào),在數(shù)碼管上顯示答題組,從而實(shí)現(xiàn)整個(gè)搶答過程。
1.3 無線搶答器的設(shè)計(jì)
模塊部分主要分為STC89C52芯片、獨(dú)立式鍵盤、LED數(shù)碼管顯示、無線接收以及信號(hào)的放大部分。
(1)獨(dú)立式鍵盤:利用8個(gè)常開按鈕開關(guān)和無線模塊組成搶答器的輸入電路。S1~S8為自復(fù)式常開按鈕開關(guān),分別作為8位搶答按鈕,鎖存器的輸入端為低電平。
(2)LED數(shù)碼管顯示:譯碼器的邏輯功能是將每一個(gè)輸入的二進(jìn)制代碼譯成對(duì)應(yīng)的輸出高、低電平信號(hào)。數(shù)碼管可以用TTL或CMOS集成電路直接驅(qū)動(dòng)。
(3)無線接收以及信號(hào)的放大:?jiǎn)纹瑱C(jī)將很多任務(wù)交給了軟件程序去實(shí)現(xiàn),大大簡(jiǎn)化了外圍硬件電路,使外圍電路的實(shí)現(xiàn)簡(jiǎn)單方便。由于單片機(jī)本身不具有軟件編譯測(cè)試的功能,需要借助其他軟件編譯,將編譯好的程序“燒”入單片機(jī)內(nèi)。
(1)總體設(shè)計(jì):?jiǎn)纹瑱C(jī)最小系統(tǒng)、顯示放大電路、無線接收及改進(jìn)模塊、聲光報(bào)警、按鍵控制。
(2)外部振蕩電路:一般選用石英晶體振蕩器。此電路在加電延遲10 ms后起振振蕩器,其振蕩頻率由石英晶振的頻率決定。
(3)復(fù)位電路的設(shè)計(jì):?jiǎn)纹瑱C(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)2個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始狀態(tài),可使用硬件復(fù)位和軟件復(fù)位兩種方式。
開關(guān)組成了搶答按鍵,在程序中要消除按鍵過程中產(chǎn)生的“毛刺”現(xiàn)象,采取最常用的方法,即延時(shí)法,只要按鍵的時(shí)間大于“毛刺”脈沖持續(xù)時(shí)間(約為幾毫秒)即可消除“毛刺”。
3.1 搶答器設(shè)計(jì)流程圖
流程圖中文本框表示各種操作的類型(如圖1~圖3所示),文本框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。流程圖的基本結(jié)構(gòu)為順序結(jié)構(gòu),分支結(jié)構(gòu)(又稱選擇結(jié)構(gòu)),循環(huán)結(jié)構(gòu)。
圖1 搶答器主程序流程圖
圖2 搶答器定時(shí)器中斷流程圖
圖3 中斷程序圖
3.2 主程序
搶答器采用C程序設(shè)計(jì),C語(yǔ)言的顯著特點(diǎn)是用二進(jìn)制來編寫程序,程序的各個(gè)部分除了必要的信息交流外彼此之間相互獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護(hù)以及調(diào)試。C語(yǔ)言是以函數(shù)形式提供給用戶,這些函數(shù)可方便調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。設(shè)計(jì)的主程序中包括時(shí)鐘設(shè)計(jì)程序、定時(shí)器中斷子程序、LED顯示程序以及按鍵控制子程序。
3.3 中斷
中斷是指由于某種隨機(jī)事件的發(fā)生,計(jì)算機(jī)暫?,F(xiàn)行程序的運(yùn)行,轉(zhuǎn)去執(zhí)行另一個(gè)程序,以處理發(fā)生的事件,處理完畢后又自動(dòng)返回原來的程序繼續(xù)運(yùn)行。
有5種中斷源:外部中斷0、外部中斷1、定時(shí)器中斷0、定時(shí)器中斷1、串行中斷。對(duì)它們的描述見表1。
表1 5種中斷源的表示
3.3.1 中斷所用到的寄存器
(1)定時(shí)器/計(jì)數(shù)器控制寄存器TCON:TCON的作用是控制定時(shí)器的啟動(dòng)與停止,標(biāo)志定時(shí)器的溢出和中斷情況。
(2)中斷允許控制寄存器IE:對(duì)中斷源的開放或屏蔽是由中斷寄存器IE控制的,地址為0A8H,既可以按字節(jié)尋址,也可以按位尋址。當(dāng)單片機(jī)復(fù)位時(shí),IE被清零。
(3)串行控制寄存器SCON:定時(shí)/計(jì)數(shù)器的控制方法,在啟動(dòng)定時(shí)/計(jì)數(shù)器工作之前,CPU必須將一些命令(稱為控制字)寫入定時(shí)/計(jì)數(shù)器中,這個(gè)過程稱為定時(shí)/計(jì)數(shù)的初始化。定時(shí)/計(jì)數(shù)器的初始化通過定時(shí)/計(jì)數(shù)器的方式,由寄存器TMOD和控制寄存器TCON來完成。
①定時(shí)/計(jì)數(shù)器方式寄存器TMOD(見表2)。
表2 選擇定時(shí)方式表
②中斷程序的編寫步驟:根據(jù)要求設(shè)置IE(中斷允許寄存器)的對(duì)應(yīng)位EA(EA—總中斷允許位:EA=1,開放所有的中斷;EA=0,禁止所有的中斷),某個(gè)中斷源還有相應(yīng)的中斷允許位。
(4)INT0,INT1設(shè)定觸發(fā)方式IT0(外部中斷觸發(fā)方式控制位)當(dāng)其為0時(shí):低電平觸發(fā);當(dāng)其為1時(shí):下降沿觸發(fā)。
(5)返回值是Void中斷函數(shù)名(interrupt)。
3.3.2 為什么采用中斷控制方式:CPU與外部設(shè)備的數(shù)據(jù)傳送方式
(1)無條件傳送方式:CPU總認(rèn)為外設(shè)處于準(zhǔn)備好的狀態(tài),外設(shè)比較簡(jiǎn)單。
(2)程序查詢傳送方式:外設(shè)有一個(gè)狀態(tài)(狀態(tài)存儲(chǔ)在寄存器內(nèi))。
缺點(diǎn):CPU工作效率低,CPU處于等待的狀態(tài),為解決此缺點(diǎn)便出現(xiàn)了第三種傳送方式。
(3)中斷傳送方式:中斷是指由于某種隨機(jī)事件的發(fā)生,計(jì)算機(jī)暫停現(xiàn)行的程序,轉(zhuǎn)去執(zhí)行另一程序以處理發(fā)生的事件,處理完畢后又自動(dòng)返回原來的程序繼續(xù)運(yùn)行。
優(yōu)點(diǎn):
①實(shí)現(xiàn)分時(shí)操作:CPU分為多個(gè)I/O設(shè)備服務(wù),提高計(jì)算機(jī)的利用率(提前安排好的函數(shù)而中斷不同)。
②實(shí)時(shí)響應(yīng):CPU能夠及時(shí)處理應(yīng)用系統(tǒng)的隨機(jī)事件,系統(tǒng)的實(shí)時(shí)性大大增強(qiáng)。
③可靠性高:CPU具有處理設(shè)備故障及斷電等突發(fā)性事件的能力,從而提高系統(tǒng)的可靠性。
(4)定時(shí)器的初始化:
①確定工作方式—對(duì)TMOD賦值;
②設(shè)置初始值—直接將初值寫入THO,TLO;
③開啟定時(shí)器的中斷—{ETO=1 EA=1};
④啟動(dòng)定時(shí)器—將TR0或TRI置“1”。
[1] 李光飛.單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)[M].北京:北京航空航天大學(xué)出版社,2004.
[2] 張文灼.單片機(jī)應(yīng)用技術(shù)[M].北京:機(jī)械工業(yè)出版社,2009.
[3] 胡偉.單片機(jī)C程序設(shè)計(jì)及應(yīng)用實(shí)例[M].北京:人民郵電出版社,2003.
[4] 馮育長(zhǎng).單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)例指導(dǎo)[M].西安:西安電子科技大學(xué)出版社,2007.
[5] 郭培源.電子電路及電子器件[M].北京:高等教育出版社,2003.
[6] 楊志忠.數(shù)字電子技術(shù)[M].北京:高等教育出版社,2002.
Design of multi-channel wireless responder that is based on application of single chip microcomputer
Sun Junhui
Dezhou vocational and technical college, Dezhou, 253034, China
2012-02-27
孫軍輝,本科,副教授,系副主任。