目錄 引言 第一章:智能搶答器分工表安排 第二章:課程設計任務書 2.1設計要求 2.2主要功能模塊 2.3要求完成的主要任務 2.4時間安排 第三章:硬件設計部分 3.1硬件設計原理圖 3.2功能模板電路 3.2.1搶答器電路 3.2.2時序控制電路設計 3.2.3復位電路的設計 3.2.4 晶振電路的設計 3.2.5 報警電路設計 3.2.6選手搶答鍵 3.2.7 顯示與顯示驅動電路 第四章:模塊流程圖 4.1系統流程圖 4.2定時中斷流程圖 4.3.外部中斷流程圖 4.4顯示搶答違規流程圖 4.5.搶答成功流程圖 第五章:實驗結果分析 第六章:軟件調試 第七章:總結 附錄
引言當今的社會競爭日益激烈,選拔人才,評選優勝,知識競賽之類的活動愈加頻繁,比賽中為了準確、公正、直觀地判斷出第一搶答者,這就要有一種搶答設備作為裁判員,于是搶答器應用而生。搶答器是一種應用非常廣泛的設備,在各種競賽、搶答場合中,它能迅速、客觀地分辨出最先獲得發言權的選手,無論是軍隊還是電視節目中,都可能會舉辦各種各樣的智力競賽,都會用到搶答器。如果要是讓搶答者用舉手等方法,主持人很容易誤判,會造成搶答的不公平,比賽中為了準確、公正、直觀地判斷出第一搶答者,所設計的搶答器通常由數碼顯示、燈光、音響等多種手段指示出第一搶答者。為了使這種不公平再發生,只有靠電子產品的高準確性來保障搶答的公平性。 電子智能搶答器在搶答過程中,為了知道哪一組或哪一位選手先回答問題,必須要設計一個系統來完成這個任務。如果在搶答中,靠視覺是很難判斷出哪組先答題。利用單片機系統來設計搶答器,使以上問題得以解決,即使兩組的搶答時間相差幾微秒也可以分辨出使哪組優先回答問題。搶答組數可以在八組以內任意使用,本系統設計為模塊形式采用九針插頭進行連接,系統工作原理本系統采用AT89C51單片機作為核心。控制系統的五個模塊分別為:單片機最小系統、顯示模塊、顯示驅動模塊、搶答開關模塊、音樂音頻輸出模塊。 多路數字搶答器在各種智力競賽中經常用到。在各校舉行的各種競賽中我們也經常看到有搶答的環節,舉辦方多數采用讓選手通過舉答題板的方法判斷選手的答題權,這在某種程度上會因為主持人的主觀誤斷造成比賽的不公平性。為解決這個問題,我準備借本次課程設計的機會制作一個八路數顯搶答器。一方面加深我們對所學習的知識的了解,鞏固模擬、數字電路知識,也提升我們解決日常生活中常見問題的能力,掌握一般設計方法與設計步驟。積累實際設計制作經驗,為走向更復雜更實用的應用領域奠定基礎。控制系統主要由單片機控制電路、存儲器接口電路及顯示電路組成。具體以AT89C51單片機為系統工作核心,負責控制各個部分協調工作。在其外圍接上了復位電路、上拉電阻、數碼管、按鈕及揚聲器,其中用到了WAVE軟件,集成調試環境,集成編輯器、編譯器、調試器,支持軟件模擬等。同時也用到了PROTEUS軟件,通過仿真可完全實現對所設計系統的功能的模擬。 第一章:智能搶答器分工表安排 | | | | | | 1.負責課程設計任務的安排 2.負責protues仿真和調試工作 |
| | | 1.負責程序的修改和查找資料 2.負責protues仿真和調試工作 |
| | | 1.設計該電路的電路圖 2.對課程設計進行word編寫 |
| | | |
|
設計任務書 指導教師:吳澤 工作單位: 電氣工程及其自動化 題目:智能搶答器 2.1設計要求: (1)設計一個智力競賽搶答器,可同時供8名選手獲8個代表隊參加比賽,分別使用一個按鈕,編號從0—7。 (2)設置一個控制開關,用來控制系統的清零和搶答開始。 (3)搶答器具有數據鎖存功能、顯示功能和聲音提示功能。搶答開始后,有選手按動搶答按鈕,鎖存對應編號,并在LED數碼管上顯示選手的編號,同時燈亮且伴隨聲音提示。同時鎖存電路,禁止其他選手搶答,顯示編號一直保持到系統清零。 2.2主要功能模塊: 智能搶答器系統主要功能模塊包括主控模塊、復位電路、電源電路、選手按鍵、控制開關按鈕,聲音提示和數碼顯示等部分組成。根據具體情況選擇合適型號的單片機,蜂鳴器、數碼管等硬件設備進行設計。 2.3要求完成的主要任務: 1. 根據功能要求完成硬件電路設計,提供硬件電路圖。 2. 使用匯編或者C語言完成軟件部分設計,實現相應功能。要求程序加注釋并提供軟件流程圖。 3. 無實物需使用Proteus軟件進行系統仿真,并提供仿真截圖,測試數據,誤差分析;有實際產品,提供測試數據,誤差分析。 2.4時間安排: 收集資料,確定設計方案 系統設計 撰寫課程設計論文及提交 指導教師簽名:年 月 日 第三章:硬件設計部分3.1硬件設計原理圖1.原器件使用如下:
0.001.jpg (14.34 KB, 下載次數: 64)
下載附件
2017-6-4 17:28 上傳
2.原理圖繪制如下:
0.002.jpg (45.42 KB, 下載次數: 60)
下載附件
2017-6-4 17:28 上傳
3.電路圖檢查結果如下:
0.003.jpg (31.45 KB, 下載次數: 81)
下載附件
2017-6-4 17:28 上傳
4.proteus設置如下:
0.004.jpg (53.74 KB, 下載次數: 64)
下載附件
2017-6-4 17:28 上傳
0.005.jpg (37.8 KB, 下載次數: 62)
下載附件
2017-6-4 17:28 上傳
0.006.jpg (46.15 KB, 下載次數: 60)
下載附件
2017-6-4 17:28 上傳
5.軟件程序編程如下:
0.007.jpg (26.47 KB, 下載次數: 75)
下載附件
2017-6-4 17:28 上傳
3.2功能模板電路3.2.1搶答器電路 參考電路如下圖所示。該電路完成兩個功能:一是分辨出選手按鍵的先后,并鎖存優先搶答者的編號,同時譯碼顯示電路顯示編號;二是禁止其他選手按鍵操作無效。如有再次搶答需由主持人將S開關重新置,“清除”然后再進行下一次搶答。
0.008.jpg (23.25 KB, 下載次數: 54)
下載附件
2017-6-4 17:28 上傳
3.2.2時序控制電路設計 時序控制電路是搶答器設計的關鍵,它要完成以下功能 : a.主持人將控制開關撥到"開始"位置時,揚聲器發聲,搶答電路和定時電路進人正常搶答工作狀態。 b.當參賽選手按動搶答鍵時,揚聲器發聲,搶答電路和定時電路停止工作 3.2.3復位電路的設計 外部中斷和內部中斷并存,單片機硬件復位端,只要持續4個機器周期的高電平即可實現復位,硬件復位后的各狀態可知寄存器以及存儲器的值都恢復到了初始值,因為本設計中功能中有倒計時時間的記憶功能,所以不能對單片機進行硬件復位,只能用軟件復位,軟件復位實際上就是當程序執行完之后,將程序通過一條跳轉指令讓它完成復位。電路圖如下所示:
0.009.jpg (25.6 KB, 下載次數: 57)
下載附件
2017-6-4 17:28 上傳
該復位電路采用手動復位和上電自動復位兩種方式。 3.2.4 晶振電路的設計 MSC-51單片機的定時控制功能是用時鐘電路和振蕩器完成的,而根據硬件電路的不同,連接方式分為內部時鐘方式和外部時鐘方式。本設計中采用內部時鐘方式。單片機內部有一個反相放大器,XTAL1、XTAL2分別為反相放大器的輸入端和輸出端,外接定時反饋元件組成振蕩器(內部時鐘方式),產生時鐘送至單片機內部各元件。時鐘頻率越高,單片機控制器的控制節拍就越快,運算速度也就越快。一般來說單片機內部有一個帶反饋的線性反相放大器,外界晶振(或接陶瓷振蕩器)和電容就可組成振蕩器,加電以后延時一段時間(約10ms)振蕩器產生時鐘,不受軟件控制,圖中 X1為晶振,震蕩產生的時鐘頻率主要由X1確定。電容C1,C2的作用有兩個:一是幫助振蕩器起振,二是對振蕩器的頻率起微調作用,典型值為30pF.晶振原理圖如下所示:
0.010.jpg (32.35 KB, 下載次數: 54)
下載附件
2017-6-4 17:28 上傳
3.2.5 報警電路設計 報警電路用于報警,當遇到報警信號時,發出警報。一般喇叭是一種電感性報警電路圖。8951驅動喇叭的信號為各種頻率的脈沖。因此,最簡單的喇叭驅動方式就是利用達林頓晶體管,或者以兩個常用的小晶體管連接成達林頓架勢。在右圖中電阻R為限流電阻,在此利用晶體管的高電流增益,以達到電路快速飽和的目的。不過,如果要由P0輸出到此電路,還需要連接一個10K的上拉電阻。 選手在設定的時間內搶答時,實現:優先判斷、編號鎖存、編號顯示、揚聲器提示。當一輪搶答之后,定時器停止、禁止二次搶答、定時器顯示剩余時間。如果再次搶答必須由主持人再次作"清除"和"開始"狀態開關。
0.011.jpg (59.19 KB, 下載次數: 59)
下載附件
2017-6-4 17:28 上傳
3.2.6選手搶答鍵89C51的P1口做一個為選手搶答的輸入按鍵引腳,P1.0至P1.7輪流輸出低電位,給每一個選手編號1至8,當選手按下按鈕時,P1口個端口的電平變化從P1口輸入,經單片機處理后從P0輸出由數碼管顯示搶答者編號。
0.012.jpg (50.58 KB, 下載次數: 62)
下載附件
2017-6-4 17:28 上傳
3.2.7 顯示與顯示驅動電路此電路包括顯示和驅動,顯示采用數碼管,驅動用P2口,違規者編號、搶答30秒倒計時、正常搶答者編號和回答問題時間60秒倒計時,數碼管采用動態顯示。驅動電路P2口,查詢顯示程序利用P0口做段選碼口輸出P2低3位做位選碼輸出,當為低電平則能驅動數碼管使其顯示數字。在+5V電壓下接10k的電阻,保證正常壓降。
0.013.jpg (36.04 KB, 下載次數: 57)
下載附件
2017-6-4 17:28 上傳
第四章:模塊流程圖4.1系統流程圖:
0.014.jpg (43.06 KB, 下載次數: 63)
下載附件
2017-6-4 17:28 上傳
4.2定時中斷流程圖由于搶答器中需要顯示倒計時來提示選手們搶答時間,在規定時間進行搶答,所以需要定時中斷模塊,當時間小于6秒時,搶答器需要提供警告,以及當搶答時 間結束時,要關閉外部中斷,表示搶答結束,此時再有鍵按下搶答器也不會做出反應。
4.3.外部中斷流程圖搶答器的主要外部中斷來自于選手們的搶答,當選手搶答時,搶答器同時判斷被按下的鍵號并顯示在數碼管上,然后再數碼管上顯示剩余時間,同時關閉中斷,表示搶答結束,此時再有鍵按下搶答器也不會做出任何反應。外部中斷流程
0.028.jpg (41.88 KB, 下載次數: 57)
下載附件
2017-6-4 17:28 上傳
4.4顯示搶答違規流程圖
0.029.jpg (12.66 KB, 下載次數: 66)
下載附件
2017-6-4 17:28 上傳
4.5.搶答成功流程圖
0.030.jpg (21.89 KB, 下載次數: 60)
下載附件
2017-6-4 17:28 上傳
第五章:實驗結果分析本次課程設計設計的是一個多路定時搶答器,是一個八位選手參賽的一個搶答器,具有鎖存和顯示功能。同時有主持人控制系統的清零和搶答的開始。搶答開始后,若有任何一名選手按動搶答按鈕,搶答器就會顯示該選手編號直至系統被主持人清零,并有揚聲器發出提示,同時其他人再搶答就無效了。搶答時間為30s。這次設計的搶答器還有自動定時功能,主持人可以自行設定選手答題的時間,當主持人啟動“開始”鍵后,定時器會自動減計時,這個會顯示在顯示器上。選手只有在搶答時間內搶答才有效,若在答題時間內沒有選手答題,時間到時,報警電路就會發出警報亮燈并且禁止搶答。如下圖所示:
0.031.jpg (44.94 KB, 下載次數: 56)
下載附件
2017-6-4 17:28 上傳
0.032.jpg (39.45 KB, 下載次數: 53)
下載附件
2017-6-4 17:28 上傳
0.033.jpg (44.54 KB, 下載次數: 47)
下載附件
2017-6-4 17:28 上傳
0.034.jpg (32.71 KB, 下載次數: 57)
下載附件
2017-6-4 17:28 上傳
0.035.jpg (46.8 KB, 下載次數: 47)
下載附件
2017-6-4 17:28 上傳
0.036.jpg (47.7 KB, 下載次數: 65)
下載附件
2017-6-4 17:28 上傳
第六章:軟件調試設計軟件首先要考慮要做的功能,確定出合理的算法。合理的算法不僅要可以實現功能,而且在添加功能是要方便靈活。不能為了實現某種功能用了各種各樣的方法來實現,結果到最后程序結構發生變化,最后無法實現所要的結果。所以要保證在主題結構不發生太大的變化,然后進行一些細微的調整以便于更好的去實現最終的運行結果。 關于調試方面;Keil軟件調試單片機時,編譯通過不代表程序是正確的。編譯通過只能說明程序在語法上沒有錯誤。進行軟件仿真或者下載到開發板上進行調試,經常會出現各種各樣的錯誤,許多超出預期效果的現象往往是一些微小的錯誤引起的。例如:沒有保護現場跟恢復現場等,所以養成良好的編程習慣也是很重要的。有時候為了實現一些自己想要的功能而添加的程序語句,實際上卻一點效果都沒有,就像為了防止按鍵按下時防止軟件跳動,正常情況下都需要調用一個延時程序,在實際調試中,要跳過這個震動需要100MS左右,如果使用正常的延時程序,會導致按鍵按下時CPU在這100MS內無法進行其他操作,也就是說。平均1S內100MS不能調用顯示子程序,這樣也就導致亮度降低,這時候,考慮到顯示子程序一次又十幾毫秒,也就特意編寫了一個7次顯示的子程序來作為按鍵防抖的延時,實際上效果也是很不錯的,這個結果還是在修改了無數次程序最后才改進了這個毛病。
0.037.jpg (26.36 KB, 下載次數: 70)
下載附件
2017-6-4 17:28 上傳
第七章:總結首先,在老師說課程設計到最后的呈現,大概歷時1個月,在這期間我們組在經過網上收集資料,到初步實現原理圖的繪制,軟件設計,更改,到最終的確定,然后在仿真軟件里進行仿真。期間我們經歷了一系列的困難,起先由于對軟件設計的不了解無從下手,到一點一滴的去學習,去克服困難,到最后對Protel和Keil軟件的進一步自學理解,到最后將編寫好的軟件放到單片機中運行實現時鐘功能,通過這次智能搶答電路的設計與制作,讓我們更近一步的學習如何設計編寫電路的程序,也讓我們學習到了關于電子時鐘的原理與設計理念,通過多單片機資料的查閱,更進一步增加了對單片機知識的理解和運用能力。在本次設計中學會了PROTEL和KEIL的基本使用,感到PROTEL在電子制圖,仿真上的重要性和KEIL作為編程軟件的實用性。整個設計通過了軟件的仿真。我想這對于自己以后的學習和工作都會有很大的幫助的。在這次設計中遇到了很多實際性的問題,在實際設計中才發現,書本上理論性的東西與在實際運用中的還是有一定的出入的,所以有些問題不但要深入地理解,而且要不斷地更正以前的錯誤思維。對于單片機設計,其硬件電路是比較簡單的,主要是解決程序設計中的問題。而程序設計是一個很靈活的東西,它反映了你解決問題的邏輯思維和創新能力。它才是一個設計的靈魂所在。因此在整個設計過程中大部分時間是用在程序上面的。很多子程序是可以借鑒書本上的,但怎樣銜接各個子程序才是關鍵的問題所在,這需要對單片機的結構很熟悉。因此可以說單片機的設計是軟件和硬件的結合,二者是密不可分的最后,通過這次的課程設計,讓我們對各種電子元件都有了大概的了解,為我們一年后的畢業設計打下基礎,所以說,坐而言不如立而行,對于這些子元件及其電子電路還是應該自己親自動手實際操作才會有深刻理解。 附錄- OK EQU 20H;搶答開始標志位
- RING EQU 22H;響鈴標志位
- ORG 0000H
- AJMP MAIN
- ORG 0003H
- AJMP INT0SUB
- ORG 000BH
- AJMP T0INT
- ORG 0013H
- AJMP INT1SUB
- ORG 001BH
- AJMP T1INT
- ORG 0040H
- MAIN: MOV R1,#30;初設搶答時間為30s
- MOV R2,#60;初設答題時間為60s
- MOV TMOD,#11H;設置未定時器/模式1
- MOV TH0,#0F0H
- MOV TL0,#0FFH;越高發聲頻率越高,越尖
復制代碼
完整的源碼及word格式的課設論文下載地址: 還帶仿真工程文件
|