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

?

基于單片機(jī)8路搶答器的設(shè)計(jì)與實(shí)現(xiàn)

2017-05-30 15:10:27嚴(yán)敏
關(guān)鍵詞:搶答器單片機(jī)

嚴(yán)敏

摘 要: 設(shè)計(jì)了一種以單片機(jī)AT89S51為控制核心的8路搶答器,從硬件電路制作和軟件程序編寫(xiě)兩個(gè)方面詳細(xì)介紹了8路搶答器的設(shè)計(jì)方法。實(shí)驗(yàn)結(jié)果表明,該8路搶答器的設(shè)計(jì)達(dá)到了預(yù)期的要求,具有反應(yīng)快、操作簡(jiǎn)便、成本低廉、使用性強(qiáng)等特點(diǎn),對(duì)于單片機(jī)產(chǎn)品的開(kāi)發(fā)具有一定的參考價(jià)值。

關(guān)鍵詞: 單片機(jī); 搶答器; CD4068

中圖分類(lèi)號(hào): TP 368.1 文獻(xiàn)標(biāo)志碼: A 文章編號(hào): 1671-2153(2017)03-0089-03

0 引 言

隨著當(dāng)今社會(huì)的進(jìn)步和科技的發(fā)展,各類(lèi)比賽、娛樂(lè)活動(dòng)層出不窮,其中搶答器的作用也就顯而易見(jiàn),它能快速準(zhǔn)確、公平公正、直觀地判斷出搶答者的機(jī)器設(shè)備,并通過(guò)LED數(shù)碼管、LED指示燈等手段顯示出第一個(gè)搶答者。傳統(tǒng)的搶答器采用模擬電路、數(shù)字集成電路、模數(shù)混合電路制作完成,這類(lèi)搶答器往往線路復(fù)雜,成本偏高,操作不簡(jiǎn)便。本文以AT89S51單片機(jī)為系統(tǒng)控制核心設(shè)計(jì)了一款8路搶答器:首先進(jìn)行硬件電路的設(shè)計(jì)與制作,然后進(jìn)行相應(yīng)軟件程序的設(shè)計(jì)與編寫(xiě),不斷調(diào)試直至成功。

1 設(shè)計(jì)分析

使用8個(gè)按鍵作為參賽選手搶答的8路搶答信號(hào),當(dāng)主持人宣布搶答時(shí),即按下開(kāi)始鍵后,各路選手才可以搶答,對(duì)于第一個(gè)搶答的選手,通過(guò)一位LED數(shù)碼管直觀顯示出該搶答選手的編號(hào),如果主持人尚未宣布比賽活動(dòng)開(kāi)始,即沒(méi)有按下開(kāi)始鍵,就有某一路選手進(jìn)行搶答,則這路的選手屬于犯規(guī),亮起紅燈。本次設(shè)計(jì)中,用LED發(fā)光二極管來(lái)表示,并通過(guò)LED數(shù)碼管顯示出該犯規(guī)選手的編號(hào),此時(shí),按下復(fù)位鍵后重新開(kāi)始搶答。

2 硬件電路設(shè)計(jì)

本設(shè)計(jì)以AT89S51單片機(jī)為系統(tǒng)控制核心制作8路搶答器,由于8路選手使用8個(gè)按鍵,假設(shè)采用8個(gè)獨(dú)立按鍵,按鍵的識(shí)別是通過(guò)逐個(gè)查詢(xún)每個(gè)按鍵的狀態(tài)來(lái)判斷是否按下的,如果有多個(gè)選手同時(shí)搶答,即幾路按鍵同時(shí)按下,先查詢(xún)的按鍵則被認(rèn)為是第一個(gè)搶答的,顯然就不公平了;假設(shè)采用4×4行列式按鍵,按鍵的識(shí)別如果采用輸入輸出線反轉(zhuǎn)法,則無(wú)法識(shí)別多個(gè)按鍵,按鍵的識(shí)別如果采用逐行掃描法,此時(shí)有多個(gè)選手同時(shí)搶答,則先掃描到行的按鍵存在優(yōu)先查詢(xún)的情況,同樣失去了公平性。因此,無(wú)論獨(dú)立按鍵還是4×4行列式按鍵,都不能做到對(duì)多個(gè)按鍵同時(shí)按下作出判斷。

