補全程序、編寫程序_第1頁
補全程序、編寫程序_第2頁
補全程序、編寫程序_第3頁
補全程序、編寫程序_第4頁
補全程序、編寫程序_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、補全程序1、完成下面子程序:SQR: PUSH DPHPUSH DPLMOV DPTR, #TABLEMOVC A, A+DPTR( )RET TABLE:DB 0, 1, 4, 9, 16, 25, 36, 49, 64, 81;ENDA. POP DPL POP DPH B. PUSH DPL PUSH DPH C. POP DPH POP DPL D. PUSH DPH PUSH DPL編寫程序2、 試編寫程序,查找在內(nèi)部RAM的20H40H單元中出現(xiàn) “00H”這一數(shù)據(jù)的次數(shù),并將查找到的結(jié)果存入41H單元ORG 0000HLJMP STARTORG 0040HSTART:MOV 41

2、H,#0 MOV R1,#20HMOV R2,#33LOOP0:MOV A,R1CJNE A,#0,LOOP1INC 41HLOOP1:INC R1DJNZ R2,LOOP0 END3. 在數(shù)據(jù)塊大于20的數(shù)據(jù)塊長度中,求出數(shù)據(jù)塊中大于64H的數(shù)的個數(shù)。P1口做輸出口,接八只發(fā)光二極管,用發(fā)光二極管顯示大于64H的個數(shù)設(shè)計出程序流程圖,并編寫程序。發(fā)揮部分:發(fā)光二極管閃爍顯示大于64H的個數(shù)。ORG0000HLJMPMAINORG0030HMAIN: MOVSP, #60HCLRAMOV R2,A ;計數(shù)寄存器清0MOV P1,#0FFHMOV R3,#20 ;計數(shù)塊長度為20START: M

3、OV DPTR,#DATA1;設(shè)置數(shù)據(jù)塊起始地址指針LOOP: CLRAMOVC A,A+DPTR ;取數(shù)INCDPTR;修改數(shù)據(jù)塊地址指針CJNEA,#64H,ONE ;判斷數(shù)據(jù)是否大于64HLJMPTWOONE:JCTWO;小于64H轉(zhuǎn)移INCR2;大于64H,計數(shù)器R2加1TWO:DJNZR3,LOOP ;判斷取數(shù)是否結(jié)束LOOP1: MOVA,R2MOV P1,A ;計數(shù)器R2送入P1口輸出ACALL DELAY1;延時100mSCLR AMOVP1,AACALL DELAY2;延時1SSJMPLOOP1DATA1: DB 9AH,66H,80H,25HDB 34H,76H,0AH,0

4、BCHDB 33H,0EDH,88H,0CCHDB 45H,11H,90H,56HDB 35H,28H,65H,0FEHDELAY1: MOVR0,#00HDELAY11: MOVR1,#0B3HDJNZR1,$DJNZR0,DELAY11RETDELAY2: MOVR4,#0AHDELAY21: ACALL DELAY1DJNZR4,DELAY21RETEND4、 設(shè)有100個有符號數(shù),連續(xù)存放在以2000H為首地址的存儲區(qū)中,試編程統(tǒng)計其中正數(shù)、負(fù)數(shù)、零的個數(shù)并分別存放在30H、31H、32H單元中。MOV 30H,#0MOV 31H,#0MOV 32H,#0MOV DPTR ,#2000

5、HMOV R1,#100L4: MOVX A,DPTRINC DPTRCJNE A,#0,L1INC 32HSJMP L2L2:JC L3INC 30HSJMP L2L3:INC 31HL2:DJNZ R1,L4SJMP $5、 編程將內(nèi)部數(shù)據(jù)存儲器20H24H單元壓縮的BCD碼轉(zhuǎn)換成ASC存放在于25H開始的單元。ORG 0000H MOV R7,#05H ;R7為轉(zhuǎn)換字節(jié)數(shù) MOV R0,#20H ;R0為源操作數(shù)地址 MOV R1,#25H ;R1為目的操作數(shù)地址NE:MOV A,R0 ANL A,#0FH ;先取低位BCD碼 ADD A,#30H ;將BCD碼轉(zhuǎn)換成ASC碼 MOV R

6、1,A INC R1 MOV A,R0 ANL A,#0F0H ;取高位BCD碼 SWAP A ;半字節(jié)交換 ADD A,#30H ;將高位BCD碼轉(zhuǎn)換成ASC碼 MOV R1,A INC R0 INC R1 DJNZ R7,NE SJMP $ END6、使用定時/計數(shù)器0以工作方式2實現(xiàn)定時,在P1.0輸出周期為200s的連續(xù)方波。已知晶振頻率fosc=6MH。求計數(shù)初值,方式控制字,編制相應(yīng)程序.(中斷方式)解:(2分)計數(shù)初值X=256-50=206=CEH(2分)TMOD=02H(6分)主程序:MOVTMOD#02HMOVTH0,#0CEHMOVTL0,#0CEHSETBEASETBE

7、T0LOOP:SETBTR0HERE:S JMP$中斷服務(wù)程序:CPLP1.0RETI7、編程將片內(nèi)RAM20H2FH 單元開始的16個數(shù)傳送到片外RAM 3000H300FH 開始的單元中。MOV R0,#20HMOV DPTR,#3000HMOV R7,#10H (6分)LOOP: MOV A,R0MOVX DPTR,AINC R0INC DPTRDJNZ R7,LOOPNOPEND (6分)8、將存放在單片機片內(nèi)數(shù)據(jù)存儲器30H,31H,32H三個單元中不同的數(shù)據(jù)按從小到大的順序排序,并將結(jié)果存放在片內(nèi)RAM的30H32H中。MOV SP,#52HMOV A,30HCLR C SUBB A,31HJC LP1MOV A,31HXCH A,30HMOV 31H,A (3分)LP1: MOV A,30HCLR CSUBB A,32HJC LP2MOV A,32HXCH A,30HXCH A,31HMOV 32H,ASJMP LP3 (3分)LP2: MOV A,31HCLR CSUBB A,32HJC LP3MOV A,31HXCH A,32HMOV 31H,ASJMP LP3LP3: NOP (4分)SJM

溫馨提示

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

評論

0/150

提交評論