單片機(jī)習(xí)題(蘇州大學(xué))_第1頁
單片機(jī)習(xí)題(蘇州大學(xué))_第2頁
單片機(jī)習(xí)題(蘇州大學(xué))_第3頁
單片機(jī)習(xí)題(蘇州大學(xué))_第4頁
單片機(jī)習(xí)題(蘇州大學(xué))_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第四章指令系統(tǒng)習(xí)題

4-36(1)將R6的高4位和R7的高4位交換,R6、R7的低4位內(nèi)容保持不變。

MOVA,R6 ;(A)=A1A2 ANLA,#0F0H;(A)=A10 MOVR3,A ;(R3)=A10 MOVA,R7 ;(A)=B1B2 ANLA,#0FH ;(A)=0B2ORLA,R3 ;(A)=A1B2 MOVR4,A ;(R4)=A1B2 MOVA,R7 ;(A)=B1B2第四章指令系統(tǒng)習(xí)題 ANLA,#0F0H;(A)=B10 MOVR5,A;(R5)=B10 MOVA,R6;(A)=A1A2 ANLA,#0FH;(A)=0A2 ORLA,R5;(A)=B1A2 MOVR6,A;(R6)=B1A2 MOVA,R4;(A)=A1B2 MOVR7,A;(R7)=A1B2第四章指令系統(tǒng)習(xí)題(2)兩個(gè)無符號數(shù)分別存放在30H、31H,試求出它們的和并將結(jié)果存放在32H中。 MOVA,30H ADDA,31H MOV32H,A HLT(3)將30H單元的內(nèi)容循環(huán)左移兩位,送外部RAM3000H中。 MOVA,30H RLA RLA MOVDPTR,#3000H MOVX@DPTR,A第四章指令系統(tǒng)習(xí)題(4)將程序存儲器1000H的內(nèi)容取出送外部RAM3000H單元。 CLRA MOVDPTR,#1000H MOVCA,@A+DPTR MOVDPTR,#3000H MOVX@DPTR,A第四章指令系統(tǒng)習(xí)題4-37(SP)=20H,(A)=67H,(1FH)=25H,(20H)=34H PUSHACC PUSH1FH ;(23H)=34H PUSH20H ;(22H)=25H SWAPA ;(21H)=67H MOV1FH,A ;(20H)=34H RLA ;(1FH)=25H MOV20H,A ;SP=21H POPDPL ;(A)=ECH POPDPH ;DPTR=2534H CLR01H第五章MCS-51匯編語言程序設(shè)計(jì)5-4設(shè)常數(shù)和數(shù)據(jù)標(biāo)號的定義為 ORG2000HDAT1: DB1,2,3,4,5 DAT2: ‘ABCD’N EQU$-DAT2DAT3: DW1200H,-2TAB: DWDAT1,DAT3(1)畫出上述數(shù)據(jù)或地址的存儲形式(2)寫出各標(biāo)號的地址 N=2009H-2005H=04H第五章MCS-51匯編語言程序設(shè)計(jì)標(biāo)號地址內(nèi)容DAT12000H01H2001H02H2002H03H2003H04H2004H05HDAT22005H41H(‘A’)2006H42H(‘B’)2007H43H(‘C’)2008H44H(‘D’)DAT32009H12H200AH00H200BHFFH200CHFEHTAB200DH20H200EH00H200FH20H2010H09H第五章MCS-51匯編語言程序設(shè)計(jì)5-5 雙字節(jié)加法。被加數(shù)放在片內(nèi)RAM

30H(高字節(jié))和31H(低字節(jié))單元中,加數(shù)放在片內(nèi)RAM

32H(高字節(jié))和33H(低字節(jié))單元中,運(yùn)算結(jié)果存放在30H和31H單元中,進(jìn)位存放在位尋址區(qū)的00H位。START:PUSHA ;將A內(nèi)容進(jìn)棧保護(hù) MOVR0,#31H ;地址指針 MOVR1,#33H CLR00H ;00H位清零 MOVA,@R0 ;低位字節(jié)數(shù)相加 ADDA,@R1第五章MCS-51匯編語言程序設(shè)計(jì) MOV@R0,A DECR0 DECR1 MOVA,@R0 ;高位字節(jié)數(shù)相加 ADDCA,@R1 MOV@R0,A MOV00H,C POPA第五章MCS-51匯編語言程序設(shè)計(jì)5-6編寫程序,找出片內(nèi)RAM30H~5FH單元中無符號數(shù)的最大值,并存放在60H單元中。 MOVR0,#30H MOV60H,@R0;60H中存放最大值L0: INCR0 MOVA,@R0 CLRC SUBBA,60H;Xi+1-Xi JCL1 ;Xi+1<Xi MOV60H,@R0 ;Xi+1>Xi,則交換L1:CJNER0,#5FH,L0 SJMP第五章MCS-51匯編語言程序設(shè)計(jì)5-7從片內(nèi)RAM30H開始存放20個(gè)數(shù),找出其中的最小數(shù)。

MOVR0,#30H ;首地址 MOVR2,#20 ;20個(gè)數(shù) MOV50H,@R0;50H中存放最小值L0: INCR0 MOVA,@R0 CLRC SUBBA,50H;Xi+1-Xi JNCL1;Xi+1>Xi MOV50H,@R0;Xi+1<Xi,則交換L1: DJNZR2,L0 SJMP$第五章MCS-51匯編語言程序設(shè)計(jì)5-8編寫程序,查找片內(nèi)RAM31H~50H單元中是否有常數(shù)41H,若有則將51H單元置-1;若沒有,則將51H單元清0。

