智力搶答器單片機課程設計_第1頁
已閱讀1頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  單片機課程設計</b></p><p>  課程名稱: 單片機原理與接口技術(shù) </p><p>  實驗項目: 智力搶答器 </p><p>  第1章、設計目的、要求及方案</p><p><b>  1.1 設計目的<

2、/b></p><p>  現(xiàn)如今電視節(jié)目日益豐富其中的競賽環(huán)節(jié)也越來越多,其中智力搶答器是不可或缺的器材。在本學期學習了單片機這門課之后,我們小組成員覺得可以試著自己來實現(xiàn)搶答器的功能,令它能準確、公正、直觀地判斷出第一搶答者,并通過搶答器的數(shù)碼管顯示和蜂鳴器報警指出搶答組別。我們最終做出一種數(shù)字式搶答器的設計方案,通過Proteus設計完成,利用WAVE6000軟件編輯程序,仿真驗證,適用于多種競賽場合

3、。</p><p><b>  1.2 設計要求</b></p><p>  設計一個用于智力競賽的搶答器,其功能的實現(xiàn)是由單片機控制的,滿足</p><p> ?。?)能容許2-6組進行搶答。</p><p> ?。?)能顯示搶答組號。</p><p> ?。?)各組記分,并能記分顯示。<

4、/p><p> ?。?)比賽結(jié)束時,能發(fā)出報警聲</p><p><b>  1.3 設計方案</b></p><p>  在設計中采用的單片機是AT89C51,它主要負責控制各個部分協(xié)調(diào)工作。 P1.0和P1.7由裁判控制,分別是搶答開始和停止鍵。P1.1—P1.6是6組搶答的輸入口,按下對應按鈕即為搶答。P0口為數(shù)碼管的段選口,位選口用的是P

5、2口的低4位,外部中斷0。外部中斷1,P3.3用于控制有組答題完成后結(jié)束計時。P3.4—P3.5分別實現(xiàn)了時間的加一和減一。P3.6為蜂鳴器的控制口。外部中斷和內(nèi)部中斷并存,單片機有硬件復位端,只要輸入持續(xù)4個機器周期的高電平即可實現(xiàn)復位。外部還接有蜂鳴器用來發(fā)出報警音。采用7SEG-MPX4-CC-BLUE顯示,它是共陰極的由高電平點亮。系統(tǒng)仿真用到了WAVE6000和Proteus軟件,通過仿真可以顯示所設計系統(tǒng)的功能,對于程序的調(diào)

6、試等有很大的幫助。</p><p><b>  1.4實驗器件</b></p><p>  采用單片機AT89C51,10k的上拉電阻、若干按鈕、揚聲器、晶體振蕩器X1、電容C1和C2、帶極性的電容C3、排阻RESPACK-8以及數(shù)碼管7SEG-MPX4-CC-BLUE。</p><p><b>  1.5總體框圖</b>

7、</p><p><b>  硬件設計</b></p><p>  2.1總體設計電路圖</p><p>  整個系統(tǒng)分為:外部振蕩電路、復位電路、 加減分電路及蜂鳴器報警電路、 搶答電路及裁判控制開始停止電路、數(shù)碼管顯示電路幾個部分。</p><p><b>  2.2模塊設計電路</b><

8、/p><p>  2.1.1 單片機AT89C51簡介</p><p>  本設計的核心是單片機AT89C51。</p><p>  AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。AT89C2051是一種帶

9、2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p> 

10、 AT89C51 提供以下標準功能:4k 字節(jié)Flash 閃速存儲器,128字節(jié)內(nèi)部RAM,32 個I/O 口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直

11、到下一個硬件復位。</p><p><b>  2.2.2振蕩電路</b></p><p>  振蕩電路使用外部振蕩電路,由兩個1nF的電容和一個晶體振蕩器組成</p><p><b>  外部震蕩電路</b></p><p><b>  2.2.3復位電路</b></p

12、><p>  外部中斷和內(nèi)部中斷并存,單片機有硬件復位端,只要輸入持續(xù)4個機器周期的高電平即可實現(xiàn)復位。硬件復位后的各狀態(tài)可知寄存器及存儲器的值都恢復到了初始值。因為本設計功能中有倒計時時間的記憶功能,所以不能對單片機進行硬件復位,只能用軟復位。軟復位實際上就是當程序執(zhí)行完畢之后,將程序指針通過一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序開始。</p><p><b>  復位電路</b>

13、</p><p>  2.2.4加減分電路及蜂鳴器報警電路</p><p>  P3.3接口的開關(guān)按下意味著答題結(jié)束,P3.4接口開關(guān)表示給搶答相應組加上一分,P3.5接口開關(guān)按下表示相應組減去一分。</p><p>  裁判示意開始搶答、有組搶答成功、違規(guī)搶答、最后5s倒計時都會觸發(fā)蜂鳴器發(fā)出警報。P3.6為蜂鳴器控制口。</p><p>

14、  加減分電路及蜂鳴器報警電路</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>  允許搶答后,開始倒計時從15s知道0s。在最后5s蜂鳴器會發(fā)出警報。</p><p>  第三組搶答,答題時間有30s,在最后5s蜂鳴器會發(fā)出警報。</p><p>  若還沒有允許搶答就有人按下?lián)尨鹌?,那么蜂鳴器會發(fā)出警報,并顯示是哪一組違規(guī)搶答。如圖為第一組違規(guī)搶答</p><p>  如圖為第三組回答正

16、確加一分</p><p>  如圖為第三組回答錯誤減一分</p><p>  電路具有記憶功能,每次搶答后都能看到搶答組的分數(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>  設計總結(jié)</b></p><p>  通過本次設計我學會了使用Proteus軟件的基本操作,給我最大的教訓就是在時間的過程中一定要認真仔細,在調(diào)試中很多問題就是因為粗心造成的。</p>

67、;<p>  這次課程設計中,我們學習到了許多關(guān)于實踐的東西,這些在書本上無法學到。我們在課程設計過程中,需要對單片機AT89C51的性能及工作原理與一定程度的了解,需要自己上網(wǎng)查資料,了解它的相關(guān)參數(shù),以便應用。雖然在課堂上學過不少設計的實例,但在實際操作中還是有一定的困難,這是我們?nèi)狈嵺`的原因所致。應該經(jīng)常參與實踐,才能對自己所學到的東西有更好的應用。</p><p>  在課程設計過程中,我

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論