分支程序設(shè)計(jì)實(shí)驗(yàn)_第1頁(yè)
分支程序設(shè)計(jì)實(shí)驗(yàn)_第2頁(yè)
分支程序設(shè)計(jì)實(shí)驗(yàn)_第3頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《單片機(jī)實(shí)驗(yàn)》報(bào)告實(shí)驗(yàn)名稱 分支程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)教師 劉冬生專業(yè)班級(jí) 電子1103班姓名 XXXXXX學(xué)號(hào) XXXXXXXXXXX聯(lián)系方式 XXXXXXXXXXX一、任務(wù)要求熟練掌握KeilC環(huán)境下匯編語(yǔ)言程序的調(diào)試方法,加深對(duì)匯編語(yǔ)言指令、機(jī)器碼、尋址方式等基本內(nèi)容的理解,掌握分支程序和簡(jiǎn)單程序的設(shè)計(jì)與調(diào)試方法,了解并行IO口的使用8bitsXRAMY也存于外部RAM單元,請(qǐng)按要求編寫程序。X2 當(dāng)X40YX/2 20X40X 當(dāng)X20X利用5124通過(guò)P0P1P2端口輸出(以壓縮BCD碼的形式P3.0為低電平時(shí)開始計(jì)時(shí),為高電平時(shí)停止計(jì)時(shí)。提高部分(選做:4位十進(jìn)制加、減1計(jì)數(shù),千位、百位由P1口輸出;十位、個(gè)位由P2利用P3.7狀態(tài)選擇加、減計(jì)數(shù)方式。利用P3思考題:實(shí)現(xiàn)多分支結(jié)構(gòu)程序的主要方法有哪些?舉例說(shuō)明。11計(jì)數(shù)器的區(qū)別是什么?怎樣用十進(jìn)制加法指令實(shí)現(xiàn)減1計(jì)數(shù)?二、設(shè)計(jì)思路分段函數(shù)設(shè)計(jì)第一個(gè)任務(wù)相當(dāng)于一個(gè)分段函數(shù)程序,根據(jù)變量XCJNEX20、40CJNECYX與臨界值的的大小關(guān)系,易知CY=0X大于臨界值,CY=1則X小于臨界值;如此,再進(jìn)行相應(yīng)的計(jì)算。另外若乘方運(yùn)算結(jié)果大于255,高八位與低八位應(yīng)分開存儲(chǔ);本次除法采用右移一位來(lái)處理,未考慮余數(shù)。24小時(shí)制時(shí)鐘程序首先構(gòu)建一個(gè)三重循環(huán)實(shí)現(xiàn)“一秒延時(shí)NOP指令(1μ)秒0-5、分0-5、時(shí)0-2。需要注意的是,在小時(shí)、分、秒達(dá)到59時(shí),下一次應(yīng)該為零。程序運(yùn)行時(shí)修改P3.0的值可以實(shí)現(xiàn)暫停和繼續(xù)的功能。三、資源分配分段函數(shù)82000H2001H2002H分配給經(jīng)分段函數(shù)計(jì)算得到的結(jié)果Y。按位取反計(jì)算結(jié)果存于2001H2001H-2002H單元,除法運(yùn)算結(jié)果放在2001H中。寄存器A,B存放在乘除運(yùn)算中所得的中間結(jié)果。二十四小時(shí)制時(shí)鐘工作寄存器R0R1R2R5-R7循環(huán)中的循環(huán)次數(shù)設(shè)定。秒、分、時(shí)數(shù)值分別由P2P1P0端口輸出。四、流程圖分段函數(shù)開始開始C置零取出外部數(shù)據(jù)否取反并存儲(chǔ)結(jié)果是否大于20是是否小于40否平方并存儲(chǔ)結(jié)果是2并存儲(chǔ)結(jié)果結(jié)束二十四小時(shí)制時(shí)鐘開始開始置0;計(jì)數(shù)R0、R1、R2置1等待P3.0=1?是 否延時(shí)1秒,P2←R2,R2加1,并轉(zhuǎn)化為十進(jìn)制否R6=60H?是R2R11,并轉(zhuǎn)化為十進(jìn)制否R1=60H?是R2R11,P2P10,P0←R0,R01十進(jìn)制否是R0=24H?五、源代碼(含文件頭說(shuō)明、資源使用說(shuō)明、語(yǔ)句行注釋)1.分段函數(shù)clrcmovdptr,#2000hmovxa,@dptr;;清零取外部數(shù)據(jù)// mova,#1hcjnea,#14h,cmp20;與20比較大小qufan: cpla;incdptrmovx@dptr,asjmpjieshucmp20: jcqufancjnea,#28h,cmp40;與40比較大小sq: movr7,a;平方movb,r7mulabincdptrmovx@dptr,amova,bincdptrmovx@dptr,asjmpjieshucmp40:jncsqchu2:rra; 2(右移一位)incdptrmovx@dptr,asjmpjieshujieshu:nopend2.二十四小時(shí)制時(shí)鐘start:movr0,#01hmovmov

;寄存器初始化movp0,#00h;端口初始化movp1,#00hmovp2,#00hmova,#0//setbp3.0;設(shè)置、判斷p3.0clrp3.0jbp3.0 ,$onesec:movr7,#10;1秒延時(shí)del1:movr6,#200nopdel2:movr5,#248del3:djnzr5,del3djnzr6,del2djnzr7,del1movp2mova,r2adda,#01hdaamovr2,acjner2,#60h,oneseconemin: movr2,#01hmovp2,#00h

;把秒數(shù)送入p2;r260,跳轉(zhuǎn);r2,p2初始化,開始分鐘計(jì)數(shù)movp1,r1mova,r1adda,#01hdaamovr1,acjner1,#60h,onesec ;r160,跳轉(zhuǎn)hour:movr2,#01h ;r2,p2,r1,p1初始化,開始小時(shí)計(jì)數(shù)movp2,#00hmovr1,#01hmovp1,#00hmovp0,r0mova,r0adda,#01hdaamovr0,acjnesjmpr0,#24hstart,onesec;判斷r0是否計(jì)到24,跳轉(zhuǎn)end六、程序測(cè)試方法與結(jié)果、軟件性能分析X=01HX=1EHX=31H功能分析:該程序可正常執(zhí)行要求的3項(xiàng)功能二十四小時(shí)制時(shí)鐘功能分析:該程序運(yùn)行后可按正確的二十四小時(shí)制時(shí)鐘進(jìn)行計(jì)時(shí),程序功能完整可靠?!舅伎碱}】●實(shí)現(xiàn)多分支結(jié)構(gòu)程序的主要方法有哪些?舉例說(shuō)明。答:一是利用條件轉(zhuǎn)移指令實(shí)現(xiàn),如DJNZ,JNC等等,二是利用分支表來(lái)實(shí)現(xiàn),如分支地址表、轉(zhuǎn)移指令表、地址偏移量表?!裨诰幊躺希M(jìn)制加1計(jì)數(shù)器與十六進(jìn)制加1計(jì)數(shù)器的區(qū)別是

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論