D幻燈片定稿第4章MCS-51匯編語言程序設計_第1頁
D幻燈片定稿第4章MCS-51匯編語言程序設計_第2頁
D幻燈片定稿第4章MCS-51匯編語言程序設計_第3頁
D幻燈片定稿第4章MCS-51匯編語言程序設計_第4頁
D幻燈片定稿第4章MCS-51匯編語言程序設計_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

MCS-51匯編語言程序設計第4章·單片機原理與應用課程Contents本章內容概覽匯編語言程序設計從基礎到實戰的完整知識體系01匯編語言程序設計基礎02偽指令系統與源程序匯編03基本程序結構詳解04實用程序設計技術05綜合編程實例與實戰CHAPTER01匯編語言程序設計基礎理解編程語言的層次體系與匯編語言的核心特征PROGRAMMINGLANGUAGES編程語言的三個層次MCS-51程序設計涉及機器語言、匯編語言和高級語言三個層次。匯編語言以助記符替代二進制碼,兼顧可讀性與硬件控制力,在需要直接管理中斷、存儲器和I/O接口的嵌入式場景中具有不可替代的優勢。機器語言由二進制代碼直接表示指令與數據,CPU可直接執行無需翻譯,但人類難以閱讀和記憶,編寫效率極低且極易出錯。如RET指令對應機器碼22H,MOVA,#0FH對應74H0FH,程序員需記住每條指令的二進制編碼。二進制匯編語言采用英文助記符(MOV、ADD、DJNZ),與機器指令一一對應,經匯編程序翻譯后執行。面向特定硬件架構,能直接管理中斷、訪問存儲器和I/O接口,程序效率高、占用空間小。不同架構不兼容,需深入了解MCS-51硬件結構才能編寫有效程序。助記符高級語言(C51)不受具體機器限制,使用數學公式和習慣用語,通用性強、直觀易懂,適合科學計算和復雜邏輯開發。MCS-51開發中常用C51語言,開發效率高但代碼體積較大,對硬件的直接控制能力不如匯編。C51MCS-51ASSEMBLY匯編語言語句格式與分類MCS-51匯編語言采用標號、操作碼、操作數、注釋四段式格式,語句分為生成機器碼的指令語句(111條)和不生成機器碼的偽指令語句兩類。掌握格式規范是編寫正確匯編程序的前提。四段式格式[標號:]操作碼[操作數][;注釋],操作碼必填,標號后須加冒號,操作數逗號分隔FORMAT指令語句共111條,匯編后產生機器代碼,如MOVA,#00H生成74H00H,CPU可直接執行111條偽指令語句為匯編過程服務,不產生機器碼,用于定義起始地址、分配存儲空間等ORG·DB·EQU匯編過程.ASM源程序→匯編→.OBJ目標→鏈接→可執行文件→寫入單片機ROM運行.ASM→ROM書寫規則不區分大小寫,標號禁用指令助記符或寄存器名,同程序標號不可重復RULESCHAPTER02偽指令系統與源程序匯編掌握程序定位、數據定義和空間分配的核心工具PseudoInstructions核心偽指令:ORG、END、EQUORG、END、EQU是MCS-51匯編語言中最基礎的三個偽指令,分別承擔程序地址定位、匯編終止標記和符號常量定義的職責,是構建規范化匯編程序的基石。ORG—起始地址偽指令格式為ORGnn(nn為16位地址),指定其后程序代碼在ROM中的存放起始地址,如ORG0000H用于復位向量入口0000HEND—程序結束偽指令放在整個源程序的最后一行,通知匯編器源程序到此結束,END之后的任何內容都將被匯編器忽略不予處理終止標記EQU—等值偽指令格式為'符號名EQU表達式',將表達式值賦給符號名,如LED_PORTEQUP1,后續可用LED_PORT代替P1端口符號替換ASSEMBLYDIRECTIVES數據定義偽指令:DB、DW、DSDB、DW、DS三個偽指令分別用于定義字節數據、字數據和預留存儲空間,是匯編程序中管理ROM數據表和RAM緩沖區的核心手段。DB—定義字節數據格式為[標號:]DB字節數據表,從當前地址開始連續存放8位數據,如DB01H,02H,03H依次在ROM中存放三個字節。支持字符串定義,如DB'HELLO'會將5個字符的ASCII碼依次存入ROM,在LED顯示和串口通信編程中經常使用。8-bit·ROMDW—定義字數據格式為[標號:]DW字數據表,每個數據占16位(2字節),按高字節在前、低字節在后的順序存放,如DW1234H存入12H和34H。常用于存放16位地址指針或較大的常量數據,在地址跳轉表和中斷向量表定義中廣泛使用。16-bit·PointerDS—預留存儲空間格式為[標號:]DS表達式,從當前地址開始預留指定數量的字節空間,如BUFFER:DS20預留20字節緩沖區。預留空間在匯編時填充00H,運行時可由程序寫入數據,常用于定義數據緩沖區、堆棧空間或臨時變量區域。Buffer·RAMMCS-51匯編偽指令位地址與字節地址偽指令BIT和DATA偽指令分別用于MCS-51獨特的位地址空間和字節地址空間的符號化命名,使位操作和RAM變量訪問的代碼更具可讀性和可維護性,體現了MCS-51位處理能力的編程優勢。01BIT偽指令格式為"符號名BIT位地址",如MOTOR_ONBITP1.0,將引腳定義為符號名,便于位操作指令直接引用。02DATA偽指令格式為"符號名DATA表達式",專用于內部RAM字節地址定義,如TEMPDATA33H定義溫度變量存放于33H單元。03位地址空間范圍:直接位地址00H–7FH(對應20H–2FH字節),以及可位尋址的SFR寄存器,BIT偽指令僅用于這些區域。04編程實踐建議:將所有地址常量、端口定義、標志位用EQU/BIT/DATA統一命名,集中在程序頭部定義,便于后續修改和維護。單片機教學實驗箱·位操作與字節尋址硬件環境Chapter03基本程序結構詳解掌握順序、分支、循環與子程序四大核心結構ProgramControlFlow順序結構與分支結構順序結構按地址遞增逐條執行指令,適合線性處理流程;分支結構通過條件轉移指令實現程序流向的動態選擇,是匯編語言中實現邏輯判斷的核心機制,兩者共同構成程序控制流的基礎。順序結構逐條執行:程序從起始地址按存儲順序逐條執行,無跳轉指令,指令流向單一確定典型應用:數據傳送、簡單算術運算、I/O端口順序讀寫操作編程要點:合理安排指令順序減少寄存器占用,利用累加器A暫存中間結果分支結構MCS-51程序設計循環結構程序設計循環結構通過DJNZ等控制指令實現代碼段的重復執行,是數據塊處理、延時生成和批量運算的基礎。MCS-51支持單層和多層嵌套循環,循環次數由8位寄存器控制(最大255次),超大循環需通過嵌套實現。01DJNZ指令是MCS-51循環控制的核心:先對工作寄存器或直接地址減1,若結果不為零則跳轉到目標標號,形成循環。02循環三要素:初始化(設置循環變量初值和指針)→循環體(執行重復操作并修改計數器)→循環控制(DJNZ判斷是否繼續)。03單層循環示例:將內部RAM30H~3FH共16個單元清零,用R0作指針、R7作計數器,DJNZR7,LOOP控制16次循環。04嵌套循環:當循環次數超過255次時需使用雙層或多層嵌套,如延時程序中R4控制外層、R5控制內層,總延時=外層次數×內層延時。05循環優化:優先使用DJNZ而非CJNE(節省一條指令),循環體內減少不必要的寄存器壓棧操作,將不變量提到循環外部。單片機晶振元件·振蕩頻率決定定時與延時的精度基準MCS-51匯編語言子程序設計與調用機制子程序通過LCALL/ACALL調用和RET返回實現代碼復用,MCS-51的堆棧機制自動管理返回地址。參數傳遞、現場保護和接口約定是編寫可靠子程序的三大要素。01調用機制:LCALLaddr16(全64KB)或ACALLaddr11(2KB)調用子程序,CPU自動將斷點壓棧,RET彈棧返回02參數傳遞:寄存器傳遞(R0~R7,最快)、存儲器傳遞(約定RAM地址)、堆棧傳遞(PUSH/POP,適合嵌套)03現場保護:入口先PUSH寄存器(ACC、PSW),出口前按反序POP恢復,防止破壞主程序運行狀態04設計規范:入口寫清功能、參數與返回值約定;統一RET返回;避免固定地址,提高可移植性05堆棧管理:MCS-51堆棧向上生長(SP遞增),初始化需設SP(如MOVSP,#60H),注意深度限制模塊化電路板設計體現了子程序的模塊化思想MCS-51匯編程序設計查表程序設計查表法利用MOVC指令從ROM預存數據表中按索引取值,以空間換時間,將復雜的實時計算轉化為快速的數據檢索。這是MCS-51匯編編程中最具特色的技術之一,廣泛用于段碼轉換、函數逼近和數據映射。七段數碼管·查表法最典型的應用場景01MOVCA,@A+DPTR—以DPTR為基址、A為偏移量,從ROM讀取數據到A,可訪問64KB全地址空間,適合大表和遠距離查表02MOVCA,@A+PC—以當前PC值為基址、A為偏移量查表,代碼緊湊但范圍受限(256字節內),需精確計算PC偏移量03數據表定義—用DB偽指令在ROM中存放預計算數據,如TAB:DB3FH,06H,5BH,4FH...定義0~9的七段數碼管段碼04典型應用—BCD碼到七段碼轉換(0~9對應不同段碼)、正弦/余弦函數值表(角度映射為函數值)、ASCII碼轉換表等05編程步驟—計算偏移量放入A→設置基址寄存器DPTR→執行MOVC查表→取出結果處理,多字節數據需多次查表或配合DW使用CHAPTER04實用程序設計技術算術運算、碼制轉換與數據處理的編程實戰MCS-51Arithmetic多字節算術運算程序MCS-51的8位ALU需通過分步運算和進位/借位傳遞實現多字節加減法。最低字節使用ADD/SUBB,高位字節使用ADDC/SUBB配合CY標志逐字節處理,循環控制字節數,是嵌入式系統中大數運算的基礎實現方式。MCS-51算術運算指令對照表指令功能說明對CY影響典型用途ADDA,srcA←A+srcCY=1多字節加法最低字節ADDCA,srcA←A+src+CYCY=1多字節加法高位字節SUBBA,srcA←A?src?CYCY=1多字節減法所有字節INCA/@Ri操作數加1不影響指針遞增、計數器MULABBA←A×BCY=0乘法基礎指令DIVABA÷B商/余數CY=0除法基礎指令6條核心指令覆蓋加減乘除,多字節運算通過組合指令并處理進位/借位標志實現。ADD/ADDC最低字節用ADD相加,后續字節用ADDC帶進位加,循環N次完成N字節加法。SUBB先CLRC清除借位標志,最低字節用SUBB,后續字節同樣用SUBB自動處理借位傳遞。MEMORY被加數存于30H起始,加數存于40H,結果覆蓋被加數區域,R7存放字節數N控制循環。MULAB提供8×8=16位乘法,多字節乘法需分解為多次8位乘法再累加部分積。DIVAB實現8位除法,多字節除法需采用移位相減的恢復余數法,逐位確定商。MCS-51Programming碼制轉換程序設計碼制轉換程序解決不同數據表示格式間的互操作問題,是數據采集、顯示輸出和通信傳輸的關鍵環節。二進制→BCD碼除10取余法:用DIVAB將8位二進制數除以10(B=0AH),余數(B)為個位,商(A)再除以10得百位和十位16位轉換:采用雙字節除法或"加3移位法"(DoubleDabble),逐位移入并檢測BCD位是否≥5需加3修正DIV·加3移位BCD碼→二進制乘10加位法:百位×100+十位×10+個位,用MULAB和ADD指令組合,將十進制各位還原為二進制數值壓縮BCD:先用ANLA,#0FH和SWAPA分離高低半字節,再分別轉換MUL·ANL·SWAPBCD碼?ASCII碼BCD→ASCII:BCD碼(0~9)加30H即得對應ASCII碼(30H~39H),用于串口發送數字字符時的編碼轉換ASCII→BCD:減30H還原數值;字母A~F加減37H/57H可實現十六進制ASCII轉換±30H·串口編碼DataProcessing數據排序與極值查找數據排序和極值查找是單片機數據處理的基礎算法。冒泡排序通過相鄰元素兩兩比較實現升序或降序排列,極值查找通過遍歷比較維護當前最大/最小值,兩者都是傳感器數據后處理和質量控制的核心手段。冒泡排序01N個數需N-1輪比較,每輪相鄰兩數用SUBB比較大小,若逆序則交換,每輪將當前最大數"冒泡"到末尾02設置交換標志位,若某輪無任何交換說明已有序,提前退出,最優情況復雜度從O(N2)降至O(N)N-1輪極值查找01取首元素作為初始極值,用SUBB與后續元素逐一比較,CY=1說明當前值更大則更新極值,遍歷完即得結果02案例:從片外RAMBLOCK單元開始的數據塊,長度存于LEN單元,通過兩兩比較法找出最大數存入MAX單元SUBB關鍵字搜索01線性搜索:從首地址逐字節用CJNE比較,匹配則返回地址,不匹配則指針加1,適合無序數據塊02二分搜索:要求數據已排序,取中間元素比較后縮小范圍至前半或后半,效率O(logN)O(logN)Chapter05綜合編程實例與實戰從需求分析到代碼實現的完整編程流程演練AssemblyWorkflow匯編語言程序設計流程規范的匯編語言程序設計遵循"問題分析→流程圖設計→源程序編寫→匯編翻譯→調試驗證"五步流程。流程圖設計環節尤為關鍵,它將抽象算法轉化為可視化邏輯,是避免編程邏輯錯誤的最佳實踐。電子工程師在工作臺調試單片機的真實場景01問題分析:明確任務需求,確定輸入數據來源(I/O端口/存儲器/傳感器)和輸出目標,選擇合適的算法策略02流程圖設計:用標準框圖符號(起止框、處理框、判斷框、流程線)將算法可視化,標注寄存器分配和存儲器使用方案03編寫源程序:按流程圖逐段編寫匯編代碼,頭部用偽指令定義常量/地址/端口,合理添加注釋說明功能和設計意圖04匯編翻譯:使用匯編器(如KeilA51)將.ASM源文件翻譯為.OBJ目標文件,修正所有語法錯誤和警告信息05調試驗證:在仿真環境中單步執行、設置斷點、觀察寄存器和存儲器變化,確認邏輯正確后燒錄進行實機測試MCS-51延時設計綜合實例:延時子程序設計延時子程序通過嵌套循環消耗CPU執行時間實現精確延時,是LED控制、按鍵消抖、通信時序等場景的基礎工具。匯編代碼與執行時間分析·12MHz晶振匯編代碼周期說明執行時間DELAY:MOVR4,#2481外層循環計數初值1μsD1:MOVR5,#2371中層循環計數初值1μs×248D2:MOVR6,#71內層循環計數初值1μs×237×248DJNZR6,$2內層循環體(自跳轉)2μs×7×237×248DJNZR5,D22中層循環控制2μs×237×248DJNZR4,D12外層循環控制2μs×248RET2子程序返回2μs延時原理12MHz晶振下1機器周期=1μs,DJNZ占2周期,循環次數×周期數=總延時1μs/cycle三層嵌套R6×7→R5×237→R4×248,三層循環嵌套實現近1秒延時≈0.82s計算公式內層周期×各層次數+各層DJNZ與MOV指令開銷,逐條精確計算逐條精算子程序封裝封裝為DELAY子程序,R3傳入參數控制外層循環,LCALL調用復用LCALL實際應用LED閃爍調用兩次延時;按鍵消抖僅需10~20ms,單層循環即可10–20msMCS-51DATAOPERATIONS綜合實例:數據塊搬移與處理數據塊搬移是MCS-51數據采集與處理的基礎操作,通過地址指針遞增和循環控制實現批量數據的讀寫。在搬移過程中嵌入求和、過濾、轉換等處理邏輯,可實現"一次遍歷多重處理"的高效編程模式。片內外RAM數據搬移片內→片內MOV@Ri,A配合INCRi循環,R0/R1分別指向源/目標地址,R7控制字節數,實現片內RAM區域間的高效數據搬移片外→片內MOVXA,@DPTR讀片外,MOV@Ri,A寫片內,INCDPTR逐次遞增,完成外部存儲器到內部RAM的數據傳輸MOVMOVXINC數據塊求和與平均值求和運算遍歷累加到R2R3(16位),高字節用ADDC處理進位,循環結束即得總和。支持最大64KB數據塊的累加運算平均值計算先調用求和子程序,再除以數據個數,商為均值、余數可四舍五入。常用于傳感器數據的平滑處理ADDCDIVSUBB數據過濾與異常處理范圍過濾CJNE比較上下限,范圍內寫入目標區并計數,超出則跳過。實現有效數據的快速篩選,剔除明顯異常值中值濾波冒泡排序后取中間值,有效去除傳感器隨機脈沖干擾。適用于噪聲較大的模擬量采集場景CJNESORTSWAP綜合實例I/O端口控制編程MCS-51的P0~P3端口通過MOV指令直接讀寫,是控制LED、數碼管、繼電器等外設的基礎接口。流水燈利用循環移位實現動態顯示效果,按鍵掃描配合消抖邏輯實現可靠的用戶輸入檢測,兩者是嵌入式I/O編程的經典范式。LED流水燈實驗板實拍01LED流水燈控制實現原理:初值01H送P1口→延時→RLA循環左移→再送P1口→循環8次完成一輪流水效果,改變移位方向可控制流動方向花樣擴展:用查表法代替移位,在ROM中預定義多種亮滅組合,逐次查表送P1口實現復雜花樣燈效02按鍵掃描與消抖獨立按鍵:MOVP1,#0FFH配置為輸入→讀P1→判斷某位是否為0,為0則延時10ms后再次讀入確認矩陣鍵盤:逐行輸出低電平→讀列值→行列組合確定按鍵編號→查表獲取鍵值,4×4矩陣需4次行掃描03數碼管動態掃描原理:多個數碼管共用段碼線(P0口),位選線(P2口)分別控制,快速輪流點亮利用視覺暫留形成同時顯示步驟:取緩沖區數據→查段碼表→送段碼到P0口→送位選信號到P2口→短延時→關閉當前位→切換下一位MCS-51中斷系統綜合實例:中斷服務程序設計中斷服務程序是MCS-51響應異步事件的核心機制,程序必須定位在特定中斷向量地址,使用RETI指令返回以清除中斷標志。MCS-51中斷源與向量地址對照表中斷源向量地址中斷標志允許位自然優先級外部中斷0(INT0)0003HIE0EX0(IE.0)最高(1)定時器0溢出(TF0)000BHTF0ET0(IE.1)2外部中斷1(INT1)0013HIE1EX1(IE.2)3定時器1溢出(TF1)001BHTF1ET1(IE.3)4串行口(RI/TI)0023HRI/TIES(IE.4)最低(5)中斷向量地址INT0→0003H、T0→000BH、INT1→0013H、T1→001BH、串口→0023H,用ORG定位并放置跳轉指令ORG定位程序結構模板ORG→LJMP跳轉→主程序區→ISR入口:PUSH保護→處理→POP恢復→RETI返回LJMP→RETI現場保護要點入口PUSHACC、PSW及所用寄存器,出口按反序POP恢復,防止主程序寄存器被改寫PUSH/POPRETI與RET區別RETI額外清除優先級觸發器,允許同級或低級中斷再響應;誤用RET將導致中斷永久屏蔽RETI≠RET編程禁忌避免長延時、大量數據搬移和不可重入子程序,保持ISR執行時間盡可能短精簡·快速MCS-51TimerProgramming綜合實例:定時器/計數器編程MCS-51的T0/T1定時器通過TMOD設置工作方式、TH/TL裝入計數初值、TR啟動計數,溢出時產生中斷請求。初值計算和重裝機制是實現精確時基的關鍵。01方式1(16位):TH和TL組成16位計數器,最大計數65536,溢出后需手動重裝初值,適合較長定時場景02方式2(8位自動重裝):TL作8位計數器、TH存重裝值,溢出時自動將TH值裝入TL,定時精度更高且代碼更簡潔03初值計算:X=2n?T/t,12MHz定時50ms:X=65536?50000=3CB0H04初始化:MOVTMOD,#01H→MOVTH0,#3CH→MOVTL0,#B0H→SETBET005啟動與中斷:SETBTR0啟動→等待溢出中斷→中斷服務中重裝初值→執行定時任務→RETI數字時鐘—定時器編程最典型的應用場景MCS-51SerialCommunication綜合實例:串行通信編程MCS-51串行口通過SCON配置工作方式、定時器1產生波特率,SBUF作為收發數據的緩沖寄存器。方式1是最常用的通信模式,TI和RI驅動可靠傳輸。RS232串口通信線纜實拍SCON配置—方式1(8位UART,可變波特率)設置SCON=50H,REN=1允許接收;方式0用于移位寄存器擴展I/O波特率生成—定時器1方式2自動重裝,12MHz下9600bps需TH1=0FDH;11.0592MHz晶振可精確生成發送程序—MOVSBUF,A寫入數據,硬件自動添加起始位和停止位后串行輸出,JBCTI等待完成接收程序—SETBREN后硬件檢測起始位并移位接收,RI=1后MOVA,SBUF讀入數據并CLRRI多機通信—方式2/3支持第9位TB8/RB8,主機發地址幀TB8=1,從機匹配地址后接收數據幀MCS-51Assembly·CaseStudy實戰案例:片外RAM數據塊找最大數從片外RAM數據塊中查找最大數是MCS-51綜合編程的經典案例,融合MOVX外部RAM訪問、SUBB比較判斷、DJNZ循環控制和DPTR指針操作四大核心技能,體現了匯編語言直接操控硬件的編程特色。找最大數程序核心代碼解析標號指令功能說明FMAX:MOVDPTR,#BLOCK設置片外RAM數據塊首地址指針DECLEN比較次數=數據長度-1MOVXA,@DPTR讀取第一個數據作為初始最大值LOOP:CLRC/MOVB,A清進位標志,暫存當前最大值到BINCDPTR/MOVXA,@DPTR指針+1,讀取下一個數據到ASUBBA,BA-B比較,結果影響CY標志JNCNEXT/MOVA,B若A≥B保留A;否則恢復B為最大值NEXT1:DJNZLEN,LOOP未完繼續比較,循環LEN-1次MOVMAX,A將最終最大數存入MAX單元01問題定義:片外RAM從BLOCK(0100H)開始存放無符號數據塊,長度存于片內RAM的LEN單元(30H),找出最大數存入MAX單元(31H)02算法設計:兩兩比較法——取第一個數為初始最大值,依次與后續n-1個數用SUBB比較,CY=0且A≠0說明新數更大則更新,遍歷完即得結果03關鍵指令鏈:MOVXA,@DPTR讀片外數據→CLRC清進位→MOVB,A暫存→INCDPTR移指針→SUBBA,B比較大小04比較邏輯:JNCNEXT(無借位說明A≥B,保留A中值);否則MOVA,B恢復原最大值;DJNZLEN,LOOP繼續下一輪比較05程序收尾:循環結束后A中即為最大數,MOVMAX,A存入結果單元,SJMP$死循環等待AssemblyDebugging編程調試技巧與常見錯誤分析匯編語言直接操控硬件的特性使得編程錯誤的調試更具挑戰性。堆棧溢出、中斷不響應、死循環和地址越界是四類最常見的問題,通過規范化編程習慣和系統化調試方法可有效預防和快速定位。常見編程錯誤01堆棧溢出:未初始化SP(默認07H與工作寄存器區重疊)或嵌套調用過深,導致堆棧覆蓋數據區,表現為程序跑飛或數據莫名被修改02中斷不響應:忘記SETBEA開總中斷、中斷服務程序用RET代替RETI導致中斷被鎖死、中斷向量處未放置跳轉指令03死循環:DJNZ計數器初值為0(實際循環256次)、循環體內意外修改計數寄存器、跳轉標號指向錯誤位置調試方法論04單步調試:在Keil仿真環境中逐條執行指令,觀察A、R0~R7、PSW等寄存器變化,確認每條指令執行效果05斷點設置:在循環入口、分支判斷點、中斷入口等關鍵位置設斷點,運行后檢查存儲器內容,快速跳過已確認代碼段06模塊化測試:先單獨測試每個子程序功能正確后再組裝到主程序聯調,縮小問題定位范圍,避免在大程序中盲目排查示波器調試場景—硬件調試的核心工具SUMMARY本章知識總結本章系統講解了MCS-51匯編語言程序設計的完整知識體系,從語言基礎、偽指令工具、程序結構、實用技術到綜合實戰層層遞進。匯編編程能力的提升依賴大量實踐,建議結合實驗板反復調試運行各類程序。基礎與工具層匯編語言以助記符表示指令,與機器碼一一對應,面向硬件、效率高、通用性差,是單片機直接控制硬件的必備技能8個核心偽指令(ORG/END/EQU/DB/DW/DS/BIT/DATA)分別承擔地址定位、數據定義、空間分配和符號命名的職責8個偽指令程序結構層五種基本結構:順序(逐條執行)、分支

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論