資源描述:
《報告-單片機實訓(xùn)報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、4.2實驗2基本I/O引腳信號的控制1?實驗?zāi)康模菏炀氄莆諏綢/O口的控制方法,通過編寫循環(huán)和延時程序控制P1丨I引腳信號電平的高低,從而實現(xiàn)相對應(yīng)LED燈的亮滅。2?實驗要求:要求LED燈的亮滅時間都為1秒,并伴有蜂鳴器1秒間隔的“嘟”聲。3?實驗代碼:ORG000HSTART:CLRP1.0CLRP2.7LCALLDELAYSETBP1.0SETBP2.7LCALLDELAYLJMPSTARTDELAY:MOVR5,#10DI:MOVR6,#200D2:MOVR7,#248DJNZR7,$DJNZR6,D2DJNZR5,D1ERTEND4?實驗丿C?得:實驗很簡單,通
2、過實驗了解了延時程序的調(diào)用和LED燈的控制4.3實驗3基本分支與循環(huán)程序設(shè)計1?實驗?zāi)堪咨祝赫莆栈痉种c循環(huán)程序設(shè)計方法2?實驗要求:(1)有一變量在片內(nèi)RAM的20H單元,取值范圍:00H?05H。編制一段程序,根據(jù)變量值求其平方值,并存入片內(nèi)RAM的21H單元。(2)設(shè)變量X一補碼的形式存放在片內(nèi)RAM的30H單元,變量Y與X的關(guān)系是:當X大于0時,Y=X;當X=0時,Y=20H;當X小于0時,Y=X+5。編制程序,根據(jù)X的大小求Y并送回原單元。3.實驗代碼:(1)ORG000HMOV20H,#02HSTART:MOVDPTR,#2000HMOVA,20HMOVCA,@
3、A+DPTRMOV21H,ASJMP$ORG2000HTABLE:DB00,,01,04,09,16,25END(2)ORG000HMOV30H,#08HMOVA,30HJZNEXTSTART:MOVA,3()HANLA,#80HJZLPMOVA,#05HADDA,30HMOV30H,ASJMPLPNEXT:MOV30H,#20HLP:SJMP$END4?實驗心得:通過實驗了解了MOVC查表的使用和分支循環(huán)的巧用。5?課后作業(yè):3.6設(shè)被加數(shù)存放在內(nèi)部RAM的20H、21H單元,加數(shù)存放在22H、23H單元,若要求和存放在24H、25H中,試編寫出16位數(shù)相加的程序:org0
4、00hmov20h,#12hmov21h,#0f4hmov22h,#34hmov23h,#12hmova,21hclrcaddca,23hmov25h,amova,20haddca,22hmov24h,aEnd4.7編寫程序,把外部RAM中1000H?1030H的內(nèi)容傳送到內(nèi)部RAM30H?60H:orgOOOhmovdptr,#1000hmovrl,#30hmovr2,#lehloopl:movxa,@dptrmov@rl,aincdptrincrldjnz2loop1End4.10在內(nèi)部RAM的21H單元開始存放有一組單字節(jié)不帶符號數(shù),數(shù)據(jù)長度為30H,要求找出最大數(shù)存入
5、BIG單元:orgOOOhmovr0,#21hmovrl,#30hBIGEQUOOhmova,@rOloop:incrOclrcpushasubba,@rOjnclooplmova,@rOjmploop3loopkpopaloop3:djnzrlJoopmovBIGaEnd4.12編寫子程序,將Rl中的2個十六進制數(shù)轉(zhuǎn)換為ASCII碼后存放在R3和R4中:ORG000HMOVR1,#01HMOVA,R1ANLA,#0FHMOVDPTR,#TABMOVCA,@A+DPTRMOVR4,AMOVA,R1SWAPAANLA,#0FHMOVCA,@A+DPTRMOVR3,ATAB:DB
6、30H,31H,32H,33H,34H,35H,36H,37HDB38H,39H,41H,42H,43H,44H,45H,46HEND4.13編寫程序,將內(nèi)部RAM中50H?59H十個單元內(nèi)容的平均值,并存放在5AH:ORG000HMOVR0,#50HMOVR1,#51HMOVR2,#09HLOOP:MOVA,@R0ADDCA,@R1MOV@R1,AINCROINCR1DJNZR2,LOOPMOVB,#0AHDIVABMOV5AH,AEND4.4實驗4定時器的使用1?實驗?zāi)堪咨祝赫莆斩〞r器的使用方法,能根據(jù)定時時間正確設(shè)置定時器相關(guān)的寄存器,能正確編寫定時器中斷服務(wù)程序。2?
7、實驗要求:通過定時器實現(xiàn)精準的控制LED燈每隔1秒亮滅一次3?實驗代碼:ORG0000HLJMPMAINORG000BHLJMPINTTOMAIN:MOVTMOD,#01HMOVTHO,#C3HMOVTLO,#OFFHSETBEASETBETOSETBTROMOVRO,#00HSJMP$INTTO:MOVTHO,#C3HMOVTLO,#OFFHINCROCJNERO,#60,RTMOVRO,#00HCPLP1.0RT:RET1END4?實驗心得:通過實驗,熟練學握了定時器的使用,尤其對TMOD的設(shè)定,T