国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于AT89S52單片機(jī)控制的八路搶答器的設(shè)計(jì)與仿真

2019-04-26 05:03:42何勉
電子技術(shù)與軟件工程 2019年4期
關(guān)鍵詞:程序模塊搶答器數(shù)碼管

文/何勉

1 引言

搶答器可以采用數(shù)字電路來(lái)實(shí)現(xiàn),但電路較為復(fù)雜,也可以采用單片機(jī)來(lái)實(shí)現(xiàn),主要通過(guò)軟件編寫(xiě)來(lái)完成,不但可以簡(jiǎn)化電路,而且可以降低成本。本文主要介紹一種以AT89S52單片機(jī)為核心的簡(jiǎn)易搶答器,它充分利用單片機(jī)控制系統(tǒng)的特點(diǎn),結(jié)構(gòu)簡(jiǎn)單、可靠性好、成本較低,實(shí)用性強(qiáng)。

2 搶答器工作原理

本系統(tǒng)以AT89S52單片機(jī)為核心,使用8個(gè)獨(dú)立按鍵作為搶答輸入信號(hào),驅(qū)動(dòng)一位數(shù)碼管顯示搶答成功者的編號(hào)。本系統(tǒng)所具備的功能如下:

2.1 搶答按鍵

設(shè)置8個(gè)按鍵同時(shí)供8名(或8組)選手進(jìn)行搶答。

2.2 開(kāi)始按鍵

當(dāng)主持人按下開(kāi)始鍵后,才可以搶答,用1位數(shù)碼管顯示出第一搶答者編號(hào)。若主持人還沒(méi)有按下開(kāi)始鍵,有人搶答,則屬于犯規(guī),數(shù)碼管顯示犯規(guī)者編號(hào)并點(diǎn)亮小數(shù)點(diǎn)。

2.3 復(fù)位按鍵

按下復(fù)位按鍵后,開(kāi)始新一輪的搶答。

3 系統(tǒng)設(shè)計(jì)

3.1 硬件支持

使用的元器件有:核心芯片AT89S52,輕觸開(kāi)關(guān),8輸入與門(mén)/與非門(mén)集成電路CD4068以及一位共陽(yáng)極數(shù)碼管顯示器。

3.2 軟件設(shè)計(jì)

本系統(tǒng)軟件主要包括主程序模塊及按鍵模塊。系統(tǒng)程序流程包括主程序流程及外部中斷流程,如圖1、圖2所示。

3.2.1 主程序模塊

主程序模塊主要用于完成外部中斷的初始化、查詢開(kāi)始搶答按鍵是否按下等。

3.2.2 按鍵模塊

這是本系統(tǒng)的難點(diǎn)。用單片機(jī)來(lái)設(shè)計(jì)搶答器,無(wú)論使用獨(dú)立式按鍵還是行列鍵盤(pán),都無(wú)法對(duì)多個(gè)按鍵同時(shí)按下作出正確判斷。本系統(tǒng)采用中斷與查詢相結(jié)合的方法,把所有的按鍵都作為外部設(shè)備連接到到單片機(jī)的P2口,當(dāng)其中的一個(gè)按鍵被按下,單片機(jī)將進(jìn)入中斷服務(wù)程序,并將所有按鍵的狀態(tài)保存起來(lái),然后查詢是哪個(gè)按鍵按下引起的中斷,在此期間,CPU不再響應(yīng)其他任何按鍵,從而確定誰(shuí)是第一搶答者。按鍵中斷服務(wù)程序如下:

圖1:主程序流程圖

圖2:外部中斷程序流程圖

圖3:八路搶答器仿真原理圖

圖4:CD4068引腳圖

4 系統(tǒng)仿真

采用 Proteus軟件進(jìn)行仿真,仿真圖如圖3所示。

4.1 搶答按鍵

按鍵S1-S8為8個(gè)搶答按鍵,與8個(gè)搶答按鍵連接的是一組8輸入與門(mén)/與非門(mén)集成電路CD4068,其 中2,3,4,5,9,10,11,12腳是輸入引腳,1腳為與門(mén)輸出引腳,13腳為與非門(mén)輸出引腳,其引腳圖如圖4所示。

