唐小虎+李慶達+彭浪
摘 要 本設(shè)計采用AT89C51單片機為MCU核心控制,由16路矩陣檢測、led+蜂鳴器聲光報警、4位數(shù)碼管顯示三個硬件部分和相應(yīng)的軟件部分組成。主持人按下開始按鈕后哪一位選手先按下?lián)尨鹌鲃t在數(shù)碼管上顯示相應(yīng)選手編號并給出聲音提醒并封鎖搶答電路,具有定時搶答,限時報警等功能,同時還可自行設(shè)置相應(yīng)的限定時間。
關(guān)鍵詞 16路;聲光報警;AT89C51
中圖分類號:TP368 文獻標識碼:A 文章編號:1671-7597(2014)17-0019-02
現(xiàn)代生活中,隨著單片機設(shè)計的應(yīng)用不斷深入,無論大型還是小型的各種比賽,都少不了搶答器,傳統(tǒng)的四路或八路搶答器在很多場合往往會因為路數(shù)不夠而帶來不便,為此我們設(shè)計了能適應(yīng)更高要求的16路搶答器。
1 硬件設(shè)計
硬件總體設(shè)計:本設(shè)計采用的是AT89C51單片機控制,AT89C51是一種帶4K字節(jié)FLASH存儲器的低電壓、高性能CMOS 8位微處理器,128字節(jié)內(nèi)部RAM,32個I/O口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。在單片機引腳分配方面,因為引腳充足,故沒有使用75HC573鎖存器來作為輔助,以此簡化設(shè)計。單片機的P0.0到P0.7口接數(shù)碼管段選端,P2.0到P2.3接數(shù)碼管的位選端;P1.0到P1.3分別是加、減,開始,清零按鈕,P1.4到P1.6分別接蜂鳴器和LED燈;P3口接矩陣按鍵。設(shè)計的功能模塊是時鐘和復(fù)位電路,搶答電路,顯示及聲光報警電路。硬件總體設(shè)計仿真電路圖如圖1所示。
圖1 硬件總體設(shè)計
1.1 時鐘和復(fù)位電路硬件設(shè)計
通過外接時鐘電路,為單片機提供時序脈沖,設(shè)計采用11.0592石英晶體振蕩器,其兩端分別接引腳XTAL1和XTAL2端,外接晶振時還需要加兩個30PF左右的電容對時鐘頻率微調(diào)。AT80C501復(fù)位方式分為兩種:一是上電復(fù)位與手動復(fù)位,二是上電復(fù)位,開始時+5的電源迅速給22PF電容充電,當按下復(fù)位鍵以后電容迅速放電并持續(xù)一段時間,使RST引腳端出現(xiàn)兩個機器周期以上的復(fù)位脈沖。
1.2 搶答電路設(shè)計
考慮到獨立式按鍵電路占用I/O口過多因此本設(shè)計采用矩陣行列式鍵盤電路。鍵盤檢測時。P3口高四位作為行線,P3口低四位作為列線。行與列線之間是隔開的,所有行線輸入全部為高電平,當鍵盤上某個按鍵被按下而閉合時。對應(yīng)行與列線接通。則通過讀取行線輸入值的狀態(tài)是否全為“1”判斷有無鍵按下。
1.3 顯示及聲光報警電路設(shè)計采用四位數(shù)碼管顯示
高兩位為倒計時顯示,低兩位顯示選手編號。由于P0口不帶上拉電阻,所以在設(shè)計中需要另外接上拉電阻以提供一定的拉電流。用單片機設(shè)計的報警電路,相對來說比較簡單。硬件電路只要使用P3口的任意一個口來外接蜂鳴器就可以實現(xiàn)。
2 軟件設(shè)計
2.1 軟件總體設(shè)計流程
系統(tǒng)上電后初始化,數(shù)碼管顯示搶答倒計時時間同時掃描鍵盤,當開始鍵按下后綠燈亮起倒計時開始同時開始掃描選手矩陣按鍵,哪位選手按下后數(shù)碼管低兩位進行顯示同時封鎖搶答電路,若倒數(shù)五秒還未有選手搶答,則紅燈亮起同時蜂鳴器報警提醒,未按開始鍵,而按下加值鍵或減值鍵時,倒計時值依次加一秒或減一秒。程序流程圖如圖2所示。
圖2 程序流程圖
2.2 部分源程序
/*************************矩陣檢測**********************************/
void KEYS_SCAN() //按鍵檢測部分
{while(1)
{P3=0xff; //先將P3口全部拉為高電平
P3_4=0; //P3=0xef
TEMP=P3;
TEMP=TEMP & 0x0f; //“與”運算判斷低四位是否為0
if (TEMP!=0x0f) //若有鍵被按下
{
delay(5); //延時去抖操作
TEMP=P3; //重新讀一次P3口操作
TEMP=TEMP & 0x0f;//重新進行一次“與”運算
if (TEMP!=0x0f) //確定第一行確實有鍵被按下
{ TEMP=P3;TEMP=TEMP & 0x0f;
switch(TEMP) //讀出具體鍵值
{case 0x0e:{delay(5);num1=4;l2=0;xianshi();} break;
case 0x0d:{delay(5);num1=3;l2=0;xianshi();}break;
case 0x0b:{delay(5);num1=2;l2=0;xianshi();}break;
case 0x07:{delay(5);num1=1;l2=0;xianshi();} break;
}
}
} ....
}
3 結(jié)論
本次設(shè)計的16路搶答器在實物測試中達到了仿真和預(yù)期的效果,不足的地方主要是整個過程的完整性須進一步完善,進一步補充不同比賽場合根據(jù)比賽規(guī)則不同加上相應(yīng)的子程序,程序需要進一步優(yōu)化。
參考文獻
[1]郭天祥編.新概念51單片機c語言教程[M].電子工業(yè)出版,2013: 450-456.
[2]徐愛鈞,徐陽.單片機原理與應(yīng)用—基于Proteus虛擬仿真技術(shù)[M].機械工業(yè)出版社,2013.
[3]楊曉輝,張彤,姜俊海.智能搶答器的設(shè)計與制作[J].長春大學(xué)學(xué)報,2000(06):24-25.
[4]封伯燕.8路搶答器的制作原理及制作過程[J].重慶三峽學(xué)院學(xué)報,2012(03):69-71.
[5]韋穗林.四路搶答器的設(shè)計和制作[J].電子制作,2010(01):26-28.
[6]康麗杰,康迪.基于單片機的8路搶答器簡單設(shè)計[J].信息系統(tǒng)工程,2010(02):60-61.
作者簡介
唐小虎(1994-),男,漢族,重慶榮昌縣人,本科,學(xué)生,信息工程。endprint
摘 要 本設(shè)計采用AT89C51單片機為MCU核心控制,由16路矩陣檢測、led+蜂鳴器聲光報警、4位數(shù)碼管顯示三個硬件部分和相應(yīng)的軟件部分組成。主持人按下開始按鈕后哪一位選手先按下?lián)尨鹌鲃t在數(shù)碼管上顯示相應(yīng)選手編號并給出聲音提醒并封鎖搶答電路,具有定時搶答,限時報警等功能,同時還可自行設(shè)置相應(yīng)的限定時間。
關(guān)鍵詞 16路;聲光報警;AT89C51
中圖分類號:TP368 文獻標識碼:A 文章編號:1671-7597(2014)17-0019-02
現(xiàn)代生活中,隨著單片機設(shè)計的應(yīng)用不斷深入,無論大型還是小型的各種比賽,都少不了搶答器,傳統(tǒng)的四路或八路搶答器在很多場合往往會因為路數(shù)不夠而帶來不便,為此我們設(shè)計了能適應(yīng)更高要求的16路搶答器。
1 硬件設(shè)計
硬件總體設(shè)計:本設(shè)計采用的是AT89C51單片機控制,AT89C51是一種帶4K字節(jié)FLASH存儲器的低電壓、高性能CMOS 8位微處理器,128字節(jié)內(nèi)部RAM,32個I/O口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。在單片機引腳分配方面,因為引腳充足,故沒有使用75HC573鎖存器來作為輔助,以此簡化設(shè)計。單片機的P0.0到P0.7口接數(shù)碼管段選端,P2.0到P2.3接數(shù)碼管的位選端;P1.0到P1.3分別是加、減,開始,清零按鈕,P1.4到P1.6分別接蜂鳴器和LED燈;P3口接矩陣按鍵。設(shè)計的功能模塊是時鐘和復(fù)位電路,搶答電路,顯示及聲光報警電路。硬件總體設(shè)計仿真電路圖如圖1所示。
圖1 硬件總體設(shè)計
1.1 時鐘和復(fù)位電路硬件設(shè)計
通過外接時鐘電路,為單片機提供時序脈沖,設(shè)計采用11.0592石英晶體振蕩器,其兩端分別接引腳XTAL1和XTAL2端,外接晶振時還需要加兩個30PF左右的電容對時鐘頻率微調(diào)。AT80C501復(fù)位方式分為兩種:一是上電復(fù)位與手動復(fù)位,二是上電復(fù)位,開始時+5的電源迅速給22PF電容充電,當按下復(fù)位鍵以后電容迅速放電并持續(xù)一段時間,使RST引腳端出現(xiàn)兩個機器周期以上的復(fù)位脈沖。
1.2 搶答電路設(shè)計
考慮到獨立式按鍵電路占用I/O口過多因此本設(shè)計采用矩陣行列式鍵盤電路。鍵盤檢測時。P3口高四位作為行線,P3口低四位作為列線。行與列線之間是隔開的,所有行線輸入全部為高電平,當鍵盤上某個按鍵被按下而閉合時。對應(yīng)行與列線接通。則通過讀取行線輸入值的狀態(tài)是否全為“1”判斷有無鍵按下。
1.3 顯示及聲光報警電路設(shè)計采用四位數(shù)碼管顯示
高兩位為倒計時顯示,低兩位顯示選手編號。由于P0口不帶上拉電阻,所以在設(shè)計中需要另外接上拉電阻以提供一定的拉電流。用單片機設(shè)計的報警電路,相對來說比較簡單。硬件電路只要使用P3口的任意一個口來外接蜂鳴器就可以實現(xiàn)。
2 軟件設(shè)計
2.1 軟件總體設(shè)計流程
系統(tǒng)上電后初始化,數(shù)碼管顯示搶答倒計時時間同時掃描鍵盤,當開始鍵按下后綠燈亮起倒計時開始同時開始掃描選手矩陣按鍵,哪位選手按下后數(shù)碼管低兩位進行顯示同時封鎖搶答電路,若倒數(shù)五秒還未有選手搶答,則紅燈亮起同時蜂鳴器報警提醒,未按開始鍵,而按下加值鍵或減值鍵時,倒計時值依次加一秒或減一秒。程序流程圖如圖2所示。
圖2 程序流程圖
2.2 部分源程序
/*************************矩陣檢測**********************************/
void KEYS_SCAN() //按鍵檢測部分
{while(1)
{P3=0xff; //先將P3口全部拉為高電平
P3_4=0; //P3=0xef
TEMP=P3;
TEMP=TEMP & 0x0f; //“與”運算判斷低四位是否為0
if (TEMP!=0x0f) //若有鍵被按下
{
delay(5); //延時去抖操作
TEMP=P3; //重新讀一次P3口操作
TEMP=TEMP & 0x0f;//重新進行一次“與”運算
if (TEMP!=0x0f) //確定第一行確實有鍵被按下
{ TEMP=P3;TEMP=TEMP & 0x0f;
switch(TEMP) //讀出具體鍵值
{case 0x0e:{delay(5);num1=4;l2=0;xianshi();} break;
case 0x0d:{delay(5);num1=3;l2=0;xianshi();}break;
case 0x0b:{delay(5);num1=2;l2=0;xianshi();}break;
case 0x07:{delay(5);num1=1;l2=0;xianshi();} break;
}
}
} ....
}
3 結(jié)論
本次設(shè)計的16路搶答器在實物測試中達到了仿真和預(yù)期的效果,不足的地方主要是整個過程的完整性須進一步完善,進一步補充不同比賽場合根據(jù)比賽規(guī)則不同加上相應(yīng)的子程序,程序需要進一步優(yōu)化。
參考文獻
[1]郭天祥編.新概念51單片機c語言教程[M].電子工業(yè)出版,2013: 450-456.
[2]徐愛鈞,徐陽.單片機原理與應(yīng)用—基于Proteus虛擬仿真技術(shù)[M].機械工業(yè)出版社,2013.
[3]楊曉輝,張彤,姜俊海.智能搶答器的設(shè)計與制作[J].長春大學(xué)學(xué)報,2000(06):24-25.
[4]封伯燕.8路搶答器的制作原理及制作過程[J].重慶三峽學(xué)院學(xué)報,2012(03):69-71.
[5]韋穗林.四路搶答器的設(shè)計和制作[J].電子制作,2010(01):26-28.
[6]康麗杰,康迪.基于單片機的8路搶答器簡單設(shè)計[J].信息系統(tǒng)工程,2010(02):60-61.
作者簡介
唐小虎(1994-),男,漢族,重慶榮昌縣人,本科,學(xué)生,信息工程。endprint
摘 要 本設(shè)計采用AT89C51單片機為MCU核心控制,由16路矩陣檢測、led+蜂鳴器聲光報警、4位數(shù)碼管顯示三個硬件部分和相應(yīng)的軟件部分組成。主持人按下開始按鈕后哪一位選手先按下?lián)尨鹌鲃t在數(shù)碼管上顯示相應(yīng)選手編號并給出聲音提醒并封鎖搶答電路,具有定時搶答,限時報警等功能,同時還可自行設(shè)置相應(yīng)的限定時間。
關(guān)鍵詞 16路;聲光報警;AT89C51
中圖分類號:TP368 文獻標識碼:A 文章編號:1671-7597(2014)17-0019-02
現(xiàn)代生活中,隨著單片機設(shè)計的應(yīng)用不斷深入,無論大型還是小型的各種比賽,都少不了搶答器,傳統(tǒng)的四路或八路搶答器在很多場合往往會因為路數(shù)不夠而帶來不便,為此我們設(shè)計了能適應(yīng)更高要求的16路搶答器。
1 硬件設(shè)計
硬件總體設(shè)計:本設(shè)計采用的是AT89C51單片機控制,AT89C51是一種帶4K字節(jié)FLASH存儲器的低電壓、高性能CMOS 8位微處理器,128字節(jié)內(nèi)部RAM,32個I/O口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。在單片機引腳分配方面,因為引腳充足,故沒有使用75HC573鎖存器來作為輔助,以此簡化設(shè)計。單片機的P0.0到P0.7口接數(shù)碼管段選端,P2.0到P2.3接數(shù)碼管的位選端;P1.0到P1.3分別是加、減,開始,清零按鈕,P1.4到P1.6分別接蜂鳴器和LED燈;P3口接矩陣按鍵。設(shè)計的功能模塊是時鐘和復(fù)位電路,搶答電路,顯示及聲光報警電路。硬件總體設(shè)計仿真電路圖如圖1所示。
圖1 硬件總體設(shè)計
1.1 時鐘和復(fù)位電路硬件設(shè)計
通過外接時鐘電路,為單片機提供時序脈沖,設(shè)計采用11.0592石英晶體振蕩器,其兩端分別接引腳XTAL1和XTAL2端,外接晶振時還需要加兩個30PF左右的電容對時鐘頻率微調(diào)。AT80C501復(fù)位方式分為兩種:一是上電復(fù)位與手動復(fù)位,二是上電復(fù)位,開始時+5的電源迅速給22PF電容充電,當按下復(fù)位鍵以后電容迅速放電并持續(xù)一段時間,使RST引腳端出現(xiàn)兩個機器周期以上的復(fù)位脈沖。
1.2 搶答電路設(shè)計
考慮到獨立式按鍵電路占用I/O口過多因此本設(shè)計采用矩陣行列式鍵盤電路。鍵盤檢測時。P3口高四位作為行線,P3口低四位作為列線。行與列線之間是隔開的,所有行線輸入全部為高電平,當鍵盤上某個按鍵被按下而閉合時。對應(yīng)行與列線接通。則通過讀取行線輸入值的狀態(tài)是否全為“1”判斷有無鍵按下。
1.3 顯示及聲光報警電路設(shè)計采用四位數(shù)碼管顯示
高兩位為倒計時顯示,低兩位顯示選手編號。由于P0口不帶上拉電阻,所以在設(shè)計中需要另外接上拉電阻以提供一定的拉電流。用單片機設(shè)計的報警電路,相對來說比較簡單。硬件電路只要使用P3口的任意一個口來外接蜂鳴器就可以實現(xiàn)。
2 軟件設(shè)計
2.1 軟件總體設(shè)計流程
系統(tǒng)上電后初始化,數(shù)碼管顯示搶答倒計時時間同時掃描鍵盤,當開始鍵按下后綠燈亮起倒計時開始同時開始掃描選手矩陣按鍵,哪位選手按下后數(shù)碼管低兩位進行顯示同時封鎖搶答電路,若倒數(shù)五秒還未有選手搶答,則紅燈亮起同時蜂鳴器報警提醒,未按開始鍵,而按下加值鍵或減值鍵時,倒計時值依次加一秒或減一秒。程序流程圖如圖2所示。
圖2 程序流程圖
2.2 部分源程序
/*************************矩陣檢測**********************************/
void KEYS_SCAN() //按鍵檢測部分
{while(1)
{P3=0xff; //先將P3口全部拉為高電平
P3_4=0; //P3=0xef
TEMP=P3;
TEMP=TEMP & 0x0f; //“與”運算判斷低四位是否為0
if (TEMP!=0x0f) //若有鍵被按下
{
delay(5); //延時去抖操作
TEMP=P3; //重新讀一次P3口操作
TEMP=TEMP & 0x0f;//重新進行一次“與”運算
if (TEMP!=0x0f) //確定第一行確實有鍵被按下
{ TEMP=P3;TEMP=TEMP & 0x0f;
switch(TEMP) //讀出具體鍵值
{case 0x0e:{delay(5);num1=4;l2=0;xianshi();} break;
case 0x0d:{delay(5);num1=3;l2=0;xianshi();}break;
case 0x0b:{delay(5);num1=2;l2=0;xianshi();}break;
case 0x07:{delay(5);num1=1;l2=0;xianshi();} break;
}
}
} ....
}
3 結(jié)論
本次設(shè)計的16路搶答器在實物測試中達到了仿真和預(yù)期的效果,不足的地方主要是整個過程的完整性須進一步完善,進一步補充不同比賽場合根據(jù)比賽規(guī)則不同加上相應(yīng)的子程序,程序需要進一步優(yōu)化。
參考文獻
[1]郭天祥編.新概念51單片機c語言教程[M].電子工業(yè)出版,2013: 450-456.
[2]徐愛鈞,徐陽.單片機原理與應(yīng)用—基于Proteus虛擬仿真技術(shù)[M].機械工業(yè)出版社,2013.
[3]楊曉輝,張彤,姜俊海.智能搶答器的設(shè)計與制作[J].長春大學(xué)學(xué)報,2000(06):24-25.
[4]封伯燕.8路搶答器的制作原理及制作過程[J].重慶三峽學(xué)院學(xué)報,2012(03):69-71.
[5]韋穗林.四路搶答器的設(shè)計和制作[J].電子制作,2010(01):26-28.
[6]康麗杰,康迪.基于單片機的8路搶答器簡單設(shè)計[J].信息系統(tǒng)工程,2010(02):60-61.
作者簡介
唐小虎(1994-),男,漢族,重慶榮昌縣人,本科,學(xué)生,信息工程。endprint