王東


摘 要 智能搶答器現在更多的被使用于智力以及知識競賽的場合。使用智能搶答器,一方面可以分辨出是幾號選手獲得了最先發言的權利,另一方面還可以顯示出選手按搶答按鈕的時間。實現智能搶答器的電路有很多種方法,從一開始的數字電路慢慢的變為了單片機、電腦以及PLC等,功能和價格也有著很大的不同。這次設計的方案是通過單片機來實現的,它可以在限定的時間之內搶答,同時還可以顯示出搶答結果。這次的設計是通過單片機以及鎖存器,再加上單片機的外部接口來做成的系統。在軟件方面,通過使用定時器與計數原理,使得其內部的硬件以及軟件相互聯系起來,由于其兩者的相互結合,該設計便可以達到預期的效果,除此之外它還可以把使用的計時數字顯示在數碼管上面。它具有硬件結構簡單、操作方便、實用性強和反應快等優點。
關鍵詞 搶答器 AT89C51鎖存器 數碼管
中圖分類號:TP18 文獻標識碼:A 文章編號:1007-0745(2020)04-0007-04
1 緒論
1.1 搶答器的發展
21世紀的到來,科技正高速的發展著,電子技術也在突飛猛進地更新著,在我們日常生活中的各個地方,電子產品似乎一直就沒有離開過我們的視線,在它的帶動之下,大多數的產業發展都有了非常大的提升。因為電子產品的發展,社會的信息程度也得到了更多的提升,與此同時,相比之前我們的思維和生活的狀態也有著非常大的改變。在這種科技高速發展的時代,產生了許多產物,課本中所涉及的單片機就是其中之一。與傳統的器件相比較,他具有高密度、非易失性存儲的技術,且功能強大、性價比高,因此適用于很多場合。
搶答器本身作為一個新型的電子產品,在許多游戲、智力活動以及競賽中廣泛使用,他可以直觀、準確、公正地辨別出哪位選手第一時間搶答。在日常生活中,搶答器可以由很多種方式實現,一般有電子器件、PLC以及本文的單片機,但這幾種方案相比之下,使用電子器件的話,需要消耗大量的元器件才能夠實現搶答功能,而且隨著功能需求的增多,氣墊路也在逐漸變得復雜,因此它的難度偏大,而且容易出現故障;另一種用PLC來制作搶答器的話,雖然其結構相比較為簡潔、程序也不復雜,但是,PLC的價格比較昂貴,因此作為一個搶答器不是很適合使用PLC;然而使用單片機的話,就不用考慮之前兩者的種種問題,單片機需要的器件比較少,編程以及結構都相對于比較簡單,而且價格也比較低,因此作為制作搶答器,使用單片機比較適合。在本文中,AT89C51單片機為核心,完成八路搶答智能化設計,對應誰按下了搶答鍵,在同一時間,數碼管顯示,同時也是第一個玩家的最終判決,各自的信號處理具有有限的時間和蜂鳴器報警功能,具有極高的可靠性和可用性[1]。
1.2 搶答器的原理與特點
該設計通過使用定時器與計數原理,使得其內部的硬件以及軟件相互聯系起來,由于其兩者的相互結合,這讓該系統可以順利的開始計時功能得到了實現,除此之外他還可以把使用的計時顯示在數碼管上面,然后借用開關按鍵來作為鍵盤的輸出信號,然后蜂鳴器發聲提示。同時我的設計還能夠控制在管理人員沒有示意可以作答并按下作答鍵的時候,八個按鈕是不能完成搶答的,他們按下的信號都是失效信號;規定選手作答時間的定時是可以自由調整的,其數值在一百秒之內即可;當有人通過按鍵來做出有效的搶答,這時的信號是有效的,接著揚聲器便會開始工作,以此來說明出現的搶答情況;當搶答器工作之后,原先設置的定時會開始做倒計時工作,當達到設定時間的時候,按鍵就會自己鎖定,如若需要再次搶答按下復位鍵即可。
這次設計的基本理論是以八路搶答器為主。因為設計里面需要有能夠設定時間的模塊,于是使用該單片機來實現搶答系統,再加上單片機的外部接口以及匯編語言的使用基本上就能夠實現題目八路搶答的功能了。軟件方面,開始先使用proteus和keilC51實行編譯仿真,然后PCB板的繪制工作就由Protel99SE來實現,最后將進行硬件的測試。
1.3 搶答器的研究現狀
在日常生活里的各種競賽中,搶答器已經成為了不可缺少的硬件設備了。科技高速的發展著,電子技術也在突飛猛進地更新著,在我們日常生活中的各個地方,電子產品似乎一直就沒有離開過我們的視線,在它們的帶動之下,許多產業的發展都有了非常大的提升。因為電子產品的發展,社會的信息程度也得到了很大的提升,與此同時,相比之前我們的思維和生活的狀態也有著非常大的改變。在這種時代的背景下,本文中所使涉及的單片機技術便出現了。它包含了核心處理器和只讀內存,除此之外還有一個存儲器,這些在一起就形成了單片機。
智能搶答器的應用非常廣泛。比如學校、節目和日常娛樂活動等地方,這種競賽場合需要用到的就是搶答器。但是目前生活中接觸到的產品卻并不多,產品功能也大不相同。有的產品設計復雜,功能卻不一定符合我們的要求,而且價格昂貴。
現在市場上有各不相同的搶答設備,然而其中大部分都是先前比較落后的設計,像比較成熟的產品就基本上是用數字和模擬電路相互聯合產生的產品,如果想要實現其他的功能,就需要改變原先的電路以達到目的,但是這樣一來就會增加其成本。身為電子產品的搶答器,在日常生活中已在非常多的場合使用。目前在一些復雜性電路使用單一應答很不容易且可靠性低,這是非常難以實現的;別人會用一些特殊的歧管,但歧管及為特殊,收購非常困難。正是因為這樣,所以這個設計有著比較大的設計意義。
2 搶答器實現的原理與硬件電路
2.1 設計原理
任務需求:(1)設計可以同時提供給八個選手使用,分別用八個按鈕從左到右依次代表他們八人。(2)設置三個按鍵“開始”、“暫停”和“復位”讓主持人來控制搶答器。(3)當然,前面提到的定時功能是不可缺少的,當“開始”鍵被按下之后,各位選手便能夠開始按鍵搶答了,如果出現情況需要暫停,主持人按下“暫停”鍵就可以,當倒計時只剩五秒的時候,蜂鳴器就會開始響,提示時間即將結束。(4)鎖存存儲功能也是不可缺少。當有人按下“搶答”按鍵的時候,這時鎖存器便會存儲其相對應的信號源,在此之后便把他譯為編碼顯示在數碼管上面,這個時候的蜂鳴器也會工作提示,鎖存的內容直至主持人按下“復位”清除為止。(5)有效的按鍵時間長短能夠由設定人自行設置。(6)作答人可在之前設定好的期限按鍵,如果有人按下,這個時候的定時便不會繼續工作,數碼管就會將作答人的編號和所剩期限表達出來。(7)如果到達設定時間時無人搶答,倒計時五秒后蜂鳴器響起,最后禁止搶答,然后數碼管會熄滅結束本次搶答。
此次設計的理念是:八路智能搶答器。因為該設計得有限定時間的功能,于是單片機AT89C51便成為了這次設計的重要組成部分。該系統不僅可以實現運算控制、識別信號,還可以顯示出需要的信息。利用該單片機和外部接口可以實現搶答功能,單片機收集到選手的信號的時候,用鎖存器識別并鎖存信號,經過單片機的處理并產生信號,然后傳給數碼管用于顯示功能,同時蜂鳴器響起提示有人搶答成功。除此之外,在這次設計中還使用到了聲源系統以及鍵盤等器件,因此具有定時、計時、暫停和警告等功能。
2.2 硬件設計
2.2.1 電路設計
(1)搶答器的電路框設計
當器件被接入+5V電源,“復位”按鍵被管理人員按下,在這之后本設計便不能實現任何的操作。此時可以設置定時器。稍后“開始”鍵便可以被按下,然后可以示意選手開始按鍵搶答。當被示意可以按鍵時,之前所設置好的定時便會伴隨著蜂鳴器的的聲響進入倒計時。這時作答人便可以在之前設定的期限按鍵,不然會被視為無效。在這期間,本設計會實現:辨別、存儲、顯示和發聲器件的提醒。當有作答人按鍵,定時便會馬上停止,以防止出現二次作答,數碼管就會將作答人的編號和所剩期限表達出來了。當需要再次搶答的時候,主持可人通過操作“開始”狀態來控制繼續開始搶答。
(2)串行通信模塊
本設計中采用的AT89C51的串口是使用的TTL電平標準,其邏輯電平0和邏輯電平1分別為0V和5V,但電腦上的串行口使用的卻是RS232C電平標準,其邏輯0電平和邏輯1電平的范圍分別是3至12V和-3至-12V。由于兩者的電平范圍存在著比較大的差距,所以在連接的時候就需要使用電平轉換器來解決這個問題。上下位機的通信參數的波特率是9600bps,沒有校驗位,但含有一個停止位以及八個數據位。其上位機與下位機之間的串口通信數據應用的數據幀為6bit,幀頭與幀尾分別都固定占有1bit和2bit,剩下的3bit則為其兩者之間的內容。其中每幀數據都是以40H開始的,以2AH0DH結束,通過這樣的協議,上下位機就能夠自行進行辨別這個時期的幀數是不是違法的,當不是違法的時候,就可以直接解決相對的幀數數據了;當出現違反定義規定時,系統便會將之前違法幀數重新進行輸入,直到該幀數不在違反就停止,然后便繼續解決相對的幀數數據[2]。
(3)復位電路模塊
它的工作方式為:當接入+5V電壓時,它的電容兩頭可以理解為短路的狀態,緊接著電容由通電的電阻對其完成充電,RST端的電壓會逐漸下降,當下降到某一值時,就會成為低電平,此時單片機便開始正常工作了。
本設計在硬件復位之后,其內部的狀態、寄存器和存儲器的值全部將恢復到一開始的值,應用了軟復位,因為在調整搶答時間和定時的時候,得用到存儲功能。
(4)主控制系統模塊
主控制器采用AT89C51,AT89C51單片機是新一代產品,他具有高速、抗干擾和低功耗等優點。作為一個高性能的CMOS8位單片機,他擁有4KB的可反復擦寫1000次的Flash只讀程序存儲器,不僅支持ISP可以在線編程,還支持最高的工作頻率33MHz,他的工作電壓范圍在4-5.5V,而且他抗干擾性強,向下51系列的產品他幾乎都可以達到兼容,因此他具有很高的性價比。
(5)時鐘電路模塊
在本設計中,需要用到時鐘,而時鐘基本上里面都含有一個波形發生器,大致可分為內部和外部形勢來完成電路。為了需求和達到簡潔的目的,因此采用內部振蕩的方式。在外片晶體或陶瓷諧振器當作反饋元件的情況下,與該放大器在一起就可以組成一個自激振蕩器了。
雖然其里面含有波形發生器,但是想要形成它,還需要在外面接上其他元件。因此該電路是由兩個元件組成,包括瓷片電容和波形發生器。時鐘電路在工作的時候,可以產生時鐘信號用于單片機的工作需求,而指令執行里面的各種信號之間的關系與聯系則是時序所研究的對象。而其本身則可以當作是一個相對復雜的電路,他之所以可以使用同步的方式完成任務,是因為電路被僅有的時鐘信號嚴格控制,在此之下工作才能保證他的實現。
(6)顯示電路
本文運用的是常見的四位八段共陰極數碼管來做輸出器件,利用他的編碼的變換來實現其原理。位選碼COM1、COM以及COM4分別與單片機的三個接口P2.0、P2.1和P2.2相接,然后單片機會自己選擇哪一位需要顯示。由于AT89C51單片機的P0口并沒有內置的上拉電阻,因此可以外接一個上拉電阻在數據接P0口,本系統采用的上拉電阻是外接1KΩ的,用來保證P0口一直保持是高電平狀態下沒有輸出的時候。
(7)按鍵輸入電路
在單片機里面,通常情況下鍵盤上的按鍵是自動辨識的,而他的按鍵也可以分為兩種,一種是有觸點式,另一種是非觸點式,通常應用在系統里面的鍵盤基本上是運用了觸點式。為了讓單片機可以準確地讀出鍵盤上所接的I/O狀態,需要按鍵和響應做到一對一的單獨反應,因此需要做到在按鍵的過程中不會出現抖動,而本文中的器件使用的是軟件方法可以防止其出現抖動。
本設計的智能搶答器使用了十一個小按鍵來輸入信號。在這十一個按鍵中,有八個作為搶答按鍵,另外三個分別是“開始”按鍵、“暫停”按鍵和“復位”按鍵。每個鍵位都有其單獨的信號線與單片機電路連接,這些鍵位共同連在相同的端口,于是每個鍵位便都能夠獨自作用而不會影響到其他按鍵的功能。運用上拉電阻先將信號變成高電平,有人按下搶答按鍵時,與其相對的引腳就會馬上變成低電平并且做出相應的反應,相對應的輸入信號也成了低電平,這樣一來就產生了有效的輸入信號。
(8)報警電路
報警電路一般使用了晶體管的電流放大作用,接著使用驅動元件來驅動蜂鳴器,以此達到發聲的目的。報警模塊核心在于管理人員示意可以按鍵作答之后,有信號發出;提醒作答人,設置期限即將結束;出現作答人按鍵作答等。該部分的需求:當有選手完成搶答的時候,需要有一個提示聲音。選用有源蜂鳴器,然后來與軟件相結合,最后經過PNP晶體管的驅動,以產生聲音信號。
該設計使用的是AT89C51的十七引腳借助器件來驅動蜂鳴器發音,使得蜂鳴器發音的電流大概需要十毫安即可,通過增加接入的電流作用來使蜂鳴器發音以提示作答人作答。由于P0口沒有上拉電阻的原因,因此設計中需要另外接上一個上拉電阻,這樣一來就可以提供一定的上拉電流。用單片機來實現的報警電路,相比之下比較簡潔方便。硬件電路方面,在P3口的隨意一個外接口外接蜂鳴器即可達到目的。
(9)電源模塊
本設計可以采用電池供電的方式,除此之外,還可以通過USB供電。
2.2.2 電路工作原理
如果進入鎖存器的數據都是相同的時候,系統電路就會將數據傳輸到外面,此時的鎖存器將不會被關閉。與此同時,這時候的數據將會在鎖存器中傳送一遍,正因如此,與其相對的數據出現改變的時候,其尾部的傳送端口也在做著與其對應的改變。此時改變的輸出電平將直接進入控制電路,這時鎖存器便會進行鎖存。鎖存器的特點便是當處于鎖存狀態時,不管輸入的電平怎么發生變化,輸出的電平都不會隨之改變,這時與改變過的輸出端的電平將由電平完成編碼之后傳輸到數碼顯示譯碼器進行譯碼,此時的數碼管將被控制驅動器控制,以達到顯示功能[3]。
(1)輸入鎖存
當鎖存器的S端是高電平的時候,電平可以直接從其輸入端(1D~8D)傳輸到對應的輸入端(1Q~8Q),如果S端的電平出現由高至低的情況時,鎖存器就開始實現他自己的多功能了,然后傳送進去的數據便不會傳送出去,正因如此,傳送出來的數據都不會再做出改變。
(2)編碼和譯碼顯示
譯碼器只有當進去和出來的數據都為低電平時才能夠實現其功能。所以鎖存于鎖存器末端端口的低電平到達其內部時,由編碼器進行編碼,完成編碼后的二進制代碼電平再由非門分別倒相,在完成倒相之后再送到譯碼器,在此之后由譯碼器的輸出端傳輸出驅動電平來驅動數碼管,于是對應的字符便被顯示出來了。
2.2.3 電路檢測及使用元器件
(1)電路檢測
首先:將主持人控制的按鍵設置為“清除”鍵,這時使用設備來檢查觸發器的端口是否顯示成所需求的數值,然后再傳送出去。此時譯碼器的四端為零,顯示器的燈便熄滅了;編碼器的選通輸入端的五端也同樣為零,然后編碼器就開始準備工作了,而譯碼器的四腳是0,這個時候的鎖存電路是不工作的。當按下搶答鍵的時候,電路也是不會工作的,這時按鍵都是失效的,輸出端都是低電平。
緊接著:將按鍵置于工作狀態,此刻的編碼器的五端還是為零狀態,因此此刻的設備是在隨時準備工作,在沒有出現選手按鍵時,編碼器部分的引腳處于高電平[4]。
(2)元器件列表
2.2.4 控制的核心AT89C51
(1)簡介
AT89C51產自美國Atmel公司,Atmel公司的技術在全球處于領先地位,公司主要是設計和制造儲存器等各種元器件,2016年被美國芯片制造商Microchip Technology收購。其特點在于高密度以及非易失性,擁有很多功能,可以靈活的應用于很多領域。
(2)主要特性
AT89C51是一種帶4K字節FLASH存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容[5]。
3 軟件設計的整體思路
硬件設備是單片機開發中的必備條件,除此之外,軟件設計也必不可少。根據本文的設計要求,需要根據不同路數來顯示與其對應的編碼。首先進行賦值工作,然后各端口和計時器就會被初始化。當運行鍵被操作運行之后,管理人員就可以示意作答人作答,在此同時的計時器便會計時,并且剩余時間會被一同描述在相關器件上面。在倒計時沒有結束的時候,八個按鍵輸入信號會一直被程序刷新檢測,如果有選手按鍵,此時按鍵對應的輸入信息會馬上被存儲起來,然后開始判斷出搶答按鍵的位置,與此同時,輸入信號會通過數碼管顯示出來,此時蜂鳴器也會響起報警,定時器便會停止倒計時,在此之后輸入信號便不會被檢測了;如果主持人按下“開始”鍵開始搶答之后,無人按鍵,當定時器倒計時到一定時間時,蜂鳴器便會響起提示搶答即將結束,直至時間結束,搶答將被禁止。主持人通過“復位”鍵便可以開啟再次搶答。
4 基于Proteus的系統仿真
4.1 仿真圖
Proteus軟件是一家英國公司所開發出的仿真軟件,它可以進行電路的分析以及實物的仿真。
4.2 仿真結果
4.2.1 搶答成功模塊
顯示了幾號選手搶答成功,并且還剩余多少秒的搶答時間。
4.2.2 時鐘模塊
顯示在搶答開始之后,時間開始倒計時,各位選手的剩余時間為多少。
4.2.3 復位模塊
顯示單片機開始工作和按下“復位”鍵之后的結果,數碼管上的初始顯示狀態為“---”。仿真結果表明,本設計的電路原理、程序是正確的,它能夠實現系統設定的搶答器的功能[6]。
5 總結
本設計是以AT89C51單片機為核心,來設計的一個八路智能搶答器。在使用軟件Proteus進行的仿真結果與實物的驗證,表明了該搶答器的設計原理的正確性,它完全可以精準地在最快時間描述出有效的所需數據,從而完成與其的搶答、倒計時和提示音等模塊,它具有迅速操作、操作簡單、實用性很高等特點。該搶答器在現實生活中可以根據實際的場合來進行改善。
參考文獻:
[1] 臧殿紅.基于AT89C51的八路搶答器的設計[J].科技信息,2011(25):518,530.
[2] 趙亮.跟我學51單片機(四)——獨立-矩陣鍵盤應用與設計[J].電子制作,2011(04):75-78.
[3] 盧易楓.搶答器控制系統設計[J].工業控制計算機,2015(02):118,120.
[4] 王靜.基于單片機的數據串口通信[D].長江大學,2013.
[5] 孟建平,賽恒吉雅.基于單片機串行通信的搶答器設計[J].內蒙古石油化工,2011(07):120-121.
[6] 蘇利.電子線路綜合實驗模塊設計[J].電氣電子教學學報,2008(06):49-52.
(湖北能源集團新能源發展有限公司檢修分公司,湖北 利川 445400)