基于51單片機(jī)的八路搶答器設(shè)計(jì) 電氣工程技術(shù)專(zhuān)業(yè)畢業(yè)論文_第1頁(yè)
基于51單片機(jī)的八路搶答器設(shè)計(jì) 電氣工程技術(shù)專(zhuān)業(yè)畢業(yè)論文_第2頁(yè)
基于51單片機(jī)的八路搶答器設(shè)計(jì) 電氣工程技術(shù)專(zhuān)業(yè)畢業(yè)論文_第3頁(yè)
基于51單片機(jī)的八路搶答器設(shè)計(jì) 電氣工程技術(shù)專(zhuān)業(yè)畢業(yè)論文_第4頁(yè)
基于51單片機(jī)的八路搶答器設(shè)計(jì) 電氣工程技術(shù)專(zhuān)業(yè)畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目錄TOC\o"1-1"\h\u28349第一部分設(shè)計(jì)任務(wù)與調(diào)研 110610第二部分設(shè)計(jì)說(shuō)明 326950第三部分設(shè)計(jì)成果 1226082第四部分結(jié)束語(yǔ) 2822516致謝 2913695參考文獻(xiàn) 30 第一部分設(shè)計(jì)任務(wù)與調(diào)研1.主要任務(wù)設(shè)計(jì)一款操作容易、簡(jiǎn)單實(shí)用基于51單片機(jī)的搶答器,能夠?qū)崿F(xiàn)以下功能:(1)可供8人進(jìn)行的搶答器。(2)系統(tǒng)設(shè)置復(fù)位按鈕,按動(dòng)后,重新開(kāi)始搶答。(3)搶答開(kāi)始時(shí)數(shù)碼管顯示優(yōu)先搶答者的序號(hào),同時(shí)發(fā)出聲響。(4)搶答功能開(kāi)始時(shí),定時(shí)器開(kāi)始減時(shí),同時(shí)蜂鳴器發(fā)出聲響。(5)若倒計(jì)時(shí)結(jié)束無(wú)人搶答,揚(yáng)聲器發(fā)出報(bào)警且禁止搶答,定時(shí)器顯示00。2.調(diào)研的目的與總結(jié)調(diào)研目的:通過(guò)對(duì)搶答器的調(diào)研我們知道搶答器是在知識(shí)競(jìng)賽、文體娛樂(lè)活動(dòng)中,能準(zhǔn)確、公正、直觀地判斷出搶答者的座位號(hào)的一種工具。但因?yàn)榉N類(lèi)多,功能與價(jià)格也許多差異,傳統(tǒng)搶答器只是大概判斷出搶答成功或犯規(guī)選手臺(tái)號(hào),無(wú)法顯示出每個(gè)選手的搶答時(shí)間。而今搶答器可以通過(guò)數(shù)據(jù)來(lái)說(shuō)明裁決結(jié)果的準(zhǔn)確性、公平性。使比賽大大增加了娛樂(lè)性的同時(shí),也更加公平、公正。知識(shí)競(jìng)賽搶答器可以分為三類(lèi):電子搶答器、電腦搶答器、手機(jī)搶答器。所謂的電子搶答器,就是其主控器是電子控制器;它的中心構(gòu)造一般都是由單片機(jī)以及外圍電路組成,電子搶答器功能相對(duì)簡(jiǎn)單,能夠完成簡(jiǎn)單的搶答和計(jì)分。其優(yōu)點(diǎn)是相對(duì)使用費(fèi)用不高,適用于對(duì)知識(shí)競(jìng)賽要求不高的學(xué)校以及小型企事業(yè)單位。所謂的電腦搶答器,就是其主控器使用的是電腦,靠電腦來(lái)識(shí)別搶答成功者和搶答違規(guī)者的方式就叫電腦搶答器。高端電腦搶答器可以完成一體化顯示題目、搶答、計(jì)分、計(jì)時(shí)以及與選手、主持人、評(píng)委、觀眾互動(dòng),所有的操作只需要一人完成。手機(jī)搶答器就是用手機(jī)作為搶答按鈕的搶答器,嚴(yán)格說(shuō)來(lái)手機(jī)搶答器是電腦搶答器里面最高端的搶答器,是手機(jī)和電腦結(jié)合的搶答器。手機(jī)搶答器的成功問(wèn)世,大大的降低了知識(shí)競(jìng)賽的成本,因?yàn)槭謾C(jī)幾乎人人都有,只需要下載祥光程序就可以完成一場(chǎng)別開(kāi)生面的高質(zhì)量的知識(shí)競(jìng)賽。調(diào)研總結(jié):為了搶答活動(dòng)能夠公平公正的進(jìn)行,搶答器已經(jīng)作為一種必不可少的工具,但一般的搶答器可靠性低,使用壽命短,介于這些不方便因素,此次設(shè)計(jì)提出了用AT89C51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)簡(jiǎn)易的八路搶答器。本設(shè)計(jì)以AT89C51單片機(jī)作為主控核心,與晶振、數(shù)碼管、蜂鳴器等通過(guò)外圍接口實(shí)現(xiàn)的八路搶答器,利用了單片機(jī)的延時(shí)電路、按鍵復(fù)位電路、時(shí)鐘電路、定時(shí)器/計(jì)數(shù)器等,設(shè)計(jì)的八路搶答器不僅具有實(shí)時(shí)顯示搶答選手的號(hào)碼和搶答時(shí)間的功能,同時(shí)還利用匯編語(yǔ)言編程,使其實(shí)現(xiàn)復(fù)位、定時(shí)和報(bào)警的功能。3.思路與方法按照經(jīng)濟(jì)實(shí)惠、壽命長(zhǎng)、設(shè)計(jì)簡(jiǎn)單的原理選擇AT89C51作為主控芯片采用模塊化設(shè)計(jì)智能搶答器,設(shè)計(jì)八個(gè)搶答按鈕和一個(gè)開(kāi)始、結(jié)束、復(fù)位按鈕。利用單片機(jī)的各種功能,將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)使數(shù)碼管能夠正確地顯示時(shí)間和選手號(hào)碼利用Keil4軟件編程并與Protues軟件能夠聯(lián)調(diào),使搶答器能夠模擬仿真運(yùn)轉(zhuǎn)。

