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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)說(shuō)明書(shū)</b></p><p>  課程設(shè)計(jì)名稱(chēng) 單片機(jī)原理課程設(shè)計(jì) </p><p>  專(zhuān) 業(yè) 電氣工程及其自動(dòng)化 </p><p>  班 級(jí)

2、 </p><p>  學(xué) 生 姓 名 </p><p>  指 導(dǎo) 教 師 </p><p><b>  2013年1月7日</b></p&

3、gt;<p><b>  課程設(shè)計(jì)任務(wù)書(shū)</b></p><p>  1 設(shè)計(jì)內(nèi)容:電子琴</p><p><b>  2 任務(wù)及要求:</b></p><p>  設(shè)計(jì)一個(gè)51單片機(jī)系統(tǒng),實(shí)現(xiàn)簡(jiǎn)易電子琴操作的電路。</p><p><b>  要求:</b>&l

4、t;/p><p>  1.設(shè)計(jì)51單片機(jī)最小系統(tǒng);</p><p>  2.設(shè)置至少10個(gè)按鍵,能發(fā)出do re mi fa sol la si do;</p><p><b>  能播放示范曲; </b></p><p>  3.能夠調(diào)節(jié)低音、高音和中音。</p><p><b>  3

5、總體設(shè)計(jì)方案:</b></p><p>  1)定時(shí)/計(jì)數(shù)器的設(shè)計(jì)和狀態(tài)字定義:</p><p>  若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)半周期時(shí)間,每當(dāng)計(jì)時(shí)終止后就將P1.0反相,然后重復(fù)計(jì)時(shí)再反相。就可在P1.0引腳上得到此頻率的脈沖。利用AT89C51的內(nèi)部定時(shí)器使其工作計(jì)數(shù)器模式(MODE1)下,改變計(jì)

6、數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階,例如,頻率為523Hz,其周期T=1/523=1912μs,因此只要令計(jì)數(shù)器計(jì)時(shí)956μs/1μs=956,每計(jì)數(shù)956次時(shí)將I/O反相,就可得到中音DO(523Hz)。計(jì)數(shù)脈沖值與頻率的關(guān)系式是:N=fi÷2÷fr,式中,N是計(jì)數(shù)值;fi是機(jī)器頻率(晶體振蕩器為12MHz時(shí),其頻率為1MHz);fr是想要產(chǎn)生的頻率。其計(jì)數(shù)初值T的求法如下:T=65536-N=65

7、536-fi÷2÷fr</p><p>  例如:設(shè)K=65536,fi=1MHz,求中音DO(261Hz)。T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr,中音DO的T=65536-500000/523=64580。</p><p>  單片機(jī)12MHZ晶振,

8、中音符與計(jì)數(shù)T0相關(guān)的計(jì)數(shù)值如表所示:</p><p>  采用查表程序進(jìn)行查表時(shí),可以為這個(gè)音符建立一個(gè)表格,有助于單片機(jī)通過(guò)查表的方式來(lái)獲得相應(yīng)的數(shù)據(jù):低音0-19之間,中音在20-39之間,高音在40-59之間,用單片機(jī)播放音樂(lè),或者彈奏電子琴,實(shí)際上是按照特定的頻率,輸出一連串的方波。為了輸出合適的方波,首先應(yīng)該知道音符與頻率的關(guān)系。</p><p>  2)音名主要分成低音、中

9、音和高音三個(gè)區(qū)域,每個(gè)區(qū)域都有12個(gè)琴鍵。其中的白鍵,簡(jiǎn)譜音符標(biāo)為1、2、3、4、5、6、7,大家一般都讀成哆、來(lái)、咪、發(fā)、嗦、拉、西。</p><p>  3)音調(diào)數(shù)據(jù)表 單片機(jī)發(fā)出不同頻率的方波,人聽(tīng)起來(lái),就是不同的音調(diào)。上表中的頻率數(shù)值,有些過(guò)多,去掉不常用的黑鍵頻率,只是把白鍵對(duì)應(yīng)的數(shù)據(jù)存放在單片機(jī)中,即可滿足絕大部分的應(yīng)用需求。定義音調(diào)數(shù)據(jù)表的程序如下: DW 63628,63835,64

