2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩17頁(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>  單片機(jī)課程設(shè)計(jì)之自動(dòng)打鈴系統(tǒng)</p><p>  這是我們本學(xué)期的單片機(jī)課程設(shè)計(jì)題目,程序就是在昨天的數(shù)字鐘的基礎(chǔ)上增加了一些內(nèi)容,不想繼續(xù)做了,還有一門(mén)考試要復(fù)習(xí)。</p><p>  設(shè)計(jì)一臺(tái)自動(dòng)打鈴系統(tǒng)</p><p><b>  一、設(shè)計(jì)任務(wù)</b></p><p>  用單片機(jī)器件為主體,

2、設(shè)計(jì)一臺(tái)自動(dòng)打鈴系統(tǒng)。</p><p> ?。?)按照設(shè)計(jì)標(biāo)準(zhǔn),畫(huà)出系統(tǒng)框圖和系統(tǒng)硬件電路圖。</p><p> ?。?)完成該課題的程序設(shè)計(jì),提交程序設(shè)計(jì)框圖及程序設(shè)計(jì)清單。</p><p> ?。?)提交課程設(shè)計(jì)報(bào)告</p><p><b>  二、設(shè)計(jì)要求</b></p><p><b

3、> ?。ㄒ唬┗疽?lt;/b></p><p> ?。?)基本計(jì)時(shí)和顯示功能(用12小時(shí)制顯示)。包括上下午標(biāo)志,時(shí)、分的數(shù)字顯示,秒信號(hào)指示。</p><p> ?。?)能設(shè)置當(dāng)前時(shí)間(含上、下午,時(shí),分)</p><p> ?。?)能實(shí)現(xiàn)基本打鈴功能,規(guī)定:</p><p>  上午6:00起床鈴:打鈴5秒、停2秒、再打鈴

4、5秒。</p><p>  下午10:30熄燈鈴:打鈴5秒、停2秒、再打鈴5秒。</p><p>  鈴聲可用小喇叭播放,凡是用到鈴聲功能的均按此處理</p><p><b>  (二)發(fā)揮部分</b></p><p> ?。?)增加整點(diǎn)報(bào)時(shí)功能,整點(diǎn)時(shí)響鈴5秒,要求有控制啟動(dòng)和關(guān)閉功能。</p><

5、p> ?。?)增加調(diào)整起床鈴、熄燈鈴時(shí)間的功能。</p><p> ?。?)增設(shè)上午4節(jié)課的上下課打鈴功能,規(guī)定如下:</p><p>  7.30 上課,8.20下課:8.30上課,9.20下課;9.40 上課,10.30下課;10.40上課,11.30下課;每次鈴聲5秒。</p><p> ?。?)特色和創(chuàng)新自選。</p><p>

6、<b>  三、設(shè)計(jì)步驟</b></p><p> ?。?)設(shè)計(jì)能正常工作的一個(gè)單片機(jī)最小硬件系統(tǒng),外圍電路包括設(shè)置鍵盤(pán),LCD或LED的顯示屏;</p><p> ?。?)進(jìn)行軟件設(shè)計(jì),利用單片機(jī)系統(tǒng)時(shí)鐘先設(shè)計(jì)一個(gè)高精度的內(nèi)部時(shí)鐘系統(tǒng),最小精確時(shí)間為期1秒;</p><p> ?。?)在秒計(jì)數(shù)器的基礎(chǔ)上設(shè)計(jì)一個(gè)24小時(shí)時(shí)鐘,并設(shè)計(jì)若干定時(shí)功能

7、;</p><p> ?。?)設(shè)計(jì)打鈴執(zhí)行機(jī)構(gòu),完成自動(dòng)打鈴功能。</p><p>  四、課程設(shè)計(jì)說(shuō)明書(shū)要求</p><p><b>  后面略......</b></p><p>  公開(kāi)我的主要設(shè)計(jì)資料:</p><p><b>  主程序流程圖:</b></p&

