九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

分支程序設(shè)計實驗實驗報告.doc

  • 資源ID:116541844       資源大?。?span id="24d9guoke414" class="font-tahoma">870.18KB        全文頁數(shù):19頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

分支程序設(shè)計實驗實驗報告.doc

實驗二 分支程序設(shè)計實驗實驗報告實驗名稱:分支程序設(shè)計實驗 指導(dǎo)教師 羅志祥 專業(yè)班級 光信1006 姓名 張博 學(xué)號U201013339 聯(lián)系方式 13554098548 一、任務(wù)要求:熟練掌握KeilC環(huán)境下匯編語言程序的調(diào)試方法,加深對匯編語言指令、機(jī)器碼、尋址方式等基本內(nèi)容的理解,掌握分支程序和簡單程序的設(shè)計與調(diào)試方法,了解并行IO口的使用。1. 設(shè)有8bits符號數(shù)X存于外部RAM單元,按以下方式計算后的結(jié)果Y也存于外部RAM單元,請按要求編寫程序。2. 利用51系列單片機(jī)設(shè)計一個24小時制電子時鐘,電子時鐘的時、分、秒數(shù)值分別通過P0、P1、P2端口輸出(以壓縮BCD碼的形式)。P3.0為低電平時開始計時,為高電平時停止計時。提高部分(選做):a. 實現(xiàn)4位十進(jìn)制加、減1計數(shù),千位、百位由P1口輸出;十位、個位由P2口輸出。利用P3.7狀態(tài)選擇加、減計數(shù)方式。b. 利用P3口低四位狀態(tài)控制開始和停止計數(shù),控制方式自定。二、設(shè)計思路:1.分支函數(shù)程序設(shè)計:首先將X賦給累加器A,與40比較大小,將大于或等于40的執(zhí)行乘方操作;小于40的再與20做比較,大于20的執(zhí)行取除法操作,小于或等于20的執(zhí)行取反操作。最后將計算結(jié)果Y存于片外的RAM上。2.電子時鐘程序設(shè)計思路:首先用循環(huán)程序的嵌套實現(xiàn)一個1s的延時,同時讓記秒的端口P2同步加一,到60后清零;再讓此循環(huán)執(zhí)行60次實現(xiàn)1min的延時,同時讓P1同步加一,到60后清零;再讓分鐘的循環(huán)執(zhí)行24次,實現(xiàn)1hour的延時,同時讓P0同步加一。至此循環(huán),即可實現(xiàn)24小時的時鐘功能。(注:本計算機(jī)的晶振頻率為12MHz)3.4位十進(jìn)制加、減1計數(shù)程序思路:低位的個位和十位賦給一個寄存器,而將高位即百位千位賦給另外一個寄存器,通過循環(huán)程序使低位數(shù)循環(huán)100次即向高位進(jìn)位或借位,高位循環(huán)100次后即回歸初始狀態(tài),同時設(shè)計兩個子函數(shù)分別執(zhí)行加一、減一操作。其中,用P3的第7位的狀態(tài)實現(xiàn)對計數(shù)與否的控制。三、資源分配:1.分支函數(shù)程序:A:累加器C:位操作B:做乘方的寄存器DPTR:片外尋址指針2000H、2001H、2002H:片外存儲空間2.電子時鐘程序:A:累加器C:位操作P0、P1、P2:分別電子時鐘的時、分、秒輸出R0、R1、R2:分別時分秒計數(shù)用存儲器R3、R4、R5:完成1s延時的相關(guān)數(shù)據(jù)存儲3.四位十進(jìn)制加、減1計數(shù)程序:A:累加器C:位操作P0:低位輸出口 P1:高位輸出口 R0:高位寄存器 R1:低位寄存器 R7 R6:分別臨時儲存低位和高位的寄存器四、流程圖:1. 分支函數(shù)程序流程圖2電子時鐘程序流程圖3四進(jìn)制加、減1計數(shù)程序流程圖各圖形如下:開始取數(shù)比較X與40的大小 大于或等于40比較X與20的大小 小于或等于20 大于20求平均值執(zhí)行取反運算執(zhí)行平方運算 存結(jié)果于Y結(jié)束電子時鐘:開始R0,R1,R2置零P0,P1,P2置零R2-0R1-0 R0-0 空操作延時1秒R0加1,輸出P2R0=60? NO YESR1+1,輸出P1 R1=60? NO YESR2+1,輸出P0R2=24? NO YES清零結(jié)束開始加減計數(shù)器流程圖:P0, P1, P2-0P3.7=0?執(zhí)行1計數(shù)執(zhí)行+1計數(shù) YESR0=0?高兩位R1-1,轉(zhuǎn)換為十進(jìn)制,輸出P0R0-99R0=0?R1-99低位R01,轉(zhuǎn)換為十進(jìn)制,輸出P1P0, P1-99P0, P1-0R1-0R0-0低兩位R0+1,轉(zhuǎn)換為十進(jìn)制,輸出P1R0=99? NO NO YES YES高兩位R1+1,轉(zhuǎn)換為十進(jìn)制,輸出P0R0=99? YES YES NO NO清零結(jié)束五、源代碼:1)ORG 0000HMOV A,#50HMOV DPTR,#2000HMOVX DPTR,A ;將數(shù)存入片外RAMMOV DPTR,#2000HMOVX A,DPTR ;從片外RAM中取數(shù)XMOV R7,ACLR CMOV R0,#40H ;對X的值進(jìn)行比較SUBB A,R0JNC MUTIMOV R1,#20HCLR CMOV A,R1SUBB A,R7JC DIVIMOV A,R7CPL A ;對X進(jìn)行取反MOV DPTR,#2001HMOVX DPTR,A ;存入片外RAMLJMP STOPDIVI:MOV B,#2H ;除法子程序 MOV A,R7 DIV AB MOV DPTR,#2001H MOVX DPTR,A LJMP STOPMUTI:MOV A,R7 ;平方子程序 MOV B,A MUL AB MOV DPTR,#2001H ;低位存入片外RAM中2001H MOVX DPTR,A INC DPTR MOV A,B MOVX DPTR,A ;高位存入片外RAM中2002HSTOP:SJMP $ END2)ORG 0000H MOV R0,#0;R0,R1,R2置0MOV R1,#0MOV R2,#0MOV P0,#0;P0,P1,P2置0MOV P1,#0MOV P2,#0 INPUT:JNB P3.0,STEP START: ACALL DELAY INC R0;秒鐘計數(shù) MOV A,R0 ACALL OUTPUT;轉(zhuǎn)化為bcd碼 MOV P2, A CJNE R0,#60,START;60進(jìn)制判斷進(jìn)1 MOV R0,#0; MOV P2,#0; INC R1;分鐘計數(shù) MOV A,R1 ACALL OUTPUT;轉(zhuǎn)化為bcd碼 MOV P1,A CJNE R1,#60,START;60進(jìn)制判斷 MOV R1,#0; MOV P1,#0; INC R2;時鐘計數(shù) MOV A,R2; ACALL OUTPUT;計算bcd碼 MOV P0,A CJNE R2,#24,START;判斷是不是溢出了 MOV R2,#0;溢出清0 MOV P0,#0;輸出清0 SJMP INPUT;跳出循環(huán) DELAY:MOV R3,#19H;循環(huán)次數(shù)LOOP:MOV R4,#28HLOOP1:MOV R5,#0FAH;循環(huán)次數(shù)LOOP2:NOP NOP DJNZ R5,LOOP2 DJNZ R4,LOOP1 DJNZ R3,LOOP SJMP START RET OUTPUT:MOV B,#0AH; DIV AB SWAP A ORL A,B RET DONE:SJMP $STEP:SJMP STEP END3)ORG 0000HMOV P0,#0HMOV P1,#0HMOV P2,#0HJUDGE:CLR C MOV C,P3.7 JNC ADDDONESUBDDONE:MOV P0,#99H MOV P1,#99H MOV R0,#63H ;千,百位 MOV R1,#63H ;十,個位START: MOV A,R1 ACALL DELAY DEC A MOV R7,A ACALL OUTPUT MOV P1,A MOV B,R7 MOV R1,B CJNE A,#0H,START;低位循環(huán) MOV A,#63H MOV R7,A ACALL OUTPUT MOV P1,A MOV B,R7 MOV R1,B MOV A,R0 MOV R7,A DEC A ACALL OUTPUT MOV P0,A MOV B,R7 MOV R0,B CJNE A,#0H,START ;高位循環(huán) SJMP $;原地踏步ADDDONE:MOV P0,#00H MOV P1,#00H MOV R0,#00H ;千,百位 MOV R1,#00H ;十,個位MOV R0,#0HSTART1: MOV A,R1 ACALL DELAY INC A MOV R7,A ACALL OUTPUT MOV P1,A MOV B,R7 MOV R1,B CJNE A,#99H,START1 ;低位循環(huán) MOV A,#0H MOV R7,A ACALL OUTPUT MOV P1,A MOV B,R7 MOV R1,B MOV A,R0 INC A MOV R6,A ACALL OUTPUT MOV P0,A MOV B,R6 MOV R0,B CJNE A,#99H,START1 ;高位循環(huán) SJMP $;原地踏步 OUTPUT:MOV B,#0AH;轉(zhuǎn)化為BCD碼 DIV AB SWAP A ORL A,B RET DELAY:MOV R3,#32H;循環(huán)次數(shù)LOOP:MOV R4,#14H;循環(huán)次數(shù)LOOP1:MOV R5,#0FAH;循環(huán)次數(shù)LOOP2:NOP NOP DJNZ R5,LOOP2 DJNZ R4,LOOP1 DJNZ R3,LOOP RET END 六、 程序測試方法與結(jié)果、軟件性能分析 1) 分段函數(shù)測試 分別令X=10、30、50測試個分段函數(shù),再使用X=20、40測試分界點,其對應(yīng)結(jié)果如下:X=40時,得到X,Y存入片外RAMX=20時,X=30時,X=40時,Y的高位存入片外RAM 2002H,低位存入2001HX=50時,Y的高位存入片外RAM 2002H,低位存入2001H2)、電子時鐘測試當(dāng)P3.0為高電平時,不記時,如圖:當(dāng)P3.7為低電平時計時開始,其計時效果如下:由于小時等待時間太長,故在此不再截圖顯示3)、4位十進(jìn)制加、減1計數(shù):當(dāng)P3.7為低電平時執(zhí)行加一計數(shù)P0輸出千位和百位 P1輸出十位和各位當(dāng)P3.7為高電平時執(zhí)行減一計數(shù)P0輸出千位和百位 P1輸出十位和各位七、思考題1 1實現(xiàn)多分支結(jié)構(gòu)程序的主要方法有哪些?舉例說明。答:實現(xiàn)方法大致如下:1. 1.使用條件轉(zhuǎn)移指令實現(xiàn),如DJNZ,JNC2. 2.使用分支表法,如分支地址表、轉(zhuǎn)移指令表、地址偏移量表。2 2在編程上,十進(jìn)制加1計數(shù)器與十六進(jìn)制加1計數(shù)器的區(qū)別是什么?怎樣用十進(jìn)制加法指令實現(xiàn)減1計數(shù)?答:十進(jìn)制加一后需要在計算結(jié)果的基礎(chǔ)上進(jìn)行修正,運用DA指令;而十六進(jìn)制加一指令所得結(jié)果即為最終結(jié)果,無需進(jìn)行修正。 寫十進(jìn)制加法指令時,首先將結(jié)果與#0相加,即ADDA,0;然后運用DAA指令,修正A為十進(jìn)制,最后再執(zhí)行減一操作,即DEC A。如此便可得到結(jié)果。八、心得與體會本次實驗主要進(jìn)行了分支程序的設(shè)計實驗,并涉及到了函數(shù)的多分支,與子函數(shù)間的嵌套,加深了我們對如何運用子函數(shù)進(jìn)行程序的分支的方法。其中,分支函數(shù)的實現(xiàn)過程不是很復(fù)雜,但是電子時鐘的24小時制程序設(shè)計需要對多級函數(shù)的嵌套有深刻的理解,在這個程序的設(shè)計過程中,的確鍛煉了我們對于子函數(shù)、延時程序、系統(tǒng)頻率等相關(guān)概念有了多的了解。在電子時鐘設(shè)計中,要指出的是,程序在考慮一些延時的循環(huán)函數(shù)時,一些耗時比較少的指令沒有加入計算,這就導(dǎo)致了,程序在執(zhí)行過程中會出現(xiàn)一定的誤差,在所難免,但總體而言,精確度還算比較高,滿足了設(shè)計的要求??偠灾?,本次實驗在自己一人的努力下,基本完成了實驗任務(wù),歲耗時較長,但有其自己的效果,也提高了我通過單片機(jī)實現(xiàn)一些小型功能的能力,這些對以后的學(xué)習(xí)必將大有裨益!

注意事項

本文(分支程序設(shè)計實驗實驗報告.doc)為本站會員(good****022)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!