10、021,64103,64260,64400,64524 ;64580,低音區(qū):1 2 3 4 5 6 7 DW 64580,64671,64777,64820,64898,64968,65030 65058中音區(qū):1 2 3 4 5 6 7 DW 65058,65110,65157,65178,65217,65252,65283 65312高音區(qū):1 2 3 4 5 6 7</p><p>  把這個(gè)數(shù)據(jù)表

11、,放在程序中,需要播音的時(shí)候,就從表中取出一個(gè)數(shù)據(jù)送到定時(shí)器,當(dāng)定時(shí)器溢出中斷的時(shí)候,再對(duì)輸出引腳取反,那么,在揚(yáng)聲器中,即可聽(tīng)到上表中頻率的聲音。</p><p>  音樂(lè)的音拍,一個(gè)節(jié)拍為單位(C調(diào))</p><p><b>  4、系統(tǒng)硬件設(shè)計(jì):</b></p><p><b>  1)晶振部分</b></p&

12、gt;<p>  本次采用12MHZ晶振,機(jī)器周期為1us,連接兩個(gè)30pF的電容,連接到AT89C51的XATL1,XATL2 上面,連接電路圖如下:</p><p>  2)音頻輸出  本次只是簡(jiǎn)單的使用一個(gè)蜂鳴器連接到AT89C51的p1.0口上</p><p>  3)高、中、低及音樂(lè)播放鍵:檢測(cè)高中低是否按下,來(lái)跳轉(zhuǎn)到音階鍵上輸出不同頻率的音階音,檢測(cè)播放是否按下,

13、跳轉(zhuǎn)到示范曲目播放</p><p><b>  4)AT89C51</b></p><p>  AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱(chēng)單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀

14、存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 </p><p>  1.主要特性:·與MCS-51 兼容 

15、83;4K字節(jié)可編程閃爍存儲(chǔ)器 ·壽命:1000寫(xiě)/擦循環(huán)·數(shù)據(jù)保留時(shí)間:10年·全靜態(tài)工作:0Hz-24Hz·三級(jí)程序存儲(chǔ)器鎖定·128*8位內(nèi)部RAM·32可編程I/O線·兩個(gè)16位定時(shí)器/計(jì)數(shù)器·5個(gè)中斷源 ·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時(shí)鐘電路 </p><

16、;p><b>  5)音階鍵部分</b></p><p><b>  設(shè)計(jì)電路總體圖樣</b></p><p>  5、 系統(tǒng)軟件設(shè)計(jì):</p><p><b>  1)音階鍵識(shí)別</b></p><p><b>  N</b></p>

17、<p><b>  Y</b></p><p><b>  Y</b></p><p><b>  N</b></p><p><b>  Y</b></p><p><b>  N</b></p><

18、p>  Y N</p><p><b>  Y</b></p><p><b>  N</b></p><p><b>  Y</b></p><p><b>  N </b></p><

19、p><b>  N</b></p><p><b>  Y</b></p><p><b>  返回</b></p><p><b>  6、程序清單:</b></p><p>  KEYBUF EQU 30H </p><p&g

20、t;  STH0 EQU 31H </p><p>  STL0 EQU 32H </p><p>  DELY EQU 33H</p><p>  NUM EQU 34H </p><p><b>  ORG 0000H</b></p><p>  AJMP MAIN ;跳轉(zhuǎn)到主函數(shù)<

21、/p><p><b>  ORG 000BH</b></p><p>  LJMP INT_T0 ;音樂(lè)輸出口</p><p><b>  ORG 0040H</b></p><p>  MAIN: MOV TMOD,#01H ;寫(xiě)出計(jì)時(shí)器控制字,T0方式計(jì)時(shí)</p><p>

22、  SETB EA ;開(kāi)中斷總開(kāi)關(guān)</p><p>  SETB ET0 ;允許T0中斷</p><p>  MOV NUM,#01H;;num置1</p><p>  MOV R1,#00H</p><p>  TEST: ;低音檢測(cè)</p><p>  ANL TH0,#00H ;高位清

23、零</p><p>  ANL TL0,#00H ;低位清零</p><p>  MOV A,P2 ;P2進(jìn)入</p><p>  CJNE A,#0FEH,TEST1 ;檢測(cè)P2.0口低音鍵是否按下</p><p>  MOV DPTR,#TABLE1 ;低音鍵按下,進(jìn)入低音表地址</p><p>  A

