版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目錄摘要21 設(shè)計方案選擇及討論31.1方案設(shè)計31.2核心控制器件89c52簡介32硬件電路設(shè)計52.1單元電路設(shè)計52.2單元電路設(shè)計5 2.2.1核心控制器件stc89c52最小系統(tǒng)6 2.2.2時序控制電路設(shè)計6 2.2.3復(fù)位與加減時間電路的設(shè)計7 2.2.4搶答與數(shù)碼管顯示電路7 2.2.5聲音電路設(shè)計73 軟件編程設(shè)計83.1大體思路84仿真及調(diào)試105焊接與實際調(diào)試116心得體會12參考文獻13附錄i 元件清單14附錄 程序代碼15摘要搶答器作為一種工具,已廣泛應(yīng)用于各種智力和知識競賽場合。本設(shè)計是以八路搶答為基本理念。考慮到依需設(shè)定限時回答的功能,利用at89c52單片機及外
2、圍接口實現(xiàn)的搶答系統(tǒng),利用單片機的定時器/計數(shù)器定時和記數(shù)的原理,將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠正確地進行計時,同時使數(shù)碼管能夠正確地顯示時間。用開關(guān)做鍵盤輸出,揚聲器發(fā)生提示。同時系統(tǒng)能夠?qū)崿F(xiàn):在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時間和回答問題的時間可在1-30s設(shè)定;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示;搶答時間和回答問題時間倒記時顯示,滿時后系統(tǒng)計時自動復(fù)位及主控強制復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。關(guān)鍵詞:搶答器 單片機 軟硬件結(jié)合 1 方案設(shè)計 1.1方案設(shè)計 該系統(tǒng)采用51系列單片機stc89c52作為控制核心
3、,該系統(tǒng)可以完成運算控制、信號識別以及顯示功能的實現(xiàn)。由于用了單片機,使其技術(shù)比較成熟,應(yīng)用起來方便、簡單并且單片機周圍的輔助電路也比較少,便于控制和實現(xiàn)。整個系統(tǒng)具有極其靈活的可編程性,能方便地對系統(tǒng)進行功能的擴張和更改。stc89c52單片機特點如下: 第一,可靠性好:單片機按照工業(yè)控制要求設(shè)計,抵抗工業(yè)噪聲干擾優(yōu)于一般的cpu,程序指令和數(shù)據(jù)都可以寫在rom里,許多信號通道都在同一芯片,因此可靠性高,易擴充。 第二,單片機有一般電腦所必須的器件,如三態(tài)雙向總線,串并行的輸入及輸出引腳,可擴充為各種規(guī)模的微電腦系統(tǒng)。 第三, 控制功能強:單片機指令除了輸入輸出指令,邏輯判斷指令外還有更豐富
4、的條件分支跳躍指令。其原理框圖如下:搶答按扭優(yōu)先編碼電路鎖存器譯碼電路譯碼顯示裁判控制開關(guān)控制電路報警電路秒脈沖產(chǎn)生電路定時電路譯碼電路顯示電路圖1.1 原理框圖 1.2 核心控制器件89c52簡介 stc89c52是stc公司生產(chǎn)的一種低功耗、高性能cmos8位微控制器,具有 8k 在系統(tǒng)可編程flash存儲器。stc89c52使用經(jīng)典的mcs-51內(nèi)核,但做了很多的改進使得芯片具有傳統(tǒng)51單片機不具備的功能。在單芯片上,擁有靈巧的8 位cpu 和在系統(tǒng)可編程flash,使得stc89c52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標準功能: 8k字節(jié)flash,512
5、字節(jié)ram, 32 位i/o 口線,看門狗定時器,內(nèi)置4kb eeprom,max810復(fù)位電路,3個16 位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外 stc89c52 可降至0hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,cpu 停止工作,允許ram、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,ram內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。最高運作頻率35mhz,6t/12t可選。其引腳圖如下:圖1.2 單片機引腳圖2 硬件電路設(shè)計 2.1搶答器的電路框圖 如圖1.1
6、所示為電路框圖。其工作原理為:接通電源后,裁判將開關(guān)撥到“清除”狀態(tài),搶答器處于禁止狀態(tài),編號顯示器滅燈,定時器顯示設(shè)定時間,裁判可在搶答開始;裁判將開關(guān)置“開始”狀態(tài),宣布“開始”搶答器工作。定時器倒計時,揚聲器給出聲響提示。選手在定時時間內(nèi)搶答時,搶答器完成:優(yōu)先判斷、編號鎖存、編號顯示、揚聲器提示。當一輪搶答之后,定時器停止、禁止二次搶答、定時器顯示剩余時間。如果再次搶答必須由裁判再次操作開始、停止狀態(tài)開關(guān)。 2.2 單元電路設(shè)計 2.2.1 核心控制器件stc89c52最小系統(tǒng) 此次課程設(shè)計使用原碼實驗室的89c52最小系統(tǒng)板進行設(shè)計,再加上一塊焊有數(shù)碼管等外圍模塊的電路板。原碼實驗室
7、的單片機最小系統(tǒng)已經(jīng)焊接完成,其中只對需要用到的時鐘晶振外部電路,中斷,以及復(fù)位和一些邏輯i/o口進行電路圖繪制,其他進行程序燒入的部分。最小系統(tǒng)電路圖如下:圖2.2.1 stc89c52最小系統(tǒng)電路圖中我們可以看到p2整個八個關(guān)鍵用來為搶答者提供搶答器,當按鍵開關(guān)第一次被按下后,那位搶答者所對應(yīng)的座位便可以顯示出來。 2.2.2時序控制電路設(shè)計 時序控制電路是搶答器設(shè)計的關(guān)鍵,它要完成以下功能:第一,裁判將控制開關(guān)撥到開始位置時,揚聲器發(fā)聲,搶答電路和定時電路進人正常搶答工作狀態(tài)。 第二,當參賽選手按動搶答鍵時,揚聲器發(fā)聲,搶答電路和定時電路停止工作。 2.2.3復(fù)位與加減時間電路的設(shè)計 外
8、部中斷和內(nèi)部中斷并存,單片機硬件復(fù)位端,只要持續(xù)4個機器周期的高電平即可實現(xiàn)復(fù)位,硬件復(fù)位后的各狀態(tài)可知寄存器以及存儲器的值都恢復(fù)到了初始值,因為本設(shè)計中功能中有倒計時時間的記憶功能,所以不能對單片機進行硬件復(fù)位,只能用軟件復(fù)位,軟件復(fù)位實際上就是當程序執(zhí)行完之后,將程序通過一條跳轉(zhuǎn)指令讓它完成復(fù)位。而對時間的加減設(shè)置也可以通過對相應(yīng)的按鍵中斷進行定義以實現(xiàn)。復(fù)位電路如下圖所示:圖2.2.2 復(fù)位電路圖 2.2.4搶答以及數(shù)碼管顯示電路 搶答電路即裁判與搶答者的用按鍵掃描來完成,剩下的由軟件完成其功能。而數(shù)碼管的顯示則需要經(jīng)過74hc573這個鎖存器芯片進行鎖存,在第一位搶答者搶答成功之后倒計
9、時以及顯示“誰搶到”的2個2段數(shù)碼管分別被兩個鎖存器進行鎖存,是數(shù)碼管現(xiàn)實不會再有變化,即實現(xiàn)功能。數(shù)顯電路如下圖:圖2.2.3 數(shù)顯電路 2.2.5聲音電路設(shè)計 聲音電路用于以聲音提示,當遇到報警信號時,發(fā)出警報。一般喇叭是一種電感性原件。89c52驅(qū)動喇叭的信號為各種頻率的脈沖。因此,最簡單的喇叭驅(qū)動方式就是利用達林頓晶體管,或者以兩個常用的小晶體管連接成達林頓架勢。在右圖中電阻r為限流電阻,在此利用晶體管的高電流增益,以達到電路快速飽和的目的。不過,如果要由p0輸出到此電路,還需要連接一個10k的上拉電阻。選手在設(shè)定的時間內(nèi)搶答時,實現(xiàn):優(yōu)先判斷、編號鎖存、編號顯示、揚聲器提示。當一輪搶
10、答之后,定時器停止、禁止二次搶答、定時器顯示剩余時間。如果再次搶答必須由主持人再次作清除和開始狀態(tài)開關(guān)。對于不同情況下的聲音有不同的設(shè)置,此處也是利用軟件進行設(shè)計,聲音電路模塊如下圖:圖2.2.4 聲音電路3 軟件設(shè)計 3.1系統(tǒng)主程序設(shè)計 為了能夠達到搶答的公平、公正、合理,應(yīng)該在裁判發(fā)布搶答命令之前必須先設(shè)定搶答的時間,因而在編開始搶答前的程序得先編寫設(shè)定時間的程序,當時間設(shè)好了之后,裁判發(fā)布搶答命令按下into按鍵,程序開始打開定時中斷開始倒計時,然后調(diào)用鍵盤掃描子程序,編寫鍵盤掃描程序。當在掃描到有人按下了答題鍵,馬上關(guān)閉t0、調(diào)用顯示程序、封鎖鍵盤。其主程序流程圖如下:主程序設(shè)置搶答
11、時間和回答問題時間定時器及并行口初始化將時間計數(shù)器及啟動標志值1開中斷采并行口數(shù)據(jù)為0嗎?啟動標志=1嗎?判斷搶答組號將搶答組發(fā)光二極管點亮判斷哪一組為搶答組將搶答組號送顯示搶答時間到了嗎?輸出響鈴信號提示超時繼續(xù)搶答比賽嗎?系統(tǒng)返回nyyynyn圖3.1 主程序流程圖4 仿真及調(diào)試 使用proteus進行仿真,仿真圖如下:圖4.1 仿真電路圖仿真開始后按下按鍵1時,數(shù)碼管前兩位顯示 “1”,剛好在還剩6秒的時候,所以后兩位數(shù)碼管顯示“6”。結(jié)果如下圖所示:圖4.2仿真時的按鍵圖 此時的數(shù)碼管顯示如下圖:圖4.3 仿真時的數(shù)碼管顯示圖 即搶答器完成了在規(guī)定時間內(nèi)搶答并鎖存的功能,即仿真成功。5
12、 焊接與實物調(diào)試完成焊接之后,實物圖如下:圖5.1 實物圖1(未上電)圖5.2 實物圖2(上電)經(jīng)過幾次調(diào)試,結(jié)果符合要求,且效果比較良好。6 心得體會通過此次的課程設(shè)計,讓我更進一步的鞏固了單片機的各種知識。我在設(shè)計電路板的時候,我在一開始設(shè)計的基礎(chǔ)上稍微改變了一下i/o口的應(yīng)用,使線的連接更加方便,在外圍模塊的設(shè)計上也稍微花了點功夫,雖然我們沒有實現(xiàn)本來想實現(xiàn)的led顯示搶答成功選手的功能,但設(shè)計還是較成功的。此次的課程設(shè)計讓我相信這會對今后的學(xué)習(xí)工作生活都有非常重要的影響,而且大大的提高了動手能力,使我充分的體會到了創(chuàng)造過程中的探索的艱難和成功的喜悅。雖然這次做出的作品還存在很多需要改進
13、的地方,但是在整個設(shè)計過程中所學(xué)習(xí)到的東西是這次實訓(xùn)所得到的最大收獲跟財富,使我終身受益。參考文獻1李小堅 主編,protel dxp電路設(shè)計與制版使用教程,人民郵電出版社,20012徐進強等 主編,單片機技術(shù)任務(wù)驅(qū)動式教程,天津大學(xué)出版社,20023李海濱 主編,單片機技術(shù)課程設(shè)計與項目實例,中國電力出版社,20054劉瑞新 主編,單片機原理與應(yīng)用教程,機械工業(yè)出版社,20075李廣弟等 主編,單片機基礎(chǔ),冶金工業(yè)出版社,20046李全利等 主編,基于proteus的單片機可視軟硬件仿真,2010附錄i 元件清單表1 器件選型方案的詳細清單器件名稱規(guī)格型號數(shù)量微處理器at89c511極性電容
14、10uf1電阻3wtt10k9電容20pf3晶振12mhz1按鈕15共陽4位7段數(shù)碼管smg sm410561k1揚聲器1附錄 程序代碼/搶答器/responder.c#includereg52.h#define led_data_port p0 /0亮,共陽數(shù)碼管#define adjust 0/搶答器處于調(diào)整狀態(tài)#define answer1/搶答狀態(tài)/單片機io口位聲明,51單片機可以對io的每一位或px八位單獨進行讀寫操作sbit com1=p13; /1亮sbit com2=p12;sbit com3=p11;sbit com4=p10;sbit key1=p21;sbit key2
15、=p23;sbit key3=p25;sbit key4=p27;sbit key5=p20;sbit key6=p22;sbit key7=p24;sbit key8=p26;sbit key9=p35;/倒計時減sbit key10=p36;/倒計時加sbit key11=p37;/清零端,控制端sbit beep=p17;/1響unsigned char num1=0,time=15;/num1是用來輔助定時器計數(shù),累計時間到一秒,time為倒計時unsigned char shi=0,ge=0;/倒計時time的十位和個位unsigned char result=0;/搶答結(jié)果unsi
16、gned char state=adjust;/搶答器狀態(tài),初始為調(diào)整狀態(tài)unsigned char flag=0;/結(jié)束標識,狀態(tài)標識,0復(fù)位,沒有有效信號;1有人搶答,結(jié)束搶答過程;2時間到,無人搶答,結(jié)束搶答過程const unsigned char lednum = / 0 1 2 3 4 5 6 7 8 9 a b c d e f 不顯示 - o(18)h(19)h(20)c(21)0(22)n(23)0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xa7,0xa1,0x86,0x8e,0xff,0xbf,0x
17、a3,0x89,0x8b,0xc6,0xc0,0xab; /*- 延時函數(shù),含有輸入?yún)?shù) unsigned int t,無返回值 unsigned int 是定義無符號整形變量,其值的范圍是 065535-*/void delay(unsigned int t) while(-t);/延時函數(shù),n毫秒void delay_ms(unsigned int n)unsigned int i,j;for(i=n;i0;i-)for(j=110;j0;j-);/開始聲音void soundstart(void)/開始聲音beep=1;delay_ms(200);beep=0;/報警聲音void sou
18、ndwarning(void)unsigned char i;for(i=0;i20;i+)/報警聲音beep=1;delay_ms(i);beep=0;delay_ms(20-i);/結(jié)束聲音void soundover(void)unsigned char i;for(i=0;i80;i+)/結(jié)束聲音beep=1;delay(100);beep=0;delay(100);/按鍵掃描函數(shù),只掃描k1到k8/需要尋求一種方式對重復(fù)的代碼進行優(yōu)化unsigned char keyscan_8(void)unsigned char num=0;if(key1=0)delay_ms(10);if(k
19、ey1=0)num=1;/delay_ms(20);/while(!key1);return num;if(key2=0)delay_ms(10);if(key2=0)num=2;/delay_ms(20);/while(!key2);return num;if(key3=0)delay_ms(10);if(key3=0)num=3;/delay_ms(20);/while(!key3);return num;if(key4=0)delay_ms(10);if(key4=0)num=4;/delay_ms(20);/while(!key4);return num;if(key5=0)delay
20、_ms(10);if(key5=0)num=5;/delay_ms(20);/while(!key5);return num;if(key6=0)delay_ms(10);if(key6=0)num=6;/delay_ms(20);/while(!key6);return num;if(key7=0)delay_ms(10);if(key7=0)num=7;/delay_ms(20);/while(!key7);return num;if(key8=0)delay_ms(10);if(key8=0)num=8;/delay_ms(20);/while(!key8);return num;ret
21、urn num;/按鍵掃描函數(shù),只掃描s11,s10,s9,分別為控制端,倒計時加,倒計時減unsigned char keyscan_3(void)unsigned char num=0;if(key9=0)delay_ms(10);if(key9=0)num=9;while(!key9);return num;if(key10=0)delay_ms(10);if(key10=0)num=10;while(!key10);return num;if(key11=0)delay_ms(10);if(key11=0)num=11;while(!key11);return num;return n
22、um;/按鍵掃描函數(shù),只掃描控制端,清零端s11,p3.7unsigned char keyscan_1(void)unsigned char num=0;if(key11=0)delay_ms(10);if(key11=0)num=11;while(!key11);return num;return num;/*/定時器初始化void initinter(void)tmod=0x11;/設(shè)置定時器工作方式為1th0=(65535-45872)/256;/裝初值,11.0592m晶振,50毫秒tl0=(65535-45872)%256;ea=1;/開總中斷et0=1;/開定時器0中斷tr0=1
23、;/啟動定時器0*/關(guān)閉中斷void closeinter(void)tr0=0;/停止定時器0et0=0;/關(guān)定時器0中斷ea=0;/關(guān)總中斷/重新打開中斷void openinter(void)num1=0;/計數(shù)初始化th0=(65535-45872)/256;/裝初值,11.0592m晶振,50毫秒tl0=(65535-45872)%256;ea=1;/開總中斷et0=1;/開定時器0中斷tr0=1;/啟動定時器0/關(guān)數(shù)碼管顯示void displayclose(void)com1=0;com2=0;com3=0;com4=0;led_data_port=0x00;/考慮到要保護硬件,
24、不能長時間讓數(shù)碼管承受反向電壓,/但再次使用數(shù)碼管時,要先送段選,再打開位選。/倒計時顯示,調(diào)用該函數(shù)之前要先關(guān)閉顯示,/因為是動態(tài)掃描,所以要在循環(huán)里面一直重復(fù)執(zhí)行void displaytime(void)/displayclose();led_data_port=lednumshi;com3=1;delay(200);com3=0;led_data_port=lednumge;com4=1;delay(200);com4=0;/顯示結(jié)果,將搶答結(jié)果,即搶答者序號,倒計時所剩時間顯示出來,/該函數(shù)之前要先關(guān)閉顯示,因為是動態(tài)掃描,所以要在循環(huán)里面一直重復(fù)執(zhí)行void displayresu
25、lt(void)/displayclose();led_data_port=lednumresult;com1=1;delay(200);com1=0;led_data_port=lednumshi;com3=1;delay(200);com3=0;led_data_port=lednumge;com4=1;delay(200);com4=0;/按鍵釋放void keyfree(void)if(keyscan_8()delay_ms(10);if(keyscan_8()state=adjust;/soundwarning();/led_data_port=0x00;/com1=com2=com
26、3=com4=1;while(keyscan_8();/com1=com2=com3=com4=0;/定時器調(diào)整進程void processadjust(void)time=15;shi=time/10;ge=time%10;while(!state)switch(keyscan_3()case 9:/倒計時減time-;if(time30)time=1;shi=time/10;ge=time%10;break;case 11:/狀態(tài)轉(zhuǎn)換state=answer;break;default: ;displaytime();/實時刷新倒計時,/存在的問題:keyscan()函數(shù)可能會占用一定時間,對數(shù)碼管動態(tài)掃描顯示有影響/解決方案:可以把keyscan函數(shù)分開,只檢測key9,key10,key11三個按鍵,減少掃描時間keyfree();/定時器搶答進程void processanswer(void)/keyfree();/按鍵釋放,在搶答開始之前,確保所有按鍵都以釋放,否則,發(fā)出報警聲flag=0;/結(jié)束標識復(fù)位openinter();soundstart();while(flag=0)displaytime();switch
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度旅行社與旅游保險合作框架協(xié)議3篇
- 二零二五年度不動產(chǎn)抵押貸款債權(quán)讓與合同模板3篇
- 二零二五版綠城物業(yè)智能安防系統(tǒng)升級合同4篇
- 2025版全新注塑機購銷合同(含設(shè)備安裝與調(diào)試)
- 2025年食品添加劑與添加劑原料供貨協(xié)議書3篇
- 2025版小額貸款公司合作協(xié)議范本2篇
- 二零二五年度企業(yè)員工溝通技巧培訓(xùn)合同8篇
- 二零二五年度企業(yè)信用評估與評級合同
- 2025年度標準住宅轉(zhuǎn)租服務(wù)合同范本3篇 - 副本
- 2025年度多功能庫房及場地租賃合同規(guī)范文本2篇
- 保險專題課件教學(xué)課件
- 牛津上海版小學(xué)英語一年級上冊同步練習(xí)試題(全冊)
- 室上性心動過速-醫(yī)學(xué)課件
- 建設(shè)工程法規(guī)及相關(guān)知識試題附答案
- 中小學(xué)心理健康教育課程標準
- 四年級上冊脫式計算400題及答案
- 新課標人教版小學(xué)數(shù)學(xué)六年級下冊集體備課教學(xué)案全冊表格式
- 人教精通版三年級英語上冊各單元知識點匯總
- 教案:第三章 公共管理職能(《公共管理學(xué)》課程)
- 諾和關(guān)懷俱樂部對外介紹
- 保定市縣級地圖PPT可編輯矢量行政區(qū)劃(河北省)
評論
0/150
提交評論