版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)應(yīng)用課程設(shè)計電子時鐘 一、設(shè)計任務(wù)及要求【電子時鐘】利用實驗板上4個LED數(shù)碼管,設(shè)計帶有鬧鈴功能的數(shù)字時鐘,要求:1、在4位數(shù)碼管上顯示當(dāng)前時間。顯示格式“時時分分”;”2、由LED閃動做秒顯示;3、利用按鍵可對時間及鬧玲進(jìn)行設(shè)置,并可顯示鬧玲時間。當(dāng)鬧玲時間到蜂鳴器發(fā)出聲響,按停止鍵使可使鬧玲聲停止。拓展設(shè)計:1 用數(shù)碼管的小數(shù)點閃動替代二極管顯示秒,使之成為一個“完整的時鐘”;2、使數(shù)字時鐘的鬧鐘鈴聲為音樂。二、設(shè)計思路【工作原理及設(shè)計思路】計時功能利用單片機(jī)的定時器來完成,由于定時器定時的時長有限,所以要利用中斷程序才能定時1秒,若中斷程序每隔5ms中斷一次并當(dāng)作一個計數(shù),則每中
2、斷一次計數(shù)加1,當(dāng)計數(shù)200次時,則表示1s到了,秒變量加1,同理再判斷1min是否到了,再判斷1h是否到了。為了將時間在LED數(shù)碼管上顯示,可采用靜態(tài)顯示法和動態(tài)顯示法,由于靜態(tài)顯示法需要數(shù)據(jù)鎖存器等較多硬件,可采用動態(tài)顯示法實現(xiàn)LED顯示。鬧鈴聲由交流蜂鳴器產(chǎn)生,所以當(dāng)鬧鈴時間和當(dāng)前時間相等時,可以對蜂鳴器輸入方波信號,蜂鳴器就會發(fā)出聲音。三、設(shè)計分析【系統(tǒng)的主要功能】本實驗實際是設(shè)計一個電子表,可以顯示時和分,并且用一個二極管顯示秒。另外,還可以對它進(jìn)行時間調(diào)整,還要有鬧鈴功能?!舅黝}目的意義】時鐘電路在各個系統(tǒng)中都起著十分重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。同時時鐘電路整體的設(shè)計及
3、其工作原理涉及到了單片機(jī)基礎(chǔ)課程中各章節(jié)的內(nèi)容,是對單片機(jī)理論基礎(chǔ)課程的一個綜合實踐,通過本課題不僅讓我對電子時鐘這一課題有更深入的了解,更加深了自己對單片機(jī)課程整體知識的把握,將理論所學(xué)用于實踐,將知識綜合,達(dá)到融會貫通的高度。【硬件電路設(shè)計及描述】實驗用JD51開發(fā)板完成,本實驗的硬件包括顯示部分、鬧鈴部分、開關(guān)部分。顯示部分JD51上用于顯示部分的電路如下圖: JD51上有四位共陽LED數(shù)碼管,其標(biāo)號分別為LED1LED4,低電平選通,且任何時候僅有一位輸出低電平,顯示時對各顯示器進(jìn)行動態(tài)掃描,顯示器分時輪流工作。雖然每次只有一個顯示器顯示,但是由于人的視覺暫留現(xiàn)象我們?nèi)詴杏X所有的顯示
4、器都在同時顯示。P0口作為輸出口控制8個發(fā)光二極管的亮滅,控制數(shù)碼管的顯示。鬧鈴部分蜂鳴器與P2.4口相連。開關(guān)部分本實驗中的開關(guān)是實驗儀上的四個邏輯開關(guān),它們分別與P3.2、P3.3、P3.4、P3.5相連。其總P3.2用于調(diào)整時鐘或鬧鐘的時,P3.3用于調(diào)整時鐘或鬧鐘的分,P3.5用于控制顯示時鐘還是顯示鬧鐘,并且同時控制調(diào)整時鐘還是調(diào)整鬧鐘,按任意鍵(SW1、SW2、SW4)時停止鬧鐘?!拒浖O(shè)計流程及描述】顯示部分 顯示部分分為時鐘顯示、鬧鐘顯示和秒顯示三部分,主要由時鐘顯示子程序和鬧鐘顯示子程序構(gòu)成,鬧鐘顯示與時鐘顯示編程流程大致相同。 流程圖如下:鬧鈴部分設(shè)計思路及原理:音節(jié)由不同
5、頻率的方波產(chǎn)生,音節(jié)與頻率的關(guān)系如下表所示。要產(chǎn)生音頻方波,設(shè)計利用延時來建立音符表NOTE,表格中的數(shù)存R3*20us,其倒數(shù)1/(R3*2*10us)對應(yīng)相應(yīng)音符的頻率。另外,音樂的節(jié)拍是由延時實現(xiàn)的,如果1拍為0.4秒,1/4拍是0.1秒。只要設(shè)定延時時間,就可求得節(jié)拍的時間。延時作為基本延時時間,節(jié)拍值只能是它的整數(shù)倍。設(shè)計利用T1中斷產(chǎn)生10ms延時,取1/4拍為10H*10ms,相應(yīng)產(chǎn)生所需延時。 音符(低).1.2.3.4.5.6.7頻率(HZ)262294330349392440494音符(中)1234567頻率(HZ)523587659698784880988音符(高)123
6、4567頻率(HZ)1046117513181397156817601967鬧鐘鈴聲選取情景比較合適的豬之歌,其曲譜如下圖:其相應(yīng)的音符和節(jié)拍表NOTE和METRE如下:NOTE:DB 7FH,7FH,7FH,60H,65H,72H,72H,72H,7FH,72H DB 60H,72H,60H,72H,60H,72H,7FH,72H,7FH,98H,72H,7FH DB 7FH,7FH,7FH,60H,65H,72H,72H,72H,7FH,72H DB 60H,72H,60H,72H,60H,72H,7FH,72H,7FH,72H,4CH,55H,00HMETRE:DB 80H,20H,20
7、H,20H,20H,20H,20H,20H,20H,80H DB 20H,20H,20H,20H,40H,20H,20H,20H,20H,20H,20H,80HDB 80H,20H,20H,20H,20H,20H,20H,20H,20H,80H DB 20H,20H,20H,20H,40H,20H,20H,20H,20H,20H,20H,40H開關(guān)掃描及處理部分本實驗用到了三個開關(guān),其中涉及開關(guān)的掃描及處理。開關(guān)4控制數(shù)碼管當(dāng)前顯示的是時鐘還是鬧鐘,顯示時鐘時,可通過開關(guān)1和開關(guān)2調(diào)整時鐘的時和分;顯示鬧鐘時,也可以通過開關(guān)1和開關(guān)2調(diào)整時和分。開關(guān)4控制鬧鈴的開和關(guān)。按鍵調(diào)整鬧鐘與按鍵調(diào)整時
8、鐘編程流程基本一致,按鍵掃描及處理流程圖如圖:T0中斷服務(wù)程序:采用定時器T0計時,中斷程序每隔50ms中斷一次計數(shù)加1,當(dāng)計數(shù)20次時,則表示1s到了,秒變量加1,同理再判斷是否1分鐘到了,再判斷是否1小時到了,再判斷是否24小時到了。程序流程圖如下:三、源程序代碼及注釋;*;/*電子時鐘程序*/ ;程序主要包括MAIN函數(shù),T0、T1中斷程序,時間、鬧鐘顯示程序 ,按鍵掃描、處理程序;* ORG 0000HAJMP MAIN ;跳轉(zhuǎn)到主程序MAIN執(zhí)行ORG 000BHAJMP INTT0 ;跳到INTT0執(zhí)行ORG 001BHLJMP INTT1 ;跳到INTT1執(zhí)行ORG 0300H;
9、/*主函數(shù)*/預(yù)置T0T1工作方式,置初值,預(yù)置時鐘、鬧鐘,置位數(shù)碼管MAIN:MOV SP,#80H MOV TMOD,#11H ;設(shè)置定時器T0、T1工作于方式1 MOV TH0,#3CH ;裝入時鐘定時初值(50ms) MOV TL0,#0B0H MOV TH1,#0D8H ;裝入鬧鈴定時初值(10ms) MOV TL1,#0F0H MOV R1,#00H ;確保首次默認(rèn)鬧鈴工作MOV 20H,#00H MOV 21H,#00H MOV 22H,#00H ;預(yù)置時鐘分分MOV 23H,#00H ;預(yù)置時鐘時時 MOV 30H,#30H ;預(yù)置鬧鈴分分MOV 31H,#08H ;預(yù)置鬧鈴時
10、時SETB P2.0 ;數(shù)碼管接P2口,置位數(shù)碼管,使其全滅SETB P2.1SETB P2.2SETB P2.3CLR P1.7 ;發(fā)光二極管LED7LED8用于顯示秒,清P1.7,發(fā)光二極管LED8亮SETB P1.6 ;置位P1.6,發(fā)光二極管LED7滅SETB EA ;開放總中斷SETB ET0 ;允許T0中斷SETB TR0 ;開啟定時器T0LOOP:LCALL DISPT ;調(diào)用時間顯示子程序LCALL RING ;調(diào)用鬧鈴處理子程序LCALL KEY ;調(diào)用按鍵掃描子程序JZ LOOP ;無鍵按下則循環(huán)LCALL CASE ;有鍵按下則轉(zhuǎn)按鍵處理子程序執(zhí)行SJMP LOOP ;循
11、環(huán);/*T0一秒定時中斷程序INTT0*/正常時鐘計時INTT0:PUSH PSW ;狀態(tài)字入棧保護(hù) PUSH ACC ;累加器入棧保護(hù)MOV TL0,#0B0H ;裝入計數(shù)初值,12MHZ晶振,形成1S中斷MOV TH0,#3CHINC 20HMOV A,20HCJNE A,#20,RETURNCPL P1.7 ;一秒到發(fā)光二極管輪流亮,用于顯示秒CPL P1.6MOV 20H,#00H ;一秒到清20H MOV A,21HADD A,#01HDA AMOV 21H,ACJNE A,#60H,RETURNMOV 21H,#00H ;一分到,21H單元清零MOV A,22HADD A,#01H
12、DA AMOV 22H,ACJNE A,#60H,RETURNMOV 22H,#00H ;一小時到,22H單元清零MOV A,23HADD A,#01HDA AMOV 23H,ACJNE A,#24H,RETURNMOV 23H,#00H ;滿24,23H單元清零RETURN:POP ACCPOP PSWRETI;/*時間顯示子程序*/DISPT:MOV A,22HANL A,#0FHMOV 2AH,A ;時鐘分的低位MOV A,22HANL A,#0F0HSWAP AMOV 2BH,A ;時鐘分的高位MOV A,23HANL A,#0FHMOV 2CH,A ;時鐘時的低位MOV A,23HA
13、NL A,#0F0HSWAP AMOV 2DH,A ;時鐘時的高位LED1:SETB P2.3 MOV A,2DH MOV DPTR,#TAB MOVC A,A+DPTR CLR P2.0 ;選通數(shù)碼管1 MOV P0,A ;顯示時鐘時的十位部分 LCALL DELAYLED2:SETB P2.0 MOV A,2CH MOV DPTR,#TAB MOVC A,A+DPTR CLR P2.1 ;選通數(shù)碼管2 MOV P0,A ;顯示時鐘時的個位部分 LCALL DELAY LED3:SETB P2.1 MOV A,2BH MOV DPTR,#TAB MOVC A,A+DPTR CLR P2.2
14、;選通數(shù)碼管3 MOV P0,A ;顯示時鐘分的十位部分 LCALL DELAYLED4:SETB P2.2 MOV A,2AH JB P1.7,TA2TA1: ADD A,#10 ;用于利用數(shù)碼管的小數(shù)點來表示秒TA2: MOV DPTR,#TAB MOVC A,A+DPTR CLR P2.3 ;選通數(shù)碼管4 MOV P0,A ;顯示時鐘分的個位部分 LCALL DELAY RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;共陽數(shù)碼管的不帶小數(shù)點的時間顯示碼 DB 40H,79H,24H,30H,19H,12H,02H,78H,0
15、0H,10H;共陽數(shù)碼管的帶小數(shù)點的時間顯示碼 ;/*按鍵掃描程序*/開關(guān)接P3口,判斷按鍵情況KEY: MOV P3,#0FFH MOV A,P3CPL AANL A,#2CHJZ RETK ;無鍵按下則返回LCALL DELAY ;延時消抖MOV A,P3CPL AANL A,#2CHJZ RETK ;鍵盤去抖動MOV R6,A ;將鍵值存入R6LOOP1:LCALL DISPT;MOV A,P3CPL AANL A,#2CHJNZ LOOP1 ;等待鍵釋放MOV A,R6RETK:RET;/*按鍵處理子程序*/根據(jù)按鍵情況進(jìn)行處理CASE:MOV A,R6CLR P1.0 ;發(fā)光二極管L
16、ED1亮JB ACC.2,SETH ;轉(zhuǎn)調(diào)整時JB ACC.3,SETM ;轉(zhuǎn)調(diào)整分JB ACC.5,SETR ;轉(zhuǎn)鬧鈴設(shè)置WAITCASE:LCALL DISPT ;無鍵按下時等待LCALL KEYJZ WAITCASE;/*時間調(diào)整程序*/按鍵調(diào)整時間SETT:LCALL DISPTLCALL KEYJZ SETTMOV A,R6JB ACC.2,SETHJB ACC.3,SETMJB ACC.5,KEYGO ;第二次按為確認(rèn)離開KEYGO: SETB P1.0 ;發(fā)光二極管LED1、LED2滅SETB P1.1RETSETH:MOV A,23H ;調(diào)整時鐘時,時加1ADD A,#01HD
17、A A ;十進(jìn)制調(diào)整MOV 23H,ACJNE A,#24H,HD ;判斷是否到24,不到繼續(xù)MOV 23H,#00H ;到24時清零HD:LJMP SETTSETM:MOV A,22H ;分加1ADD A,#01HDA A ;十進(jìn)制調(diào)整 MOV 22H,ACJNE A,#60H,MD ;判斷是否到1小時,不到繼續(xù)MOV 22H,#00H ;到1小時則清零MD:LJMP SETT;/*鬧鈴時間調(diào)整按鍵掃描及處理子程序*/KEYR: MOV P3,#0FFH MOV A,P3CPL AANL A,#2CHJZ RETK ;無鍵按下則返回LCALL DISPR ;延時消抖MOV A,P3CPL A
18、ANL A,#2CHJZ RETK ;鍵盤去抖動MOV R6,A ;將鍵值存入R6LJMP LOOPRLOOPR:LCALL DISPRMOV A,P3CPL AANL A,#2CHJNZ LOOPR ;等待鍵釋放MOV A,R6AJMP RETK;/*設(shè)置鬧鈴時間*/SETR:SETB P1.0 ;發(fā)光二極管LED1滅CLR P1.1 ;發(fā)光二極管LED2亮,改顯示狀態(tài)LCALL DISPRMOV R1,#00H ;設(shè)置鬧鐘時重設(shè)R1,用于檢測鬧鈴播放與否MOV 53H,#03H ;重設(shè)鬧鈴次數(shù)LCALL KEYR ;鬧鈴時間調(diào)整按鍵檢測JZ SETRMOV A,R6JB ACC.2,SET
19、RHJB ACC.3,SETRMJB ACC.5,KEYGO ;第二次按為確認(rèn)離開SETRH:MOV A,31H ;鬧鐘時加1ADD A,#01HDA A ;十進(jìn)制調(diào)整MOV 31H,ACJNE A,#24H,RHD ;判斷是否到24,不到繼續(xù)MOV 31H,#00H ;到24時則清零RHD:LJMP SETRSETRM:MOV A,30H ;鬧鐘分加1ADD A,#01HDA A ;十進(jìn)制調(diào)整MOV 30H,ACJNE A,#60H,RMD ;判斷是否到1小時,不到繼續(xù)MOV 30H,#00H ;到1小時則清零RMD:LJMP SETR;/*鬧鐘設(shè)置顯示子程序*/DISPR:MOV A,30
20、HANL A,#0FH ;屏蔽高四位MOV 3AH,A ;保留低位送3AHMOV A,30HANL A,#0F0H ;屏蔽低四位 SWAP A ;高四位與第四位交換MOV 3BH,A ;將保留的高4位送3BHMOV A,31HANL A,#0FH MOV 3CH,A ;低位MOV A,31HANL A,#0F0HSWAP AMOV 3DH,A ;高位LEDR1:SETB P2.3MOV A,3DH MOV DPTR,#TAB MOVC A,A+DPTR CLR P2.0MOV P0,ALCALL DELAYLEDR2:SETB P2.0 MOV A,3CH MOV DPTR,#TAB MOVC
21、 A,A+DPTR CLR P2.1MOV P0,ALCALL DELAYLEDR3:SETB P2.1 MOV A,3BH MOV DPTR,#TAB MOVC A,A+DPTR CLR P2.2MOV P0,ALCALL DELAYLEDR4:SETB P2.2 MOV A,3AH MOV DPTR,#TAB MOVC A,A+DPTR CLR P2.3MOV P0,ALCALL DELAYRET;/*延時子程序*/DELAY:MOV R5,#2 D1:MOV R4,#250D2:DJNZ R4,D2DJNZ R5,D1RET;/*鬧鈴檢測程序*/RING:MOV A,23H ;比較時CJ
22、NE A,31H,RETRMOV A,22H ;比較分CJNE A,30H,RETR LCALL SINGRETR:RET;/*定時器T1中斷子程序*/INTT1:PUSH PSW ;狀態(tài)字入棧保護(hù) PUSH ACC ;累加器入棧保護(hù) INC 50H ;中斷服務(wù)程序,中斷計數(shù)器加1MOV TH1,#0D8H ;裝入計數(shù)初值,12M晶振,形成10MS中斷 MOV TL1,#0F0H POP ACC POP PSWRETI ;/*響鈴子程序*/ SING:CJNE R1,#01H,SING1 ;判斷是否已經(jīng)鬧鈴過一次 LJMP RETS SING1:SETB ET1 MOV 50H,#00H ;中
23、斷計數(shù)器清0 MOV 51H,#00H ;音符指針 MOV 52H,#00H ;節(jié)拍碼指針 MOV 53H,#03H ;設(shè)置鬧鐘不退出響鈴次數(shù) GETNOT:MOV A,51H MOV DPTR,#NOTE ;表頭地址送DPTR MOVC A,A+DPTR ;查表取音符碼 JZ ENDP ;是00H,則結(jié)束 MOV R6,A ;存R6 INC 51H CJNE A,#0FFH,GETMET ;不為0FFH,轉(zhuǎn)取節(jié)拍碼 LJMP PAUSE ;轉(zhuǎn)休止播放 LJMP GETNOT ;取音符碼 GETMET:MOV A,52H MOV DPTR,#METRE ;取節(jié)拍碼首地址 MOVC A,A+DP
24、TR ;取節(jié)拍代碼送R7 MOV R7,A INC 52H PLAY:SETB TR1 ;啟動計數(shù) CPL P2.4 LCALL KEY JNZ RETS MOV A,R6 MOV R3,A ;音符碼存R3 LCALL DELAY1 MOV A,R7 ;取節(jié)拍碼放A與中斷計數(shù)比較CJNE A,50H,PLAY ;斷計數(shù)器(50H)=R7否,不等繼續(xù)循環(huán)MOV 50H,#00H ;等于,則取下一代碼 LCALL DISPT LCALL DISPT LCALL DISPT LCALL DISPT CLR TR1 LJMP GETNOT RETS:SETB P2.4 ;置位蜂鳴器,否則可能產(chǎn)生嘯叫M
25、OV R1,#01H ;表明播放過一次CLR A ;清除A,防止進(jìn)入按鍵處理子程序LJMP RETR PAUSE:CLR TR1 ;休止100毫秒 MOV R2,#0DH DELAY2: MOV R3,#0FFH LCALL DELAY1 DJNZ R2,DELAY2RET ENDP:SETB P2.4 MOV R2,#0C7H ;歌曲結(jié)束,延時1秒后繼續(xù)END1M: MOV R3,#00H LCALL DELAY1 DJNZ R2,END1M DJNZ 53H,SING RET DELAY1:NOP ;R3為01H時,DELAY延時為20uSDELAY3: MOV R4,#02H DELAY
26、4: DJNZ R4,DELAY4 DJNZ R3,DELAY3 RETNOTE:DB 7FH,7FH,7FH,60H,65H,72H,72H,72H,7FH,72H DB 60H,72H,60H,72H,60H,72H,7FH,72H,7FH,98H,72H,7FH DB 7FH,7FH,7FH,60H,65H,72H,72H,72H,7FH,72H DB 60H,72H,60H,72H,60H,72H,7FH,72H,7FH,72H,4CH,55H,00HMETRE:DB 80H,20H,20H,20H,20H,20H,20H,20H,20H,80H DB 20H,20H,20H,20H,
27、40H,20H,20H,20H,20H,20H,20H,80HDB 80H,20H,20H,20H,20H,20H,20H,20H,20H,80H DB 20H,20H,20H,20H,40H,20H,20H,20H,20H,20H,20H,40H END四、調(diào)試分析過程1、建立一個Keil51應(yīng)用程序首先新建一個工程項目文件zj,再為工程選擇目標(biāo)器件P80P87C52X2,如圖所示。然后把源程序文件(.asm)添加到項目中.2、程序文件的編譯、連接單擊工具欄Project選項,在彈出的下拉菜單中選擇“Option For Target Target1”命令為目標(biāo)設(shè)置工具選項,在Debug欄內(nèi)
28、選中Use Simulator選項,單擊確定命令按鈕,此時配置為軟件仿真,在Output欄中選擇Create HEX Fi選項,用于生成HEX文件。經(jīng)過上述設(shè)置,就可以編譯程序了。單擊工具欄Project選項,在彈出的下拉菜單中選擇Build Target命令對源程序文件進(jìn)行編譯,若出現(xiàn)下圖所示窗口,顯示無錯誤,繼續(xù)進(jìn)行Rebuild all target fiels, 在信息輸出窗口會輸出一些相關(guān)的信息。第五行“Creating hex file from zj”說明已生成目標(biāo)文件zj.hex,最后一行說明在編譯過程中不存在錯誤和警告,編譯連接成功。若在編譯過程中出現(xiàn)錯誤,系統(tǒng)會給出錯誤所在
29、的行和該錯誤提示信息,我們可以根據(jù)這些提示信息更正程序中出項的錯誤,重新編譯調(diào)試程序,直至完全正確為止。3、將生成的目標(biāo)文件last.hex下載到Flash中 運行可執(zhí)行文件“SSTFlashFlex51.exe”。打開界面如圖2所示。點擊菜單“DetectChip/RS232”-“Detect Target MCUand RS232 Config”。打開界面如圖所示。根據(jù)板載單片機(jī)型號選擇“SST98C58”或“SST89E/V58RD2”。存儲器模式選“Internal Memory”。點擊確定。設(shè)置串行口參數(shù),如圖4所示。注意串口號應(yīng)選擇與學(xué)習(xí)板連接的端口,波特率選默認(rèn)值38400。其他
30、不用改動。按“Detect MCU”。根據(jù)彈出的對話框操作:先按下“確定”,然后按一下學(xué)習(xí)板的復(fù)位按鈕SW1。(如果MCU已經(jīng)復(fù)位,可以不用按SW1,應(yīng)視乎軟件能否檢測到MCU決定)。如果軟件檢測到MCU則界面如圖5所示(因MCU狀況不同可能有差異)。點擊“IAP Function”中的“Dnload/Run UserCode”,在彈出對話框中輸入要下載的程序名(hex后綴)。彈出對話框問是否覆蓋原來代碼,點擊“是”,程序代碼即下載到學(xué)習(xí)板的單片機(jī)中并開始運行。時鐘開始運行(預(yù)置的是00:00,用于顯示秒的LED78開始閃爍)。4、在線調(diào)試選擇菜單“Project”-“Open Project
31、”。選擇打開項目文件zj.Uv2。打開項目后可看到源代碼。點擊左邊Project Workspace窗口的目錄樹最頂端的Target 1。然后選擇菜單“Project”-“Options for Target Target 1”。打開窗口如圖所示。點擊“Debug”選項卡。打開如圖所示界面,選擇右邊“Use Keil Monitor-51 Driver”。選擇下面“Run to main()”復(fù)選框。然后點擊“Settings”按鈕。彈出對話框中選擇串口號和波特率,串口號選擇與上文使用SST下載軟件時相同(如果串口連接沒有改變的話),波特率選擇38400。完成后點擊“確定”。再次點擊“確定”退
32、出項目設(shè)置窗口。在主界面上方圖標(biāo)按鈕處點擊 按鈕。軟件即進(jìn)入仿真調(diào)試狀態(tài)。黃色光標(biāo)停留在main函數(shù)的第一語句處。光標(biāo)下方紅色方塊為運行斷點,可以自行設(shè)置(雙擊黃色光標(biāo)下方的深灰色區(qū)域即可設(shè)置或取消斷點)。按全速執(zhí)行按鈕 執(zhí)行程序,光標(biāo)將停留在預(yù)設(shè)的斷點處。接著可按單步執(zhí)行按鈕執(zhí)行斷點處的語句。同理,可繼續(xù)設(shè)置斷點或全速執(zhí)行全部程序。可在子函數(shù)內(nèi)部設(shè)置斷點,亦可使用 按鈕進(jìn)入某個子函數(shù)。如果接下來沒有其他斷點而按全速運行按鈕,MCU將全速運行,軟件將不能再實時觀察到MCU的狀態(tài),此時可以觀察學(xué)習(xí)板的硬件運行情況是否和設(shè)想的一致。進(jìn)入全速運行后要停止操作須按停止按鈕 。彈出對話框中選擇“Stop
33、 Debugging”。退出仿真調(diào)試狀態(tài)后若須重新仿真調(diào)試,請先復(fù)位學(xué)習(xí)板MCU(按學(xué)習(xí)板的SW1按鈕)。五、課程設(shè)計體會【實驗中遇到的問題及解決方案】1、首先是定時的問題,一開始我用的是查詢方式,但是查詢方式得不斷查詢TF0的值,很繁瑣。后來我改用了中斷方式,較簡單。2、實驗中按鍵掃描及處理部分困擾了我很久。我直接用JD51上的四個按鍵,其中三個用于調(diào)整時、分、顯示變化,它們分別接在P3.2、P3.3、P3.5口,第一個問題是調(diào)整出現(xiàn)誤差,開關(guān)存在抖動現(xiàn)象,通過調(diào)用延時子程序、確認(rèn)按鍵程序消除開關(guān)抖動現(xiàn)象;同時,由于延時太長,導(dǎo)致顯示出現(xiàn)閃爍或滅掉,最后解決的方法是在延時程序內(nèi)部也加入調(diào)用顯示程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 呂梁師范高等專科學(xué)?!端囆g(shù)專業(yè)大學(xué)英語(四)》2023-2024學(xué)年第一學(xué)期期末試卷
- 患者參與藥物監(jiān)管決策的路徑研究報告
- 2024年公司個人工作計劃(33篇)
- 2025年安徽安慶市潛山市潛潤城市發(fā)展服務(wù)有限公司招聘筆試參考題庫附帶答案詳解
- 2025年成安城投集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 2025年濟(jì)南出版有限責(zé)任公司招聘筆試參考題庫含答案解析
- 2025年中國兵器裝備中國長安招聘筆試參考題庫含答案解析
- 2025年中國信息通信科技集團(tuán)招聘筆試參考題庫含答案解析
- 2025年高鐵科技湖南有限公司招聘筆試參考題庫含答案解析
- 2025年山東濱州沾化國有企業(yè)招聘筆試參考題庫含答案解析
- 2025年內(nèi)蒙古包鋼集團(tuán)招聘筆試參考題庫含答案解析
- DB12T 577-2015 地理標(biāo)志產(chǎn)品 紅花峪桑椹
- 2024年山西省晉中市公開招聘警務(wù)輔助人員(輔警)筆試專項訓(xùn)練題試卷(2)含答案
- 福建省廈門市2023-2024學(xué)年高二上學(xué)期1月期末質(zhì)量檢測數(shù)學(xué)試題(解析版)
- 2023九年級歷史上冊 第二單元 5《羅馬城邦和羅馬帝國》教學(xué)實錄 新人教版
- 學(xué)校2025元旦假期安全教育宣傳課件
- 功能科提高動態(tài)心電圖檢查人次PDCA
- 咨詢總監(jiān)述職報告
- 教育綜合體項目策劃書
- 項目經(jīng)理年度工作總結(jié)
- 2024版質(zhì)量管理培訓(xùn)
評論
0/150
提交評論