24、JMP WAIT ;跳轉(zhuǎn)到音階檢測(cè)</p><p>  TEST1: ;中音檢測(cè)</p><p>  CJNE A,#0FDH,TEST2 ;檢測(cè)P2.0中音鍵是否按下</p><p>  MOV DPTR,#TABLE2 ;中音鍵按下,進(jìn)入中音表地址</p><p>  AJMP WAIT </p>

25、<p>  TEST2: ;高音檢測(cè)</p><p>  CJNE A,#0FBH,TEST3 ;檢測(cè)P2.0口高音鍵是否按下</p><p>  MOV DPTR,#TABLE3 ;高音鍵按下,進(jìn)入高音表地址</p><p>  AJMP WAIT </p><p>  TEST3: ;音樂(lè)播放檢

26、測(cè)</p><p>  CJNE A,#0F7H,TEST4 ;檢測(cè)音樂(lè)播放鍵是否按下 若有按下則轉(zhuǎn)至EXIT</p><p>  LCALL DELAY10MS ;軟件延時(shí)消抖</p><p><b>  MOV A,P2</b></p><p>  CJNE A,#0F7H,TEST4 ;檢測(cè)播放鍵是否再次按

27、下</p><p><b>  MOV A,NUM</b></p><p>  CJNE A,#01H,EXIT ;檢測(cè)高低中是否再次按下</p><p>  MOV NUM,#00H</p><p>  MOV DPTR,#TABLE4 ;進(jìn)入音樂(lè)播放表</p><p>  AJMP WA

28、IT1 ;跳轉(zhuǎn)至音樂(lè)播放入口</p><p>  EXIT:CLR TR0 ;計(jì)數(shù)器停止,音樂(lè)播放結(jié)束</p><p>  MOV R1,#00H ;清零</p><p>  MOV NUM,#01H</p><p>  TEST4: MOV A,NUM</p><p>  CJNE A,#01H,W

29、AIT2 </p><p>  LJMP TEST ;跳轉(zhuǎn)至TEST重新檢測(cè)</p><p>  WAIT2:LJMP WAIT1 ;跳轉(zhuǎn)至音樂(lè)播放入口</p><p>  WAIT: CLR TR0 </p><p>  MOV NUM,#01H</p><p>  SCAN1:

30、MOV P3,#0F0H;音階按鍵檢測(cè)程序入口</p><p><b>  CLR TR0</b></p><p><b>  MOV A,P3;</b></p><p>  ANL A,#0F0H</p><p>  CJNE A,#0F0H,TEE1</p><p>

31、  AJMP TEST ;跳轉(zhuǎn)至TEST重新檢測(cè)</p><p>  TEE1:LCALL DELAY10MS ;軟件延時(shí)消抖</p><p>  CJNE A,#0F0H,TEE2</p><p><b>  AJMP TEST</b></p><p>  TEE2:MOV A,#0FEH<

32、/p><p>  SCAN2:MOV P3,A</p><p><b>  MOV A,P3</b></p><p><b>  MOV B,A</b></p><p>  ANL A,#0F0H</p><p>  CJNE A,#0F0H,CARRY</p>

33、<p><b>  MOV A,B</b></p><p><b>  RL A</b></p><p>  CJNE A,#0BFH,SCAN2</p><p>  LJMP SCAN1</p><p>  CARRY: ANL B,#0FH ;鍵值處理</p>

34、<p><b>  ORL A,B</b></p><p>  CJNE A,#0EEH,KEY1 ;檢測(cè)音符鍵1是否按下</p><p>  MOV KEYBUF,#00H ;賦予鍵值</p><p>  LJMP WAI ;調(diào)至按鍵處理程序</p><p>  KEY1:CJ

35、NE A,#0EDH,KEY2 ;檢測(cè)音符鍵2是否按下</p><p>  MOV KEYBUF,#02H ;賦予鍵值 </p><p>  LJMP WAI ;調(diào)至按鍵處理程序 </p><p>  KEY2: CJNE A,#0EBH,KEY3 ;檢測(cè)音符鍵3是否按下</p><p>  MOV K