8、gt;<p><b>  匯編程序清單:</b></p><p>  /***************************************************************程序名稱:51單片機(jī)自動(dòng)打鈴系統(tǒng)簡(jiǎn)要說(shuō)明:實(shí)現(xiàn)24小時(shí)制電子鐘,8位數(shù)碼管顯示,顯示時(shí)分秒    顯示格式:23-59-59(小時(shí)十位如果為0則不

9、顯示)    到預(yù)定時(shí)間啟動(dòng)蜂鳴器模擬打鈴,蜂鳴器BEEP:P3.7    打鈴方式分起床、熄燈鈴和上、下課鈴兩種    系統(tǒng)使用4只按鍵,3只按鍵用來(lái)調(diào)整時(shí)間,fpc連接器,防水連接器,連接器論壇,供應(yīng) http://www.ljqw.com/sell另一只為強(qiáng)制打鈴按鈕    調(diào)整選擇鍵SET_KEY:

10、P1.0;通過(guò)選擇鍵選擇調(diào)整位,選中位閃爍    增加鍵ADD_KEY:P1.1;按一次使選中位加1    減少鍵DEC_KEY;P1.2;按一次使選中位減1    如果長(zhǎng)按ADD_KEY或DEC_KEY,識(shí)別后則進(jìn)行調(diào)時(shí)快進(jìn),此時(shí)停止閃爍    如果選中位是秒,則按增加鍵或減少鍵都是將秒清零 &#

11、160;  強(qiáng)制打鈴鍵DALING_KEY:P1.3;用來(lái)強(qiáng)制打鈴或強(qiáng)制關(guān)閉鈴聲    P0口輸出</p><p><b>  ORG 0300H</b></p><p>  /*****程序開(kāi)始,初始化*****/   START:   SETB BEEP  &

12、#160;;關(guān)閉蜂鳴器(電鈴)  SETB 48H   ;使用一個(gè)bit位用于調(diào)時(shí)閃爍標(biāo)志  SETB 47H   ;使用一個(gè)bit位用于產(chǎn)生脈沖用于調(diào)時(shí)快進(jìn)時(shí)基  CLR  45H   ;關(guān)閉響鈴方式1標(biāo)志  CLR  44H &

13、#160; ;關(guān)閉響鈴方式2標(biāo)志  MOV R1,#0   ;調(diào)整選擇鍵功能標(biāo)志:0正常走時(shí)、1調(diào)時(shí)、2調(diào)分、3調(diào)秒</p><p>  MOV 20H,#00H  ;用于控制秒基準(zhǔn)時(shí)鐘源的產(chǎn)生   MOV 21H,#00H  ;清零秒寄存器  MOV 22H,#00H

14、  ;清零分寄存器  MOV 23H,#00H  ;清零時(shí)寄存器  MOV 24H,#00H  ;用于控制調(diào)時(shí)閃爍的基準(zhǔn)時(shí)鐘的產(chǎn)生   MOV IP,#02H   ;IP,IE初始化   MOV IE,#82H   MOV TM

15、OD,#01H  ;設(shè)定定時(shí)器0工作方式1  MOV TH0,#3CH   MOV TL0,#0B0H  ;賦定時(shí)初值,定時(shí)50ms     SETB TR0   ;啟動(dòng)定時(shí)器0   MOV SP,#40H   ;重設(shè)堆棧指針<

16、;/p><p>  /*****主程序*****/   MAIN:  CJNE R1,#00H,MAIN1 ;是否為正常走時(shí)狀態(tài)  LCALL BIJIAO1  ;調(diào)用起床、熄燈打鈴比較子程序  LCALL BIJIAO2  ;調(diào)用上、下課打鈴比較子程序  L

17、CALL DALING1  ;調(diào)用響鈴方式1執(zhí)行子程序  LCALL DALING2  ;調(diào)用響鈴方式2執(zhí)行子程序MAIN1:   LCALL DISPLAY   ;調(diào)用顯示子程序  LCALL KEY_SCAN   ;調(diào)用按鍵檢測(cè)子程序   JZ MAIN 

18、   ;無(wú)鍵按下則返回重新循環(huán)  LCALL SET_KEY   ;調(diào)用選擇鍵處理子程序  JB 46H,MAIN   ;如果已進(jìn)行長(zhǎng)按調(diào)整(調(diào)時(shí)快進(jìn)),則不再執(zhí)行下面的單步調(diào)整  LCALL ADD_KEY  ;調(diào)用增加鍵處理子程序  LCALL D

19、EC_KEY  ;調(diào)用減少鍵處理子程序  LCALL DALING_KEY ;處理強(qiáng)制打鈴/強(qiáng)制關(guān)閉鈴聲鍵   LJMP MAIN    ;重新循環(huán)  /*****定時(shí)中斷服務(wù)程序*****/ TIMER_0:</p><p>  ADD_TIME:  INC 20H &#

