《搶答器課程設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《搶答器課程設(shè)計(16頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、
單片機(jī)原理與應(yīng)用技術(shù)
課程設(shè)計報告
搶答器課程設(shè)計
專業(yè)班級:____ 電氣____
姓 名:_____ _______
時 間:______2012.4.2-4.20___
指導(dǎo)教師:__徐君鵬 邵峰 田豐慶__
2012年 4 月 20 日
搶答器課程設(shè)計任務(wù)書
1.設(shè)計目的與要求
(一)基本功能
1. 顯示: 采用數(shù)碼管可以顯示搶答組別,同時蜂鳴器報警。
2. 實現(xiàn)5組以上的搶答。
(二)擴(kuò)展功能
1.增加超前違規(guī)搶答警示功能
2、2.增加答題時間限制功能
2.設(shè)計內(nèi)容
(1)畫出電路原理圖,正確使用邏輯關(guān)系;
(2)確定元器件及元件參數(shù);
(3)進(jìn)行電路模擬仿真;
(4)SCH文件生成與打印輸出;
3.編寫設(shè)計報告
寫出設(shè)計的全過程,附上有關(guān)資料和圖紙,有心得體會。
4.答辯
在規(guī)定時間內(nèi),完成敘述并回答問題。
論文結(jié)構(gòu)清晰,層次分明,理論嚴(yán)謹(jǐn)。
目錄
1 引言……………………………………………………………………..1
2 總體設(shè)計方案…………………………………………………………..1
2.1設(shè)計思路…………………………………………………………
3、…1
2.1.1 方案確立…………………………………………………………1
2.1.2 設(shè)計方框圖………………………………………………………2
3 設(shè)計原理分析…………………………………………………………..2
3.1 硬件設(shè)計…………………………………………………………...2
3.1.1 時鐘電路的設(shè)計…………………………………………………2
3.1.2 復(fù)位電路…………………………………………………………3
3.1.3 控制電路…………………………………………………………3
3.1.4 顯示電路…………………………………………………………4
4、 3.1.5 報警電路…………………………………………………………4
3.2 軟件設(shè)計…………………………………………………………...5
3.2.1 系統(tǒng)流程圖………………………………………………………5
3.2.2 搶答成功流程圖…………………………………………………6
4 結(jié)束語…………………………………………………………………..6
參考文獻(xiàn)…………………………………………………………………..7
附錄………………………………………………………………………..8
搶答器課程設(shè)計
摘要:本設(shè)計是以五路搶答為基本理念??紤]到依需設(shè)定限時回答的功能,利
5、用AT89s51單片機(jī)及外圍接口實現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時器/計數(shù)器定時和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來,使得系統(tǒng)能夠正確地進(jìn)行計時,同時使數(shù)碼管能夠正確地顯示時間。用開關(guān)做鍵盤輸出,揚聲器發(fā)生提示。同時系統(tǒng)能夠?qū)崿F(xiàn):在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示;按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。
關(guān)鍵詞: 搶答器、單片機(jī)、89S51
1 引言
單片機(jī)作為計算機(jī)的一個重要分支,其應(yīng)用范圍很廣,發(fā)展也很快,它已成為在現(xiàn)代電子技術(shù)、計算機(jī)應(yīng)用、網(wǎng)絡(luò)、通信、自動控制與計量測試、數(shù)據(jù)采集與信號處理等技術(shù)
6、中日益普及的一項新興技術(shù),應(yīng)用范圍十分廣泛。對于計算機(jī)專業(yè)的學(xué)生來說,即使暫時沒有從事單片機(jī)的應(yīng)用與開發(fā),學(xué)習(xí)單片機(jī)也有很重要的意義。學(xué)習(xí)它,不僅為將來可能從事該方面的開發(fā)打下基礎(chǔ),另一方面,由于單片機(jī)作為微型計算機(jī)的一個種類,麻雀雖小,五臟俱全,可以把它當(dāng)作微型計算機(jī)的一個簡化模型來看待,學(xué)習(xí)單片機(jī)可以加深對微型計算機(jī)工作原理的理解,更加清楚計算機(jī)的脈絡(luò)。同時,提供了一個實際應(yīng)用手段。21世紀(jì),是一個信息技術(shù)飛速發(fā)展的時代,智力競賽是一種形式比較活潑的教育方式,是人們休閑娛樂生活的一部分。這些競賽一方面充實了人們的娛樂生活,另一方面也提高了人們努力汲取相關(guān)領(lǐng)域的知識的興趣。智力競賽,也就是幾
7、個參賽選手之間在規(guī)定的時間,規(guī)定的地點相互競爭的比賽。
搶答是各種競賽常用的一種形式。在搶答賽中,往往要有主持人宣布搶答的開始,還要確定是哪個選手搶到了答題權(quán),具體答題的時間有時也要設(shè)定。這些如果僅憑主持人的主觀判斷,很容易出現(xiàn)誤判的情況。因此,在競賽中,搶答器就扮演了一個非常重要的角色。
2 總體設(shè)計方案
2.1 設(shè)計思路
2.1.1 方案確立
搶答器工作過程如下:
(1) 在搶答器開始工作之前,數(shù)碼管電路要保持不亮的狀態(tài),等待主持人的按鍵,然后開始工作。
(2) 在主持人按下開始按鍵后,開始答題,可以按鍵搶答,數(shù)碼管顯示0等待有按鍵信號的到來,在某一路的按鍵按下之后
8、,其他路得按鍵就會被封鎖,不能再得到響應(yīng)。
(3) 在按下?lián)尨鸢存I之前,數(shù)碼管顯示“0”,而且喇叭不會有發(fā)生的提示。
(4) 按下?lián)尨鸢存I之后,蜂鳴器響一聲,數(shù)碼管顯示相應(yīng)的參賽者所在的路數(shù),并且封鎖其他按鍵,使在此以后的按鍵無效,數(shù)碼管電路顯示路數(shù),同時表明此參賽者可以答題。
(5) 無論是在規(guī)定時間內(nèi)有人按鍵、在規(guī)定時間內(nèi)無人按鍵或者是有人犯規(guī),都需要主持人再按一下?lián)尨鸢存I,數(shù)碼管全部顯示“0”,恢復(fù)到初始狀態(tài),準(zhǔn)備下一輪搶答。
2.1.2設(shè)計方框圖
開始
開始搶答
按鍵處理
蜂鳴器響
結(jié)束
有鍵按下
無按鍵
9、 設(shè)計方框圖
3 設(shè)計原理分析
3.1硬件設(shè)計
3.1.1 時鐘電路的設(shè)計
一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容 C1,C2的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進(jìn)行微調(diào)。C1,C2的典型值為22PF。如圖1所示:
圖1 時鐘電路
3.1.2 復(fù)位電路
單片機(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)4個機(jī)器周期的高電平即可實現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài)
10、,其電路圖如圖2所示:
圖2 復(fù)位電路
3.1.3控制電路
控制電路由七個按鍵組成,其中五個為選手搶答按鍵,其余兩個為主持人開始和復(fù)位按鍵。當(dāng)主持人按下開始鍵后,搶答開始,一個鍵位按下后其他按鍵無效,搶答結(jié)束后按下復(fù)位鍵,可以進(jìn)行下一輪的搶答如圖3所示:
圖3 控制電路
3.1.4顯示電路
顯示電路有一個共陽極七段數(shù)碼管,它由74ls245芯片驅(qū)動,當(dāng)該芯片的GIP引腳接高電平,G接低電平時,數(shù)據(jù)由A向B傳輸;反之則由B向A傳輸。電路如圖4所示:
圖4 顯示電路
3.1.5報警電路
報警電路由蜂鳴器,PNP組成,由單片機(jī)p3.7口
11、控制,當(dāng)有選手搶答時,蜂鳴器會發(fā)出警報提示搶答成功。電路如圖5所示:
圖5 報警電路
3.2軟件設(shè)計
3.2.1系統(tǒng)流程圖
開始
初始化
讀鍵是否有鍵按下
調(diào)用搶答違規(guī)并報警子程序
中斷條件是否滿足
進(jìn)入中斷程序
開中斷
設(shè)定定時器并啟用
30秒搶答時間
調(diào)用讀鍵子程序
是否有鍵按下
中斷返回
調(diào)用搶答者回答問題子程序
系統(tǒng)流程圖
3.2.2搶答成功流程圖
開始
響
12、聲提示
設(shè)定定時器初值并啟動
顯示搶答者后30秒倒計時
60秒答題時間到后響聲提示
返回
搶答成功流程圖
4 結(jié)束語
三周的課程設(shè)計讓我了解了單片機(jī)在實際生活中的廣泛應(yīng)用,明白了一些生活中常見的設(shè)備的工作原理和實驗方法,讓自己有了創(chuàng)造的快樂。這么多天的學(xué)習(xí)讓我學(xué)到了很多,見識了很多,對課本上的知識有了近一步的理解和掌握,同時也深刻認(rèn)識到了自己還有很多的不足,認(rèn)識到課堂上學(xué)到的知識很少一部分,要想真正掌握單片機(jī)工作原理和操作還需要自己花大量的時間去摸索學(xué)習(xí)。剛做課程設(shè)計時,仔細(xì)閱讀設(shè)計的題目和要求
13、,感覺沒什么困難的,所用的知識書上都有。可是當(dāng)我動手開始做的時候,感覺到?jīng)]有頭緒,才發(fā)現(xiàn)其中的算法,設(shè)計是那么繁瑣的,可是這也激起了我的興趣。上網(wǎng)查了很多資料這時找到了頭緒找到了自信,通過各個模塊的設(shè)計和分析設(shè)計思路清晰了,運用書本的知識對各個模塊功能進(jìn)行實現(xiàn)。通過這次課程設(shè)計,我感覺到自己從課本上學(xué)到的理論知識和實踐仍有很大的差距。最初很多元器件根本不知道有什么功效,在仿真儀器中是什么代碼。有的知識,自己感覺已經(jīng)掌握得差不多了,但是實際操作起來就有問題出現(xiàn)了。我遇到了不少問題,花費了很多的時間。這讓我重新反思我們的學(xué)習(xí),深刻領(lǐng)悟到我們這個專業(yè)動手,實踐的重要性。這次的課程設(shè)計,讓我學(xué)到了很多
14、書本上學(xué)不到的東西,學(xué)到了實際應(yīng)用時,最大的收獲是:對 C51匯編語言,protues和keilc軟件的應(yīng)用有了初步了解。
參考文獻(xiàn)
[1] 李朝青.單片機(jī)原理及接口技術(shù)[M] 北京航空航天大學(xué)出版社.2005
[2] 蔡朝洋.單片機(jī)控制實習(xí)與專題制作[M]北京航空航天大學(xué)出版社.2006.
[3] 康華光.電子技術(shù)基礎(chǔ)(模擬部分)(第四版)[M].高等教育出版社.1999
[4] 潘新,民王,燕芳.微型計算機(jī)控制技術(shù)[M].電子工業(yè)出版社,2003
[5] 李鐘實.實用電子報警器精選百例[M].北京:科技技術(shù)文獻(xiàn)出版社,2002
[6] 陳愛弟.Protel99s
15、e實用培訓(xùn)教程[M].人民郵電出版社,2000
[7] 《多功能數(shù)字顯示搶答器》[J] . 黃石高等??茖W(xué)院學(xué)報,齊向東,1996
[8] 廖常初.現(xiàn)場總線概述[J].電工技術(shù),1999.6
[9] 候振鵬.嵌入式C語言程序設(shè)計[M].北京:人民郵電出版社,2006
[10] 徐士良.C語言程序設(shè)計教程[M].北京:人民郵電出版社,2001
附錄
附錄1:搶答器原理圖
附錄2:搶答器PCB圖
附錄3:匯編程序
附錄1:
附錄1 搶答器原理圖
附錄2:
附錄2 PCB圖
16、
附錄3:
主程序
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
MOV R2,#60
MOV TMOD,#11H
MOV TH0,#0F0H
MOV TL0,#0FFH
MOV TH1,#3CH
MOV TL1,#0B0H
SETB EA
SETB ET0
SE
17、TB ET1
SETB EX0
SETB EX1
CLR OK
CLR RING
SETB TR1
SETB TR0
查詢程序
START: MOV R5,#0BH
MOV R4,#0BH
MOV R3,#0BH
ACALL DISPLAY
JB P3.0,NEXT
ACALL DELAY
JB P3.0,NEXT
ACALL BARK
MOV A,R1
MOV R6,A
SETB OK
MOV R7,#01H
MOV R3,#0AH
AJMP COUNT
NEXT: JNB P1.0,FALSE1
JNB P1.1,FALSE2
JNB P1
18、.2,FALSE3
JNB P1.3,FALSE4
JNB P1.4,FALSE5
AJMP START
非法搶答處理程序
FALSE1: MOV R3,#01H
AJMP ERROR
FALSE2: MOV R3,#02H
AJMP ERROR
FALSE3: MOV R3,#03H
AJMP ERROR
FALSE4: MOV R3,#04H
AJMP ERROR
FALSE5: MOV R3,#05H
AJMP ERROR
正常搶答處理程序
TRUE1: ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#01H
CLR
19、 OK
AJMP COUNT
TRUE2:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#02H
CLR OK
AJMP COUNT
TRUE3:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#03H
CLR OK
AJMP COUNT
TRUE4:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#04H
CLR OK
AJMP COUNT
TRUE5:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#05H
CLR OK
AJMP COUNT
20、
犯規(guī)搶答程序
ERROR: MOV R0,#00H
MOV TH1,#3CH
MOV TL1,#0B0H
MOV 34H,R3
HERE: MOV A,R0
CJNE A,#06H,FLASH;0.3s
CLR RING
MOV R3,#0AH
MOV R4,#0AH
MOV R5,#0AH
AJMP CHECK1
FLASH: CJNE A,#0CH,CHECK1
SETB RING
MOV R0,#00H
MOV R3,34H
MOV R5,#0BH
MOV R4,#0BH
AJMP CHECK1
CHECK1: JNB P3.1,QUIT
21、1
ACALL DISPLAY
AJMP HERE
QUIT1: CLR RING
CLR OK
AJMP START
其他功能程序
=====顯示程序=====
DISPLAY:MOV DPTR,#DAT1
MOV A,R3
MOVC A,@A+DPTR
MOV P2,#0feH
MOV P0,A
ACALL DELAY2
MOV DPTR,#DAT2
MOV A,R5
MOVC A,@A+DPTR
MOV P2,#0fdH
MOV P0,A
ACALL DELAY2
MOV A,R4
MOVC A,@A+DPTR
MOV P2,#0fb
22、H
MOV P0,A
ACALL DELAY2
RET
DAT1:DB 00h,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh,00H,71H
DAT2:DB 3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh,00H,71H
=====發(fā)聲程序=====
BARK: SETB RING
ACALL DELAY1
ACALL DELAY1
CLR RING
RET
=====TO溢出中斷(響鈴程序)=====
T0INT: MOV TH0,#0ECH
MOV TL0,#0FFH
JNB RING,OUT;
CPL P3.6
OUT: RETI
;=====T1溢出中斷(計時程序)=====
T1INT: MOV TH1,#3CH
MOV TL1,#0B0H
INC R0
RETI
END
13