其工作過(guò)程為:按鍵S1 ~S8在沒(méi)有按下時(shí),輸人到與門(mén)輸人端為高電平,當(dāng)某個(gè)按鍵被按下時(shí),根據(jù)與非門(mén)邏輯關(guān)系CD4068輸出為1,再經(jīng)過(guò)非門(mén)CD40106取反輸出為低電平0,單片機(jī)的INT1 (P3. 3)腳變?yōu)榈碗娖剑瑥亩l(fā)外部中斷1的中斷請(qǐng)求,同時(shí),單片機(jī)通過(guò)對(duì)這8個(gè)按鍵狀態(tài)的查詢來(lái)確定哪個(gè)按鍵引腳引起的中斷,確定第一搶答者。

4.2 功能鍵

功能鍵分為“開(kāi)始”鍵和“復(fù)位”鍵,當(dāng)主持人按下“開(kāi)始”鍵,選手進(jìn)人開(kāi)始搶答狀態(tài)當(dāng)答題結(jié)束進(jìn)人下一題搶答時(shí)或者當(dāng)主持人還未按下“開(kāi)始”鍵有選手搶答違規(guī)時(shí)主持人按下“復(fù)位”鍵,本設(shè)計(jì)中“復(fù)位”鍵采用復(fù)位電路中的按鍵來(lái)實(shí)現(xiàn)復(fù)位,既可以減少電路的復(fù)雜性,讓初學(xué)者更容易掌握。

4.3 數(shù)碼管顯示電路

本設(shè)計(jì)采用一位共陽(yáng)極8段數(shù)碼管顯示器,采用靜態(tài)掃描方式,顯示出第一搶答者編號(hào),如果有人犯規(guī),數(shù)碼管除顯示犯規(guī)者編號(hào)外同時(shí)點(diǎn)亮數(shù)碼管小數(shù)點(diǎn),以示區(qū)別。

5 結(jié)束

該系統(tǒng)利用AT89S52單片機(jī)及外圍借口實(shí)現(xiàn)搶答系統(tǒng),將軟件和硬件有機(jī)地結(jié)合起來(lái),實(shí)現(xiàn)8人同時(shí)參賽,并可清晰顯示第一搶答選手編號(hào),并能提示違規(guī)狀態(tài)。今后,還可以擴(kuò)展其他功能,如利用軟件實(shí)現(xiàn)倒計(jì)時(shí),在搶答賽中進(jìn)行倒計(jì)時(shí)提醒,并增加報(bào)警電路。

猜你喜歡
程序模塊搶答器數(shù)碼管
聲光報(bào)警多路搶答器電路的改造分析
基于信息檢索的軟件缺陷定位方法綜述*
Arduino編程
電腦報(bào)(2019年2期)2019-09-10 07:22:44
MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
單片機(jī)控制的四位數(shù)碼管動(dòng)態(tài)顯示編程
基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
樂(lè)高M(jìn)INDSTORMSEV3軟件程序模塊開(kāi)發(fā)
4路搶答器的設(shè)計(jì)與研發(fā)
基于Web網(wǎng)絡(luò)的環(huán)境信息通信系統(tǒng)設(shè)計(jì)
ADSP TS201S Link口在多DSP系統(tǒng)中的應(yīng)用
天津市| 昭平县| 库尔勒市| 来宾市| 大渡口区| 富蕴县| 大姚县| 灵璧县| 昌江| 阆中市| 休宁县| 永新县| 台前县| 漳州市| 卢湾区| 鹤峰县| 寿宁县| 昌图县| 且末县| 广元市| 旌德县| 邹城市| 横峰县| 台南县| 改则县| 娄底市| 南和县| 台州市| 黔西| 麻城市| 赞皇县| 淮安市| 泌阳县| 乌恰县| 深水埗区| 益阳市| 宁明县| 文昌市| 怀宁县| 盘山县| 蒙自县|