20、160;    MOV A,20H   CJNE A,#20,RETI1 ;產(chǎn)生1秒基準(zhǔn)時(shí)鐘   MOV 20H,#00H   ;一秒鐘時(shí)間到,清零20H   MOV A,21H  ADD A,#01H  DA A   

21、0;   ;作十進(jìn)制調(diào)整   MOV 21H,A   CJNE A,#60H,RETI1   MOV 21H,#00H   ;一分鐘到   MOV A,22H   ADD A,#01H   DA A   MOV 22H,A  

22、0;CJNE A,#60H,RETI1   MOV 22H,#00H   ;一小時(shí)到   MOV A,23H   ADD A,#01H   DA A   MOV 23H,A   CJNE A,#24H,RETI1   MOV 23H,#00H   

23、;;到24點(diǎn),清零小時(shí) RETI1:   POP PSW       POP ACC    ;恢復(fù)現(xiàn)場(chǎng)  RETI     ;中斷返回</p><p>  /*****顯示處理*****/ DISPLAY:  M

24、OV A,21H    ;秒  ANL A,#0FH   MOV 2FH,A   ;轉(zhuǎn)換出秒個(gè)位,存入2FH   MOV A,21H   ANL A,#0F0H   SWAP A   MOV 2EH,A   ;轉(zhuǎn)換出秒

25、十位,存入2EH  JB 46H,MIN   ;如果長(zhǎng)按按鍵(調(diào)時(shí)快進(jìn)),則跳過(guò)閃爍處理  CJNE R1,#3,MIN  ;如果R1為3,閃爍秒位待調(diào)整  JB 48H,MIN  MOV 2FH,#0AH  ;使該位為10,查表得到使該位不顯示的輸出  MO

26、V 2EH,#0AH</p><p>  MIN:  MOV A,22H    ;分   ANL A,#0FH   MOV 2DH,A   ;轉(zhuǎn)換出分個(gè)位,存入2DH   MOV A,22H   ANL A,#0F0H   

27、SWAP A   MOV 2CH,A   ;轉(zhuǎn)換出分十位,存入2CH  JB 46H,HOUR   ;如果長(zhǎng)按按鍵(調(diào)時(shí)快進(jìn)),則跳過(guò)閃爍處理  CJNE R1,#2,HOUR  ;如果R1為2,閃爍分位待調(diào)整   JB 48H,HOUR  MOV

28、2DH,#0AH  ;使該位為10,查表得到使該位不顯示的輸出  MOV 2CH,#0AH</p><p>  HOUR:  MOV A,23H    ;時(shí)   ANL A,#0FH    MOV 2BH,A   ;轉(zhuǎn)換出時(shí)個(gè)位,存入2B

29、H   MOV A,23H   ANL A,#0F0H   SWAP A   MOV 2AH,A   ;轉(zhuǎn)換出時(shí)十位,存入2AH  JB 46H,DISP   ;如果長(zhǎng)按按鍵(調(diào)時(shí)快進(jìn)),則跳過(guò)閃爍處理  CJNE R1,#1,DISP 

30、 ;如果R1為1,閃爍時(shí)位待調(diào)整    JB 48H,DISP  MOV 2BH,#0AH  ;使該位為10,查表得到使該位不顯示的輸出  MOV 2AH,#0AH</p><p>  /*****數(shù)碼管動(dòng)態(tài)掃描顯示*****/DISP:  MOV DPTR,#TABLE 

31、 MOV A,2FH  MOVC A,@A+DPTR  MOV P0,A  CLR P2.7  LCALL DELAY  SETB P2.7   ;顯示秒個(gè)位</p><p>  MOV A,2EH  MOVC A,@A+DPTR 

32、 MOV P0,A  CLR P2.6  LCALL DELAY  SETB P2.6   ;顯示秒十位</p><p>  MOV A,#0BFH  MOV P0,A  CLR P2.5  LCALL DELAY  SE

33、TB P2.5   ;顯示“-”</p><p>  MOV A,2DH  MOVC A,@A+DPTR  MOV P0,A  CLR P2.4  LCALL DELAY  SETB P2.4   ;顯示分個(gè)位</p><p&

