譚久剛 《單片機應(yīng)用技術(shù)》1_第1頁
譚久剛 《單片機應(yīng)用技術(shù)》1_第2頁
譚久剛 《單片機應(yīng)用技術(shù)》1_第3頁
譚久剛 《單片機應(yīng)用技術(shù)》1_第4頁
譚久剛 《單片機應(yīng)用技術(shù)》1_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組子情境子情境1-11-1:點亮簡單單片機系統(tǒng):點亮簡單單片機系統(tǒng)任務(wù)任務(wù)1-1-4 1-1-4 任務(wù)任務(wù)1-1-3 1-1-3 任務(wù)任務(wù)1-1-2 1-1-2 任務(wù)任務(wù)1-1-11-1-1系統(tǒng)硬件仿真系統(tǒng)硬件仿真 系統(tǒng)程序的編寫、編譯及仿真調(diào)試系統(tǒng)程序的編寫、編譯及仿真調(diào)試 點亮發(fā)光二極管軟件設(shè)計點亮發(fā)光二極管軟件設(shè)計 系統(tǒng)硬件電路設(shè)計系統(tǒng)硬件電路設(shè)計單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組任務(wù)任務(wù)1-1-1:系統(tǒng)硬件電路設(shè)計:系統(tǒng)硬件電路設(shè)計任務(wù)要求任務(wù)要求:完成單片機最小系統(tǒng)及發(fā)光二極管電路設(shè)計完成單片機最小系統(tǒng)及發(fā)光二極管電

2、路設(shè)計 發(fā)光二極管發(fā)光二極管 電路電路設(shè)計設(shè)計 單片機單片機最小系統(tǒng)最小系統(tǒng)設(shè)計設(shè)計 單片機單片機 應(yīng)用系應(yīng)用系統(tǒng)構(gòu)成統(tǒng)構(gòu)成什么是什么是 單片單片機?機?Step 1Step 2Step 3Step 4任務(wù)實施步驟任務(wù)實施步驟知識點小結(jié)知識點小結(jié)單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1Step 1:什么是單片機?:什么是單片機?1. 概念概念 將中央處理器將中央處理器CPU、隨機存儲器、隨機存儲器RAM、只、只讀存儲器讀存儲器ROM、多種、多種I/O口口和和中斷系統(tǒng)中斷系統(tǒng)、定時定時器器/計時器計時器等功能模塊集成到一塊硅片上構(gòu)成的等功能模塊集成到一塊硅片上構(gòu)成的一個小

3、而完善的計算機系統(tǒng)。一個小而完善的計算機系統(tǒng)。輸入輸出接口輸入輸出接口定時器等功能模塊定時器等功能模塊CPU(中央處理器)(中央處理器) 相當(dāng)于人的大腦,執(zhí)行數(shù)字計算及相當(dāng)于人的大腦,執(zhí)行數(shù)字計算及邏輯判斷等功能邏輯判斷等功能完成基本定時或完成基本定時或計數(shù)功能計數(shù)功能RAM和和ROM 分別用于存放臨時數(shù)分別用于存放臨時數(shù)據(jù)和程序代碼據(jù)和程序代碼I/O口口 單片機與外部設(shè)備的單片機與外部設(shè)備的連接通道連接通道單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1Step 1:什么是單片機?:什么是單片機?醫(yī)療器械醫(yī)療器械智能儀表智能儀表家用電器家用電器工業(yè)控制工業(yè)控制機電產(chǎn)品機電產(chǎn)品

4、2.2.應(yīng)用領(lǐng)域應(yīng)用領(lǐng)域單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1Step 1:什么是單片機?:什么是單片機?3. 常用單片機常用單片機 PHLIPIS 單單片機片機 ATMEL 單單片機片機 PIC單單片機片機 EMC 單單片機片機 MciroChip 單單片機片機STC 單單片機片機 本教學(xué)項目中選擇本教學(xué)項目中選擇AT89S51(或或AT89C51),該單片機主要特點如下:,該單片機主要特點如下: 屬屬MCS-51系列,指令兼容系列,指令兼容 4K可在線編程可在線編程ROM 128字節(jié)字節(jié)RAM 時鐘頻率時鐘頻率033MHz單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課

5、程開發(fā)小組Step 2Step 2:單片機應(yīng)用系統(tǒng)構(gòu)成:單片機應(yīng)用系統(tǒng)構(gòu)成復(fù)位電路復(fù)位電路ISP下載電路下載電路電源電路電源電路晶振電路晶振電路單片機單片機外圍電路外圍電路人的大腦人的大腦完成計算、分析等功能系統(tǒng)工作的能量系統(tǒng)工作的能量相當(dāng)于人吃的食物時鐘信號時鐘信號相當(dāng)于人的脈搏程序下載程序下載將編好的單片機應(yīng)用程序下載到單片機ROM具體功能電路具體功能電路如發(fā)光二極管電路強制使單片機重新運行程序強制使單片機重新運行程序包括上電復(fù)位和故障復(fù)位單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 3Step 3:單片機最小系統(tǒng)設(shè)計:單片機最小系統(tǒng)設(shè)計1.1.單片機系統(tǒng)硬件電路設(shè)計經(jīng)驗分

6、享單片機系統(tǒng)硬件電路設(shè)計經(jīng)驗分享 l 具備模電、數(shù)電等基礎(chǔ)知識,知道如何查閱和設(shè)計一些基本電路;具備模電、數(shù)電等基礎(chǔ)知識,知道如何查閱和設(shè)計一些基本電路;l 具備具備從簡單到復(fù)雜從簡單到復(fù)雜、模塊化設(shè)計模塊化設(shè)計的思路;的思路;l 認(rèn)真學(xué)好單片機等相關(guān)芯片的原理及硬件特征;認(rèn)真學(xué)好單片機等相關(guān)芯片的原理及硬件特征;l 掌握至少一種掌握至少一種硬件仿真硬件仿真軟件的使用;軟件的使用;l 熟練掌握各種儀器儀表及工具的使用;熟練掌握各種儀器儀表及工具的使用;l 一定要一定要親自動手親自動手焊板子、調(diào)板子,在做的過程中體驗學(xué)習(xí)的快樂。焊板子、調(diào)板子,在做的過程中體驗學(xué)習(xí)的快樂。本項目硬件電路分為單片機

