孫軍輝
德州職業技術學院 山東德州 253034
基于單片機應用的多路無線搶答器的設計
孫軍輝
德州職業技術學院 山東德州 253034
鑒于傳統電路設計的搶答器電路復雜、成本高、穩定性差等缺點設計基于單片機應用的無線搶答器,采用了硬件和軟件相結合的設計思想,應用程序設計提升了搶答器的性能,無線模塊由三極管控制,使其動作迅速、運行可靠。基于單片機的無線搶答器克服了傳統搶答器的不足,又能較好實現其功能。
單片機;無線搶答;硬件電路;系統程序
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
單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統、家用電器等“智能型”工業產品。在知識競賽搶答中,簡單電路設計的搶答器,只靠人的能力很難判斷出哪一組先搶答,且故障率高、體積大應用不方便。利用單片機編程設計搶答器,能輕松地分辨出搶答的次序,且具有體積小、故障率低的優點。
1.1 單片機的選擇
單片機選用的是STC89C52,它是一種低功效、高性能CMOS8位微控制器,具有8k在系統可編程Flash存儲器。
1.2 無線搶答器的設計思路
采用STC89C52單片機作為整個控制核心。控制系統的4個模塊為:顯示模塊、控制模塊、聲音模塊、無線搶答模塊。按鍵通過開關電路輸入各路的搶答信號,經單片機處理, 輸出控制信號,在數碼管上顯示答題組,從而實現整個搶答過程。
1.3 無線搶答器的設計
模塊部分主要分為STC89C52芯片、獨立式鍵盤、LED數碼管顯示、無線接收以及信號的放大部分。
(1)獨立式鍵盤:利用8個常開按鈕開關和無線模塊組成搶答器的輸入電路。S1~S8為自復式常開按鈕開關,分別作為8位搶答按鈕,鎖存器的輸入端為低電平。
(2)LED數碼管顯示:譯碼器的邏輯功能是將每一個輸入的二進制代碼譯成對應的輸出高、低電平信號。數碼管可以用TTL或CMOS集成電路直接驅動。
(3)無線接收以及信號的放大:單片機將很多任務交給了軟件程序去實現,大大簡化了外圍硬件電路,使外圍電路的實現簡單方便。由于單片機本身不具有軟件編譯測試的功能,需要借助其他軟件編譯,將編譯好的程序“燒”入單片機內。
(1)總體設計:單片機最小系統、顯示放大電路、無線接收及改進模塊、聲光報警、按鍵控制。
(2)外部振蕩電路:一般選用石英晶體振蕩器。此電路在加電延遲10 ms后起振振蕩器,其振蕩頻率由石英晶振的頻率決定。
(3)復位電路的設計:單片機的第9腳RST為硬件復位端,只要將該端持續2個機器周期的高電平即可實現復位,復位后單片機的各狀態都恢復到初始狀態,可使用硬件復位和軟件復位兩種方式。
開關組成了搶答按鍵,在程序中要消除按鍵過程中產生的“毛刺”現象,采取最常用的方法,即延時法,只要按鍵的時間大于“毛刺”脈沖持續時間(約為幾毫秒)即可消除“毛刺”。
3.1 搶答器設計流程圖
流程圖中文本框表示各種操作的類型(如圖1~圖3所示),文本框中的文字和符號表示操作的內容,流程線表示操作的先后次序。流程圖的基本結構為順序結構,分支結構(又稱選擇結構),循環結構。

圖1 搶答器主程序流程圖

圖2 搶答器定時器中斷流程圖

圖3 中斷程序圖
3.2 主程序
搶答器采用C程序設計,C語言的顯著特點是用二進制來編寫程序,程序的各個部分除了必要的信息交流外彼此之間相互獨立。這種結構化方式可使程序層次清晰,便于使用、維護以及調試。C語言是以函數形式提供給用戶,這些函數可方便調用,并具有多種循環、條件語句控制程序流向,從而使程序完全結構化。設計的主程序中包括時鐘設計程序、定時器中斷子程序、LED顯示程序以及按鍵控制子程序。
3.3 中斷
中斷是指由于某種隨機事件的發生,計算機暫停現行程序的運行,轉去執行另一個程序,以處理發生的事件,處理完畢后又自動返回原來的程序繼續運行。
有5種中斷源:外部中斷0、外部中斷1、定時器中斷0、定時器中斷1、串行中斷。對它們的描述見表1。

表1 5種中斷源的表示
3.3.1 中斷所用到的寄存器
(1)定時器/計數器控制寄存器TCON:TCON的作用是控制定時器的啟動與停止,標志定時器的溢出和中斷情況。
(2)中斷允許控制寄存器IE:對中斷源的開放或屏蔽是由中斷寄存器IE控制的,地址為0A8H,既可以按字節尋址,也可以按位尋址。當單片機復位時,IE被清零。
(3)串行控制寄存器SCON:定時/計數器的控制方法,在啟動定時/計數器工作之前,CPU必須將一些命令(稱為控制字)寫入定時/計數器中,這個過程稱為定時/計數的初始化。定時/計數器的初始化通過定時/計數器的方式,由寄存器TMOD和控制寄存器TCON來完成。
①定時/計數器方式寄存器TMOD(見表2)。

表2 選擇定時方式表
②中斷程序的編寫步驟:根據要求設置IE(中斷允許寄存器)的對應位EA(EA—總中斷允許位:EA=1,開放所有的中斷;EA=0,禁止所有的中斷),某個中斷源還有相應的中斷允許位。
(4)INT0,INT1設定觸發方式IT0(外部中斷觸發方式控制位)當其為0時:低電平觸發;當其為1時:下降沿觸發。
(5)返回值是Void中斷函數名(interrupt)。
3.3.2 為什么采用中斷控制方式:CPU與外部設備的數據傳送方式
(1)無條件傳送方式:CPU總認為外設處于準備好的狀態,外設比較簡單。
(2)程序查詢傳送方式:外設有一個狀態(狀態存儲在寄存器內)。
缺點:CPU工作效率低,CPU處于等待的狀態,為解決此缺點便出現了第三種傳送方式。
(3)中斷傳送方式:中斷是指由于某種隨機事件的發生,計算機暫停現行的程序,轉去執行另一程序以處理發生的事件,處理完畢后又自動返回原來的程序繼續運行。
優點:
①實現分時操作:CPU分為多個I/O設備服務,提高計算機的利用率(提前安排好的函數而中斷不同)。
②實時響應:CPU能夠及時處理應用系統的隨機事件,系統的實時性大大增強。
③可靠性高:CPU具有處理設備故障及斷電等突發性事件的能力,從而提高系統的可靠性。
(4)定時器的初始化:
①確定工作方式—對TMOD賦值;
②設置初始值—直接將初值寫入THO,TLO;
③開啟定時器的中斷—{ETO=1 EA=1};
④啟動定時器—將TR0或TRI置“1”。
[1] 李光飛.單片機課程設計實例指導[M].北京:北京航空航天大學出版社,2004.
[2] 張文灼.單片機應用技術[M].北京:機械工業出版社,2009.
[3] 胡偉.單片機C程序設計及應用實例[M].北京:人民郵電出版社,2003.
[4] 馮育長.單片機系統設計與實例指導[M].西安:西安電子科技大學出版社,2007.
[5] 郭培源.電子電路及電子器件[M].北京:高等教育出版社,2003.
[6] 楊志忠.數字電子技術[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
孫軍輝,本科,副教授,系副主任。