湖南生物機電職業技術學院 畢業設計成果報告書 題目: 基于單片機的六路搶答器設計
2017年08 月 13日 湖南生物機電職業技術學院畢業設計報告書 目錄 第一部分 設計任務與調研 第二部分 設計說明 第三部分 設計成果 第四部分 結束語 致謝 參考文獻
第1部分 設計任務與調研
1.1 設計的任務及要求設計一個基于52單片機的六路搶答器,要求所設計的電路具有以下功能: - 搶答器同時供6名選手或6個代表隊比賽,分別用6個按鈕K0~K5表示。
- 搶答器具有鎖存與顯示功能。即選手按動按鈕,鎖存相應的編號,并在LED數碼管上顯示,同時揚聲器發出報警聲響提示。選手搶答實行優先鎖存,優先搶答選手的編號一直保持到主持人將系統清除為止。
1.2 調研目的和總結隨著電子技術的發展,現在的搶答器功能越來越強,可靠性和準確性也越來越高。能夠實現搶答器功能的方式有多種,可以采用前期的模擬電路、數字電路或模擬與數字電路相結合的方式,但這種方式制作過程復雜,而且準確性與可靠性不高,成品面積大。 對于目前的搶答器的功能描述,如涵蓋搶答器、搶答限時、選手答題計時及犯規組號搶答器具有搶答自鎖,燈光指示、暫停復位、電子音樂報聲、自動定時等功能,還有工作模式的切換和時間設定,對于這些,隨著科學技術的發展,肯定還要得到進一步的改進。一般都要趨向于智能化。 在各類競賽中,特別是做搶答題時,在搶答過程中,為了知道哪一組或哪一名選手先答題,必須要有一個系統來完成這個任務。如果在搶答過程中,只靠人的視覺是很難判斷出哪組先答題。利用單片機來設計搶答器,使以上問題得以解決,即使有兩組的搶答時間相差幾微秒,也可分辨出哪組優先答題。 搶答器是一種應用非常廣泛的設備,在各種競賽、搶答場合中,它能迅速、客觀地分辨出最先獲得發言權的選手。早期的搶大漆只由幾個三極管、可控硅、發光管等組成,能通過發光管的指示辨認出選手號碼。現在大多數搶答器均使用單片機(如MCS-51型)和數字集成電路,并增加了許多新功能,如選手號碼顯示、搶按前或搶按后的計時、選手得分顯示功能。像這類搶答器,制作過程簡單,準確性與可靠性高,而且安裝維護簡單。對于搶答器的應用,如早期的數字電路,隨著科技的逐步發展,進而到了單片機的控制來實現其功能,而且功能齊全,電路簡單,成本低,性能高,真正朝著有利的方向發展。 1.3 設計思路及方法本設計采用的主控制芯片是AT89C52,它主要負責控制各個部分協調工作。P1.0—P1.5是6組搶答的輸入口,按下對應按鈕即為搶答。P2.0—P2.5為位選通。P0口為數碼管的段選口,位選口用的是P2口的低4位。它是共陰極的由高電平點亮。以拔動開關K0—K5中的某個開關為0N作為搶答按鍵,無人搶答時,6個數碼管循環輪流顯示1—6跑馬,誰先搶答,數碼管停止跑馬,6個數碼管同時亮誰的編號,其后再有鍵按下,系統不予響應,直到此位拔為OFF,恢復l—6跑了馬,開始下一輪搶答。系統仿真用到了Proteus7.8軟件,通過仿真可以顯示所設計系統的功能,對于程序的調試等有很大的幫助。
第2部分 設計說明2.1 設計思路
1.002.jpg (13 KB, 下載次數: 45)
下載附件
2017-8-13 02:57 上傳
圖2-1 系統框圖 本系統由主控芯片、按鍵模塊、LED顯示模塊、聲音模塊等部分構成。在設計中采用的單片機是AT89C52,它主要負責控制各個部分協調工作。P1.0—P1.5是6組搶答的輸入口,按下對應按鈕即為搶答。P2.0—P2.5為位選通。P0口為數碼管的段選口,位選口用的是P2口的低4位。它是共陰極的由高電平點亮。以拔動開關K0—K5中的某個開關為0N作為搶答按鍵,無人搶答時,6個數碼管循環輪流顯示1—6跑馬,誰先搶答,數碼管停止跑馬,6個數碼管同時亮誰的編號,其后再有鍵按下,系統不予響應,直到此位拔為OFF,恢復l—6跑了馬,開始下一輪搶答。系統仿真用到了Proteus7.8軟件,通過仿真可以顯示所設計系統的功能,對于程序的調試等有很大的幫助。 2.2 硬件系統設計2.2.1 主控制電路本設計采用AT89C52作為主控制芯片。AT89C52是一個低電壓,高性能CMOS 8位單片機,片內含8k bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單元,AT89C52單片機在電子行業中有著廣泛的應用。
1.003.jpg (18.66 KB, 下載次數: 25)
下載附件
2017-8-13 02:57 上傳
圖2-2 最小系統 2.2.2 點鍵盤掃描電路
1.004.jpg (20.81 KB, 下載次數: 43)
下載附件
2017-8-13 02:57 上傳
圖2-3 點鍵盤掃描電路 撥動開關是通過撥動開關柄使電路接通或斷開,從而達到切換電路的目的。撥動開關的設計如圖2-3所示,P1.0-P1.5是6組搶答的輸入口,按下按鈕搶答。誰先按下后其他人再按則無效。當該選手搶答完成后該開關撥為OFF,系統開始重新跑馬。 2.2.3 顯示電路led數碼管(LED Segment Displays)是由多個發光二極管封裝在一起組成“8”字型的器件,引線已在內部連接完成,只需引出它們的各個筆劃,公共電極。led數碼管常用段數一般為7段有的另加一個小數點,還有一種是類似于3位“+1”型。位數有半位,1,2,3,4,5,6,8,10位等等,led數碼管根據LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數碼管,除了它們的硬件電路有差異外,編程方法也是不同的。本實驗的顯示電路的設計如下圖2-3。采用數碼管7SEG-MPX6-CA-BLUE。此為六個數碼管合一的,123456表示選擇的數碼管供電的管腳,ABCDEFG DP就是數碼管的斷碼輸入。系統通電后六個數碼管循環輪流顯示1—6跑馬,誰先搶答數碼管停止跑馬,六個數碼管同時亮誰的編號。其后再有鍵按下系統不予響應,直到此為撥到OFF。
1.005.jpg (57.75 KB, 下載次數: 39)
下載附件
2017-8-13 02:57 上傳
圖2-4 顯示電路 2.3 軟件系統設計
1.006.jpg (14.83 KB, 下載次數: 33)
下載附件
2017-8-13 02:57 上傳
圖2-5 程序流程圖
1.007.jpg (10.62 KB, 下載次數: 48)
下載附件
2017-8-13 02:57 上傳
圖2-6 顯示子程序流程圖
第3部分 設計成果3.1 設計成果
1.009.jpg (44 KB, 下載次數: 50)
下載附件
2017-8-13 02:57 上傳
圖3-1 電路原理圖
1.010.jpg (49.77 KB, 下載次數: 36)
下載附件
2017-8-13 02:57 上傳
圖3-2 按鍵5按下仿真圖 當主持人宣布開始的時候,按鍵5按下,顯示屏全部顯示5,蜂鳴器“滴”的響一聲,此時其它按鍵按下無效。
1.011.jpg (43.71 KB, 下載次數: 51)
下載附件
2017-8-13 02:57 上傳
圖3-3 按鍵1按下仿真圖 當主持人宣布開始的時候,按鍵1按下,顯示屏全部顯示1,蜂鳴器“滴”的響一聲,此時其它按鍵按下無效。 3.2 源程序- #include<reg52.h>
- sbit k1=P1^0;
- sbit k2=P1^1;
- sbit k3=P1^2;
- sbit k4=P1^3;
- sbit k5=P1^4;
- sbit k6=P1^5;
- unsigned char DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82};
- void delayms(unsigned int ms)
- {
- unsigned int i,j;
- for(i=0;i<ms;i++)
- for(j=0;j<1141;j++);
- }
- void main()
- {
- unsigned char key,i;
- TMOD=0x01;
- TH0=0xff;
- TL0=0xff;
-
- while(1)
- {
- key=P1;
- if(key==0xff)
- {
- for(i=1;i<7;i++)
- {
- switch(i)
- {
- case 1:P2=0x01;break;
- case 2:P2=0x02;break;
- case 3:P2=0x04;break;
- case 4:P2=0x08;break;
- case 5:P2=0x10;break;
- case 6:P2=0x20;break;
- default : P2=0x01;break;
- }
- P0=DSY_CODE[i];
- delayms(10);
- }
- }
- if(key!=0xff)
- {EA=1;
- ET0=1;
- TR0=1;
- }
- }
- }
-
- void Tim_T0() interrupt 1 using 0
- {
- if(k1==0&&k2!=0&&k3!=0&&k4!=0&&k5!=0&&k6!=0)
- {
- P2=0xff;
- P0=DSY_CODE[1];
- }
- if(k2==0&&k1!=0&&k3!=0&&k4!=0&&k5!=0&&k6!=0)
- {
- P2=0xff;
- P0=DSY_CODE[2];
- }
-
- if(k3==0&&k1!=0&&k2!=0&&k4!=0&&k5!=0&&k6!=0)
- {
- P2=0xff;
- P0=DSY_CODE[3];
- }
- if(k4==0&&k1!=0&&k2!=0&&k3!=0&&k5!=0&&k6!=0)
- {
- P2=0xff;
- P0=DSY_CODE[4];
- }
- if(k1!=0&&k6!=0&&k2!=0&&k3!=0&&k4!=0&&k5==0)
- {
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
第4部分
結束語經過一個學期的學習,我覺得單片機這門課是很有趣的一門課程,在設計中掌握課程,具有很強的實用性,真正做出一個實際的作品比我們做很多道題更具有生動性。 第一次從白紙一樣開始自己設計單片機,起初我還害怕做不出東西來,可是在這兩星期的日子里,雖然中途感到在設計上迷茫,但是最后還是學到很多很多的的東西。同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。這次畢業設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對單片機匯編語言掌握得不好。通過這次畢業設計之后,一定把以前所學過的知識重新溫固。 通過此次單片機設計實習,把自己在學校學到的知識轉化為實驗成果,積累了一定的經驗,提高了分析問題和解決問題的實際能力。我體會到畢業設計的各個環節,不是孤立的,每個環節都是必不可少的。在該畢業設計的過程中,我深刻體會到了計算機研究工作的艱辛。自己覺得理論上可行的方法,在實驗的過程中卻不一定行得通。經過了一次又一次地修改程序和檢查電路,終于完成了自己的畢業設計。雖然它有許多的不完善,可我卻有一種無法言表的喜悅與成就感。我明白了畢業設計的過程,就是不斷地改進與完善的過程。 在開發設計過程中,由于知識有限,經驗不足,畢業設計時間短,難免有很多的不足,敬請老師指教,以待日后加以改進。最后,希望畢業以后能更加深入地接觸到單片機,并不斷前進。我非常榮幸和感謝在老師那里學到很多實用的知識。我希望更多同學能夠在使用中發現單片機的無窮魅力!
致謝在本設計完成之際,我要特別感謝指導我的李浩老師的熱情關懷和悉心指導。在我撰寫設計的過程中李浩老師傾注了大量的心血和汗水,無論是在設計的選題、構思和資料的收集方面,還是在設計的研究方法以及成文定稿方面,我都得到了李浩老師悉心細致的教誨和無私的幫助,特別是廣博的學識、深厚的學術素養、嚴謹的治學精神和一絲不茍的工作作風使我終生受益,在此表示真誠地感謝和深深的謝意。 在設計的寫作過程中,也得到了許多同學的支持和幫助,給予了我很多寶貴的意見,在此一并致以誠摯的謝意。 感謝所有關心、支持、幫助過我的老師和益友的幫助。 最后,向在百忙中抽出時間對本設計進行評審并提出寶貴意見的各位老師表示衷心地感謝!
參考文獻[1] 冀振燕 LJML系統分析設計與應用案例 人民郵電出版社 2003 [2] 王文峰 數碼顯示六路搶答器的設計 井岡山師范學院學報 2000年05期 20-21 [3] 陳越等 ISD全系列單片語音錄放電路設計與應用 電子工業 [4] 楊曉輝、張彤、姜俊海、智能搶答器的設計與制作 長春大學學報 2000年06期 24-25 [5] 沈慶陽、郭庭吉 8051單片機實踐與應用 清華大學出版社 [6] 楊凌霄 微型計算機原理及應用 中國礦業大學出版社 2004 [7] 鄭有正 單片機原理及應用 四川大學出版社 [8] 楊剛、龍海燕等 現代電子技術 電子工業出版社 2004
完整論文下載(word格式 可編輯):
http://www.raoushi.com/bbs/dpj-88654-1.html
|