7、本項目硬件電路分為單片機最小系統(tǒng)電路和發(fā)光二極管電路最小系統(tǒng)電路和發(fā)光二極管電路單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 3Step 3:單片機最小系統(tǒng)設(shè)計:單片機最小系統(tǒng)設(shè)計2. 2. 單片機的引腳簡述單片機的引腳簡述 時鐘引腳時鐘引腳(XTAL1、XTAL2)時鐘信號由此腳送給單片機電源引腳電源引腳(VCC、GND)5V電源正極接到VCC,負(fù)極接到GND復(fù)位引腳復(fù)位引腳(RST)5V高電平復(fù)位,單片機重新運行程序ISP下載引腳下載引腳(MOSI、MISO、SCK)下載應(yīng)用程序到單片機ROM選擇引腳選擇引腳(EA)5V電源時單片機訪問內(nèi)部ROM輸入輸出引腳輸入輸出引腳(P

8、0P0P3P3)讀寫外部電路,完成控制功能讀寫外部電路,完成控制功能很多很多I/OI/O引腳具有第二功能引腳具有第二功能單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 3Step 3:單片機最小系統(tǒng)設(shè)計:單片機最小系統(tǒng)設(shè)計3. 3. 單片機最小系統(tǒng)電路單片機最小系統(tǒng)電路 復(fù)位電路時鐘電路VCC電源電路下載電路最小系統(tǒng)概念最小系統(tǒng)概念 單片機最小系統(tǒng)就是能讓單片機單片機最小系統(tǒng)就是能讓單片機工作起來的最少電路組成,包括工作起來的最少電路組成,包括電源電源電路、時鐘電路、復(fù)位電路電路、時鐘電路、復(fù)位電路等。等。 系統(tǒng)軟件放在片內(nèi)系統(tǒng)軟件放在片內(nèi)ROM, 接接5V電壓,使電壓,使CPU

9、從片內(nèi)從片內(nèi)ROM取指令。取指令。單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 4Step 4:發(fā)光二極管電路設(shè)計:發(fā)光二極管電路設(shè)計 1.1.發(fā)光二極管怎樣才會亮?發(fā)光二極管怎樣才會亮? 滿足電流和電壓的要求,發(fā)光二滿足電流和電壓的要求,發(fā)光二極管就可以發(fā)光了。極管就可以發(fā)光了。2.2.單片機如何與發(fā)光二極管連接?單片機如何與發(fā)光二極管連接? 單片機可以通過四組單片機可以通過四組I/O引腳(引腳(P0P3口)與外部設(shè)備進(jìn)行聯(lián)系,發(fā)光口)與外部設(shè)備進(jìn)行聯(lián)系,發(fā)光二極管的負(fù)極接到二極管的負(fù)極接到P1口的某個引腳口的某個引腳(如(如P1.0),正極經(jīng)一),正極經(jīng)一470電阻連電阻連

10、到到+5V電源上電源上 。3.3.為什么要接一個電阻為什么要接一個電阻 發(fā)光二極管發(fā)光時正向電流一般為發(fā)光二極管發(fā)光時正向電流一般為25mA,而而P1.0口最大電流為口最大電流為10mA,25mA電流電流流經(jīng)流經(jīng)P1.0口時就會造成損壞,因而要加口時就會造成損壞,因而要加電阻電阻以以滿足端口對最大電流的限制滿足端口對最大電流的限制。 單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組任務(wù)知識點小結(jié)任務(wù)知識點小結(jié) 1. 1. 點亮最簡單單片機系統(tǒng)原理圖點亮最簡單單片機系統(tǒng)原理圖 單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組任務(wù)知識點小結(jié)任務(wù)知識點小結(jié) 2. 2. 相關(guān)知識點相關(guān)知識點單

11、片機概念單片機概念單片機應(yīng)用系統(tǒng)組成單片機應(yīng)用系統(tǒng)組成單片機引腳單片機引腳單片機最小系統(tǒng)概念及原理圖單片機最小系統(tǒng)概念及原理圖發(fā)光二極管工作原理發(fā)光二極管工作原理單片機驅(qū)動能力的概念單片機驅(qū)動能力的概念單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組課堂練習(xí)課堂練習(xí)2. 2. 相關(guān)知識點相關(guān)知識點什么單片機最小系統(tǒng)?包括哪些電路?什么單片機最小系統(tǒng)?包括哪些電路?相關(guān)引腳有哪些?相關(guān)引腳有哪些?EAEA引腳不接引腳不接5V5V電平電平發(fā)光二極管電路為什么要加電阻,不發(fā)光二極管電路為什么要加電阻,不加會產(chǎn)生什么后果?加會產(chǎn)生什么后果?單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組課后練

12、習(xí)課后練習(xí)課后習(xí)題課后習(xí)題2.2.課后實訓(xùn)課后實訓(xùn) 自己到電子市場購買元器件,完成該硬件電路的實物制作自己到電子市場購買元器件,完成該硬件電路的實物制作,元件清單鍵任務(wù)單,實物電路制作方法見附錄。元件清單鍵任務(wù)單,實物電路制作方法見附錄。單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組任務(wù)任務(wù)1-1-21-1-2:點亮發(fā)光二極管軟件設(shè)計:點亮發(fā)光二極管軟件設(shè)計 任務(wù)要求任務(wù)要求:編程控制編程控制 P1.0P1.0引腳上小燈的亮滅引腳上小燈的亮滅系統(tǒng)軟件系統(tǒng)軟件設(shè)計設(shè)計 如何控制如何控制P1.0腳電平腳電平 匯編程序匯編程序設(shè)計基礎(chǔ)設(shè)計基礎(chǔ) 單片機軟單片機軟件件概述?概述?Step 1Ste

13、p 2Step 3Step 4任務(wù)實施步驟任務(wù)實施步驟知識點小結(jié)知識點小結(jié)單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1Step 1:單片機軟件概述:單片機軟件概述1.1.編程語言編程語言機器語言機器語言匯編語言匯編語言高級語言高級語言 指令用不同的符號代替,指令用不同的符號代替,如實現(xiàn)寄存器如實現(xiàn)寄存器A A賦值指令:賦值指令:機器指令:機器指令:01110100 00000010 匯編指令:匯編指令: MOV A, #02H 需用編譯軟件,將匯編指令需用編譯軟件,將匯編指令轉(zhuǎn)換成機器代碼才能讓單片轉(zhuǎn)換成機器代碼才能讓單片機執(zhí)行機執(zhí)行 相對機器語言,容易記憶相對機器語言,容

14、易記憶,相對高級語言執(zhí)行效率高,相對高級語言執(zhí)行效率高,但仍難實現(xiàn)復(fù)雜算法,但仍難實現(xiàn)復(fù)雜算法 指令用不同的二進(jìn)指令用不同的二進(jìn)制代碼代表,用二進(jìn)制代碼代表,用二進(jìn)制指令編寫系統(tǒng)軟件制指令編寫系統(tǒng)軟件單片機可以直接執(zhí)行單片機可以直接執(zhí)行 執(zhí)行效率高,執(zhí)行效率高,但指但指令代碼難于記憶令代碼難于記憶, ,難以難以實現(xiàn)復(fù)雜算法實現(xiàn)復(fù)雜算法 C C語言為代表,如:語言為代表,如:機器指令:機器指令:01110100 00000010 匯編指令:匯編指令: MOV A, #02H C語言:語言: ACC=0X02; 需用編譯軟件,將需用編譯軟件,將C C語言指語言指令轉(zhuǎn)換成機器代碼才能讓單令轉(zhuǎn)換成機器

