版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
./實(shí)驗(yàn)名稱分支與循環(huán)程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)教師羅志祥專業(yè)班級(jí)光電1406姓名段昳暉學(xué)號(hào)U2014*****聯(lián)系電話137********任務(wù)要求1.設(shè)有8bits符號(hào)數(shù)X存于外部RAM單元,按以下方式計(jì)算后的結(jié)果Y也存于外部RAM單元,請(qǐng)按要求編寫完整程序。2.利用51系列單片機(jī)設(shè)計(jì)一個(gè)24小時(shí)制電子時(shí)鐘,電子時(shí)鐘的時(shí)、分、秒數(shù)值分別通過(guò)P0、P1、P2端口輸出〔以壓縮BCD碼的形式。P3.0為低電平時(shí)開(kāi)始計(jì)時(shí),為高電平時(shí)停止計(jì)時(shí)。設(shè)計(jì)1s延時(shí)子程序〔延時(shí)誤差小于10us,晶振頻率12MHz。設(shè)計(jì)思路1.設(shè)有8bits符號(hào)數(shù)X存于外部RAM單元,按以下方式計(jì)算后的結(jié)果Y也存于外部RAM單元,請(qǐng)按要求編寫完整程序。將外部單元1000H中的X,通過(guò)分支判斷,分別執(zhí)行不同的語(yǔ)句,三條語(yǔ)句分別為標(biāo)記為L(zhǎng)1、L2、L3,先比較X與64的大小關(guān)系,再判斷X與10的大小關(guān)系,主要利用比較轉(zhuǎn)移指令CJNE,以及執(zhí)行CJNE指令后的進(jìn)位位CY,進(jìn)一步比較大小,分別跳轉(zhuǎn)至對(duì)應(yīng)語(yǔ)句。將結(jié)果存于外部單元的1001H以及1002H。利用51系列單片機(jī)設(shè)計(jì)一個(gè)24小時(shí)制電子時(shí)鐘,電子時(shí)鐘的時(shí)、分、秒數(shù)值分別通過(guò)P0、P1、P2端口輸出〔以壓縮BCD碼的形式。P3.0為低電平時(shí)開(kāi)始計(jì)時(shí),為高電平時(shí)停止計(jì)時(shí)。設(shè)計(jì)1s延時(shí)子程序〔延時(shí)誤差小于10us,晶振頻率12MHz。主程序設(shè)計(jì)三層循環(huán),分別對(duì)應(yīng)時(shí)、分、秒,最內(nèi)層安放一秒延時(shí)程序。利用R0、R1、R2計(jì)數(shù),R3保存分鐘數(shù)、R4保存小時(shí)數(shù),最內(nèi)層循環(huán)60次,中循環(huán)循環(huán)1次,中循環(huán)60秒,外循環(huán)循環(huán)1次,外循環(huán)循環(huán)24次,清零。其中對(duì)端口顯示的秒數(shù)、分鐘數(shù)、時(shí)間數(shù),進(jìn)行二進(jìn)制修正。利用循環(huán)來(lái)設(shè)計(jì)延時(shí)程序,合理計(jì)算語(yǔ)句長(zhǎng)度,以及循環(huán)次數(shù)。程序運(yùn)行時(shí)修正P3.0的值,可以實(shí)現(xiàn)暫停計(jì)數(shù)和繼續(xù)的功能。提高部分〔選做:實(shí)現(xiàn)4位十進(jìn)制加、減1計(jì)數(shù),千位、百位由P1口輸出;十位、個(gè)位由P2口輸出。利用P3.7狀態(tài)選擇加、減計(jì)數(shù)方式。利用P3口低四位狀態(tài)控制開(kāi)始和停止計(jì)數(shù),控制方式自定。初始化P1、P2,,計(jì)數(shù)循環(huán)中插入一秒延時(shí)程序。R1存千百位、R2存?zhèn)€十位,P3.7=0時(shí),進(jìn)行加1計(jì)數(shù),取出R2中的數(shù)存于A,對(duì)A加1,同時(shí)進(jìn)行十進(jìn)制修正,存于P2,達(dá)到99,則進(jìn)位對(duì)千百位進(jìn)行加1。P3.7=1時(shí),進(jìn)行減一操作,取出R1中的數(shù)存于A,對(duì)A減1,同時(shí)進(jìn)行十進(jìn)制修正,存于P1,達(dá)到0,則對(duì)P2,對(duì)R2進(jìn)行減一。計(jì)數(shù)循環(huán)前判斷P3.0的值,當(dāng)P3.0=1時(shí),開(kāi)始計(jì)數(shù),P3.0=0時(shí),原地循環(huán),停止計(jì)數(shù),直到P3.0=1,可以實(shí)現(xiàn)隨時(shí)停止與開(kāi)始。資源分配1.設(shè)有8bits符號(hào)數(shù)X存于外部RAM單元,按以下方式計(jì)算后的結(jié)果Y也存于外部RAM單元,請(qǐng)按要求編寫完整程序。X存于片外1000HY存于片外1001H、1002H其中,求平方時(shí),低位存于1001H,,高位存于1002H除二時(shí),商存于1001H,,余數(shù)存于1002H利用51系列單片機(jī)設(shè)計(jì)一個(gè)24小時(shí)制電子時(shí)鐘,電子時(shí)鐘的時(shí)、分、秒數(shù)值分別通過(guò)P0、P1、P2端口輸出〔以壓縮BCD碼的形式。P3.0為低電平時(shí)開(kāi)始計(jì)時(shí),為高電平時(shí)停止計(jì)時(shí)。設(shè)計(jì)1s延時(shí)子程序〔延時(shí)誤差小于10us,晶振頻率12MHz。P0輸出小時(shí)數(shù)P1輸出分鐘數(shù)P2輸出秒數(shù)R0小時(shí)循環(huán)計(jì)數(shù)R1分鐘循環(huán)計(jì)數(shù)R2秒循環(huán)計(jì)數(shù)R3保存分鐘數(shù)R4保存小時(shí)數(shù)提高部分〔選做:1實(shí)現(xiàn)4位十進(jìn)制加、減1計(jì)數(shù),千位、百位由P1口輸出;十位、個(gè)位由P2口輸出。利用P3.7狀態(tài)選擇加、減計(jì)數(shù)方式。2利用P3口低四位狀態(tài)控制開(kāi)始和停止計(jì)數(shù),控制方式自定。P1輸出千百位P2輸出個(gè)十位P3.0計(jì)數(shù)開(kāi)始與停止控制P3.7加1減1計(jì)數(shù)切換R1存千百位R2存?zhèn)€十位流程圖1.設(shè)有8bits符號(hào)數(shù)X存于外部RAM單元,按以下方式計(jì)算后的結(jié)果Y也存于外部RAM單元,請(qǐng)按要求編寫完整程序。利用51系列單片機(jī)設(shè)計(jì)一個(gè)24小時(shí)制電子時(shí)鐘,電子時(shí)鐘的時(shí)、分、秒數(shù)值分別通過(guò)P0、P1、P2端口輸出〔以壓縮BCD碼的形式。P3.0為低電平時(shí)開(kāi)始計(jì)時(shí),為高電平時(shí)停止計(jì)時(shí)。設(shè)計(jì)1s延時(shí)子程序〔延時(shí)誤差小于10us,晶振頻率12MHz。提高部分〔選做:1實(shí)現(xiàn)4位十進(jìn)制加、減1計(jì)數(shù),千位、百位由P1口輸出;十位、個(gè)位由P2口輸出。利用P3.7狀態(tài)選擇加、減計(jì)數(shù)方式。2利用P3口低四位狀態(tài)控制開(kāi)始和停止計(jì)數(shù),控制方式自定。源代碼〔含文件頭說(shuō)明、語(yǔ)句行注釋1.設(shè)有8bits符號(hào)數(shù)X存于外部RAM單元,按以下方式計(jì)算后的結(jié)果Y也存于外部RAM單元,請(qǐng)按要求編寫完整程序。Filename:task1.asmDescription:對(duì)8bits符號(hào)數(shù)X,對(duì)于不同的X進(jìn)行不同的運(yùn)算操作Designedby:Sourceused:1000H:存X的值1001H、1002H:存Y的值1001H:平方運(yùn)算所得低位;除法運(yùn)算所得商1002H:平方運(yùn)算所得高位;除法運(yùn)算所得余數(shù)ORG0000HLJMPMAIN ORG0100HMAIN:MOVDPTR,#1000H;X存于1000HMOVA,#-1;給X賦值 MOVB,#0MOVX@DPTR,A;正負(fù)判斷 JBACC.7,L3;X<0,L3 ;X>0 CJNEA,#64,L2;A!=64,L2 SJMPL1L1:MOVB,A;X>=64MULABSJMPSTORE;低位存于1001H,?高位存于1002HL2:JNCL1;X>64,L1CJNEA,#10,L4;A!=10,L4 SJMPL3;X=10,L3L4:JCL3;X<10,L3MOVB,#2DIVAB;X>10SJMPSTORE;商存于1001H,余數(shù)存于1002HL3:CPLA;X<=10STORE:INCDPTR;結(jié)果存于1001HMOVX@DPTR,A INCDPTRMOVA,BMOVX@DPTR,A SJMP$END利用51系列單片機(jī)設(shè)計(jì)一個(gè)24小時(shí)制電子時(shí)鐘,電子時(shí)鐘的時(shí)、分、秒數(shù)值分別通過(guò)P0、P1、P2端口輸出〔以壓縮BCD碼的形式。P3.0為低電平時(shí)開(kāi)始計(jì)時(shí),為高電平時(shí)停止計(jì)時(shí)。設(shè)計(jì)1s延時(shí)子程序〔延時(shí)誤差小于10us,晶振頻率12MHz。Filename:task2.asmDescription:24小時(shí)制電子時(shí)鐘Designedby:DYHSourceused:P0:輸出小時(shí)數(shù)P1:輸出分鐘數(shù)P2:輸出秒數(shù)R0:小時(shí)循環(huán)計(jì)數(shù)R1:分鐘循環(huán)計(jì)數(shù)R2:秒循環(huán)計(jì)數(shù)R3:保存分鐘數(shù)R4:保存小時(shí)數(shù)ORG0000H LJMPMAIN ORG0100HMAIN:MOVSP,#40HMOVP0,#0 MOVP1,#0 MOVP2,#0 MOVR3,#0;保存小時(shí) MOVR4,#0;保存分鐘 ;設(shè)定循環(huán) MOVR0,#24;小時(shí)外循環(huán)·24 MOVR1,#59;分鐘中循環(huán)·60 MOVR2,#59;秒內(nèi)循環(huán)·60 CLRALOOP:JNBP3.0,$;p3.0=0,結(jié)束計(jì)數(shù) LCALLDELAY;延時(shí)1s ADDA,#1 DAAMOVP2,ADJNZR2,LOOP MOVA,R3;分鐘開(kāi)始計(jì)數(shù)將分鐘賦給A ADDA,#1;分鐘+1 DAA MOVR3,A MOVP1,A CLRA;秒清零 MOVR2,#59;重置內(nèi)循環(huán)· DJNZR1,LOOP;R1!=0,中循環(huán)MOVR3,#0;分鐘清零,小時(shí)計(jì)數(shù) MOVA,R4 ADDA,#1 DAA MOVR4,A MOVP0,A MOVR2,#59;重置中循環(huán) MOVR1,#59;重置外循環(huán) DJNZR0,LOOPDONE:SJMP$DELAY:MOVR7,#11;n==<<201*5+5>*90+9>*11+2=1000001DELAY3:MOVR6,#90;t=1.000001sDELAY2:MOVR5,#201 DELAY1:NOP NOP NOP DJNZR5,DELAY1 NOP NOP DJNZR6,DELAY2 NOP NOP NOP NOP NOP NOP DJNZR7,DELAY3 RET END提高部分〔選做:1實(shí)現(xiàn)4位十進(jìn)制加、減1計(jì)數(shù),千位、百位由P1口輸出;十位、個(gè)位由P2口輸出。利用P3.7狀態(tài)選擇加、減計(jì)數(shù)方式。2利用P3口低四位狀態(tài)控制開(kāi)始和停止計(jì)數(shù),控制方式自定。Description:實(shí)現(xiàn)4位十進(jìn)制加、減1計(jì)數(shù)Designedby:DYHSourceused:P1輸出千百位P2輸出個(gè)十位P3.0計(jì)數(shù)開(kāi)始與停止控制P3.7加1減1計(jì)數(shù)切換R1存千百位R2存?zhèn)€十位ORG0000H MOVP1,#0;輸出千百位 MOVP2,#0;輸出個(gè)十位 MOVR1,#0;存千百位 MOVR2,#0;存?zhèn)€十位 LJMPMAIN ORG0100HMAIN: JBP3.0,$;計(jì)數(shù)開(kāi)始與停止控制JNBP3.7,ADD1;加1減1,模式選擇SUB1:MOVP1,#99 MOVP2,#99 MOVR1,#99LOOP2:MOVR2,#99LOOP1:JBP3.0,$JNBP3.7,LOOP3MOVA,R2LCALLDELAY DECA MOVR2,A MOVP2,R2 CJNER2,#0H,LOOP1 MOVA,R1 DECA MOVR1,A MOVP1,R1 CJNER1,#0H,LOOP2 SJMP$ADD1:MOVP1,#0 MOVP2,#0 MOVR1,#0LOOP4:MOVR2,#0LOOP3:JBP3.0,$JBP3.7,LOOP1MOVA,R2LCALLDELAY INCA MOVR2,A MOVP2,R2 CJNER2,#99H,LOOP3 MOVA,R1 INCA MOVR1,A MOVP1,R1 CJNER1,#99H,LOOP4 MOVR1,#0 SJMP$DELAY:MOVR7,#11;n==<<201*5+5>*90+9>*11+2=1000001DELAY3:MOVR6,#90;t=1.000001sDELAY2:MOVR5,#201 DELAY1:NOP NOP NOP DJNZR5,DELAY1 NOP NOP DJNZR6,DELAY2 NOP NOP NOP NOP NOP NOP DJNZR7,DELAY3 RETEND程序測(cè)試方法與結(jié)果1.設(shè)有8bits符號(hào)數(shù)X存于外部RAM單元,按以下方式計(jì)算后的結(jié)果Y也存于外部RAM單元,請(qǐng)按要求編寫完整程序。X=-30=E2HY=1DH.X=5=05H,Y=FAH.X=10=0AH,Y=F5HX=25=19hY=0CH〔商01H〔余數(shù).X=64=40HY=1
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度大廈股權(quán)抵押資產(chǎn)評(píng)估合同4篇
- 二零二五年度礦產(chǎn)資源開(kāi)采承包經(jīng)營(yíng)合同范本4篇
- 2025年度廚房設(shè)備智能化升級(jí)采購(gòu)、安裝與運(yùn)維服務(wù)合同4篇
- 2025年度水電安裝工程合同爭(zhēng)議解決與調(diào)解合同范本4篇
- 二零二五年度醫(yī)院科室承包管理與培訓(xùn)協(xié)議4篇
- 《奶奶過(guò)生日》課件
- 2025年度地鐵車站地板磚耐磨耐污更換合同4篇
- 2025年度新型環(huán)保廠房租賃合同書(shū)4篇
- 2025年度智能打印機(jī)租賃及維護(hù)服務(wù)協(xié)議范本4篇
- 二零二五年度知識(shí)產(chǎn)權(quán)代持許可合同4篇
- 使用錯(cuò)誤評(píng)估報(bào)告(可用性工程)模版
- 公司章程(二個(gè)股東模板)
- GB/T 19889.7-2005聲學(xué)建筑和建筑構(gòu)件隔聲測(cè)量第7部分:樓板撞擊聲隔聲的現(xiàn)場(chǎng)測(cè)量
- 世界奧林匹克數(shù)學(xué)競(jìng)賽6年級(jí)試題
- 藥用植物學(xué)-課件
- 文化差異與跨文化交際課件(完整版)
- 國(guó)貨彩瞳美妝化消費(fèi)趨勢(shì)洞察報(bào)告
- 云南省就業(yè)創(chuàng)業(yè)失業(yè)登記申請(qǐng)表
- UL_標(biāo)準(zhǔn)(1026)家用電器中文版本
- 國(guó)網(wǎng)三個(gè)項(xiàng)目部標(biāo)準(zhǔn)化手冊(cè)(課堂PPT)
- 快速了解陌生行業(yè)的方法論及示例PPT課件
評(píng)論
0/150
提交評(píng)論