2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩17頁未讀 繼續(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>  《單片機(jī)原理及應(yīng)用》</p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  學(xué) 院: 源與動(dòng)力工程學(xué)院__</p><p>  班 級(jí):______建電1001_____</p><p><b>  目 錄</b></p><p>

2、<b>  任務(wù)書1</b></p><p>  第一章方案設(shè)計(jì)2</p><p>  第二章硬件系統(tǒng)設(shè)計(jì)3</p><p>  第三章軟件設(shè)計(jì)4</p><p>  第四章系統(tǒng)調(diào)試5</p><p><b>  小 結(jié)6</b></p>

3、<p><b>  附錄1:原理圖7</b></p><p><b>  附錄2:源程序8</b></p><p><b>  任務(wù)書</b></p><p>  題 目:基于單片機(jī)的8組搶答器設(shè)計(jì)</p><p>  設(shè)計(jì)要求:(1)搶答人數(shù)為八組,即有八

4、個(gè)搶答按鍵,以及主持人復(fù)位按鈕。</p><p> ?。?)每次搶答有聲音提示,提示顯示搶答組號(hào)。</p><p><b>  方案設(shè)計(jì)</b></p><p>  主要設(shè)計(jì)內(nèi)容如圖所示</p><p>  復(fù)位電路:當(dāng)一輪進(jìn)行完時(shí),由主持人按下,下一輪開始,復(fù)位電路接P3.2口。</p><p>

5、;  獨(dú)立式按鍵鍵盤:用于輸入高低電平,連接到P2口,由P2口檢測(cè)電平的變化。</p><p>  選手組別顯示電路:有1位數(shù)碼管組成,顯示成功搶答選手編號(hào)。</p><p>  蜂鳴電路:有選手搶答成功,P3.5口發(fā)出脈沖,使蜂鳴器發(fā)出聲音。</p><p><b>  硬件系統(tǒng)設(shè)計(jì)</b></p><p><b

6、>  一 單片機(jī)最小系統(tǒng)</b></p><p>  微控制器采用AT89C51。AT89C51是美國(guó)ATMEL公司生產(chǎn)的與MCS-51系列單片機(jī)完全兼容的高性能CMOS 8位單片機(jī),MCS-51系列單片機(jī)以其推出時(shí)間早、配套資源豐富、開發(fā)手段完善、性價(jià)比高等特點(diǎn)而得到了廣泛的應(yīng)用,是單片機(jī)的主流品種。</p><p>  AT89C51的內(nèi)部資源主要包括:</p&

7、gt;<p>  ·與MCS--51 系列完全兼容的高性能8位CPU;</p><p>  ·4K字節(jié)可重復(fù)編程的Flash存儲(chǔ)器;</p><p>  ·256字節(jié)的SRAM;</p><p>  ·4個(gè)8位的并行口,共32條I/O口線;</p><p>  ·3個(gè)16位的定時(shí)

8、器/計(jì)數(shù)器;</p><p>  ·6個(gè)中斷源,2個(gè)中斷優(yōu)先級(jí)的中斷系統(tǒng);</p><p>  ·一個(gè)全雙工的串行口;</p><p><b>  ·內(nèi)部振蕩器;</b></p><p><b>  ·可編程串行通道 </b></p><p

9、>  ·低功耗的閑置和掉電模式 </p><p>  ·片內(nèi)振蕩器和時(shí)鐘電路</p><p>  其最小系統(tǒng)主要包括復(fù)位電路等,如下圖所示。</p><p>  二 硬件電路設(shè)計(jì)說明</p><p>  1 復(fù)位電路設(shè)計(jì):本設(shè)計(jì)采用按鍵復(fù)位的方式進(jìn)行復(fù)位,把SW1連接到P3.2,通過撥動(dòng)SW1來改變高低電平,從而進(jìn)行

10、復(fù)位。</p><p>  2獨(dú)立式按鍵鍵盤設(shè)計(jì):鍵盤接口中使用多少根I/O線,鍵盤中就有幾個(gè)按鍵,鍵盤接口使用了8根I/O口線,該鍵盤就有8個(gè)按鍵,這種類型的鍵盤,其按鍵比較少,且鍵盤中各按鍵的工作互不干擾。因此可以根據(jù)實(shí)際需要對(duì)鍵盤中的按鍵靈活的編碼。本設(shè)計(jì)將P2口連接到按鍵鍵盤,搶答時(shí)高低電平發(fā)生變化。</p><p>  3 顯示電路設(shè)計(jì):利用ZLG7290進(jìn)行數(shù)碼管顯示。將P3.