15、代碼才能讓單片機執(zhí)行片機執(zhí)行 指令接近數(shù)學(xué)表達(dá)式,容指令接近數(shù)學(xué)表達(dá)式,容易記憶,且容易實現(xiàn)復(fù)雜算易記憶,且容易實現(xiàn)復(fù)雜算法法,但執(zhí)行效率低,但執(zhí)行效率低單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1Step 1:單片機軟件概述:單片機軟件概述1.1.下載應(yīng)用程序到下載應(yīng)用程序到ROMROMPCATMP1PSWBSPDPTRSFR及及RAMROMP1P2P3P0定時定時中斷中斷串口串口IR控控制制器器ID振振蕩蕩X1X2P0P1P2P3ALU PSEN RST ALE EA 內(nèi)部系統(tǒng)總線內(nèi)部系統(tǒng)總線ISPIn_1In_2OutROMROM0000H01110100011101

16、000001H0000001000000010.2.2.單片機指令執(zhí)行過程單片機指令執(zhí)行過程( (執(zhí)行執(zhí)行MOV A,#20HMOV A,#20H指令指令) )ROMROM0000H01110100011101000001H0000001000000010.2.2.取指令取指令 上電復(fù)位后從上電復(fù)位后從PCPC=0000=0000處取處取指令,取指令后指令,取指令后PCPC自動加自動加1 101110100011101003.譯碼譯碼4.執(zhí)行指令執(zhí)行指令 根據(jù)譯碼結(jié)果,將根據(jù)譯碼結(jié)果,將下一字節(jié)數(shù)據(jù)送入下一字節(jié)數(shù)據(jù)送入A00000010單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組H H

17、0 00 07FH00000 00 08 80 0H HRAM內(nèi)內(nèi)部部0 00 0F FF FH H能寄存器特殊功0 0F FF FF FF FH H)(外部外部K64RAM 數(shù)據(jù)存儲器數(shù)據(jù)存儲器H0000Step 2Step 2:匯編程序設(shè)計基礎(chǔ):匯編程序設(shè)計基礎(chǔ)單片機存儲器結(jié)構(gòu)單片機存儲器結(jié)構(gòu)0 0F FF FF FF FH H0 0F FF FF FH H0EAROM外部1EAROM內(nèi)部H0000 程序存儲器程序存儲器1 10 00 00 0H H內(nèi)部內(nèi)部RAMRAM低低128128字節(jié)字節(jié)0000H0000H001FH001FH通用寄存器組,通用寄存器組,4 4組,每組組,每組8 8字

18、節(jié)字節(jié)0020H0020H002FH002FH位尋址區(qū)位尋址區(qū)0030H0030H007FH007FH用戶區(qū)用戶區(qū)PSW.4(RS1)0011PSW.3(RS0)0 01 10 01 1寄存器名寄存器名0 0組組地址地址1 1組組地址地址2 2組組地址地址3 3組組地址地址R0R000H00H08H08H10H10H18H18HR1R101H01H09H09H11H11H19H19HR2R202H02H0AH0AH12H12H1AH1AHR3R303H03H0BH0BH13H13H1BH1BHR4R404H04H0CH0CH14H14H1CH1CHR5R505H05H0DH0DH15H15H1

19、DH1DHR6R606H06H0EH0EH16H16H1EH1EHR7R707H07H0FH0FH17H17H1FH1FH 16 16個字節(jié),一個字節(jié)個字節(jié),一個字節(jié)8 8位,共位,共128128位位,位地址編號為,位地址編號為00H00H7FH7FH,由專門的,由專門的位操作指令進(jìn)行讀寫。位操作指令進(jìn)行讀寫。 片內(nèi)片內(nèi)4K,片外可擴展,片外可擴展至至64K特殊功能寄存器特殊功能寄存器SFR占用高占用高128字節(jié)地址字節(jié)地址80HFFH單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 2Step 2:匯編程序設(shè)計基礎(chǔ):匯編程序設(shè)計基礎(chǔ)2.2.匯編語言指令匯編語言指令可執(zhí)行指令格式可

20、執(zhí)行指令格式標(biāo)號:標(biāo)號: 指令助記符指令助記符 操作數(shù)操作數(shù)1 1,操作數(shù),操作數(shù)2 2,操作數(shù),操作數(shù)3 3 ;注釋;注釋標(biāo)號標(biāo)號 程序設(shè)計程序設(shè)計人員給某個人員給某個ROM地址單元地址單元起的名字。起的名字。 便于程序便于程序的轉(zhuǎn)移。由英的轉(zhuǎn)移。由英文字母或數(shù)字文字母或數(shù)字組成,但須以組成,但須以英文字母打頭,英文字母打頭,再用再用“:”隔開,隔開,可以省略??梢允÷浴V噶钪浄噶钪浄?告訴告訴CPUCPU要完成的任務(wù)要完成的任務(wù)。 比如助記比如助記符符MOVMOV就要求就要求C CPUPU進(jìn)行一次數(shù)進(jìn)行一次數(shù)據(jù)的傳送。每據(jù)的傳送。每個操作碼都有個操作碼都有對應(yīng)的機器代對應(yīng)的機器代碼,

21、不可缺省。碼,不可缺省。操作數(shù)操作數(shù) 指明操作碼所操作的對象。指明操作碼所操作的對象。 比如助記符比如助記符MOVMOV只告訴只告訴CPUCPU要要進(jìn)行數(shù)據(jù)傳送,到底數(shù)據(jù)從哪來進(jìn)行數(shù)據(jù)傳送,到底數(shù)據(jù)從哪來又傳到哪去呢,完整的寫法應(yīng)是:又傳到哪去呢,完整的寫法應(yīng)是:MOV A,R0MOV A,R0,這就告訴,這就告訴CPUCPU應(yīng)從通應(yīng)從通用寄存器用寄存器R0R0取數(shù)據(jù)并送到累加器取數(shù)據(jù)并送到累加器A A中。中。注釋注釋 對該指令對該指令在程序中的作在程序中的作用進(jìn)行解釋說用進(jìn)行解釋說明,便于程序明,便于程序的閱讀。的閱讀。書寫書寫時須用時須用“;”隔隔開,可以省略。開,可以省略。單片機應(yīng)用技術(shù)

22、單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 2Step 2:匯編程序設(shè)計基礎(chǔ):匯編程序設(shè)計基礎(chǔ)2.2.匯編語言指令匯編語言指令尋址方式尋址方式 指令中的操作數(shù)可以為指令中的操作數(shù)可以為RAM、SFR、ROM的某個地址單元或以的某個地址單元或以“#”打打頭寫在指令中的數(shù)據(jù),頭寫在指令中的數(shù)據(jù),告訴告訴CPU操作數(shù)所在地址單元的方式操作數(shù)所在地址單元的方式稱為尋址方式,稱為尋址方式,例如:例如: MOV R0,A MOV 00H,A 上面兩個指令實際上是一回事,都是將累加器上面兩個指令實際上是一回事,都是將累加器A的內(nèi)容送入通用寄存的內(nèi)容送入通用寄存器器R0,但采用的尋址方式卻有差異,一個給出

23、寄存器的名字,但采用的尋址方式卻有差異,一個給出寄存器的名字R0,稱為,稱為寄寄存器尋址存器尋址;另一個則直接給出;另一個則直接給出R0所在的內(nèi)部所在的內(nèi)部RAM地址地址00H,這種稱為,這種稱為直接直接尋址尋址。 尋址方式包括立尋址方式包括立即數(shù)尋址、直接尋址、寄存器尋址、寄存器間接尋即數(shù)尋址、直接尋址、寄存器尋址、寄存器間接尋址、基址加變址尋址、相對尋址及位尋址址、基址加變址尋址、相對尋址及位尋址等等7種方式,我們將在項目程序種方式,我們將在項目程序中逐一給大家介紹。中逐一給大家介紹。單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 2Step 2:匯編程序設(shè)計基礎(chǔ):匯編程序設(shè)

24、計基礎(chǔ)2.2.匯編語言指令匯編語言指令偽指令 偽指令是告訴偽指令是告訴A51A51編譯軟件如何編譯源程序的指令。編譯軟件如何編譯源程序的指令。 不被編譯成機器代碼,即不被編譯成機器代碼,即不被單片機不被單片機CPUCPU執(zhí)行執(zhí)行的指令,故稱為偽的指令,故稱為偽指令。例如指令。例如: : ORG 0030H ORG 0030H MOV A,R0 MOV A,R0 END END 偽指令偽指令ORG 0030HORG 0030H告訴告訴A51A51編譯軟件:匯編指令編譯軟件:匯編指令MOV A,R0MOV A,R0的機器的機器代碼應(yīng)從代碼應(yīng)從ROMROM的的30H30H單元開始存放。單元開始存放。

25、 偽指令偽指令ENDEND則告訴則告訴A51A51編譯軟件:源程序編譯到此結(jié)束,即匯編編譯軟件:源程序編譯到此結(jié)束,即匯編結(jié)束偽指令。結(jié)束偽指令。單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 2Step 2:匯編程序設(shè)計基礎(chǔ):匯編程序設(shè)計基礎(chǔ)3.3.匯編語言程序設(shè)計經(jīng)驗與技巧匯編語言程序設(shè)計經(jīng)驗與技巧明確軟件設(shè)計步驟;明確軟件設(shè)計步驟; 分析問題,明確任務(wù)要求;分析問題,明確任務(wù)要求; 確定算法,根據(jù)實際問題確定計算公式和計算方法;確定算法,根據(jù)實際問題確定計算公式和計算方法; 繪制流程圖,根據(jù)算法制定的運算步驟和順序,繪制流程圖,根據(jù)算法制定的運算步驟和順序,把運算過程畫成流

26、程圖把運算過程畫成流程圖 分配資源,根據(jù)程序區(qū)、數(shù)據(jù)區(qū)等預(yù)計所占空間大小,對存儲區(qū)進(jìn)行合理分配資源,根據(jù)程序區(qū)、數(shù)據(jù)區(qū)等預(yù)計所占空間大小,對存儲區(qū)進(jìn)行合理 分配并確定每個區(qū)域的首地址;分配并確定每個區(qū)域的首地址; 編寫程序,用匯編語言來實現(xiàn)上面已確定的算法。編寫程序,用匯編語言來實現(xiàn)上面已確定的算法。 仿真調(diào)試,利用單片機各種開發(fā)工具對所編寫的程序進(jìn)行測試,檢驗程序仿真調(diào)試,利用單片機各種開發(fā)工具對所編寫的程序進(jìn)行測試,檢驗程序 是否完成制定功能,測試過程盡可能詳細(xì),要保證每條支路都能得到檢驗。是否完成制定功能,測試過程盡可能詳細(xì),要保證每條支路都能得到檢驗。 程序固化,即將調(diào)試好的程序生成機

27、器代碼后固化到程序固化,即將調(diào)試好的程序生成機器代碼后固化到Flash ROM等程序存儲等程序存儲 器中。器中。熟練掌握單片機存儲器結(jié)構(gòu)及功能特點;熟練掌握單片機存儲器結(jié)構(gòu)及功能特點;熟練掌握各匯編指令的格式及功能;熟練掌握各匯編指令的格式及功能;掌握好各種器件的編程特點;掌握好各種器件的編程特點;熟練掌握單片機的尋址方式;熟練掌握單片機的尋址方式;具備由簡單到復(fù)雜及模塊化設(shè)計思路;具備由簡單到復(fù)雜及模塊化設(shè)計思路;掌握好子程序的設(shè)計方法。掌握好子程序的設(shè)計方法。單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 3Step 3:如何控制:如何控制P1.0P1.0腳電平腳電平 P1P

28、1口的內(nèi)部結(jié)構(gòu)特點口的內(nèi)部結(jié)構(gòu)特點 由由總線、鎖存器(即寄存器)總線、鎖存器(即寄存器)及驅(qū)動電路及驅(qū)動電路組成。組成。 寫數(shù)據(jù)時,所寫數(shù)據(jù)來自內(nèi)部寫數(shù)據(jù)時,所寫數(shù)據(jù)來自內(nèi)部總線,經(jīng)鎖存器反向及場效應(yīng)管反總線,經(jīng)鎖存器反向及場效應(yīng)管反向后鎖存到外部引腳上,所以,向后鎖存到外部引腳上,所以,P1端口具有端口具有輸出鎖存功能輸出鎖存功能。2. P1口的編程口的編程 由結(jié)構(gòu)分析可知,由結(jié)構(gòu)分析可知,寫引腳寫引腳,實實際就是將數(shù)據(jù)送入際就是將數(shù)據(jù)送入該引腳所對應(yīng)的該引腳所對應(yīng)的輸出鎖存器(即輸出鎖存器(即寄存器寄存器,寄存器名,寄存器名同引腳名),同引腳名),可采用數(shù)據(jù)傳送指令可采用數(shù)據(jù)傳送指令MOV

29、來編程實現(xiàn)。如:來編程實現(xiàn)。如: MOV P1,#01H 該指令完成引腳該指令完成引腳P1.1 P1.7寫寫1,P1.0寫寫0的功能。的功能。 VCCP1。X鎖存器鎖存器讀鎖存器讀鎖存器D讀引腳讀引腳寫鎖存器寫鎖存器內(nèi)部總線內(nèi)部總線QQT內(nèi)部上拉電阻內(nèi)部上拉電阻CLTS2TS1P1.X單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 4Step 4:系統(tǒng)軟件設(shè)計:系統(tǒng)軟件設(shè)計 1.1.系統(tǒng)功能分析系統(tǒng)功能分析 系統(tǒng)功能要求將控制系統(tǒng)功能要求將控制P1.0P1.0引腳二極管的亮滅,實際上就是控制引腳二極管的亮滅,實際上就是控制P1.0P1.0口管口管腳電平的高低。腳電平的高低。2.2

30、.算法確定算法確定 該系統(tǒng)功能的軟件功能很簡單,一條指令就可以完成控制作用。該系統(tǒng)功能的軟件功能很簡單,一條指令就可以完成控制作用。3.3.流程圖繪制流程圖繪制 雖然系統(tǒng)功能很簡單,但軟件的編寫必須雖然系統(tǒng)功能很簡單,但軟件的編寫必須 遵循相應(yīng)的流程,圖中點亮或熄滅某盞燈遵循相應(yīng)的流程,圖中點亮或熄滅某盞燈 的功能只需一條指令就能實現(xiàn),的功能只需一條指令就能實現(xiàn),循環(huán)等待循環(huán)等待 實際上是一個死循環(huán),實際上是一個死循環(huán),CPUCPU在執(zhí)行完控制在執(zhí)行完控制 程序后會一直執(zhí)行這個死循環(huán)語句,它的程序后會一直執(zhí)行這個死循環(huán)語句,它的 主要作用是為了防止程序失控。主要作用是為了防止程序失控。 開始開

31、始點亮或熄滅點亮或熄滅P1P1口某引腳的口某引腳的燈燈循環(huán)等待循環(huán)等待匯編結(jié)束匯編結(jié)束單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 4Step 4:系統(tǒng)軟件設(shè)計:系統(tǒng)軟件設(shè)計 4.4.分配資源分配資源1).ROM存儲空間分配存儲空間分配 該系統(tǒng)程序只有幾個字節(jié),也即是說該系統(tǒng)程序只有幾個字節(jié),也即是說ROM只需幾個字節(jié)就能存放系統(tǒng)軟只需幾個字節(jié)就能存放系統(tǒng)軟件,件,片內(nèi)片內(nèi)ROM有有4K字節(jié)字節(jié),已足夠用。對于程序的存放地址有兩點必須注意:,已足夠用。對于程序的存放地址有兩點必須注意: CPU復(fù)位后復(fù)位后PC總是指向總是指向ROM的的0000H單元,即單元,即CPU從從0000

32、H單元開始執(zhí)行程單元開始執(zhí)行程序序,所以程序的第一條指令應(yīng)放在,所以程序的第一條指令應(yīng)放在0000H單元。單元。 ROM中中0003H0030H之間的存儲單元有特殊用途,一般不要占用,因此,之間的存儲單元有特殊用途,一般不要占用,因此,功能程序都從功能程序都從0030H單元開始存放單元開始存放。 這是一個矛盾,即程序的第一條指令必須放在這是一個矛盾,即程序的第一條指令必須放在0000H單元,但單元,但0003H0030H單元又要預(yù)留它用。單元又要預(yù)留它用。一般我們在一般我們在0000H單元放一條單元放一條跳轉(zhuǎn)指令跳轉(zhuǎn)指令,使,使CPU執(zhí)執(zhí)行完行完0000H單元的跳轉(zhuǎn)指令后馬上轉(zhuǎn)到單元的跳轉(zhuǎn)指令

33、后馬上轉(zhuǎn)到0030H單元去執(zhí)行程序。單元去執(zhí)行程序。2).RAM及及SFR存儲空間分配存儲空間分配 本系統(tǒng)程序很小,沒有定義變量,也沒有臨時數(shù)據(jù)需要存放,因此不會本系統(tǒng)程序很小,沒有定義變量,也沒有臨時數(shù)據(jù)需要存放,因此不會用到用到RAM存儲單元。存儲單元。但會用到但會用到SFR中的中的P1寄存器給寄存器給P1引腳賦值引腳賦值。單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 4Step 4:系統(tǒng)軟件設(shè)計:系統(tǒng)軟件設(shè)計 5.程序清單程序清單;點亮最簡單的單片機系統(tǒng)點亮最簡單的單片機系統(tǒng); ORG 0000H ;將后面程序定位到將后面程序定位到ROM的的0000H單元單元 LJMP

