MCS-51單片機匯編語言程序設計

MCS-51單片機匯編語言程序設計

ID:39335478

大?。?62.10 KB

頁數(shù):29頁

時間:2019-07-01

MCS-51單片機匯編語言程序設計_第1頁
MCS-51單片機匯編語言程序設計_第2頁
MCS-51單片機匯編語言程序設計_第3頁
MCS-51單片機匯編語言程序設計_第4頁
MCS-51單片機匯編語言程序設計_第5頁
資源描述:

《MCS-51單片機匯編語言程序設計》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫

1、§4-1偽指令§4-2匯編語言程序的編輯與匯編§4-3匯編語言程序設計●教學目的:本章主要學習偽指令,源程序的編輯與匯編,匯編語言的程序設計舉例。通過本章的學習,要掌握偽指令的含義及其使用方法,學會應用基礎指令語句編寫具有分支、循環(huán)、子程序等的匯編語言程序,掌握應用WAVE軟件編寫、編譯程序的方法,學會應用WAVE軟件進行程序仿真與檢查。第四章MCS-51單片機語言程序設計§4-1偽指令一、偽指令在單片機編程中,有一些指令,如指定目標程序或數(shù)據(jù)存放的地址、給一些指定的標號賦值、表示源程序結束等指令,并不產(chǎn)生目標程序(機器碼),僅僅產(chǎn)生供匯編用的某些命令,用來對匯編過程進行某種控制或操作,

2、這類指令稱為偽指令。MCS-51的偽指令主要有:ORGENDEQUBITDBDWDS等§4-1偽指令ORG—定義起始地址偽指令格式:ORGaddr16功能:規(guī)定程序塊或數(shù)據(jù)存放的起始地址。Addr16表示一個16位的程序存儲器的空間地址,一般為一個確定的地址,也可以是預先定義的標號。例:ORG000HAJMPMAINORG0030HMAIN:MOVA,30H…注意:①在一個匯編語言源程序的開始,一般都要設置一條org偽指令來指定該程序在程序存儲器中存放的起始地址,如果省略,程序從0000H開始存放;②在一個程序中,可以有多個org,為不同的程序段指明存放位置,但必須從小到大,且存儲空間不

3、能重疊。END—定義匯編結束偽指令格式:END功能:表示匯編結束,在此之后的源程序將不被編譯。例:ORG000HAJMPMAINORG0030HMAIN:MOVA,30H…END§4-1偽指令EQU—標號賦值偽指令例:BLKEQU1000HGREENEQU30HORG000HAJMPMAINORG0030HMAIN:MOVA,GREEN…END§4-1偽指令格式:標號EQU[表達式]功能:將表達式的值賦給本語句中的標號,又稱為等值指令,可替代單字節(jié)、雙字節(jié)。注意:在被賦值后該標號將不能再被賦值。BIT—位地址賦值偽指令例:REDBIT20H.3ORG000HAJMPMAINORG0030

4、HMAIN:MOVP1.6,RED…END§4-1偽指令格式:標號BIT[表達式]功能:將表達式的值賦給本語句中的標號,以替代位。注意:在被賦值后該標號將不能再被賦值。DB—定義字節(jié)偽指令例:ORG000HAJMPMAINORG0030HMAIN:…MOVDPTR,#TABMOVCA,@A+DPTR…TAB:DB0C0H,0F9H,0A4H,99HDB86H,73H,89HDB“helloworld!”END§4-1偽指令格式:標號DB[字節(jié)表]功能:從標號指定的地址單元開始,在程序存儲器中定義字節(jié)數(shù)據(jù)。DW—定義字偽指令例:ORG000HAJMPMAINORG0030HMAIN:…TA

5、B:DW0C045H,0F9H,0A324H,99HEND§4-1偽指令格式:標號:DW[字表]功能:從標號指定的地址單元開始,在程序存儲器中存儲字數(shù)據(jù)。DS—預存存儲區(qū)偽指令例:ORG3000HMAIN:…TIMER:DS10H…END§4-1偽指令格式:標號:DS表達式功能:從標號指定的地址單元開始,定義一個存儲區(qū),以被源程序使用。存儲區(qū)內(nèi)預留的單元數(shù)由表達式的值決定。應用軟件:WAVE,KeilCWAVE應用初步(請看實際操作)§4-2匯編語言程序的編輯與匯編程序的四種執(zhí)行方式:順序程序分支程序循環(huán)程序子程序§4-3匯編語言程序設計分析問題確定算法畫框圖編寫程序調試開始一般處理判斷

6、編程技巧:劃分好功能模塊,按模塊編程寫好注釋,便于理解和事后分析對于內(nèi)部存儲器的應用要合理分配子程序的堆棧保護和數(shù)據(jù)接口要設置好§4-3匯編語言程序設計編程舉例:§4-3匯編語言程序設計例4-1(P60)(順序程序)設20H單元中有一個8位的數(shù)據(jù),將其低4位送到21H內(nèi),并按相反的順序拼裝,高4位清零,即原(20H)=D7D6D5D4D3D2D1D0至(21H)=0000D0D1D2D3。(WAVE編程操作)編程舉例:§4-3匯編語言程序設計例4-2(P60)(分支程序)求16位二進制數(shù)的補碼。設16位二進制數(shù)的原碼放在R1,R0中,(低8位在R0中),求得的補碼放置在R3、R2中。(補

7、碼的概念:正數(shù)是本身,負數(shù)各數(shù)值位取反后加1得到。)(WAVE編程操作)編程舉例:§4-3匯編語言程序設計例4-3(P61)(分支程序)比較兩個無符號數(shù)的大小,兩個8位數(shù)分別存放在DATA1、DATA2單元,要求將大數(shù)放置在DATA3單元(三單元連續(xù))。(WAVE編程操作)編程舉例:§4-3匯編語言程序設計例4-4(P61)(循環(huán)程序)計算通用延時程序的延時時間。Delay:MOVR7,#250DEL1:MOVR6,#200DJNZ

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。