34、gt;  MOV A,2CH  MOVC A,@A+DPTR  MOV P0,A  CLR P2.3  LCALL DELAY  SETB P2.3   ;顯示分十位</p><p>  MOV A,#0BFH  MOV P0,A  

35、;CLR P2.2  LCALL DELAY  SETB P2.2   ;顯示“-”</p><p>  MOV A,2BH  MOVC A,@A+DPTR  MOV P0,A  CLR P2.1  LCALL DELAY  SET

36、B P2.1   ;顯示時(shí)個(gè)位</p><p>  MOV DPTR,#TABLE1 ;該位使用TABLE1以消除前置0  MOV A,2AH  MOVC A,@A+DPTR  MOV P0,A  CLR P2.0  LCALL DELAY  

37、SETB P2.0   ;顯示時(shí)十位  RET   /*****按鍵檢測(cè)子程序*****/ KEY_SCAN:   CLR 46H    ;關(guān)閉長(zhǎng)按調(diào)整(調(diào)時(shí)快進(jìn))標(biāo)志  MOV P1,#0FFH   ;將P1口設(shè)置成輸入狀態(tài)   MO

38、V A,P1   CPL A   ANL A,#0FH    ;P1口低4位連接4個(gè)按鍵,只判斷該4位  JZ EXIT_KEY   ;無(wú)鍵按下則返回   LCALL DELAY   ;延時(shí)去抖動(dòng)  MOV A,P1   

39、;;重新判斷   CPL A   ANL A,#0FH   JZ EXIT_KEY   ;鍵盤(pán)去抖動(dòng)   MOV R5,A    ;臨時(shí)將鍵值存入R5  MOV R4,#00H   ;用于控制調(diào)時(shí)快進(jìn)速度  ;設(shè)置為00H是為了

40、在進(jìn)入長(zhǎng)按處理前加長(zhǎng)延時(shí)區(qū)分用戶的長(zhǎng)按與短按,防止誤快進(jìn)   LOOP:</p><p>  LOOP1:  CJNE R1,#03H,LOOP2 ;如果調(diào)秒時(shí)長(zhǎng)按,則不處理  LJMP LOOP3</p><p>  LOOP2:  CJNE R4,#99H,LOOP3 

41、60; MOV R4,#70H   ;確認(rèn)用戶長(zhǎng)按后,重新設(shè)定起始值,加快調(diào)時(shí)快進(jìn)速度  SETB 46H   ;長(zhǎng)按調(diào)整(調(diào)時(shí)快進(jìn))標(biāo)志     LCALL ADD_KEY  LCALL DEC_KEY</p><p>  LOOP3: 

42、; JNZ LOOP    ;等待鍵釋放  MOV A,R5   ;輸出鍵值  RET   </p><p>  EXIT_KEY:  RET</p><p>  /*****延時(shí)子程序*****/DELAY: &

43、#160;  MOV R7,#150   DJNZ R7,$  RET   /*****選擇鍵處理子程序*****/ SET_KEY:   CJNE R5,#01H,EXIT ;選擇鍵鍵值  INC R1    ;調(diào)整選擇功能標(biāo)志加一 

44、60;SETB BEEP  CJNE R1,#4,EXIT  MOV R1,#0  MOV 24H,#00H  ;調(diào)時(shí)閃爍基準(zhǔn)清零   RET</p><p>  /*****增加鍵處理子程序*****/ ADD_KEY:   CJNE R5,#02H,EXIT ;增加鍵鍵

45、值  CJNE R1,#01H,NEXT1 ;選擇鍵功能標(biāo)志為1,調(diào)時(shí),否則跳出  MOV A,23H  ADD A,#01H  DA A  MOV 23H,A  CJNE A,#24H,EXIT  MOV 23H,#00H</p><p>  NEX

46、T1:  CJNE R1,#02H,NEXT2 ;選擇鍵功能標(biāo)志為2,調(diào)分,否則跳出  MOV A,22H  ADD A,#01H  DA A  MOV 22H,A  CJNE A,#60H,EXIT  MOV 22H,#00H</p><p>  N

47、EXT2:  CJNE R1,#03H,EXIT ;選擇鍵功能標(biāo)志為3,調(diào)秒,否則跳出  MOV 21H,#00H  ;如增加鍵按下直接清零秒  RET</p><p>  /*****減少鍵處理子程序*****/ DEC_KEY:   CJNE R5,#04H,EXIT ;減少鍵鍵值