34、START ;跳轉(zhuǎn)指令,跳轉(zhuǎn)到跳轉(zhuǎn)指令,跳轉(zhuǎn)到START標(biāo)號處執(zhí)行程序標(biāo)號處執(zhí)行程序 ORG 0030H ;將后面程序定位到將后面程序定位到ROM的的0030H單元單元START: MOV P1,#11111110B ;將將P1.0引腳清引腳清“0”,即點亮該引腳所接,即點亮該引腳所接LED LJMP $ ;死循環(huán),防止程序跑飛死循環(huán),防止程序跑飛 END ;匯編結(jié)束匯編結(jié)束注釋部分,對程序或語句進(jìn)行說明注釋部分,對程序或語句進(jìn)行說明程序主體程序主體將被編譯成機器將被編譯成機器代碼被單片機執(zhí)代碼被單片機執(zhí)行行偽指令偽指令(編譯軟件執(zhí)行,輔助完(編譯軟件執(zhí)行,輔助完成程序主體的編譯,單片機不執(zhí)行

35、)成程序主體的編譯,單片機不執(zhí)行)ORG為程序定位偽指令為程序定位偽指令END為編譯結(jié)束偽指令為編譯結(jié)束偽指令1).可執(zhí)行指令格式及功能可執(zhí)行指令格式及功能 LJMP(長跳轉(zhuǎn)指令)(長跳轉(zhuǎn)指令)指令格式:指令格式:LJMP 標(biāo)號標(biāo)號指令功能:指令功能:該指令為一無條件跳轉(zhuǎn)指令,跳該指令為一無條件跳轉(zhuǎn)指令,跳轉(zhuǎn)距離大,可在轉(zhuǎn)距離大,可在64K字節(jié)范圍內(nèi)跳轉(zhuǎn),因而稱為字節(jié)范圍內(nèi)跳轉(zhuǎn),因而稱為長跳轉(zhuǎn)長跳轉(zhuǎn)指令,它可以改變指令,它可以改變PC值,從而使值,從而使CPU轉(zhuǎn)到轉(zhuǎn)到相應(yīng)的標(biāo)號處執(zhí)行程序。相應(yīng)的標(biāo)號處執(zhí)行程序。 MOV(數(shù)據(jù)傳送類指令)(數(shù)據(jù)傳送類指令)指令格式:指令格式:MOV 目的操作數(shù),

