




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第4章MCS-51單片機的程序設(shè)計
4.1程序設(shè)計的語言
4.2程序設(shè)計的步驟和方法
4.3偽指令
4.4程序設(shè)計基礎(chǔ)與舉例
4.1程序設(shè)計的語言
1.機器語言2.匯編語言3.高級語言4.3偽指令
1.ORG匯編起始偽指令格式:ORGaddr16功能:規(guī)定該指令后面的源程序編譯后所產(chǎn)生的目標程序存放的起始地址。例如:
ORG0003HINT0:LJMPCL_INT0這條偽指令規(guī)定它下面的第一條指令從地址0003H單元開始存放。標號INT0的值為0003H。2.END匯編結(jié)束偽指令格式:END功能:通知匯編程序結(jié)束編譯過程。編譯時遇到END指令,則結(jié)束所有編譯工作,其后的所有指令將不再進行編譯。3.DB定義字節(jié)偽指令格式:[標號:]DB8位字節(jié)數(shù)據(jù)表功能:把表中的數(shù)據(jù)存入程序存儲器從標號開始的連續(xù)地址單元中。例如:
ORG1000HTAB1:DB10H,7FHTAB2:DB“ABC” ;將字符串中的字符以ASCII碼的形式存放在TAB2地址開始的連續(xù)的ROM單元中。編譯后:(2000H)=10H
(2001H)=7FH
(2002H)=41H
(2003H)=42H
(2004H)=43H4.DW定義字偽指令格式:[標號:]DW16位字數(shù)據(jù)表功能:從標號指定的地址單元開始,在程序存儲器中定義字數(shù)據(jù)。例如:ORG1000HTAB: DW1234H,0CH編譯后:(1000H)=12H
(1001H)=34H
(1002H)=00H
(1003H)=0CH5.EQU賦值偽指令格式:字符名稱EQU表達式功能:將EQU右邊的表達式的值或特定的某個匯編符號賦給或定義為一個指定的符號名。例如: COUNT EQU34HADDE EQU18HMOVA,#COUNT ;34H→AADDA,ADDE ;(A)+(18H)→A6.BIT位地址符號賦值偽指令格式:字符名BIT位地址功能:將位地址賦予字符名。
例如:M1BIT01HM2BITP1.04.4程序設(shè)計基礎(chǔ)與舉例
4.4.1順序程序
【例4-1】將外部數(shù)據(jù)存儲器1000H和1001H單元的內(nèi)容相交換。
地址1000H→DPTR(1000H)→A(A)→R7地址1001H→DPTR(1001H)→A(A)←→(R7)(A)→1001H地址1000H→DPTR(A)→1000H(R7)→A開始結(jié)束圖4-1例4-1流程圖ORG0100HMOVDPTR,#1000HMOVXA,@DPTRMOVR7,AINCDPTRMOVXAXCHA,R7MOVX@DPTR,ADECDPLMOVA,R7MOVX@DPTR,ASJMP$END【例4-2】設(shè)變量x放在片內(nèi)RAM的30H單元中,求其平方值放入31H單元中,x范圍為0~5。ORG0100HMOVDPTR,#TABMOVA,30HMOVCAMOV31H,ASJMP$TAB:DB00H,01H,04HDB09H,16H,25HEND【例4-3】設(shè)寄存器R7中存放著一個8位無符號二進制數(shù),試編程將其轉(zhuǎn)化為壓縮BCD碼,將百位存放到R5中,十位和個位存放到R6中。ORG0100HMOVA,R7MOVB,#100DIVABMOVR5,AMOVA,BMOVB,#10DIVABSWAPAORLA,B ;合并十位和個位MOVR6,ASJMP$END【例4-4】將R6、R7構(gòu)成的雙字節(jié)無符號數(shù)乘以2放回,假設(shè)結(jié)果仍然為雙字節(jié)數(shù)。ORG0100HCLRCMOVA,R7RLCAMOVR7,AMOVA,R6RLCAMOVR6,ASJMP$END4.4.2分支程序
【例4-5】設(shè)在內(nèi)部RAM30H單元存放著一個有符號數(shù),試編程求其補碼,并存放回原單元。ORG0100HMOVA,30HJNBACC.7,L1CPLA ;負數(shù),取反加1ADDA,#1ORLA,#80H;符號位置1MOV30H,AL1:SJMP$END
【例4-6】x、y均為無符號數(shù),設(shè)x存放在內(nèi)部RAM30H單元,y存放在內(nèi)部RAM31H單元,試編程求解: ORG0100H MOVA,30H CJNEA,#5,L1 SJMPL3 ;x=5L1: JNCL2 ADDA,#1 ;x<5 SJMPL3L2: SUBBA,#1 ;x>5L3: MOV31H,A SJMP$ END【例4-7】根據(jù)R7的內(nèi)容轉(zhuǎn)向相應(yīng)的處理程序。設(shè)R7的內(nèi)容為處理程序的序號。ORG0100HMOVA,R7ADDA,R7ADDA,R7 ;(A)×3→AMOVDPTR,#TABJMP@A+DPTR ;散轉(zhuǎn)TAB:LJMPL1;根據(jù)(R7),轉(zhuǎn)向不同的程序段LJMPL2LJMPL3┆4.4.3循環(huán)程序
【例4-8】設(shè)計一個1ms的延時程序,已知單片機晶振頻率為6MHz。ORG0100HMOVR7,#250;循環(huán)次數(shù)DJNZR7,$;循環(huán)體及循環(huán)條件判斷SJMP$END【例4-9】試編程,將外部RAM1000H單元開始的20個字節(jié)數(shù)據(jù)傳送到片內(nèi)RAM30H開始的單元。ORG0100HMOVR7,#20MOVDPTR,#1000HMOVR0,#30HL1:MOVXA,@DPTRMOV@R0,AINCDPTRINCR0DJNZR7,L1SJMP$END【例4-10】把片內(nèi)RAM中地址30H~39H中的10個無符號數(shù),按從小到大的順序排列。ORG0100HL3:CLR7FH ;清交換標志MOVR0,#30HMOVR1,#31HMOVR7,#9L1:MOVA,@R0CLRC ;兩數(shù)比較SUBBA,@R1J
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋租賃合同臺帳
- 學校資產(chǎn)購置合同
- Python讀取Excel數(shù)據(jù)實現(xiàn)批量生成合同
- 《供暖系統(tǒng)熱源》課件
- 第三屆全國技能大賽競賽-烹飪(西餐)賽項選拔賽備考試題庫(含答案)
- 《財政效益評估方法》課件
- 新動能助推新突破
- 專注力訓練的黃金法則
- 助理廣告師產(chǎn)品推廣方法試題及答案
- 常見布料的檢測知識考題及答案
- 《中國海洋大學》課件
- 醫(yī)院保密培訓課件
- 《無人機航拍技術(shù)》項目1任務(wù)2 無人機航拍應(yīng)用
- 教育行業(yè)媒體宣傳服務(wù)合同
- 第四單元 資本主義制度的確立 說課課件-高一下學期統(tǒng)編版(2019)必修中外歷史綱要下
- 2024-2025學年七年級地理下冊 7.4 俄羅斯課時1說課稿 (新版)新人教版
- 國家助學貸款還款救助歸檔材料清單
- 11《杠桿》教學設(shè)計-2023-2024學年科學五年級下冊人教鄂教版
- 2024版惡性腫瘤患者營養(yǎng)治療指南解讀課件
- 陽光心理-健康人生小學生心理健康主題班會課件
- 樂理知識考試題庫130題(含答案)
評論
0/150
提交評論