48、  CJNE R1,#01H,NEXT3 ;選擇鍵功能標(biāo)志為1,調(diào)時(shí),否則跳出  MOV A,23H  ADD A,#99H  DA A  MOV 23H,A  CJNE A,#99H,EXIT  MOV 23H,#23H NEXT3:  

49、CJNE R1,#02H,NEXT4 ;選擇鍵功能標(biāo)志為2,調(diào)分,否則跳出  MOV A,22H  ADD A,#99H  DA A  MOV 22H,A  CJNE A,#99H,EXIT  MOV 22H,#59H</p><p>  NEXT4: 

50、0;CJNE R1,#03H,EXIT ;選擇鍵功能標(biāo)志為3,調(diào)秒,否則跳出  MOV 21H,#00H  ;如較少鍵按下直接清零秒  RET</p><p>  /*****強(qiáng)制響鈴鍵處理子程序*****/ DALING_KEY:   CJNE R5,#08H,EXIT ;選擇鍵鍵值 

51、0;CPL BEEP  RET</p><p>  /*****萬(wàn)用返回程序*****/  EXIT:   RET</p><p>  /*****數(shù)碼管字形編碼表*****/TABLE:   DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;

52、字形顯示編碼</p><p>  TABLE1:  DB 0FFH,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;小時(shí)位的十位數(shù)編碼,該位如果為0則不顯示</p><p>  /*****打鈴時(shí)間對(duì)比程序(起床、熄燈)*****/BIJIAO1:  MOV A,23H  CJN

53、E A,#06H,B0  MOV A,22H  CJNE A,#00H,B0  ;6:00到  SETB 45H   ;開(kāi)啟響鈴方式1  RETB0:  MOV A,23H  CJNE A,#22H,EXIT_1  MOV A,22H

54、  CJNE A,#30H,EXIT_1 ;22:30到  SETB 45H   ;開(kāi)啟響鈴方式1  RET</p><p>  EXIT_1:  CLR 45H  RET</p><p>  /*****打鈴時(shí)間對(duì)比程序(上、下課)*****

55、/BIJIAO2:  MOV A,23H  CJNE A,#07H,B1  MOV A,22H  CJNE A,#30H,B1  ;7:30  SETB 44H   ;開(kāi)啟響鈴方式2  RETB1:  MOV A,23H 

56、 CJNE A,#08H,B2  MOV A,22H  CJNE A,#20H,B2  ;8:20  SETB 44H  RETB2:  MOV A,23H  CJNE A,#08H,B3  MOV A,22H  CJNE A,#30

57、H,B3  ;8:30  SETB 44H  RETB3:  MOV A,23H  CJNE A,#09H,B4  MOV A,22H  CJNE A,#20H,B4  ;9:20  SETB 44H  RET</p&

58、gt;<p>  B4:  MOV A,23H  CJNE A,#09H,B5  MOV A,22H  CJNE A,#40H,B5  ;9:40  SETB 44H  RETB5:  MOV A,23H  CJNE A,#10H,

59、B6  MOV A,22H  CJNE A,#30H,B6  ;10:30  SETB 44H  RETB6:  MOV A,23H  CJNE A,#10H,B7  MOV A,22H  CJNE A,#40H,B7  ;

60、10:40  SETB 44H  RETB7:  MOV A,23H  CJNE A,#11H,EXIT_2  MOV A,22H  CJNE A,#30H,EXIT_2 ;11:30  SETB 44H  RET</p><p>

61、;  EXIT_2:  CLR 44H  RET</p><p>  /*****響鈴方式1程序(響5秒停2秒再響5秒)*****/DALING1:  JNB 45H,EXIT_DALING  MOV A,21H   ;響鈴起始時(shí)間由秒實(shí)時(shí)控制  CJNE A,#00H,L

62、1  CLR BEEPL1:  MOV A,21H  CJNE A,#05H,L2  SETB BEEP L2:  CJNE A,#07H,L3  CLR BEEPL3:  CJNE A,#12H,EXIT_DALING  SETB BEEP&#

63、160; RET</p><p>  /*****響鈴方式2程序(響5秒)*****/DALING2:  JNB 44H,EXIT_DALING  MOV A,21H   ;響鈴起始時(shí)間由秒實(shí)時(shí)控制  CJNE A,#00H,L4  CLR BEEPL4:  M

溫馨提示

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