版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 單片機(jī)課程設(shè)計(jì)</b></p><p> 課程名稱: 單片機(jī)原理與接口技術(shù) </p><p> 實(shí)驗(yàn)項(xiàng)目: 智力搶答器 </p><p> 第1章、設(shè)計(jì)目的、要求及方案</p><p><b> 1.1 設(shè)計(jì)目的<
2、/b></p><p> 現(xiàn)如今電視節(jié)目日益豐富其中的競(jìng)賽環(huán)節(jié)也越來越多,其中智力搶答器是不可或缺的器材。在本學(xué)期學(xué)習(xí)了單片機(jī)這門課之后,我們小組成員覺得可以試著自己來實(shí)現(xiàn)搶答器的功能,令它能準(zhǔn)確、公正、直觀地判斷出第一搶答者,并通過搶答器的數(shù)碼管顯示和蜂鳴器報(bào)警指出搶答組別。我們最終做出一種數(shù)字式搶答器的設(shè)計(jì)方案,通過Proteus設(shè)計(jì)完成,利用WAVE6000軟件編輯程序,仿真驗(yàn)證,適用于多種競(jìng)賽場(chǎng)合
3、。</p><p><b> 1.2 設(shè)計(jì)要求</b></p><p> 設(shè)計(jì)一個(gè)用于智力競(jìng)賽的搶答器,其功能的實(shí)現(xiàn)是由單片機(jī)控制的,滿足</p><p> ?。?)能容許2-6組進(jìn)行搶答。</p><p> ?。?)能顯示搶答組號(hào)。</p><p> (3)各組記分,并能記分顯示。<
4、/p><p> ?。?)比賽結(jié)束時(shí),能發(fā)出報(bào)警聲</p><p><b> 1.3 設(shè)計(jì)方案</b></p><p> 在設(shè)計(jì)中采用的單片機(jī)是AT89C51,它主要負(fù)責(zé)控制各個(gè)部分協(xié)調(diào)工作。 P1.0和P1.7由裁判控制,分別是搶答開始和停止鍵。P1.1—P1.6是6組搶答的輸入口,按下對(duì)應(yīng)按鈕即為搶答。P0口為數(shù)碼管的段選口,位選口用的是P
5、2口的低4位,外部中斷0。外部中斷1,P3.3用于控制有組答題完成后結(jié)束計(jì)時(shí)。P3.4—P3.5分別實(shí)現(xiàn)了時(shí)間的加一和減一。P3.6為蜂鳴器的控制口。外部中斷和內(nèi)部中斷并存,單片機(jī)有硬件復(fù)位端,只要輸入持續(xù)4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位。外部還接有蜂鳴器用來發(fā)出報(bào)警音。采用7SEG-MPX4-CC-BLUE顯示,它是共陰極的由高電平點(diǎn)亮。系統(tǒng)仿真用到了WAVE6000和Proteus軟件,通過仿真可以顯示所設(shè)計(jì)系統(tǒng)的功能,對(duì)于程序的調(diào)
6、試等有很大的幫助。</p><p><b> 1.4實(shí)驗(yàn)器件</b></p><p> 采用單片機(jī)AT89C51,10k的上拉電阻、若干按鈕、揚(yáng)聲器、晶體振蕩器X1、電容C1和C2、帶極性的電容C3、排阻RESPACK-8以及數(shù)碼管7SEG-MPX4-CC-BLUE。</p><p><b> 1.5總體框圖</b>
7、</p><p><b> 硬件設(shè)計(jì)</b></p><p> 2.1總體設(shè)計(jì)電路圖</p><p> 整個(gè)系統(tǒng)分為:外部振蕩電路、復(fù)位電路、 加減分電路及蜂鳴器報(bào)警電路、 搶答電路及裁判控制開始停止電路、數(shù)碼管顯示電路幾個(gè)部分。</p><p><b> 2.2模塊設(shè)計(jì)電路</b><
8、/p><p> 2.1.1 單片機(jī)AT89C51簡(jiǎn)介</p><p> 本設(shè)計(jì)的核心是單片機(jī)AT89C51。</p><p> AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶
9、2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。</p><p>
10、 AT89C51 提供以下標(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)容,但振蕩器停止工作并禁止其它所有部件工作直
11、到下一個(gè)硬件復(fù)位。</p><p><b> 2.2.2振蕩電路</b></p><p> 振蕩電路使用外部振蕩電路,由兩個(gè)1nF的電容和一個(gè)晶體振蕩器組成</p><p><b> 外部震蕩電路</b></p><p><b> 2.2.3復(fù)位電路</b></p
12、><p> 外部中斷和內(nèi)部中斷并存,單片機(jī)有硬件復(fù)位端,只要輸入持續(xù)4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位。硬件復(fù)位后的各狀態(tài)可知寄存器及存儲(chǔ)器的值都恢復(fù)到了初始值。因?yàn)楸驹O(shè)計(jì)功能中有倒計(jì)時(shí)時(shí)間的記憶功能,所以不能對(duì)單片機(jī)進(jìn)行硬件復(fù)位,只能用軟復(fù)位。軟復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完畢之后,將程序指針通過一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序開始。</p><p><b> 復(fù)位電路</b>
13、</p><p> 2.2.4加減分電路及蜂鳴器報(bào)警電路</p><p> P3.3接口的開關(guān)按下意味著答題結(jié)束,P3.4接口開關(guān)表示給搶答相應(yīng)組加上一分,P3.5接口開關(guān)按下表示相應(yīng)組減去一分。</p><p> 裁判示意開始搶答、有組搶答成功、違規(guī)搶答、最后5s倒計(jì)時(shí)都會(huì)觸發(fā)蜂鳴器發(fā)出警報(bào)。P3.6為蜂鳴器控制口。</p><p>
14、 加減分電路及蜂鳴器報(bào)警電路</p><p> 2.2.5搶答電路及裁判控制開始停止電路</p><p> P1.0和P1.7由裁判控制,分別是搶答開始和停止鍵。P1.1-P1.6是6組搶答的輸入口,按下按鈕搶答。</p><p> 搶答電路及裁判控制開始停止電路</p><p> 數(shù)碼管7SEG-MPX4-CC-BLUE,它是共
15、陰極的數(shù)碼管</p><p> 允許搶答后,開始倒計(jì)時(shí)從15s知道0s。在最后5s蜂鳴器會(huì)發(fā)出警報(bào)。</p><p> 第三組搶答,答題時(shí)間有30s,在最后5s蜂鳴器會(huì)發(fā)出警報(bào)。</p><p> 若還沒有允許搶答就有人按下?lián)尨鹌?,那么蜂鳴器會(huì)發(fā)出警報(bào),并顯示是哪一組違規(guī)搶答。如圖為第一組違規(guī)搶答</p><p> 如圖為第三組回答正
16、確加一分</p><p> 如圖為第三組回答錯(cuò)誤減一分</p><p> 電路具有記憶功能,每次搶答后都能看到搶答組的分?jǐn)?shù)。如圖表示第三組已經(jīng)獲得4分</p><p><b> 第3章、軟件編程</b></p><p> OK EQU 20H</p><p> RING EQU 22H&
17、lt;/p><p><b> ORG 0000H</b></p><p><b> AJMP MAIN</b></p><p><b> ORG 000BH</b></p><p> AJMP T0INT</p><p><b> ORG
18、 0013H</b></p><p> AJMP INT1SUB</p><p><b> ORG 001BH</b></p><p> AJMP T1INT</p><p><b> ORG 0040H</b></p><p> MAIN: MOV
19、 R1,#0FH</p><p> MOV R2,#01EH</p><p> MOV TMOD,#11H</p><p> MOV TH0,#0F0H</p><p> MOV TL0,#0FFH</p><p> MOV TH1,#3CH</p><p> MOV TL1,#0B
20、0H </p><p><b> SETB EA</b></p><p><b> SETB ET0</b></p><p><b> SETB ET1</b></p><p><b> SETB EX1</b></p><p&
21、gt;<b> CLR OK</b></p><p><b> CLR RING</b></p><p><b> SETB TR1</b></p><p><b> SETB TR0</b></p><p> START: MOV R5,#
22、00H</p><p> MOV R4,#00H</p><p> MOV R3,#00H</p><p> ACALL DISPLAY</p><p> JB P1.0,NEXT</p><p> ACALL DELAY</p><p> JB P1.0,NEXT</p>
23、;<p> ACALL BARK</p><p><b> MOV A,R1</b></p><p><b> MOV R6,A</b></p><p><b> SETB OK </b></p><p> MOV R3,0AH</p>&
24、lt;p> AJMP COUNT </p><p> NEXT:JNB P1.1,FALSE1</p><p> JNB P1.2,FALSE2</p><p> JNB P1.3,FALSE3</p><p> JNB P1.4,FALSE4</p><p> JNB P1.5,FALSE5<
25、/p><p> JNB P1.6,FALSE6</p><p> AJMP START</p><p> FALSE1: ACALL BARK</p><p> MOV R3,#01H</p><p> AJMP ERROR</p><p> FALSE2: ACALL BARK<
26、/p><p> MOV R3,#02H</p><p> AJMP ERROR</p><p> FALSE3: ACALL BARK</p><p> MOV R3,#03H</p><p> AJMP ERROR</p><p> FALSE4: ACALL BARK</p&g
27、t;<p> MOV R3,#04H</p><p> AJMP ERROR</p><p> FALSE5: ACALL BARK</p><p> MOV R3,#05H</p><p> AJMP ERROR</p><p> FALSE6: ACALL BARK</p>
28、<p> MOV R3,#06H</p><p> AJMP ERROR</p><p> INT1SUB:MOV R4,#0AH</p><p> MOV R5,#0AH</p><p> JNB P3.4,INC1</p><p> JNB P3.5,DEC1</p><p
29、> JNB P1.7,BACK1</p><p> ACALL DISPLAY</p><p> AJMP INT1SUB</p><p><b> MOV A,R3</b></p><p> SUBB A,#01H</p><p><b> JZ XXY1</b
30、></p><p> SUBB A,#02H</p><p><b> JZ XXY2</b></p><p> SUBB A,#03H</p><p><b> JZ XXY3</b></p><p> SUBB A,#04H</p><
31、p><b> JZ XXY4</b></p><p> SUBB A,#05H</p><p><b> JZ XXY5</b></p><p> SUBB A,#06H</p><p><b> JZ XXY6</b></p><p>
32、 XXY1:MOV R7,41H</p><p> XXY2:MOV R7,42H</p><p> XXY3:MOV R7,43H</p><p> XXY4:MOV R7,44H</p><p> XXY5:MOV R7,45H</p><p> XXY6:MOV R7,46H</p>&
33、lt;p> INC1:INC R7</p><p> CJNE R3,#01H,L1</p><p> MOV 51H,R7</p><p> L1:CJNE R3,#02H,L2</p><p> MOV 52H,R7</p><p> L2:CJNE R3,#03H,L3</p>&
34、lt;p> MOV 53H,R7</p><p> L3:CJNE R3,#04H,L4</p><p> MOV 54H,R7</p><p> L4:CJNE R3,#05H,L5</p><p> MOV 55H,R7</p><p> L5:CJNE R3,#06H,LL</p>
35、<p> MOV 56H,R7</p><p> LL:ACALL DELAY1</p><p> AJMP INT1SUB</p><p> DEC1:DEC R7</p><p> ACALL DELAY1</p><p> AJMP INT1SUB</p><p>
36、 BACK1:RETI</p><p> COUNT: MOV R0,#00H</p><p> MOV TH1,#3CH</p><p> MOV TL1,#0B0H</p><p> RECOUNT:MOV A,R6</p><p> MOV B,#0AH</p><p><
37、;b> DIV AB</b></p><p><b> MOV 30H,A</b></p><p><b> MOV 31H,B</b></p><p> MOV R5,30H </p><p> MOV R4,31H </p><p><b
38、> MOV A,R6</b></p><p> SUBB A,#07H</p><p> JNC LARGER</p><p><b> MOV A,R0</b></p><p> CJNE A,#0AH,FULL</p><p><b> CLR RING
39、</b></p><p> AJMP CHECK</p><p> FULL:CJNE A,#14H,CHECK</p><p><b> SETB RING</b></p><p><b> MOV A,R6</b></p><p><b>
40、 JZ QUIT </b></p><p> MOV R0,#00H</p><p><b> DEC R6</b></p><p> AJMP CHECK</p><p> LARGER: MOV A,R0</p><p> CJNE A,#14H,CHECK</p&
41、gt;<p><b> DEC R6</b></p><p> MOV R0,#00H</p><p> CHECK: JNB P1.7,QUIT </p><p> ACALL DISPLAY</p><p> JB OK,ACCOUT</p><p> AJMP RE
42、COUNT</p><p> ACCOUT:JNB P1.1,TRUE1</p><p> JNB P1.2,TRUE2</p><p> JNB P1.3,TRUE3</p><p> JNB P1.4,TRUE4</p><p> JNB P1.5,TRUE5</p><p>
43、JNB P1.6,TRUE6</p><p> AJMP RECOUNT</p><p> QUIT:CLR OK </p><p><b> CLR RING</b></p><p> AJMP START</p><p> TRUE1: ACALL BARK</p>&
44、lt;p><b> MOV A,R2</b></p><p><b> MOV R6,A</b></p><p> MOV R3,#01H</p><p> MOV R7,41H</p><p><b> CLR OK</b></p><p&
45、gt; AJMP COUNT</p><p> TRUE2:ACALL BARK;</p><p><b> MOV A,R2</b></p><p><b> MOV R6,A</b></p><p> MOV R3,#02H</p><p> MOV R7,4
46、2H</p><p><b> CLR OK</b></p><p> AJMP COUNT</p><p> TRUE3:ACALL BARK;</p><p><b> MOV A,R2</b></p><p><b> MOV R6,A</b&
47、gt;</p><p> MOV R3,#03H</p><p> MOV R7,43H</p><p><b> CLR OK</b></p><p> AJMP COUNT</p><p> TRUE4:ACALL BARK;</p><p><b>
48、; MOV A,R2</b></p><p><b> MOV R6,A</b></p><p> MOV R3,#04H</p><p> MOV R7,44H</p><p><b> CLR OK</b></p><p> AJMP COUNT&
49、lt;/p><p> TRUE5:ACALL BARK;</p><p><b> MOV A,R2</b></p><p><b> MOV R6,A</b></p><p> MOV R3,#05H</p><p> MOV R7,45H</p>&l
50、t;p><b> CLR OK</b></p><p> AJMP COUNT</p><p> TRUE6:ACALL BARK;</p><p><b> MOV A,R2</b></p><p><b> MOV R6,A</b></p>&
51、lt;p> MOV R3,#06H</p><p> MOV R7,46H</p><p><b> CLR OK</b></p><p> AJMP COUNT</p><p> ERROR:MOV R0,#00H</p><p> MOV TH1,#3CH</p>
52、<p> MOV TL1,#0B0H</p><p> MOV 34H,R3</p><p> HERE: MOV A,R0</p><p> CJNE A,#0AH,FLASH </p><p><b> CLR RING</b></p><p> MOV R3,#0A
53、H</p><p> MOV R4,#0AH</p><p> MOV R5,#0AH</p><p> AJMP CHECK1</p><p> FLASH:CJNE A,#14H,CHECK1</p><p><b> SETB RING</b></p><p&g
54、t; MOV R0,#00H</p><p> MOV R3,34H</p><p> MOV R5,#0BH</p><p> MOV R4,#0BH</p><p> AJMP CHECK1</p><p> CHECK1:JNB P1.7,QUIT1</p><p> ACA
55、LL DISPLAY</p><p><b> AJMP HERE</b></p><p> QUIT1: CLR RING</p><p><b> CLR OK</b></p><p> AJMP START</p><p> DISPLAY:MOV 41H,5
56、1H</p><p> MOV 42H,52H</p><p> MOV 43H,53H</p><p> MOV 44H,54H</p><p> MOV 45H,55H</p><p> MOV 46H,56H</p><p> MOV DPTR,#DAT1</p>
57、<p><b> MOV A,r5</b></p><p> MOVC A,@A+DPTR</p><p> MOV P2,#01H</p><p><b> MOV P0,A</b></p><p> ACALL DELAY</p><p> MOV
58、 DPTR,#DAT2</p><p><b> MOV A,r4</b></p><p> MOVC A,@A+DPTR</p><p> MOV P2,#02H</p><p><b> MOV P0,A</b></p><p> ACALL DELAY<
59、/p><p><b> MOV A,r3</b></p><p> MOVC A,@A+DPTR</p><p> MOV P2,#04H</p><p><b> MOV P0,A</b></p><p> ACALL DELAY</p><p&g
60、t;<b> MOV A,R7</b></p><p> MOVC A,@A+DPTR</p><p> MOV P2,#08H</p><p><b> MOV P0,A</b></p><p> ACALL DELAY</p><p><b> RE
61、T</b></p><p> DAT1:DB 00H,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H</p><p> DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H</p><p> DELAY1: MOV 35H,#08H</p>
62、<p> LOOP0: ACALL DISPLAY</p><p> DJNZ 35H,LOOP0</p><p><b> RET</b></p><p> DELAY: MOV 32H,#12H</p><p> LOOP: MOV 33H,#0AFH</p><p
63、> LOOP1: DJNZ 33H,LOOP1</p><p> DJNZ 32H,LOOP</p><p><b> RET</b></p><p> BARK: SETB RING</p><p> ACALL DELAY1</p><p> ACALL DELAY1&
64、lt;/p><p><b> CLR RING</b></p><p><b> RET</b></p><p> T0INT: MOV TH0,#0ECH</p><p> MOV TL0,#0FFH</p><p> JNB RING,OUT;</p>
65、<p><b> CPL P3.6</b></p><p> OUT: RETI</p><p> T1INT: MOV TH1,#3CH</p><p> MOV TL1,#0B0H</p><p><b> INC R0</b></p><p&
66、gt;<b> RETI</b></p><p><b> END</b></p><p><b> 設(shè)計(jì)總結(jié)</b></p><p> 通過本次設(shè)計(jì)我學(xué)會(huì)了使用Proteus軟件的基本操作,給我最大的教訓(xùn)就是在時(shí)間的過程中一定要認(rèn)真仔細(xì),在調(diào)試中很多問題就是因?yàn)榇中脑斐傻摹?lt;/p>
67、;<p> 這次課程設(shè)計(jì)中,我們學(xué)習(xí)到了許多關(guān)于實(shí)踐的東西,這些在書本上無法學(xué)到。我們?cè)谡n程設(shè)計(jì)過程中,需要對(duì)單片機(jī)AT89C51的性能及工作原理與一定程度的了解,需要自己上網(wǎng)查資料,了解它的相關(guān)參數(shù),以便應(yīng)用。雖然在課堂上學(xué)過不少設(shè)計(jì)的實(shí)例,但在實(shí)際操作中還是有一定的困難,這是我們?nèi)狈?shí)踐的原因所致。應(yīng)該經(jīng)常參與實(shí)踐,才能對(duì)自己所學(xué)到的東西有更好的應(yīng)用。</p><p> 在課程設(shè)計(jì)過程中,我
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智力搶答器單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--智力搶答器
- 智力搶答器單片機(jī)課程設(shè)計(jì).doc
- 單片機(jī)搶答器課程設(shè)計(jì) --搶答器
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)智力競(jìng)賽搶答器設(shè)計(jì)
- 單片機(jī)搶答器課程設(shè)計(jì)
- 單片機(jī)搶答器課程設(shè)計(jì)
- 單片機(jī)搶答器課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---搶答器
- 搶答器 單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì) ---多人比賽智力搶答器系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)搶答器(16路搶答器)
- 單片機(jī)課程設(shè)計(jì)多路搶答器
- 單片機(jī)搶答器課程設(shè)計(jì)3
- 搶答器單片機(jī)課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)--八路智力競(jìng)賽搶答器
- 單片機(jī)課程設(shè)計(jì)--搶答器系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-- 基于單片機(jī)的搶答器設(shè)計(jì)
- 四路搶答器單片機(jī)課程設(shè)計(jì)
- 四路搶答器單片機(jī)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論