11、0和SDA連接,P3.1和SCL連接,P3.7和/RST連接。</p><p>  4 蜂鳴器電路設(shè)計(jì):聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機(jī)某個(gè)口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的巨型波,接上喇叭就能發(fā)出一定頻率的聲音。本設(shè)計(jì)將蜂鳴器與P3.5口連接,在選手搶答時(shí),驅(qū)動(dòng)蜂鳴器工作。</p><p><b>  軟件設(shè)計(jì)</b>

12、</p><p>  系統(tǒng)軟件分為主程序、中斷服務(wù)程序和子程序三部分。搶答器的電路設(shè)計(jì)需要兩個(gè)循環(huán),當(dāng)沒有準(zhǔn)備好的時(shí)候不能搶答,這里需要一個(gè)循環(huán),知道準(zhǔn)備好之后才能進(jìn)行下面的程序。第二個(gè)循環(huán)是選手的搶答循環(huán),利用標(biāo)志位來進(jìn)行,當(dāng)標(biāo)志位為零時(shí),則向下運(yùn)行,進(jìn)行顯示電路和蜂鳴器的工作,若是標(biāo)志位不為零,則一個(gè)一個(gè)的循環(huán)八個(gè)選手,直到 有人搶答為止。</p><p><b>  系統(tǒng)調(diào)

13、試</b></p><p>  說明調(diào)試中遇到的問題集解決方案</p><p>  1 程序編寫完成運(yùn)行沒有錯(cuò)誤后,進(jìn)行了調(diào)試,但是第一次調(diào)試時(shí)什么效果都沒有。我就考慮到不是程序上的錯(cuò)誤,那就肯定是接線上的錯(cuò)誤。查看了接線,果然是把P1口和P2口接反了。</p><p>  2 修改接線之后,數(shù)碼管不亮,經(jīng)過老師講解才知道,我們要想點(diǎn)亮數(shù)碼管,必須使用Z

14、LG7290。于是我在程序中又插入了這段程序,使數(shù)碼管點(diǎn)亮。</p><p>  3 修改完第二個(gè)錯(cuò)誤之后,我的搶答器終于工作了,但是還是有問題,按鍵、LED燈、數(shù)碼管顯示效果不對(duì)應(yīng),總是反在里面。因?yàn)榘l(fā)現(xiàn)按動(dòng)一號(hào)鍵是八號(hào)燈亮,而按動(dòng)八號(hào)鍵是一號(hào)燈亮,在排除接線錯(cuò)誤之后。我發(fā)現(xiàn)是在循環(huán)的那一部分出現(xiàn)了問題,把驅(qū)動(dòng)LED的編碼寫反了,修正了之后搶答器終于正確工作了。</p><p><

15、b>  小 結(jié)</b></p><p>  這次課程設(shè)計(jì)老師給我們安排了一個(gè)星期的時(shí)間,可以說是比較充裕的。雖然如此,我還是很用心的做設(shè)計(jì)程序,剛拿到題目,感覺太繁雜了,不知怎么下手,雖然這些知識(shí)以前都有接觸過,但也只是分部分來接觸,而這次的設(shè)計(jì)是要對(duì)前面幾次實(shí)驗(yàn)的一個(gè)綜合,真的很難。也翻閱了一些資料,到圖書館翻閱了很多資料,可是還是一片空白,于是也在網(wǎng)上參考一些個(gè)程序,然后自己事先編寫好了程

16、序,到了周一去到機(jī)房時(shí)候,把自己寫的程序燒進(jìn)去芯片里面,發(fā)現(xiàn)不行,才知是我把段碼地址搞錯(cuò)了,所以不能在數(shù)碼管上正常顯示。通過運(yùn)用單片機(jī)設(shè)計(jì)八路搶答器程設(shè)計(jì),發(fā)現(xiàn)自己的很多不足,自己知識(shí)的很多漏洞,看到了自己的實(shí)踐經(jīng)驗(yàn)還是比較缺乏,理論聯(lián)系實(shí)際的能力還急需提高。</p><p><b>  附錄1:原理圖</b></p><p><b>  附錄2:源程序&l

17、t;/b></p><p>  OK BIT 20H</p><p>  KEY EQU 30H</p><p>  KEY1 BIT P2.0</p><p>  KEY2 BIT P2.1</p><p>  KEY3 BIT P2.2</p><p>  KEY4 BIT P2.3&

18、lt;/p><p>  KEY5 BIT P2.4</p><p>  KEY6 BIT P2.5</p><p>  KEY7 BIT P2.6</p><p>  KEY8 BIT P2.7</p><p>  RING BIT P3.5</p><p>  SDA BIT P3.0</p