36、源操作數(shù)目的操作數(shù),源操作數(shù)指令功能:指令功能:將源操作數(shù)的數(shù)據(jù)送到目的操作將源操作數(shù)的數(shù)據(jù)送到目的操作數(shù)。數(shù)。 該程序中,目的操作數(shù)為該程序中,目的操作數(shù)為P1寄存器,源操寄存器,源操作數(shù)為二進(jìn)制數(shù)作數(shù)為二進(jìn)制數(shù)“#11111110B”,執(zhí)行指令后將,執(zhí)行指令后將P1.0口清口清0而將其它引腳置而將其它引腳置1,即點亮,即點亮P1.0引腳上引腳上的的LED,而熄滅其它,而熄滅其它7個個LED。直接尋址直接尋址 操作數(shù)直接以操作數(shù)直接以RAM或或SFR的的單元地址單元地址的形的形式給出式給出 立即數(shù)尋址立即數(shù)尋址直接在指令中給出數(shù)據(jù),直接在指令中給出數(shù)據(jù),需需#打頭打頭,B、H、D分別代分別代

37、表二、十六及十進(jìn)制數(shù)表二、十六及十進(jìn)制數(shù)單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組任務(wù)知識點小結(jié)任務(wù)知識點小結(jié) 1. 1. 點亮最簡單單片機系統(tǒng)原理圖點亮最簡單單片機系統(tǒng)原理圖 單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組課堂練習(xí)課堂練習(xí)2. 2. 相關(guān)知識點相關(guān)知識點課堂練習(xí)課堂練習(xí)單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組課后練習(xí)課后練習(xí)課后習(xí)題課后習(xí)題2.2.課后實訓(xùn)課后實訓(xùn) 編寫實現(xiàn)任意小燈亮滅控制的程序編寫實現(xiàn)任意小燈亮滅控制的程序單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組任務(wù)任務(wù)1-1-31-1-3:系統(tǒng)程序的編寫、編譯及仿真調(diào)試:系統(tǒng)程序的編