36、EYBUF,#04H ;賦予鍵值</p><p>  LJMP WAI ;調(diào)至按鍵處理程序 </p><p>  KEY3: CJNE A,#0E7H,KEY4 ;檢測(cè)音符鍵4是否按下</p><p>  MOV KEYBUF,#06H ;賦予鍵值</p><p>  LJMP WAI

37、 ;調(diào)至按鍵處理程序</p><p>  KEY4:CJNE A,#0DEH,KEY5 ;檢測(cè)音符鍵5是否按下</p><p>  MOV KEYBUF,#08H ;賦予鍵值</p><p>  LJMP WAI ;調(diào)至按鍵處理程序</p><p>  KEY5:CJNE A,#0DDH,KEY6 ;檢

38、測(cè)音符鍵5是否按下</p><p>  MOV KEYBUF,#0AH ;賦予鍵值</p><p>  LJMP WAI ;調(diào)至按鍵處理程序</p><p>  KEY6: CJNE A,#0DBH,KEY7 ;檢測(cè)音符鍵6是否按下</p><p>  MOV KEYBUF,#0CH ;賦予鍵值</p&

39、gt;<p>  LJMP WAI ;調(diào)至按鍵處理程序</p><p>  KEY7:CJNE A,#0D7H,SCAN1 </p><p>  MOV KEYBUF,#0EH ;賦予鍵值 </p><p>  LJMP WAI ;調(diào)至按鍵處理程序 </p><p>  WAI:MOV A,

40、KEYBUF ;按鍵處理程序入口</p><p>  MOVC A,@A+DPTR</p><p>  MOV STH0 , A</p><p>  INC KEYBUF</p><p>  MOV A,KEYBUF</p><p>  MOVC A,@A+DPTR</p><p>  M

41、OV STL0, A</p><p>  MOV TH0,STH0</p><p>  MOV TL0,STL0</p><p><b>  SETB TR0</b></p><p>  LCALL DELAY100MS</p><p>  LJMP SCAN1</p><p&

42、gt;  WAIT1:CJNE R1,#00H,LOOP ;播放音樂(lè)程序入口</p><p>  LOOP:MOV A,R1</p><p>  MOVC A,@A+DPTR</p><p>  MOV STH0,A</p><p><b>  INC R1</b></p><p&

43、gt;<b>  MOV A,R1</b></p><p>  MOVC A,@A+DPTR</p><p>  CJNE A,#0FEH,NEXT1 </p><p>  MOV R1,#00H</p><p><b>  LJMP LOOP</b></p><p>  N

44、EXT1:MOV STL0,A</p><p><b>  INC R1</b></p><p><b>  MOV A,R1</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV DELY,A</p><p>  MOV TH0,STH0&l

45、t;/p><p>  MOV TL0,STL0</p><p>  SETB TR0 </p><p>  NEXT2: LJMP DELAY187MS ;節(jié)拍延時(shí)控制</p><p>  NEXT3: DJNZ DELY,NEXT2 </p><p><b>  INC R1</b><

46、/p><p><b>  LJMP TEST</b></p><p>  NOKEY:LJMP TEST ;重新檢測(cè)</p><p>  DELAY10MS: MOV R6,#10 ;10ms延時(shí)</p><p>  D1:MOV R7,#248</p><p><b>  DJNZ

47、 R7,$</b></p><p>  DJNZ R6,D1</p><p>  RET ;子程序返回</p><p>  DELAY100MS: MOV R5,#06EH;100ms延時(shí)</p><p>  DL0:MOV R4,#0CFH</p><p><b>  DJNZ R4,

48、$</b></p><p>  DJNZ R5,DL0</p><p>  RET;子程序返回</p><p>  DELAY187MS: MOV R3,#187 ;187ms延時(shí) ,用于節(jié)拍控制</p><p>  DL1:MOV R2,#248</p><p><b>  DJN

49、Z R2,$</b></p><p>  DJNZ R3,DL1</p><p>  LJMP NEXT3</p><p>  INT_T0:MOV TH0,STH0;高8為輸入</p><p>  MOV TL0,STL0;低8位輸入</p><p>  CPL P1.0;音樂(lè)輸出口啟用&l