19、><p>  SCL BIT P3.1</p><p>  RST BIT P3.6</p><p>  MTDEQU 63H</p><p>  ZLG7290EQU70H</p><p>  ACKBIT10H</p><p>  SLADATA60H</p&

20、gt;<p>  SUBADATA61H</p><p>  NUMBYTEDATA62H</p><p>  ORG 000H</p><p>  SJMP MAIN</p><p>  ORG 003H</p><p>  LJMP INT_0</p><

21、;p>  ORG 030H</p><p>  MAIN :SETB EA</p><p><b>  SETB EX0</b></p><p><b>  SETB IT0</b></p><p><b>  CLR OK</b></p>

22、<p>  CLR RING</p><p>  LCALL RE7290</p><p>  DD:JNB OK,$ </p><p>  D0: MOV A,P2</p><p>  CJNE A,#0FFH,D1 </p><p><b>  SJMP D0&

23、lt;/b></p><p>  D1: JB ACC.0,D2</p><p>  MOV KEY,#1</p><p>  MOV P1,#0FEH</p><p>  SETB RING</p><p><b>  SJMP D9</b></p>&l

24、t;p>  D2:JB ACC.1,D3</p><p>  MOV KEY,#2</p><p>  MOV P1,#0FDH</p><p>  SETB RING</p><p><b>  SJMP D9</b></p><p>  D3: JB ACC.2,

25、D4</p><p>  MOV KEY,#3</p><p>  MOV P1,#0FBH</p><p>  SETB RING</p><p><b>  SJMP D9</b></p><p>  D4:JB ACC.3,D5</p><p>  

26、MOV KEY,#4</p><p>  MOV P1,#0F7H</p><p>  SETB RING</p><p><b>  SJMP D9</b></p><p>  D5:JB ACC.4,D6</p><p>  MOV KEY,#5</p>&

27、lt;p>  MOV P1,#0EFH</p><p>  SETB RING</p><p><b>  SJMP D9</b></p><p>  D6: JB ACC.5,D7</p><p>  MOV KEY,#6</p><p>  MOV P1,#0DFH

28、</p><p>  SETB RING</p><p><b>  SJMP D9</b></p><p>  D7: JB ACC.6,D8</p><p>  MOV KEY,#7</p><p>  MOV P1,#0BFH</p><p>  S

29、ETB RING</p><p><b>  SJMP D9</b></p><p>  D8: JB ACC.7,D9</p><p>  MOV KEY,#8</p><p>  MOV P1,#07FH</p><p>  SETB RING</p><

30、;p><b>  SJMP D9</b></p><p>  D9: CLR OK</p><p>  MOV 66H,KEY</p><p>  LCALL LEDDISP</p><p><b>  LJMP DD </b></p><p>  INT

31、_0:SETB OK</p><p>  CLR RING</p><p>  MOV P1,#0FFH</p><p>  MOV KEY,#0</p><p>  MOV 66H,KEY</p><p>  LCALL LEDDISP</p><p><b>  

32、RETI</b></p><p>  leddisp:push psw</p><p><b>  push acc</b></p><p><b>  setb rs1</b></p><p><b>  setb rs0</b></p>&

33、lt;p>  mov r0,#66H</p><p>  mov r4,#8</p><p>  mov r5,#60h</p><p>  loop: MOV MTD,R5</p><p>  MOV MTD+1,@R0</p><p>  MOV SLA,#70H</p>

34、;<p>  MOV SUBA,#07H</p><p>  MOV NUMBYTE,#02H</p><p>  LCALL IWRNBYTE</p><p>  LCALL DELY1</p><p><b>  INC R0</b></p><p><b>

35、;  INC R5</b></p><p>  DJNZ R4,LOOP</p><p><b>  POP ACC</b></p><p><b>  POP PSW</b></p><p><b>  RET</b></p><

36、p>  re7290: clr rst</p><p>  lcall dely</p><p><b>  setb rst</b></p><p>  lcall dely</p><p><b>  ret</b></p><p>  dely :mov

37、 r7,#80H</p><p>  min :djnz r7,ys500 </p><p><b>  ret</b></p><p>  ys500 :lcall ys500us</p><p>  ljmp min</p><p>  ys500us:mov

38、r6,#80h</p><p>  djnz r6,$</p><p><b>  ret</b></p><p>  dely1 :mov r7,#40h</p><p>  djnz r7,$</p><p><b>  ret</b></p>&