38、寫、編譯及仿真調(diào)試 任務(wù)要求任務(wù)要求:系統(tǒng)程序的編寫、編譯及仿真調(diào)試系統(tǒng)程序的編寫、編譯及仿真調(diào)試任務(wù)實施步驟任務(wù)實施步驟軟件軟件仿真調(diào)試仿真調(diào)試創(chuàng)建創(chuàng)建項目項目 Step 1Step 2知識點小結(jié)知識點小結(jié)單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1Step 1:創(chuàng)建項目:創(chuàng)建項目創(chuàng)建項目的步驟:創(chuàng)建項目的步驟:演示鏈接演示鏈接新建一個新建一個源文件并源文件并把它加入把它加入到項目中。到項目中。啟動啟動 uVision2,新建一,新建一個項目文件個項目文件并從器件庫并從器件庫中選擇器件。中選擇器件。針對目標(biāo)針對目標(biāo)硬件設(shè)置硬件設(shè)置工具選項。工具選項。123編譯項目并編譯項

39、目并生成可以編生成可以編程程PROM的的HEX文件。文件。4單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1Step 1:創(chuàng)建項目:創(chuàng)建項目1.1.啟動啟動 uVision2 uVision2 并創(chuàng)建一個項目并創(chuàng)建一個項目啟動啟動uVision2uVision2 uVision2啟動后的界面啟動后的界面項目管理窗口項目管理窗口文件編輯窗口文件編輯窗口菜單欄菜單欄工具條工具條輸出窗口輸出窗口單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1Step 1:創(chuàng)建項目:創(chuàng)建項目1.1.啟動啟動 uVision2 uVision2 并創(chuàng)建一個項目并創(chuàng)建一個項目新建項目選擇單

40、片機型號新建項目選擇單片機型號 點擊點擊Project-New Project新建一個項目文件,保存文件名為新建一個項目文件,保存文件名為“Keil項目文件項目文件”“點亮最簡單的單片機系統(tǒng)點亮最簡單的單片機系統(tǒng)”led1.uv2,將會出現(xiàn),將會出現(xiàn)“Select Device for TargetTarget1”對話框,要求你選擇對話框,要求你選擇CPU,選擇,選擇Atmel目錄下的目錄下的AT89S51 單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1Step 1:創(chuàng)建項目:創(chuàng)建項目 1.1.啟動啟動 uVision2 uVision2 并創(chuàng)建一個項目并創(chuàng)建一個項目創(chuàng)建后界

41、面創(chuàng)建后界面項目管理窗口項目管理窗口Files標(biāo)簽顯示項目文件信息標(biāo)簽顯示項目文件信息項目管理窗口項目管理窗口Books標(biāo)簽顯示手冊標(biāo)簽顯示手冊單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1Step 1:創(chuàng)建項目:創(chuàng)建項目 2.2.創(chuàng)建源文件并加入到項目中創(chuàng)建源文件并加入到項目中創(chuàng)建匯編源程序創(chuàng)建匯編源程序 匯編源程序窗口匯編源程序窗口 點擊點擊File-NewFile-New新建一個源文件,這將打開一個空的編輯窗口。在該窗口輸新建一個源文件,這將打開一個空的編輯窗口。在該窗口輸入?yún)R編語言源代碼,并保存為入?yún)R編語言源代碼,并保存為led1.Aled1.A,注意,注意后綴名必須

42、是后綴名必須是“.A”.A”,表明這是,表明這是一個匯編語言源程序。一個匯編語言源程序。單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1Step 1:創(chuàng)建項目:創(chuàng)建項目 2.2.創(chuàng)建源文件并加入到項目中創(chuàng)建源文件并加入到項目中添加源程序到項目添加源程序到項目 源程序建好后源程序建好后, ,在項目窗口單擊在項目窗口單擊Target 1-Source Group 1Target 1-Source Group 1,并在區(qū)域內(nèi)點右,并在區(qū)域內(nèi)點右鍵出現(xiàn)如鍵出現(xiàn)如左圖左圖所示菜單,單擊所示菜單,單擊Add Files to GroupSource Group 1Add Files to

43、GroupSource Group 1,選擇源,選擇源程序程序led1.Aled1.A點確定就將源程序添加到項目中,添加完成后項目顯示如點確定就將源程序添加到項目中,添加完成后項目顯示如右圖右圖。 添加源程序到項目添加源程序到項目 添加源程序后的項目窗口添加源程序后的項目窗口單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1Step 1:創(chuàng)建項目:創(chuàng)建項目 2.2.創(chuàng)建源文件并加入到項目中創(chuàng)建源文件并加入到項目中針對目標(biāo)硬件設(shè)置選項針對目標(biāo)硬件設(shè)置選項 在將匯編語言源程序編譯成機器代碼之前,應(yīng)該先設(shè)置目標(biāo)硬件(單片在將匯編語言源程序編譯成機器代碼之前,應(yīng)該先設(shè)置目標(biāo)硬件(單片機)

44、的相關(guān)選項。如機)的相關(guān)選項。如左圖左圖所示,點擊所示,點擊Target 1-Options for TargetTarget Target 1-Options for TargetTarget 11便進(jìn)入如便進(jìn)入如右圖右圖所示的選項卡界面。所示的選項卡界面。 點擊進(jìn)入選項界面點擊進(jìn)入選項界面目標(biāo)硬件選項目標(biāo)硬件選項對話框條目對話框條目描述描述設(shè)定值設(shè)定值XtalXtal定義定義CPUCPU時鐘,同系統(tǒng)所選時鐘頻率時鐘,同系統(tǒng)所選時鐘頻率12MHz12MHzMemory ModelMemory Model定義編譯器的存儲模式定義編譯器的存儲模式分別選分別選SmallSmall、LargeLar

45、ge、NoneNoneOff-chipMemoryOff-chipMemory 定義目標(biāo)硬件上所以外部存儲器區(qū)域定義目標(biāo)硬件上所以外部存儲器區(qū)域采用內(nèi)部存儲器,不填采用內(nèi)部存儲器,不填CodeBankingCodeBankingXdata Banking Xdata Banking 為代碼和數(shù)據(jù)的分段定義參數(shù),用于存儲器擴展至為代碼和數(shù)據(jù)的分段定義參數(shù),用于存儲器擴展至2 2M M采用內(nèi)部存儲器,不填采用內(nèi)部存儲器,不填單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1Step 1:創(chuàng)建項目:創(chuàng)建項目 2.2.創(chuàng)建源文件并加入到項目中創(chuàng)建源文件并加入到項目中編譯并生成編譯并生成H