第二部分設(shè)計(jì)說(shuō)明1.總設(shè)計(jì)框圖本設(shè)計(jì)的系統(tǒng)主要由AT89C51單片機(jī)模塊、時(shí)鐘頻率電路模塊、復(fù)位電路模塊、顯示電路模塊、鍵盤(pán)掃描電路模塊以及發(fā)聲電路模塊構(gòu)成。以下是本系統(tǒng)設(shè)計(jì)的總設(shè)計(jì)框圖:圖2.1總設(shè)計(jì)框圖2.系統(tǒng)硬件電路設(shè)計(jì)2.1單片機(jī)模塊AT89C51單片機(jī)主要提供以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。圖2.2單片機(jī)引腳圖圖2.3AT89C51實(shí)物圖2.2時(shí)鐘頻率電路單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作.在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。圖2.4外部振蕩源電路圖一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容C1,C2的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。C1,C2的典型值為30PF。單片機(jī)在工作時(shí),由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時(shí)鐘信號(hào)的周期稱(chēng)為時(shí)鐘周期。其大小是時(shí)鐘信號(hào)頻率的倒數(shù),常用fosc表示。如時(shí)鐘頻率為12MHz,即fosc=12MHz,則時(shí)鐘周期為1/12μs。2.3復(fù)位電路單片機(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖所示:圖2.5復(fù)位電路圖值得注意的是,在設(shè)計(jì)當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,由上面的硬件復(fù)位后的各狀態(tài)可知寄存器及存儲(chǔ)器的值都恢復(fù)到了初始值,而前面的功能介紹中提到了倒計(jì)時(shí)時(shí)間的記憶功能,該功能的實(shí)現(xiàn)的前提條件就是不能對(duì)單片機(jī)進(jìn)行硬件復(fù)位,所以設(shè)定了軟復(fù)位功能。軟復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完畢之后,將程序指針通過(guò)一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。2.4顯示電路顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來(lái)解決。圖2.6顯示電路圖2.5鍵盤(pán)掃描電路的設(shè)計(jì)鍵盤(pán)是人與微機(jī)系統(tǒng)打交道的主要設(shè)備。關(guān)于鍵盤(pán)硬件電路的設(shè)計(jì)方法也可以在文獻(xiàn)和書(shū)籍中找到,配合各種不同的硬件電路,這些書(shū)籍中一般也提供了相應(yīng)的鍵盤(pán)掃描程序。站在系統(tǒng)監(jiān)控軟件設(shè)計(jì)的立場(chǎng)上來(lái)看,僅僅完成鍵盤(pán)掃描,讀取當(dāng)前時(shí)刻的鍵盤(pán)狀態(tài)是不夠的,還有不少問(wèn)題需要妥善解決,否則,人們?cè)诓僮麈I盤(pán)就容易引起誤操作和操作失控現(xiàn)象。在單片機(jī)應(yīng)用中鍵盤(pán)用得最多的形式是獨(dú)立鍵盤(pán)及矩陣鍵盤(pán)。圖2.7按鍵原理圖在鍵盤(pán)中按鍵數(shù)量較多時(shí),為了減少I(mǎi)/O口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤(pán)中,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這樣,一個(gè)端口(如P1口)就可以構(gòu)成1乘8的8個(gè)按鍵,比之直接將端口線用于鍵盤(pán)多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤(pán),而直接用端口線則只能多出一鍵(9鍵)。由此可見(jiàn),在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤(pán)是合理的。2.6發(fā)聲電路設(shè)計(jì)我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來(lái)控制單片機(jī)某個(gè)口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制“高“”低”電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。設(shè)計(jì)如圖2.8所示。圖中單片機(jī)通過(guò)內(nèi)部定時(shí)器的操作實(shí)現(xiàn)交替變換的波形輸出驅(qū)動(dòng)揚(yáng)聲器發(fā)聲。圖2.8發(fā)聲電路圖3系統(tǒng)軟件設(shè)計(jì)軟件任務(wù)分析和硬件電路設(shè)計(jì)結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本上決定下來(lái)了。圖2.9系統(tǒng)方框圖流程圖是顯示系統(tǒng)軟件設(shè)計(jì)極好的方法,不論采用何種程序設(shè)計(jì)方法,程序總體結(jié)構(gòu)確定后,一般以程序流程圖的形式對(duì)其進(jìn)行描述。在本設(shè)計(jì)中包括了以下八個(gè)主要的程序:主程序;非法搶答序;搶答時(shí)間調(diào)整程序;倒計(jì)時(shí)程序;正常搶答處理程序;犯規(guī)處理程序;顯示及發(fā)聲程序。主流程圖如圖所示:圖2.10程序設(shè)計(jì)流程圖圖2.11程序設(shè)計(jì)流程圖圖2.12程序設(shè)計(jì)流程圖4.設(shè)計(jì)特點(diǎn)本設(shè)計(jì)的基于51單片的八路搶答器使其在傳統(tǒng)的搶答器面前具有電路簡(jiǎn)單、成本低、運(yùn)行可靠等特色。采用AT89C51單片機(jī)作為芯片實(shí)現(xiàn)了八位選手同時(shí)搶答的功能。在搶答中,只有開(kāi)始后搶答才有效,如果在開(kāi)始搶答前搶答為無(wú)效,也能實(shí)現(xiàn)主持人的后臺(tái)控制。對(duì)于搶答器我們大家都知道那是用于選手做搶答題時(shí)用的,選手進(jìn)行搶答,搶到題的選手來(lái)回答問(wèn)題。搶答器不僅考驗(yàn)選手的反應(yīng)速度同時(shí)也要求選手具備足夠的知識(shí)面和一定的勇氣。選手們都站在同一個(gè)起跑線上,體現(xiàn)了公平公正的原則。