50、t;/p><p>  RETI;中斷返回</p><p>  TABLE1:DB 0f8h,094h, 0f9h,05ch, 0fah,01Ah, 0FAH,06AH;低音調(diào)表值</p><p>  DB 0FBH,00H, 0FBH,08CH, 0FCH,0EH, 0FCH,044H; </p><p>  TABLE2:DB

51、0FCH,04AH, 0FCH,0AEH, 0FDH,008H, 0FDH,030H;中音調(diào)表值</p><p>  DB 0FDH,080H, 0FDH,0C6H, 0FEH,02H, 0FEH,022H;</p><p>  TABLE3:DB 0FEH,02AH, 0FEH,05CH, 0FEH,084H, 0FEH,098H;高音調(diào)表值</p><p>

52、;  DB 0FEH,0C0H, 0FEH,0E8H, 0FFH,006H, 0FFH,029H;</p><p>  SONG1: ; 化蝶</p><p>  .DB -3, 04H, -5, 03H, -6, 01H, 1, 03H, 2, 01H, -6, 01H, 1, 01H, -5, 02H</p><p> 

53、 .DB 5, 03H, +1, 01H, 6, 01H, 5, 01H, 3, 01H, 5, 01H, 2, 08H</p><p>  .DB 2, 02H, 2, 01H, 3, 01H, -7, 02H, -6, 02H, -5, 03H, -6, 01H, 1, 02H, 2, 02H</p><p>  .DB -3, 02H, 1, 02H, -6, 01H,

54、-5, 01H, -6, 01H, 1, 01H, -5, 08H</p><p>  .DB 3, 03H, 5, 01H, -7, 03H, 2, 01H, -6, 01H, 1, 01H, 5, 05H</p><p>  .DB -3, 02H, -5, 01H, -3, 01H, -5, 01H, -6, 01H, -7, 01H, 2, 01H, -6, 06H, -5

55、, 01H, -6, 01H</p><p>  .DB 1, 03H, 2, 01H, 5, 02H, 3, 02H, 2, 02H, 3, 01H, 2, 01H, 1, 02H, -6,</p><p>  系統(tǒng)工作過(guò)程:采用16個(gè)鍵分別代表16個(gè)音,通過(guò)對(duì)按鍵的隨意按鍵從而產(chǎn)生不同的音樂(lè),主要是通過(guò)每個(gè)按鍵所產(chǎn)生的頻率不同來(lái)使得發(fā)出的各個(gè)音不同,從而產(chǎn)生音樂(lè),根據(jù)程序首先對(duì)低音

56、,中音,高音進(jìn)行檢測(cè);運(yùn)用延時(shí)、循環(huán)、跳轉(zhuǎn)等設(shè)計(jì)實(shí)驗(yàn);然后通過(guò)對(duì)音符鍵的控制發(fā)出do re mi fa sol la si do</p><p>  功能實(shí)現(xiàn)分析:這次設(shè)計(jì)的是一個(gè)游戲型的電子琴,通過(guò)對(duì)程序的改進(jìn)和利用單片機(jī)的功能特性,最后通過(guò)仿真,我們實(shí)現(xiàn)了電子琴的功能,所以這個(gè)設(shè)計(jì)是可行的。</p><p><b>  設(shè)計(jì)心得:</b></p

57、><p>  通過(guò)這次課程設(shè)計(jì),系統(tǒng)而比較全面地檢查了我所學(xué)的專(zhuān)業(yè)知識(shí),補(bǔ)充了我未學(xué)的專(zhuān)業(yè)知識(shí),對(duì)一個(gè)產(chǎn)品的開(kāi)發(fā)的步驟有一定的認(rèn)識(shí)?!安槁┭a(bǔ)缺”的同時(shí)進(jìn)一步鞏固了專(zhuān)業(yè)知識(shí),鍛煉了自己,讓我深刻的意識(shí)到理論學(xué)習(xí)和實(shí)踐相結(jié)合的重要性,在這次課程設(shè)計(jì)中,查閱了大量的資料,并在此基礎(chǔ)上加以了改進(jìn)并進(jìn)行了創(chuàng)新,同時(shí)對(duì)延時(shí),循環(huán)等設(shè)計(jì)方法有了更深的了解。提高了我們學(xué)習(xí)分析和解決問(wèn)題的能力,只要我們不因?yàn)槔щy而害怕困難,最后我們就

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論