版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
.實現(xiàn)片外數(shù)據(jù)存儲器數(shù)據(jù)傳送(2023H)-->(21OOH)MOVDPTR,#2023HoMOVXA,@DPTR。MOVDPTR,#2100HoMOVX@DPTR,A.查表法求Y=X2。設X(0WXW15)在片內(nèi)RAM的20H單元中,規(guī)定查表求Y,存入片內(nèi)RAM21H單元。ORG1000H 。SQU:MOVDPTR,#3000H;擬定表首地址(基地址)oMOVA,20Ho;取X(變量:偏移量)MOVCA,@A+DPTRo;查表求y=X2。MOV2111八。。;保存丫(結果)。 RET”;子程序結束?!?°;其它程序段。ORG3000H ;常數(shù)表格首地址TAB:DB00,01,04,09,-,225;平方表END2)ORG1000H ;程序起始地址SQU:。MOVA,20Ho ;取乂ADDA,#3。;修正偏移量oMOVCA,@A+PC ;查表求Y=X2(PC=1005H)gMOV21H,A 。;存結果。RET。;子程序結束oTAB:。DB00,01,04- ;平方表DB09,…,225536個「不能滿足規(guī)定,必須借助硬件計數(shù)器或軟件循環(huán)。TO定期初值:(方式l)t=10ms,X=5000D=1388H,C=(1388H)補=EC78HT1計數(shù)初值:(方式2)START:MOVTMOD,#61H。MOVTL1,#OCDHoMOVTH1,#OCDHoCLRPl.0SETBTR1LOOP1:CPLPl.7LOOP2:MOVTLO,#78HMOVTHO,#0ECHSETBTROL0OP3:JBOTF0,LOOP4SJMPLOOP3LOOP4:MOVTL0,#78H。MOVTHO,#0ECHCPLPL0JBCTF1,LOOP1SJMPLOOP2'ln_n—n.n/定可20ms4—ISL計數(shù)3.分析下面程序MOVRO,#0C8H;(R0)=200CLRP1.7;P1.7為低電平LOOP:CPL「1.7廳1.7變反(1以5 )NOP;(1|ns)NOP;(1|is)DJNZRO,LOOP;(RO)WO則轉(2|as)產(chǎn)S-s筠100個脈沖Pl.7—I I10^is4,設計一個延時10ms的延時子程序,已知單片機使用的晶振為6MHZO機器周期數(shù) ORGOO20H1 MOVRO,#0AH ;外循環(huán)10次1 DL2: MOVR1,#MT ;內(nèi)循環(huán)MT次1 DL1:NOPNOP ;空操作指令DJNZR1,DL12 DJNZRO,DL2RET內(nèi)循環(huán)DL1到指令DJNZR1,DL1的計算:(1+1+2)x2usxMT=1000UsMT=125=7DH 總的延時時間: {1+[l+(l+l+2)xl25+2]x10}x2us=10.062ms.試計算延時程序的執(zhí)行時間DELAY:MOVR6,#64H(=100)1MOVR7,#0FFH(=255)b12:DJNZR7,12DJNZR6,Ih2RET2o8延時時間計算:(設時鐘fOSC=12MHz)T=lust=(1X1+1X100+2X100X255+2X1O0+2X1)XT=51.303ms.DELAY:MOVR6,#100D1:D1:MOVR7,D1:MOVR7,D1:D1:MOVR7,#10D2:NOPDJNZR7,DJNZR7,DJNZR7,DJNZR7,DJNZR7,D2DJNZR7,D2。-DJNZR6,DI。RET計算延時程序的執(zhí)行時間(設時鐘fosC=6MHz,T=2us)。.十六進制數(shù)轉換為ASCII碼:HASCCJNEA,#0AH,NoN:JNCN1(C=0跳N1)ADDA,#30HoSJMPoSEN1:ADD A,#37HSE: RET。.設從片內(nèi)RAM30H單元和40H單元有兩個16字節(jié)數(shù),把它們相加,結果放于30H單元開始的位置處(設結果不溢出)。ORG1000HoMOVR0,#30HoMOVRI,#40HoMOVR2,#16CLRCLOOP:MOVA,@R0X%>40X%>40y=<2x 20<x<40xx<20X%>40y=<2x 20<xX%>40y=<2x 20<x<40xx<20DJNZR2,LOOP-END.按下面公式編寫程序,x為無符號數(shù),存在20h單元y存放在21h單元ORG0030H。MOVA,20HCJNEA,#21H,LOOP1LOOP1:JCNEXT1CJNEA,#40H,LOOP2LOOP2:JNCNEXT2MOVB,#2MULABAJMPNEXT2NEXT1:CPLANEXT2:MOV21H,AEND從內(nèi)部RAM22h單元開始存有一個無符號數(shù)數(shù)據(jù)塊,長度n存于21h中。求出數(shù)據(jù)塊中的最小數(shù),存于20h中。ORG0030HMOVRO,#22H;數(shù)據(jù)塊起始地址MOVRI,21H ;數(shù)據(jù)個數(shù)nMOV20H,#0FFH;最大數(shù)LOOP:MOVA,@R0;取新數(shù)INCRO;為取下一個新數(shù)作準備CJNEA,20H,LOOP1;與原最大數(shù)比較LOOP1:JNCNEXT;大,原最小數(shù)保存MOV2OH,A;小,改變最小數(shù)NEXT: DJNZRI,LOOP;循環(huán)END.ASCII碼轉換為十六進制數(shù):AHEX:CLRCSUBBA,#30HCJNEoA,#0AH,NN:JCoNloSJMPAEN1:SUBBoCJNEoA,#06H,N2N2:JNCERRADDA,#0AHoSJMPAEERR:MOVA,#0FFHAE:oRET8位二進制轉換成BCD碼。(用十進制表達的二進制碼)BINBCD1:MOVB,#100DIVABMOV@R0,AINCROMOVA,#10XCHA,BXCHA,BMOVA,#10XCHA,BXCHA,BXCHA,BXCHA,BXCHA,BDIVABMOV@R0,AINCROXCHABMOV@R0,ARET11.規(guī)定每次按動按鍵,使外接發(fā)光二極管LED改變一次亮滅狀態(tài)。解:INT0輸入按鍵信號,PLO輸出改變LED狀態(tài)。1、跳變觸發(fā):每次跳變引起一次中斷請求。0RGOOOOoH;復位入口AJMPMAINoORG0003HoORG0100HMAIN:MOVSP,#40H“SETBEXCHA,BDIVABMOV@R0,AINCROXCHABMOV@R0,ARET11.規(guī)定每次按動按鍵,使外接發(fā)光二極管LED改變一次亮滅狀態(tài)。解:INT0輸入按鍵信號,PLO輸出改變LED狀態(tài)。1、跳變觸發(fā):每次跳變引起一次中斷請求。0RGOOOOoH;復位入口AJMPMAINoORG0003HoORG0100HMAIN:MOVSP,#40H“SETBEAs;開總允許開關SETBEXO;開INTO中斷SETB“T0;負跳變觸發(fā)中斷H:SJMP;執(zhí)行其它任務?RG0200H;中斷服務程序PINTO:CPLP1.0;改變LEDINTO;中斷入口AJMPFINI單片機RETIRETIRETI;返回主程序RETI2、電平觸發(fā):可避免一次按鍵引起多次中斷響應。1)軟件等待按鍵釋放(撤消低電平);(2)硬件清除中斷信號(標志位)。ORG。OOOOHAJMPMAINORGS003H;中斷入口AJMPAJMPORGS003H;中斷入口AJMPAJMPAJMPAJMPAJMPPINTO。ORG0°1OOH6;主程序MAIN:MOVSP,#4OH;設棧底SETBeEA。;開總允1許開不AJMPPINTO。SETBEXO M。畫C/TIMl|MOTOC\o"1-5"\h\z< /< >y y。CLRoITOo;低電平觸發(fā)中斷 T0H:oSJMPoH。;執(zhí)行其它任務ooORG02OOH;中斷服務程序PINT0:CPLP1.0 ;改變LEDWAIT:JNBoP3.2,WAIT;等按鍵釋放(P3.2即INTO)。RETIe ;返回主程序假設系統(tǒng)時鐘為6MHz,編寫定期器T0產(chǎn)生1秒定期的程序。(1)TO工作方式的擬定定期時間較長,采用哪一種工作方式?由各種工作方式的特性,可計算出:方式0最長可定期16.384ms;方式1最長可定期131.072ms;方式2最長可定期512so選方式1,每隔100ms中斷一次,中斷10次為1s。(2)計算計數(shù)初值由于:(216-X)X2X10-6二10-1所以:X=15536=3CB0H因此:TH0=3CH,TL0=BOH(3)10次計數(shù)的實現(xiàn)采用循環(huán)程序法。(4)程序設計ORG0OOOHRESET:RESET:LJMPMAINRESET:LJMPMAINRESET:LJMPMAIN;RESET:LJMPMAIN;上電,轉主程序入口MAINORGOOOBHORGOOOBHORGOOOBH;TO的中斷入口ORGOOOBH;TO的中斷入口LJMPIT0PLJMPIT0PLJMPIT0P;LJMPIT0P;轉TO中斷解決程序ITOPORG1000HMAIN:MOVSP,#60H;設堆棧指針MOVB,#0AH;設循環(huán)次數(shù)10次MOVTMOD,#01H;設TO工作在方式1MOVTL0,#0B0H;給TO設初值MOVTHO,#3CH,SETBTRO。;啟動TOSETBETO;允許TO中斷SETBEA;CPU開放中斷HERE:SJMPHERE;等待中斷ITOP:MOVTLO,#0B0H;T0中斷子程序,重裝初值MOVTHO,#3CH;oDJNZB,LOOPCLRTRO;Is定期時間到,停止TO工作LOOP:RETI.由P1.0輸出方波信號,周期為2ms,設fosc=12MHz。每隔1ms改變一次Pl.0的輸出狀態(tài)。用TO非門控方式1定期。計算時間常數(shù):X=216-t/T=216-1000/1=FC18HSTART:MOVTMOD,#01HMOVTL0,#18HMOV。TH0,#OFCHSETBTROLOOP:JBOTF0,PTF0。。SJMPLOOPoPTFO:CPLP1.0aMOV。TL0,#18HMOVTH0,#0FCH。 SJMPLOOPORG-OOOOHAJMPoMAINORG000BH<T0定期器°。AJMPoPTOINTo 0RGS1OOHMAIN:MOVoSP,#6OH。MOVTMOD,#01H。 MOV^TL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年環(huán)境污染治理技術與工程合同
- 2024年特許連鎖合同:美容護膚品牌連鎖經(jīng)營
- 船舶英語課程設計
- 液壓課程設計集成塊
- 統(tǒng)計表微課程設計
- 箱蓋機械制造課程設計
- 文科課程設計個人日志
- 背景圖高級課程設計
- 物體旋轉課程設計思路
- 體育行業(yè)市場拓展總結
- 人教版六年級上冊道德與法治知識點
- 期貨從業(yè)資格(期貨基礎知識)歷年真題試卷匯編27
- 人工智能學習通超星期末考試答案章節(jié)答案2024年
- 北師大版(2019)必修第二冊Unit 5 Humans and nature Lesson 3 Race to the pole教學設計
- 《毛概》23版學習通超星期末考試答案章節(jié)答案2024年
- 2024CSCO胰腺癌診療指南解讀
- 窗簾采購投標方案(技術方案)
- 電力安全工作規(guī)程考試試題(答案)
- 2024-2030年串番茄行業(yè)市場發(fā)展分析及前景趨勢與投資研究報告
- 城市燃氣管網(wǎng)改造合同
- 2024-2025學年廣東省東莞市高三思想政治上冊期末試卷及答案
評論
0/150
提交評論