MOVR0,#30H ;首地址L0: INC R0 CJNE@R0,#41H,NEQEQ: MOV51H,#0FFH ;51H單元置-1 SJMPED1NEQ: CJNER0,#51H,L0 MOV51H,#00HED1: HLT 第五章MCS-51匯編語言程序設(shè)計(jì)5-9編寫程序,將片內(nèi)RAM40H~6FH單元中的無符號數(shù)按照從小到大的次序排列,結(jié)果仍放在原存儲空間。

MOVR2,#2FH;個(gè)數(shù)LP1: MOVA,R2 MOVR3,A MOVR0,#40H;地址指針指向首地址 CLR00H;位地址位操作LP2: MOVA,@R0 MOVB,A INCR0 CLRC MOVA,@R0第五章MCS-51匯編語言程序設(shè)計(jì) SUBBA,B;Xi+1-Xi

JNCLESS;CY=0則轉(zhuǎn)移到LESS MOVA,B;CY=1Xi+1<Xi XCHA,@R0 DECR0 MOV@R0,A INCR0 SETB00H;(00H)=1LESS:DJNZR3,LP2;CY=0Xi+1>Xi JNB00H,STOP;(00H)=0則轉(zhuǎn)移 DJNZR2,LP1STOP:RET第五章MCS-51匯編語言程序設(shè)計(jì)5-10編寫程序,統(tǒng)計(jì)片內(nèi)RAM20H~5FH中出現(xiàn)55H的次數(shù),并將統(tǒng)計(jì)結(jié)果送入60H單元。

MOVR0,#20H;地址指針指向首地址 MOV60H,#00H;清零L0: MOVA,@R0;取數(shù)

CJNEA,#55H,L1;(A)≠55H,則轉(zhuǎn)到L1 INC60H;(A)=55H,L1: INCR0;取下一個(gè)數(shù) CJNER0,#60H,L0;是否到末地址? HLT第五章MCS-51匯編語言程序設(shè)計(jì)5-11編程將片內(nèi)RAM30H~7FH單元清零。方法1:控制循環(huán)體的執(zhí)行次數(shù)BE1: MOVR0,#30H MOVR7,#50HLP1: MOV@R0,#00H INCR0 DJNZR7, LP1 RET方法2:判斷循環(huán)體的結(jié)束條件BE2: MOVR0,#2FHLP2: INCR0 MOV@R0,#00H CJNER0,#7FH,LP2 RET第五章MCS-51匯編語言程序設(shè)計(jì)5-12編程序,將片外RAM3000H~30FFH單元全部清零。 MOVDPTR,#3000H MOVR0,#00HL1: MOVA,#00H MOVX@DPTR,A INCDPTR DJNZR0,L1 SJMP$第五章MCS-51匯編語言程序設(shè)計(jì)5-13從片內(nèi)RAMDATA1起,存放20H個(gè)數(shù)據(jù),編寫程序,將這20H個(gè)數(shù)據(jù)逐一移到片外RAMDATA2單元開始的存儲空間。

MOVR0,#DATA1;地址指針指向首地址 MOVR7,#20H;循環(huán)次數(shù) MOVDPTR,#DATA2L1: MOVA,@R0 MOVX@DPTR,A INCDPTR INCR0 DJNZR7,L1 SJMP$第五章MCS-51匯編語言程序設(shè)計(jì)5-14將片外RAM8000H開始的20個(gè)字節(jié)數(shù)據(jù)傳送到片外RAM8100H開始的地址單元中。

MOVR0,#00H MOVR1,#00H MOVR2,#20HL1: MOVP2,#80H;地址指針指向8000H MOVXA,@R0;輸入數(shù)據(jù) MOVP2,#81H;地址指針指向8100H MOVX@R1,A;輸出數(shù)據(jù) INCR0 INCR1 DJNZR2,L1 HLT第五章MCS-51匯編語言程序設(shè)計(jì)5-15編程統(tǒng)計(jì)累加器A中“1”的個(gè)數(shù)。 MOVR2,#07H ;循環(huán)次數(shù) MOVR3,#00H ;存放“1”的個(gè)數(shù)LP1:RLCA JNCLP2;C=0 INCR3 ;C=1LP2: DJNZR2,LP1 HLT

第五章MCS-51匯編語言程序設(shè)計(jì)5-16從片內(nèi)30H開始,存放50個(gè)數(shù)據(jù)。編寫程序,將其中正數(shù)、負(fù)數(shù)分別送入片外RAM5000H和5500H開始的單元,分別記下正數(shù)和負(fù)數(shù)的個(gè)數(shù)并送入片內(nèi)RAM70H和71H單元。

MOVR0,#30H;片內(nèi)RAM首地址 MOVR1,#00H;清零 MOVR2,#50;數(shù)據(jù)的個(gè)數(shù) MOVR3,#00H;R3存放正數(shù)個(gè)數(shù)清零 MOVR4,#00H;R4存放負(fù)數(shù)個(gè)數(shù)清零T1:MOVA,@R0;取數(shù) INCR0;指針指向下一個(gè)單元 CLRC SUBBA,#00H JCT2;有借位,Xi<0 INCR3;Xi>0第五章MCS-51匯編語言程序設(shè)計(jì) MOVP2,#50H ;片外正數(shù)首地址 MOVR1,R3 ;5000H DECR1 MOVX@R1,A ;輸出數(shù)據(jù) JMPT0 ;比較一個(gè)數(shù)結(jié)束T2: INCR4 ;Xi<0 MOVR1,R4 DECR1 ;片外負(fù)數(shù)首地址 MOVP2,#55H ;5500H MOVX@R1,A ;輸出數(shù)據(jù)T0:

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論