為了解決這一問(wèn)題,可以使用高速的數(shù)字電路芯片,但這增加了設(shè)計(jì)的成本和復(fù)雜性。本設(shè)計(jì)的思路是:使用單片機(jī)的外部中斷,把8路上的按鍵信號(hào)作為外部設(shè)備,一旦有一個(gè)按鍵按下,立即進(jìn)入外部中斷服務(wù)子程序,先保存各路按鍵的狀態(tài),再確定是哪一路的按鍵引起的中斷,在這期間,單片機(jī)的CPU不再響應(yīng)其他任何中斷。

由于8路搶答器的8個(gè)按鍵作為8個(gè)外部中斷源,而MCS-51單片機(jī)只有兩個(gè)外部中斷源,這就需要擴(kuò)展外部中斷源來(lái)滿足需要。本設(shè)計(jì)使用CD4068芯片來(lái)解決,結(jié)合中斷和查詢(xún)的方式來(lái)擴(kuò)展外部中斷源。CD406芯片是一個(gè)8輸入的與門(mén)/與非門(mén)集成電路,管腳圖和功能邏輯圖如1所示。圖1中:2,3,4,5,9,10,11,12是8路輸入;1管腳是8路與門(mén)輸出端;13管腳是8路與非門(mén)輸出端;7管腳接地;14管腳接電源。

8路搶答器的電路原理圖如圖2所示。圖2中,P3.2為外部中斷0的中斷請(qǐng)求輸入端,將CD4068的1管腳接P3.2,8路搶答器的8個(gè)按鍵分別接CD4068的輸入端,作為擴(kuò)展的外部中斷源。當(dāng)沒(méi)有搶答按鍵按下,根據(jù)與邏輯關(guān)系,P3.2端口為高電平,不響應(yīng)。當(dāng)8路中有一路或者多路搶答按鍵按下,P3.2端口為低電平,響應(yīng)外部中斷0的中斷請(qǐng)求。然后,在外部中斷0的服務(wù)程序中,確定究竟是哪路搶答的。S2為搶答開(kāi)始按鍵,只有主持人宣布比賽開(kāi)始,8位選手才能進(jìn)行搶答。P3.1接紅色發(fā)光二極管,當(dāng)有選手違規(guī)時(shí)點(diǎn)亮。

3 軟件程序設(shè)計(jì)

3.1 主程序設(shè)計(jì)

在主程序main()函數(shù)中主要完成外部中斷的初始化,如打開(kāi)中斷、設(shè)置外部中斷信號(hào)的觸發(fā)方式等,不斷地查詢(xún)搶答開(kāi)始鍵是否按下,即主持人是否宣布開(kāi)始搶答,只有宣布開(kāi)始搶答之后,各路按下的按鍵才算有效,否則違規(guī)。一旦檢測(cè)到搶答開(kāi)始鍵按下,置搶答標(biāo)志位keypress=1,否則等待,其流程圖如圖3所示。具體程序如下:

sbit key=P3^0;

bit keypress=0;

int main() //主函數(shù)

{ IT0=0; //設(shè)置外部中斷0為電平觸發(fā)方式

EA=1;//打開(kāi)中斷

EX0=1; //打開(kāi)外部中斷0

while(1); //死循環(huán)

{ if(!key); //判斷搶答開(kāi)始鍵是否按下

{ delay();

if(!key) //再次判斷搶答開(kāi)始鍵是否按下

{ keypress=1; //設(shè)置搶答標(biāo)志位

while(!key);}}}}

3.2 外部中斷0程序設(shè)計(jì)

