2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論