第三部分設(shè)計(jì)成果1.設(shè)計(jì)成果圖3.1搶答器電路圖圖3.2Protues仿真圖圖3.3模擬仿真五號(hào)選手提前搶答犯規(guī)圖3.4模擬仿真4號(hào)選手搶答成功倒計(jì)時(shí)暫停2.程序代碼#include<reg52.h> //調(diào)用單片機(jī)頭文件#defineucharunsignedchar//無(wú)符號(hào)字符型宏定義 變量范圍0~255#defineuintunsignedint //無(wú)符號(hào)整型宏定義 變量范圍0~65535#include"eeprom52.h"http://數(shù)碼管段選定義0123 4 5 6 7 8 9 ucharcodesmg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,// A B C D EF 不顯示 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff}; //斷碼 sbitsmg_we1=P3^3; //數(shù)碼管位選定義8sbitsmg_we2=P3^4;sbitsmg_we3=P3^5;sbitsmg_we4=P3^6;sbitbeep=P3^7;//蜂鳴器IO口定義ucharflag_start;//開(kāi)始搶答標(biāo)志位ucharflag_weigui;//搶答違規(guī)標(biāo)志位uchardis_smg[4]={0xc0,0xbf,0xa4,0xb0}; //數(shù)碼管顯示緩沖區(qū)ucharsmg_i=4;//顯示數(shù)碼管的個(gè)位數(shù)ucharmiao,s_time;//時(shí)間ucharflag_num;//號(hào)碼ucharmenu_1;//菜單設(shè)置變量bitflag_200ms=1;//200ms的標(biāo)志位ucharflag_qd_en;//搶答uchari;/******************把數(shù)據(jù)從單片機(jī)內(nèi)部eeprom中讀出來(lái)*****************/voidread_eeprom() //讀出保存數(shù)據(jù){ s_time=byte_read(0x2000); a_a=byte_read(0x2058);}/******************把數(shù)據(jù)保存到單片機(jī)內(nèi)部eeprom中******************/voidwrite_eeprom() //保存數(shù)據(jù){ SectorErase(0x2000); byte_write(0x2000,s_time); byte_write(0x2058,a_a); }/**************開(kāi)機(jī)自檢eeprom初始化*****************/voidinit_eeprom() //開(kāi)始初始化保存的數(shù)據(jù){ read_eeprom(); //讀出保存數(shù)據(jù) if(a_a!=20) { a_a=20; s_time=30; write_eeprom(); //保存數(shù)據(jù) }}/***************************數(shù)碼管位選函數(shù)****************************/voidsmg_we_switch(uchari){ switch(i) { case0:smg_we1=0;smg_we2=1;smg_we3=1;smg_we4=1;break; case1:smg_we1=1;smg_we2=0;smg_we3=1;smg_we4=1;break; case2:smg_we1=1;smg_we2=1;smg_we3=0;smg_we4=1;break; case3:smg_we1=1;smg_we2=1;smg_we3=1;smg_we4=0;break; } }/*********************************************************************名稱(chēng):delay_1ms()*功能:延時(shí)1ms函數(shù)*輸入:q*輸出:無(wú)***********************************************************************/voiddelay_1ms(uintq) //延時(shí)1ms函數(shù){ uinti,j; for(i=0;i<q;i++) for(j=0;j<120;j++);}/********************獨(dú)立按鍵程序*****************/ucharkey_can; //按鍵值voidkey() //獨(dú)立按鍵程序{ staticucharkey_new; key_can=20; P2|=0xff; if((P2&0xff)!=0xff) //按鍵按下 { delay_1ms(1); //按鍵消抖動(dòng) if(((P2&0xff)!=0xff)&&(key_new==1)) { //確認(rèn)是按鍵按下 key_new=0; switch(P2&0xff) { case0xfe:key_can=1;break; //得到按鍵值 case0xfd:key_can=2;break; //得到按鍵值 case0xfb:key_can=3;break; //得到按鍵值 case0xf7:key_can=4;break; //得到按鍵值 case0xef:key_can=5;break; //得到按鍵值 case0xdf:key_can=6;break; //得到按鍵值 case0xbf:key_can=7;break; //得到按鍵值 case0x7f:key_can=8;break; //得到按鍵值 }// dis_smg[0]=smg_du[key_can]; //顯示按鍵值 } } else key_new=1; }/********************獨(dú)立按鍵程序*****************/ucharkey_can1; //按鍵值voidkey_1() //主持人獨(dú)立按鍵程序{ staticucharkey_new; key_can1=20; P3|=0x03; if((P3&0x03)!=0x03) //按鍵按下 { delay_1ms(1); //按鍵消抖動(dòng) if(((P3&0x03)!=0x03)&&(key_new==1)) { //確認(rèn)是按鍵按下 key_new=0; switch(P3&0x03) { case0x01:key_can1=9;break; //得到按鍵值 case0x02:key_can1=10;break; //得到按鍵值 }// dis_smg[0]=smg_du[key_can1]; //顯示按鍵值 } } else key_new=1; }/******************按鍵處理函數(shù)*****************/voidkey_with() //按鍵處理函數(shù){ if(key_can1==10)//設(shè)置按鍵 { menu_1++; if(menu_1==1) { dis_smg[0]=smg_du[s_time%10]; //顯示設(shè)置值 dis_smg[1]=smg_du[s_time/10%10]; //顯示設(shè)置值 dis_smg[2]=0xbf; dis_smg[3]=smg_du[10]; //顯示A } if(menu_1>1) menu_1=0; } if(key_can1==9)//開(kāi)始搶答鍵 { flag_start=1; for(i=0;i<2;i++) { beep=~beep; delay_1ms(20); } } if(key_can<9) if(menu_1==0) { if(flag_qd_en==0) //沒(méi)有搶答 { if(key_can==1) flag_num=1;//1號(hào)選手 if(key_can==2) flag_num=2;//2號(hào)選手 if(key_can==3) flag_num=3;//3號(hào)選手 if(key_can==4) flag_num=4;//4號(hào)選手 if(key_can==5) flag_num=5;//5號(hào)選手 if(key_can==6) flag_num=6;//6號(hào)選手 if(key_can==7) flag_num=7;//7號(hào)選手 if(key_can==8) flag_num=8;//8號(hào)選手 } if(flag_start==1) //開(kāi)始搶答 { flag_weigui=0; flag_qd_en=1;//已經(jīng)搶答 } else { flag_weigui=1;//違規(guī)了 } } if(menu_1==1) { if(key_can==8)//加鍵 { s_time++;//設(shè)置倒計(jì)時(shí)加1 if(s_time>=99) s_time=99; dis_smg[0]=smg_du[s_time%10]; //顯示設(shè)置值 dis_smg[1]=smg_du[s_time/10%10]; //顯示設(shè)置值 write_eeprom(); //保存數(shù)據(jù) } if(key_can==7) { if(s_time>3) s_time--; //設(shè)置倒計(jì)時(shí)減1 dis_smg[0]=smg_du[s_time%10]; //顯示設(shè)置值 dis_smg[1]=smg_du[s_time/10%10]; //顯示設(shè)置值 write_eeprom(); //保存數(shù)據(jù) } } }/******************倒計(jì)時(shí)處理*****************/voiddjs_dis() //倒計(jì)時(shí)處理{ staticucharvalue; if((flag_start==1)&&(flag_weigui==0)) { value++; if(value>=5)//1s { value=0; if(miao!=0) miao--; //倒計(jì)時(shí)減一 } if(miao<=5) { beep=~beep;//蜂鳴器提示報(bào)警 } if(miao==0) { beep=1;//關(guān)閉蜂鳴器 flag_start=0; } } }/*********************************************************************名稱(chēng):display()*功能:數(shù)碼管顯示*輸入:無(wú)*輸出:無(wú)***********************************************************************/voiddisplay() //數(shù)碼管顯示{ staticuchari; i++; if(i>=smg_i) i=0; P1=0xff; //消隱 smg_we_switch(i); //位選 P1=dis_smg[i]; // }/*************定時(shí)器0初始化程序***************/voidtime_init() //定時(shí)器0初始化程序{ EA=1; //開(kāi)總中斷 TMOD=0X01; //定時(shí)器0、工作方式1 ET0=1; //開(kāi)定時(shí)器0中斷 TR0=1; //允許定時(shí)器0定時(shí)}/******************主程序**********************/ voidmain(){ staticucharvalue; beep=0;//開(kāi)機(jī)叫一聲 delay_1ms(100); P0=P1=P2=P3=0XFF;//IO口全部輸出為1 init_eeprom(); //開(kāi)始初始化保存的數(shù)據(jù) time_init(); //定時(shí)器0初始化程序 miao=s_time; while(1) { if(flag_weigui==0) { key(); //獨(dú)立按鍵程序 key_1(); //主持人獨(dú)立按鍵程序 if((key_can<20)||(key_can1<20)) key_with(); //按鍵處理函數(shù) } if(flag_200ms==1) { flag_200ms=0; if(menu_1==0) { dis_smg[3]=smg_du[miao/10%10]; //顯示設(shè)置值 dis_smg[2]=smg_du[miao%10]; //顯示設(shè)置值 dis_smg[1]=0xbf; dis_smg[0]=smg_du[flag_num]; //顯示選手號(hào)碼 if(flag_weigui==1)//違規(guī)了顯示FF { dis_smg[3]=smg_du[15]; //顯示設(shè)置值 dis_smg[2]=smg_du[15]; //顯示設(shè)置值 if(value==0) //違規(guī)提示報(bào)警 { value=1; for(i=0;i<6;i++) { beep=~beep; delay_1ms(100); } beep=1; } } djs_dis(); //倒計(jì)時(shí)處理 } } }}/*************定時(shí)器0中斷服務(wù)程序***************/voidtime0_int()interrupt1{ staticucharvalue; TH0=0xf8; TL0=0x30;//2ms display(); //數(shù)碼管顯示 value++; if(value>=100) { value=0; flag_200ms=1; }}第四部分結(jié)束語(yǔ)通過(guò)本次的畢業(yè)設(shè)計(jì),我才明白學(xué)習(xí)是一個(gè)長(zhǎng)期積累的過(guò)程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識(shí)和綜合素質(zhì)。雖然本設(shè)計(jì)的搶答器基本功能都能實(shí)現(xiàn),但是由于自身的知識(shí)掌

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論