46、EX文件文件編譯信息顯示編譯信息顯示(a)(b) 通過單擊工具條上的通過單擊工具條上的 圖標(biāo),你可以編譯所有的源文件并生成應(yīng)用,當(dāng)你圖標(biāo),你可以編譯所有的源文件并生成應(yīng)用,當(dāng)你的應(yīng)用有語法錯誤時,的應(yīng)用有語法錯誤時,uVision2 uVision2 將在將在Output WindowBuild Output WindowBuild 頁顯示這些錯誤頁顯示這些錯誤和警告信息(如圖(和警告信息(如圖(a a),),雙擊這個錯誤信息將打開此信息對應(yīng)的文件并定位雙擊這個錯誤信息將打開此信息對應(yīng)的文件并定位到語法錯誤處,修改錯誤并最終編譯通過(如圖(到語法錯誤處,修改錯誤并最終編譯通過(如圖(b)。)。

47、 若要將程序灌入單片機,則需生成若要將程序灌入單片機,則需生成HEX文件,當(dāng)文件,當(dāng)Options for TargetOutput中中的輸出的輸出 HEX文件使能文件使能時,時,uVision2 每進(jìn)行一次每進(jìn)行一次 Build 都生成都生成 HEX文件。文件。 單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 2Step 2:軟件仿真及調(diào)試:軟件仿真及調(diào)試 1.1.常用調(diào)試命令常用調(diào)試命令 調(diào)試工具條調(diào)試工具條復(fù)位復(fù)位 點擊后單片機點擊后單片機將重新執(zhí)行程序?qū)⒅匦聢?zhí)行程序全速運行程序全速運行程序 點擊后單片機點擊后單片機將持續(xù)運行程序?qū)⒊掷m(xù)運行程序單步跟蹤運行程序單步跟蹤運行程

48、序 點擊后單片機將一步一步點擊后單片機將一步一步執(zhí)行程序,跟蹤執(zhí)行子程序執(zhí)行程序,跟蹤執(zhí)行子程序單步運行程序單步運行程序 點擊后單片機將一步一步點擊后單片機將一步一步執(zhí)行程序,不執(zhí)行子程序執(zhí)行程序,不執(zhí)行子程序單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 2Step 2:軟件仿真及調(diào)試:軟件仿真及調(diào)試 2.2.常用調(diào)試窗口常用調(diào)試窗口 調(diào)試窗口(調(diào)試窗口(P1P1寄存器窗口、輸出窗口和存儲器窗口寄存器窗口、輸出窗口和存儲器窗口) keil 軟件在調(diào)試程序時提供了多個窗口,當(dāng)程序仿真運行時,軟件在調(diào)試程序時提供了多個窗口,當(dāng)程序仿真運行時,可以利用這可以利用這些窗口查看相關(guān)運行結(jié)

49、果,從而判斷程序的正確與否,些窗口查看相關(guān)運行結(jié)果,從而判斷程序的正確與否,圖示為圖示為P1寄存器窗口寄存器窗口、輸出窗口和存儲器窗口,、輸出窗口和存儲器窗口, 單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 2Step 2:軟件仿真及調(diào)試:軟件仿真及調(diào)試 2.2.常用調(diào)試窗口常用調(diào)試窗口存儲器窗口存儲器窗口 存儲器數(shù)值各種存儲器數(shù)值各種 方式顯示選擇方式顯示選擇 儲器的值的修改儲器的值的修改 用于顯示系統(tǒng)中各種存儲器中的值,通過在用于顯示系統(tǒng)中各種存儲器中的值,通過在Address后的編緝框內(nèi)輸入后的編緝框內(nèi)輸入“字母:數(shù)字字母:數(shù)字”即可顯示相應(yīng)內(nèi)存值,其中字母可以是即可顯示

50、相應(yīng)內(nèi)存值,其中字母可以是 C、D,分別代表代碼存,分別代表代碼存儲空間、直接尋址的片內(nèi)存儲空間,數(shù)字代表想要查看的地址。例如輸入儲空間、直接尋址的片內(nèi)存儲空間,數(shù)字代表想要查看的地址。例如輸入C:0即可觀察到地址即可觀察到地址0開始的片內(nèi)開始的片內(nèi) ROM 單元值。單元值。 左圖中的左圖中的Modify Memory at X:xx 用于用于更改鼠標(biāo)處的內(nèi)存單元值更改鼠標(biāo)處的內(nèi)存單元值,選中該,選中該項即出現(xiàn)如右圖示的對話框,可以在對話框內(nèi)輸入修改內(nèi)容。項即出現(xiàn)如右圖示的對話框,可以在對話框內(nèi)輸入修改內(nèi)容。 單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 2Step 2:軟件仿

51、真及調(diào)試:軟件仿真及調(diào)試 2.2.常用調(diào)試窗口常用調(diào)試窗口工程窗口寄存器頁、觀察窗口工程窗口寄存器頁、觀察窗口 工程窗口寄存器頁工程窗口寄存器頁 觀察窗口觀察窗口工程窗口寄存器頁用于實時顯示當(dāng)前工作寄存器組工程窗口寄存器頁用于實時顯示當(dāng)前工作寄存器組R0R7及系統(tǒng)寄存器包括及系統(tǒng)寄存器包括A、B、DPTR、SP、PSW 等,還可顯示程序執(zhí)行時間(等,還可顯示程序執(zhí)行時間(sec)等執(zhí)行狀態(tài)。用鼠標(biāo)單擊)等執(zhí)行狀態(tài)。用鼠標(biāo)單擊然后然后按下按下 F2鍵,即可修改該值鍵,即可修改該值。觀察窗口用于顯示寄存器(如觀察窗口用于顯示寄存器(如P1)及高級語言變量值。)及高級語言變量值。單片機應(yīng)用技術(shù)單片機

52、應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 2Step 2:軟件仿真及調(diào)試:軟件仿真及調(diào)試 3.3.項目的仿真調(diào)試項目的仿真調(diào)試進(jìn)入調(diào)試狀態(tài)進(jìn)入調(diào)試狀態(tài) 為了進(jìn)行調(diào)試,我們在源程序中為了進(jìn)行調(diào)試,我們在源程序中制造一個錯誤制造一個錯誤,將,將MOV P1,#11111110B改改成成MOV P1,#00000001B,記住,項目本來的目的是要點亮,記住,項目本來的目的是要點亮P1.0引腳上的發(fā)光二引腳上的發(fā)光二極管。極管。 點擊點擊Debug-Start/Stop Debug Session進(jìn)入調(diào)試狀態(tài),界面如圖。進(jìn)入調(diào)試狀態(tài),界面如圖。調(diào)試窗口調(diào)試窗口寄存器頁寄存器頁 文件文件編輯窗口編輯窗口

53、輸出窗口輸出窗口 程序程序執(zhí)行箭頭執(zhí)行箭頭單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 2Step 2:軟件仿真及調(diào)試:軟件仿真及調(diào)試 3.3.項目的仿真調(diào)試項目的仿真調(diào)試查看程序代碼存儲情況(查看程序代碼存儲情況(ROM) LJMP STARTSTART: MOV P1,#00000001B LJMP $ ; ;點亮最簡單的單片機系統(tǒng)點亮最簡單的單片機系統(tǒng); ORG 0000HORG 0000H; ;將后面程序定位到將后面程序定位到ROMROM的的0000H0000H單元單元 LJMP START LJMP START ; ;使使PCPC指向標(biāo)號指向標(biāo)號STARTSTART所

54、對應(yīng)的存儲單元所對應(yīng)的存儲單元 ORG 0030HORG 0030H; ;將后面程序定位到將后面程序定位到ROMROM的的0030H0030H單元單元START:START: MOV P1,#00000001B MOV P1,#00000001B ; ;將將P1.0P1.0引腳清引腳清00,即點亮該引腳所接,即點亮該引腳所接LEDLED LJMP $ LJMP $; ;死循環(huán),防止程序跑飛死循環(huán),防止程序跑飛 ENDEND; ;匯編結(jié)束匯編結(jié)束單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 2Step 2:軟件仿真及調(diào)試:軟件仿真及調(diào)試 3.3.項目的仿真調(diào)試項目的仿真調(diào)試程序仿

55、真調(diào)試程序仿真調(diào)試 按單步按鈕按單步按鈕 之一,直到程序執(zhí)行箭頭指向之一,直到程序執(zhí)行箭頭指向LJMP $指令,執(zhí)行結(jié)果如右圖指令,執(zhí)行結(jié)果如右圖 ,對比,對比,P1.0=1,相應(yīng)引腳燈滅,不滿足任務(wù)要求,將,相應(yīng)引腳燈滅,不滿足任務(wù)要求,將MOV P1,#00000001B改成改成MOV P1,#11111110B,再單步運行結(jié)果顯示符合要求,調(diào)試完成。,再單步運行結(jié)果顯示符合要求,調(diào)試完成。 單步執(zhí)行結(jié)果單步執(zhí)行結(jié)果單步執(zhí)行前狀態(tài)單步執(zhí)行前狀態(tài)單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組任務(wù)任務(wù)1-1-41-1-4:系統(tǒng)軟硬件聯(lián)合仿真系統(tǒng)軟硬件聯(lián)合仿真 任務(wù)要求任務(wù)要求:利用仿真軟

56、件繪制電路圖并進(jìn)行軟硬件聯(lián)合仿真利用仿真軟件繪制電路圖并進(jìn)行軟硬件聯(lián)合仿真 軟硬件聯(lián)合仿軟硬件聯(lián)合仿真真 軟件的添加軟件的添加 原理圖的繪原理圖的繪制制 Step 1Step 2Step 3任務(wù)實施步驟任務(wù)實施步驟知識點小結(jié)知識點小結(jié)單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1 Step 1 原理圖的繪制原理圖的繪制 建立設(shè)計文件建立設(shè)計文件 雙擊桌面雙擊桌面ISIS.EXEISIS.EXE文件出現(xiàn)如圖所示界面,整個界面被分為三個區(qū)域,文件出現(xiàn)如圖所示界面,整個界面被分為三個區(qū)域,即,圖形編輯窗口、對象預(yù)覽窗口、對象選擇器窗口。即,圖形編輯窗口、對象預(yù)覽窗口、對象選擇器窗口

57、。 點擊點擊File-New Design或新建設(shè)計,點擊后將打開圖紙選擇窗口,選擇或新建設(shè)計,點擊后將打開圖紙選擇窗口,選擇合適的圖紙類型,確認(rèn)后自動建立一個缺省標(biāo)題(合適的圖紙類型,確認(rèn)后自動建立一個缺省標(biāo)題(UNTITLED)的文件,再)的文件,再選擇選擇File-Save Design As將文件另存為將文件另存為led1.dsn。演示鏈接演示鏈接 圖形編輯窗口圖形編輯窗口對象選擇器窗對象選擇器窗口口對象選擇按鈕對象選擇按鈕繪圖工具欄繪圖工具欄預(yù)覽對象方位控制按鈕預(yù)覽對象方位控制按鈕仿真進(jìn)程控制按鈕仿真進(jìn)程控制按鈕狀態(tài)欄狀態(tài)欄標(biāo)準(zhǔn)工具欄標(biāo)準(zhǔn)工具欄菜菜單單欄欄預(yù)覽窗口預(yù)覽窗口單片機應(yīng)用技

58、術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1 Step 1 原理圖的繪制原理圖的繪制 2.2.放置器件對象放置器件對象器件選擇器件選擇 點擊工具箱左上角的點擊工具箱左上角的PP按鈕,彈出按鈕,彈出“Pick Divces”Pick Divces”界面,如圖所示。界面,如圖所示。 在在KeywordKeyword窗口填上器件名稱,可自動搜索到所要的器件;或在種類窗口窗口填上器件名稱,可自動搜索到所要的器件;或在種類窗口(CategoryCategory)選擇器件類型庫,在子種類窗口()選擇器件類型庫,在子種類窗口(Sub-CateorySub-Cateory)選擇器件系列)選擇器件系列,

59、再從,再從ResultsResults窗口選擇具體器件;雙擊器件名稱將進(jìn)入對象選擇器工具箱。窗口選擇具體器件;雙擊器件名稱將進(jìn)入對象選擇器工具箱。 根據(jù)該項目要求,添加器件包括根據(jù)該項目要求,添加器件包括AT89S51AT89S51單片機、單片機、5V5V電源、電源、12MHz12MHz晶振、晶振、3030pFpF瓷片電容、瓷片電容、10uF10uF極性電容、極性電容、1K1K電阻、發(fā)光二極管等器件。添加后顯示如右圖電阻、發(fā)光二極管等器件。添加后顯示如右圖。 所添加器件所添加器件單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1 Step 1 原理圖的繪制原理圖的繪制 2.2.放

60、置器件對象放置器件對象放置器件放置器件 器件放置器件放置接下來選擇系統(tǒng)器件放到圖形編輯窗口,如接下來選擇系統(tǒng)器件放到圖形編輯窗口,如左圖左圖所示,所示,注意電源、地等終端器件的放置注意電源、地等終端器件的放置方法:方法:編輯窗口中點擊鼠標(biāo)右鍵,選擇編輯窗口中點擊鼠標(biāo)右鍵,選擇Place-Terminal-POWERPlace-Terminal-POWER,如,如右圖右圖所示。所示。電源、地?zé)艚K端器件的放置電源、地?zé)艚K端器件的放置單片機應(yīng)用技術(shù)單片機應(yīng)用技術(shù)課程開發(fā)小組課程開發(fā)小組Step 1 Step 1 原理圖的繪制原理圖的繪制 3.3.放置連線放置連線 ProteusProteus連線十分

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論