當(dāng)8路搶答器中有選手按下?lián)尨疰I,自動(dòng)轉(zhuǎn)入外部中斷0服務(wù)程序執(zhí)行,首先關(guān)閉中斷、保存各路按鍵的狀態(tài),再通過(guò)逐位查詢(xún)獲取按鍵編號(hào),確定究竟是哪一路的按鍵引起的中斷,最后判斷搶答標(biāo)志位keypress,如果keypress=1,說(shuō)明搶答開(kāi)始鍵已經(jīng)按下,主持人已經(jīng)宣布搶答開(kāi)始,則數(shù)碼管顯示搶答選手的編號(hào);如果keypress=0,說(shuō)明主持人尚未宣布搶答開(kāi)始,則屬于犯規(guī),亮起紅燈并顯示犯規(guī)選手的編號(hào),其流程圖如圖4所示。具體程序如下:

unsigned char code seg[]={0xc0,0xf9,0xa4,

0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

unsigned char state,number;

sbit led=P3^1;

void int0() interrupt 0

{ EX0=0; //關(guān)外部中斷0

state=P2;

switch(state) //switch語(yǔ)句獲取按鍵編號(hào)

{ case 0xfe:number =1;break;

case 0xfd:number =2;break;

case 0xfb:number =3;break;

case 0xf7:number =4;break;

case 0xef:number =5;break;

case 0xdf:number =6;break;

case 0xbf:number =7;break;

case 0x7f:number =8;break;}

if(keydown)

{ P1=seg[number];} //如果搶答標(biāo)志位置1,顯示按鍵編號(hào)

else

{P1=seg[number];led=0;}}//如果犯規(guī),亮起紅燈并顯示按鍵編號(hào)

4 結(jié)束語(yǔ)

本文以AT89S51單片機(jī)為主控制器設(shè)計(jì)了一款8路搶答器。實(shí)驗(yàn)結(jié)果表明,該8路搶答器的設(shè)計(jì)穩(wěn)定可靠,達(dá)到了預(yù)期的要求,具有反應(yīng)快、操作簡(jiǎn)便、成本低廉、使用性強(qiáng)等特點(diǎn),對(duì)于單片機(jī)產(chǎn)品的開(kāi)發(fā)具有一定的參考價(jià)值。

參考文獻(xiàn):

[1] 周向. 基于數(shù)字電路的四路搶答器優(yōu)化設(shè)計(jì)[J]. 武漢交通職業(yè)學(xué)院學(xué)報(bào),2016(1):90-92.

[2] 程建峰. 基于Multisim的多功能8路搶答器的設(shè)計(jì)與仿真[J]. 工業(yè)儀表與自動(dòng)化裝置,2015(1):31-34.

[3] 封伯燕. 8路搶答器的制作原理及制作過(guò)程[J]. 重慶三峽學(xué)院學(xué)報(bào),2012(3):3-5.

[4] 張翠云. 基于AT89C51的八路搶答器的設(shè)計(jì)[J]. 機(jī)電工程技術(shù),2014(8):25-28.

[5] 朱加順. 競(jìng)賽搶答器系統(tǒng)分析[J]. 電子制作,2014(2):90-91.

猜你喜歡
搶答器單片機(jī)
聲光報(bào)警多路搶答器電路的改造分析
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測(cè)量?jī)x
電子制作(2019年9期)2019-05-30 09:42:02
4路搶答器的設(shè)計(jì)與研發(fā)
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
基于STC12C5A60S2單片機(jī)的6路搶答器設(shè)計(jì)
電子世界(2017年9期)2017-05-18 09:22:02
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
電子制作(2017年19期)2017-02-02 07:08:27
兩臺(tái)搶答器
Microchip推出兩個(gè)全新PIC單片機(jī)系列
商城县| 亚东县| 鄂尔多斯市| 庆云县| 辽阳市| 息烽县| 嘉荫县| 白玉县| 邢台县| 沙洋县| 霍城县| 贵溪市| 湖南省| 花莲县| 合川市| 渭源县| 阿图什市| 海林市| 崇礼县| 绥中县| 金乡县| 太和县| 偏关县| 拉萨市| 涟水县| 沙田区| 蓝山县| 衡水市| 江油市| 抚顺县| 泽普县| 平果县| 山阴县| 福泉市| 和平区| 溧水县| 天峨县| 镇原县| 南川市| 旌德县| 凤城市|