版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、試驗(yàn)名稱分支與循環(huán)程序設(shè)計(jì)試驗(yàn)段昳暉學(xué)號(hào) U2022* 指導(dǎo)老師羅志祥專業(yè)班級(jí)光電 1406 姓名聯(lián)系電話 137* 一、任務(wù)要求1. 設(shè)有 8bits符號(hào)數(shù) X 存于外部 RAM單元,按以下方式運(yùn)算后的結(jié)果Y 也存于外部 RAM單元,請(qǐng)按要求編寫完整程序;2. 利用 51 系列單片機(jī)設(shè)計(jì)一個(gè)24 小時(shí)制電子時(shí)鐘,電子時(shí)鐘的時(shí)、分、秒數(shù)值分別通過 P0、P1、P2 端口輸出(以壓縮 BCD碼的形式); P3.0 為低電平常開始計(jì)時(shí),為高電平常停止計(jì)時(shí);設(shè)計(jì) 1s 延時(shí)子程序(延時(shí)誤差小于 10us,晶振頻率 12MHz);二、設(shè)計(jì)思路1. 設(shè)有 8bits符號(hào)數(shù) X 存于外部 RAM單元,按以
2、下方式運(yùn)算后的結(jié)果Y 也存于外部 RAM單元,請(qǐng)按要求編寫完整程序;將外部單元 1000H中的 X,通過分支判定, 分別執(zhí)行不同的語(yǔ)句,三條語(yǔ)句分別為標(biāo)記為 L1、 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;2. 利用 51 系列單片機(jī)設(shè)計(jì)一個(gè) 24 小時(shí)制電子時(shí)鐘,電子時(shí)鐘的時(shí)、分、秒數(shù)值分別通過 P0、P1、P2 端口輸出(以壓縮 BCD碼的形式); P3.0 為低電平常開始計(jì)時(shí),為高電平常停
3、止計(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儲(chǔ)存分鐘數(shù)、 R4儲(chǔ)存小時(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)來設(shè)計(jì)延時(shí)程序,合理運(yùn)算語(yǔ)句長(zhǎng)度,以及循環(huán)次數(shù);程序運(yùn)行時(shí)修正 P3.0 的值,可以實(shí)現(xiàn)暫停計(jì)數(shù)和連續(xù)的功能;提高部分(選做) :1)實(shí)現(xiàn) 4 位十進(jìn)制加、減 1 計(jì)數(shù),千位、百位由 P1 口輸出;十位、個(gè)位由P2口輸出;利用
4、 P3.7 狀態(tài)挑選加、減計(jì)數(shù)方式;2)利用 P3 口低四位狀態(tà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í),開頭計(jì)數(shù), P3.0=0 時(shí),原地循環(huán),停止計(jì)數(shù),直到 P3.0=1,可以
5、實(shí)現(xiàn)隨時(shí)停止與開頭;三、資源安排1. 設(shè)有 8bits符號(hào)數(shù) X 存于外部 RAM單元,按以下方式運(yùn)算后的結(jié)果Y 也存于外部 RAM單元,請(qǐng)按要求編寫完整程序;X 存于片外 1000H Y 存于片外 1001H、1002H 其中,求平方時(shí),低位存于1001H,高位存于 1002H 除二時(shí),商存于 1001H,余數(shù)存于 1002H 2. 利用 51 系列單片機(jī)設(shè)計(jì)一個(gè)24 小時(shí)制電子時(shí)鐘,電子時(shí)鐘的時(shí)、分、秒數(shù)值分別通過 P0、P1、P2 端口輸出(以壓縮 BCD碼的形式); P3.0 為低電平常開 始計(jì)時(shí),為高電平常停止計(jì)時(shí);設(shè)計(jì) 1s 延時(shí)子程序(延時(shí)誤差小于 10us,晶振頻 率 12MH
6、z);P0輸出小時(shí)數(shù) P1輸出分鐘數(shù) P2輸出秒數(shù) R0小時(shí)循環(huán)計(jì)數(shù) R1分鐘循環(huán)計(jì)數(shù) R2秒循環(huán)計(jì)數(shù) R3儲(chǔ)存分鐘數(shù) R4儲(chǔ)存小時(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)掌握開頭和停止計(jì)數(shù),掌握方式自定;P1輸出千百位 P2輸出個(gè)十位 P3.0 計(jì)數(shù)開頭與停止掌握P3.7 加 1 減 1 計(jì)數(shù)切換 R1存千百位 R2存?zhèn)€十位 四、流程圖1. 設(shè)有 8bits符號(hào)數(shù) X 存于外部 RAM單元,按以下方式運(yùn)算后的結(jié)果Y 也存于外部 RAM單元,請(qǐng)按要求
7、編寫完整程序;2. 利用 51 系列單片機(jī)設(shè)計(jì)一個(gè)24 小時(shí)制電子時(shí)鐘,電子時(shí)鐘的時(shí)、分、秒數(shù)值分別通過 P0、P1、P2 端口輸出(以壓縮 BCD碼的形式); P3.0 為低電平常開始計(jì)時(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)掌握開頭和停止計(jì)數(shù),掌握方式自定;五、源代碼(含文件頭說明、語(yǔ)句行注釋)1. 設(shè)有 8bits 符號(hào)數(shù) X 存于外部 RAM單元,按以下
8、方式運(yùn)算后的結(jié)果 Y 也存于外部 RAM單元,請(qǐng)按要求編寫完整程序;File name: task1.asm 符號(hào)數(shù) X,對(duì)于不同的X進(jìn)行不同的運(yùn)算操作Description: 對(duì) 8bitsDate: Designed by: Source used: 1000H: 1001H 1001H 1002H存 X的值、1002H: 存 Y 的值:平方運(yùn)算所得低位;除法運(yùn)算所得商:平方運(yùn)算所得高位;除法運(yùn)算所得余數(shù)ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV DPTR,#1000H ;X 存于 1000H MOV A,#-1 給 X 賦值 MOV B,#0 MOVX
9、 DPTR,A ; 正負(fù)判定 JB ACC.7,L3 ;X0 CJNE A,#64,L2 ;A.=64,L2 SJMP L1 L1: MOV B,A ;X=64 MUL AB SJMP STORE ; 低位存于 1001H,.高位存于 1002H L2: JNC L1 ;X64,L1 CJNE A,#10,L4 ;A.=10,L4 SJMP L3 ;X=10,L3 L4: JC L3 ;X10 SJMP STORE ;商存于 1001H,余數(shù)存于 1002H L3: CPL A ;X=10 STORE: INC DPTR ; 結(jié)果存于 1001H MOVX DPTR,A INC DPTR MO
10、V A,B MOVX DPTR,A SJMP $ END 2. 利用 51 系列單片機(jī)設(shè)計(jì)一個(gè)24 小時(shí)制電子時(shí)鐘,電子時(shí)鐘的時(shí)、分、秒數(shù)值分別通過 P0、P1、P2 端口輸出(以壓縮 BCD碼的形式); P3.0 為低電平常開始計(jì)時(shí),為高電平常停止計(jì)時(shí);設(shè)計(jì) 1s 延時(shí)子程序(延時(shí)誤差小于 10us,晶振頻 率 12MHz);File name: task2.asm Description: 24 小時(shí)制電子時(shí)鐘 Date: Designed by: DYH Source used: P0:輸出小時(shí)數(shù) P1:輸出分鐘數(shù) P2:輸出秒數(shù) R0:小時(shí)循環(huán)計(jì)數(shù) R1:分鐘循環(huán)計(jì)數(shù) R2:秒循環(huán)計(jì)數(shù)
11、 R3:儲(chǔ)存分鐘數(shù) R4:儲(chǔ)存小時(shí)數(shù) ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV SP,#40H MOV P0,#0 MOV P1,#0 MOV P2,#0 MOV R3,#0 ; 儲(chǔ)存小時(shí) MOV R4,#0 ; 儲(chǔ)存分鐘 ; 設(shè)定循環(huán) MOV R0,#24 ; 小時(shí) 外循環(huán)24 MOV R1,#59 ;分鐘 中循環(huán)60 MOV R2,#59 ;秒 內(nèi)循環(huán)60 CLR A LOOP: JNB P3.0,$ ;p3.0=0,終止計(jì)數(shù) LCALL DELAY ; 延時(shí) 1s ADD A,#1 DA A MOV P2,A DJNZ R2,LOOP MOV A,R
12、3 ; 分鐘開頭計(jì)數(shù)將分鐘賦給 A ADD A,#1 ;分鐘 +1 DA A MOV R3,A MOV P1,A CLR A ; 秒清零 MOV R2,#59 ; 重置內(nèi)循環(huán) DJNZ R1,LOOP ;R1.=0, 中循環(huán) MOV R3,#0 ; 分鐘清零,小時(shí)計(jì)數(shù) MOV A,R4 ADD A,#1 DA A MOV R4,A MOV P0,A MOV R2,#59 ; 重置中循環(huán) MOV R1,#59 ; 重置外循環(huán) DJNZ R0,LOOP DONE: SJMP $ DELAY: MOV R7,#11 ;n=201*5+5*90+9*11+2=1000001 DELAY3: MOV R
13、6,#90 ;t=1.000001s DELAY2: MOV R5,#201 DELAY1: NOP NOP NOP DJNZ R5,DELAY1 NOP NOP DJNZ R6,DELAY2 NOP NOP NOP NOP NOP NOP DJNZ R7,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)掌握開頭和停止計(jì)數(shù),掌握方式自定;Description: 實(shí)現(xiàn) 4 位十進(jìn)制加、減1 計(jì)數(shù)Date: Designed by:
14、DYH Source used: P1輸出千百位 P2輸出個(gè)十位 P3.0 計(jì)數(shù)開頭與停止掌握 P3.7 加 1 減 1 計(jì)數(shù)切換R1存千百位R2存?zhèn)€十位 ORG 0000H MOV P1,#0 ; 輸出千百位 MOV P2,#0 ; 輸出個(gè)十位 MOV R1,#0 ; 存千百位 MOV R2,#0 ; 存?zhèn)€十位 LJMP MAIN ORG 0100H MAIN: JB P3.0,$ ; 計(jì)數(shù)開頭與停止掌握 JNB P3.7,ADD1 SUB1: MOV P1,#99 MOV P2,#99 MOV R1,#99 LOOP2: MOV R2,#99 LOOP1: JB P3.0,$ JNB P3
15、.7,LOOP3 MOV A,R2 LCALL DELAY DEC A MOV R2,A MOV P2,R2 ; 加 1 減 1,模式挑選 CJNE R2,#0H,LOOP1 MOV A,R1 DEC A MOV R1,A MOV P1,R1 CJNE R1,#0H,LOOP2 SJMP $ ADD1: MOV P1,#0 MOV P2,#0 MOV R1,#0 LOOP4: MOV R2,#0 LOOP3: JB P3.0,$ JB P3.7,LOOP1 MOV A,R2 LCALL DELAY INC A MOV R2,A MOV P2,R2 CJNE R2,#99H,LOOP3 MOV
16、A,R1 INC A MOV R1,A MOV P1,R1 CJNE R1,#99H,LOOP4 MOV R1,#0 SJMP $ DELAY: MOV R7,#11 ;n=201*5+5*90+9*11+2=1000001 DELAY3: MOV R6,#90 ;t=1.000001s DELAY2: MOV R5,#201 DELAY1: NOP NOP NOP DJNZ R5,DELAY1 NOP NOP DJNZ R6,DELAY2 NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY3 RET END 六、程序測(cè)試方法與結(jié)果1. 設(shè)有 8bits符號(hào)數(shù) X 存于
17、外部 RAM單元,按以下方式運(yùn)算后的結(jié)果Y 也存于外部 RAM單元,請(qǐng)按要求編寫完整程序;1X=-30=E2H Y=1DH 2.X=5=05H,Y=FAH3.X=10=0AH,Y=F5H4X=25=19h Y=0CH (商) 01H(余數(shù))5.X=64=40H Y=1000H 2. 利用 51 系列單片機(jī)設(shè)計(jì)一個(gè)24 小時(shí)制電子時(shí)鐘,電子時(shí)鐘的時(shí)、分、秒數(shù)值分別通過 P0、P1、P2 端口輸出(以壓縮 BCD碼的形式); P3.0 為低電平常開始計(jì)時(shí),為高電平常停止計(jì)時(shí);設(shè)計(jì) 1s 延時(shí)子程序(延時(shí)誤差小于 10us,晶振頻 率 12MHz);( 1) P3.0=0,停止計(jì)數(shù)( 2)分鐘進(jìn)位前( 3)分鐘進(jìn)位后( 4)小時(shí)進(jìn)位前( 5)小時(shí)進(jìn)位后提高部分(選做) :1)實(shí)現(xiàn) 4 位十進(jìn)制加、減 1 計(jì)數(shù),千位、百位由 P1 口輸出;十位、個(gè)位由P2口輸出;利用 P3.7 狀態(tài)挑選加、減計(jì)數(shù)方式;2)利用 P3 口低四位狀態(tài)掌握開頭和停止計(jì)數(shù),掌握方式自定;( 1) P3.0=1,停止計(jì)數(shù)( 2) P3.0=1,中途停止計(jì)數(shù)( 3) P3.0=0,從暫停點(diǎn)連續(xù)計(jì)數(shù)( 4) P3.7=0,加 1 計(jì)數(shù)前后( 5) P3.7=1,減 1 計(jì)數(shù)前后摸索題1實(shí)現(xiàn)多分支結(jié)構(gòu)程序的主要方法有哪些?舉例說明;2在編程上
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 馬哲必考十個(gè)原理
- 熱泵清潔供暖投資運(yùn)營(yíng)標(biāo)準(zhǔn)合同
- 安徽省黃山市歙縣2024-2025學(xué)年四年級(jí)上學(xué)期期中英語(yǔ)試題
- 生態(tài)治理項(xiàng)目招投標(biāo)報(bào)名
- 美容院前臺(tái)接待合同
- 化學(xué)研究部管理要訣
- 保險(xiǎn)業(yè)務(wù)交貨期承諾書范本
- 科技園區(qū)車位銷售合同范例
- 房地產(chǎn)市場(chǎng)預(yù)測(cè)
- 建筑加固改造施工合同協(xié)議書
- 小升初數(shù)學(xué)銜接講座
- 提高自我保護(hù)意識(shí)主題班會(huì)
- 備戰(zhàn)2024年中考語(yǔ)文復(fù)習(xí)考點(diǎn)幫(全國(guó)通用)考點(diǎn)十三 小說閱讀(好題沖關(guān)·真題演練)(原卷版)
- 醫(yī)院門診信息管理系統(tǒng)可行性研究報(bào)告
- 《銀屑病臨床表現(xiàn)》課件
- 智慧后勤系統(tǒng)市場(chǎng)分析報(bào)告
- 招投標(biāo)過程中的信息安全與保密措施建議
- 承包人實(shí)施計(jì)劃
- “山東通”協(xié)同辦公平臺(tái) 應(yīng)用系統(tǒng)接入規(guī)范-地方標(biāo)準(zhǔn)
- 技術(shù)分紅協(xié)議合同
- DB5120-T 19.3-2023 數(shù)據(jù)資源體系技術(shù)指南 第3部分:數(shù)據(jù)清洗加工規(guī)范
評(píng)論
0/150
提交評(píng)論