39、lt;p>  ;啟動(dòng)I2C總線子程序 </p><p>  START: nop</p><p><b>  nop</b></p><p><b>  nop</b></p><p><b>  SETB SDA</b></p><

40、p><b>  NOP</b></p><p>  SETB SCL ;起始條件建立時(shí)間大于4.7us</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b>

41、</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  CLR SDA </p><p>  NOP ;起始條件鎖定時(shí)大于4us</p><p><b>  NOP<

42、;/b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  CLR SCL ;鉗住總線,準(zhǔn)備發(fā)數(shù)據(jù)</p><p><b

43、>  NOP</b></p><p><b>  nop</b></p><p><b>  nop</b></p><p><b>  RET</b></p><p><b>  ;結(jié)束總線子程序</b></p><

44、p>  STOP: NOP</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  CLR SDA</p><p><b>  NOP</b></p><p>  SETB SC

45、L ;發(fā)送結(jié)束條件的時(shí)鐘信號(hào)</p><p>  NOP ;結(jié)束總線時(shí)間大于4us</p><p>  NOP </p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>

46、;<b>  NOP</b></p><p>  SETB SDA ;結(jié)束總線</p><p>  NOP ;保證一個(gè)終止信號(hào)和起始信號(hào)的空閑時(shí)間大于4.7us</p><p><b>  NOP</b></p><p><b

47、>  NOP</b></p><p><b>  NOP</b></p><p><b>  nop</b></p><p><b>  nop</b></p><p><b>  RET</b></p><p>

48、<b>  ;檢查應(yīng)答位子程序</b></p><p>  ;返回值,ACK=1時(shí)表示有應(yīng)答</p><p><b>  CACK:NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p>

49、<p><b>  SETB SDA</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  SETB SCL</b></p><p><b>  CLR

50、ACK</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  MOV C,SDA</p><p>  JC CEND</p><p>  SETB ACK ;判斷

51、應(yīng)答位</p><p><b>  CEND:NOP</b></p><p><b>  CLR SCL</b></p><p><b>  NOP</b></p><p><b>  nop</b></p><p><

52、b>  nop</b></p><p><b>  RET</b></p><p><b>  ;發(fā)送字節(jié)子程序</b></p><p>  ;字節(jié)數(shù)據(jù)放入ACC </p><p>  ;每發(fā)送一字節(jié)要調(diào)用一次CACK子程序,取應(yīng)答位 </p

53、><p>  WRBYTE: MOV R7,#08H</p><p>  WLP: RLC A ;取數(shù)據(jù)位</p><p><b>  JC WR1</b></p><p>  SJMP WR0 ;判斷數(shù)據(jù)位</p><p>

54、;  WLP1: DJNZ R7,WLP</p><p><b>  NOP</b></p><p><b>  RET</b></p><p>  WR1: SETB SDA ;發(fā)送1</p><p><b>  NOP</b><

55、;/p><p><b>  SETB SCL</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP&l

56、t;/b></p><p><b>  NOP</b></p><p><b>  CLR SCL</b></p><p>  SJMP WLP1</p><p>  WR0: CLR SDA ;發(fā)送0</p><p><

57、b>  NOP</b></p><p><b>  SETB SCL</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p>&l

58、t;p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  CLR SCL</b></p><p>  SJMP WLP1</p><p>  ;向器件指定子地址寫N字節(jié)數(shù)據(jù)</p><p> 

59、 ;入口參數(shù): 器件從地址SLA、器件子地址SUBA 、發(fā)送數(shù)據(jù)緩沖區(qū)MTD、發(fā)送字節(jié)數(shù)NUMBYTE</p><p>  ; 占用: A 、R0 、R1 、R3 、CY </p><p>  IWRNBYTE: MOV A,NUMBYTE</p><p>  MOV R3,A</p><p>  LCALL START

60、 ;起動(dòng)總線</p><p>  MOV A,SLA</p><p>  LCALL WRBYTE ;發(fā)送器件從地址 </p><p>  LCALL CACK</p><p>  JNB ACK,RETWRN ;無應(yīng)答則退出</p><p>  MOV

61、 A,SUBA ;指定子地址 </p><p>  LCALL WRBYTE</p><p>  LCALL CACK</p><p>  MOV R1,#MTD</p><p>  WRDA: MOV A,@R1</p><p>  LCALL WRBYTE

62、 ;開始寫入數(shù)據(jù)</p><p>  LCALL CACK</p><p>  JNB ACK,IWRNBYTE</p><p><b>  INC R1</b></p><p>  DJNZ R3,WRDA ;判斷寫完沒有</p><p>  RETW

溫馨提示

  • 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)論