亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)方法(一)

時(shí)間:2024-07-29 06:35:50 電子信息工程畢業(yè)論文 我要投稿
  • 相關(guān)推薦

循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)方法(一)

實(shí)驗(yàn)報(bào)告撰寫要求
 實(shí)驗(yàn)操作是理論聯(lián)系實(shí)際的重要環(huán)節(jié),實(shí)驗(yàn)報(bào)告必須在科學(xué)實(shí)驗(yàn)的基礎(chǔ)上進(jìn)行,實(shí)驗(yàn)報(bào)告的撰寫是知識(shí)系統(tǒng)化的吸收和升華的過程,實(shí)驗(yàn)報(bào)告應(yīng)該體現(xiàn)完整性、規(guī)范性、正確性、有效性,F(xiàn)將撰寫實(shí)驗(yàn)報(bào)告的有關(guān)內(nèi)容說明如下:
 1.實(shí)驗(yàn)名稱
 2.實(shí)驗(yàn)?zāi)康?br />  本次實(shí)驗(yàn)所涉及并要求掌握的知識(shí)點(diǎn)。
 3.實(shí)驗(yàn)內(nèi)容與實(shí)驗(yàn)步驟
 實(shí)驗(yàn)內(nèi)容、原理、原理圖分析及具體實(shí)驗(yàn)步驟。
 4.實(shí)驗(yàn)環(huán)境
 實(shí)驗(yàn)所使用的器件、儀器設(shè)備名稱及規(guī)格。
 5.設(shè)計(jì)實(shí)驗(yàn)數(shù)據(jù)表格
 6.實(shí)驗(yàn)過程與分析
詳細(xì)記錄在實(shí)驗(yàn)過程中發(fā)生的故障和問題,并進(jìn)行故障分析,說明故障排除的過程及方法。
根據(jù)具體實(shí)驗(yàn),記錄、整理相應(yīng)數(shù)據(jù)表格、繪制曲線、波形圖等,并進(jìn)行誤差分析。
 7.實(shí)驗(yàn)結(jié)果總結(jié)
對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析,完成思考題目,總結(jié)實(shí)驗(yàn)的心得體會(huì),并提出實(shí)驗(yàn)的改進(jìn)意見。
 注:1.前5項(xiàng)必須在做實(shí)驗(yàn)之前完成,并由指導(dǎo)教師簽字后才能做實(shí)驗(yàn)。
 2.對(duì)于學(xué)生自擬實(shí)驗(yàn)題目、參與科研、創(chuàng)新實(shí)驗(yàn)等形式實(shí)驗(yàn)項(xiàng)目的實(shí)驗(yàn)報(bào)告可采用論文、實(shí)驗(yàn)總結(jié)報(bào)告等形式完成。
3.此封皮標(biāo)準(zhǔn)頁面為16K

實(shí)驗(yàn)名稱:
循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)方法
實(shí)驗(yàn)?zāi)康模?br /> 1.掌握循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)方法;
 2.通過循環(huán)結(jié)構(gòu)的程序設(shè)計(jì),加深理解程序設(shè)計(jì)的步驟,掌握較復(fù)雜應(yīng)用的設(shè)計(jì)方法。
實(shí)驗(yàn)環(huán)境:
PC計(jì)算機(jī)   MPLAB編程環(huán)境
實(shí)驗(yàn)原理 :
實(shí)驗(yàn)一:編程實(shí)現(xiàn)兩個(gè)16位二進(jìn)制數(shù)的乘法運(yùn)算(用部分積右移的方法)
 本實(shí)驗(yàn)通過運(yùn)用部分積右移法進(jìn)行兩個(gè)十六位數(shù)的乘法運(yùn)算。
 部分積右移:首先,將兩個(gè)待乘數(shù)據(jù)放入寄存器A和B。然后將乘數(shù)B所在的寄存器按位右移,使最后一位移入狀態(tài)寄存器的進(jìn)位標(biāo)志位。接下來,判斷進(jìn)位標(biāo)志位是否為1,如果為1,那么將被乘數(shù)與結(jié)果相加(初始值為零),并將結(jié)果右移一位,為下一次相加做準(zhǔn)備;反之,如果進(jìn)位標(biāo)志是0,那么,部分積不與任何值相加,但是仍然要向右移動(dòng)一位,為下面的加法做準(zhǔn)備。這樣,利用循環(huán)程序,共循環(huán)16次,使乘數(shù)所有位都進(jìn)入過狀態(tài)寄存器標(biāo)志位,這樣,就將結(jié)果值進(jìn)行了16次右移,并在特定的位置加上了原數(shù)據(jù),得到了最后的結(jié)果,結(jié)果由于是32位的,所以放入兩個(gè)寄存器所組成的單元之中,在本實(shí)驗(yàn)里,放入了C和D寄存器。
實(shí)驗(yàn)二:(選作)編程實(shí)現(xiàn)兩個(gè)16位二進(jìn)制數(shù)的乘法運(yùn)算(用被乘數(shù)左移的方法)
 本實(shí)驗(yàn)通過運(yùn)用被乘數(shù)左移法進(jìn)行兩個(gè)十六位數(shù)的乘法運(yùn)算。
 被乘數(shù)左移:首先,將兩個(gè)待乘數(shù)據(jù)放入寄存器AB和C。由于在運(yùn)算過程中需要移動(dòng)被乘數(shù)AB共16次,AB本身又是一個(gè)16位的數(shù)據(jù),那么,AB應(yīng)該有四個(gè)寄存器組成,即AB為一個(gè)32位的寄存器(由AH AL BH BL構(gòu)成,其中,B存放高八位,A存放低八位)。然后將乘數(shù)B所在的寄存器按位右移,使最后一位移入狀態(tài)寄存器的進(jìn)位標(biāo)志位。接下來,判斷進(jìn)位標(biāo)志位是否為1,如果為1,那么將被乘數(shù)與結(jié)果相加(初始值為零),并將被乘數(shù)左移一位,為下一次相加做準(zhǔn)備;反之,如果進(jìn)位標(biāo)志是0,那么,被乘數(shù)不與結(jié)果值相加,但是仍然要向左移動(dòng)一位,為下面的加法做準(zhǔn)備。這樣,利用循環(huán)程序,共循環(huán)16次,使乘數(shù)所有位都進(jìn)入過狀態(tài)寄存器標(biāo)志位,這樣,就將被乘數(shù)進(jìn)行了16次左移,并在特定的位置加到了結(jié)果值數(shù)據(jù)上,得到了最后的結(jié)果,結(jié)果由于是32位的,所以放入兩個(gè)寄存器所組成的單元之中,在本實(shí)驗(yàn)里,放入了D(低八位)和E(高八位)寄存器。
 
 但是,不論應(yīng)用那種方法,都有不足之處,那就是,如果計(jì)算的數(shù)值結(jié)果超過了32位,也就是在進(jìn)行最后一次加法運(yùn)算時(shí),產(chǎn)生了溢出,那么,結(jié)果將產(chǎn)生錯(cuò)誤。也就是說,這兩個(gè)程序都不可能完成所有16位的數(shù)據(jù)的乘法運(yùn)算。
實(shí)驗(yàn)程序:
實(shí)驗(yàn)一:
     AL EQU 10
     AH EQU 11
     BL EQU 12
     BH EQU 13
     CL EQU 14
     CH EQU 15
     DL EQU 16
     DH EQU 17
     COUNTER EQU 18
     STATU EQU 3
     CARRY EQU 0

     ORG 1FFH
     GOTO MAIN
     ORG 0H

MULT RRF    BH
     RRF    BL
     BTFSC  STATU,CARRY
     CALL   ADD
     RRF    CH
     RRF    CL
     RRF    DH
     RRF    DL
     DECFSZ COUNTER
     GOTO   MULT
     RETLW 0
    
ADD  MOVF  AL,0
     ADDWF  CL
     BTFSC   STATU,CARRY
     INCF    CH
     MOVF   AH,0
     ADDWF  CH
     RETLW 0
    
SETU MOVLW 13H
     MOVWF AL
     MOVLW 2CH
     MOVWF AH;        被乘數(shù)->A
     MOVLW 7AH
     MOVWF BL
     MOVLW 18H
     MOVWF BH;       乘數(shù)->B
     MOVLW 10H
     MOVWF COUNTER
     CLRF  DL
     CLRF  DH
     RETLW 0
    
MAIN NOP
     CALL SETU
     CALL MULT
     END

實(shí)驗(yàn)二:
     AL EQU 10
     AH EQU 11
     BL EQU 12
     BH EQU 13
     CL EQU 14
     CH EQU 15
     DL EQU 16
     DH EQU 17
     EL EQU 18
     EH EQU 19
     COUNTER EQU 1A
     STATU EQU 3
     CARRY EQU 0

     ORG 1FFH
     GOTO MAIN
     ORG 0H

MULT RRF    CH
     RRF    CL
     BTFSC  STATU,CARRY
     CALL   ADD
     RLF    AL
     RLF    AH
     RLF    BL
     RLF    BH
     DECFSZ COUNTER
     GOTO   MULT
     RETLW 0
    
ADD  MOVF  AL,0
     ADDWF DL
     BTFSC STATU,CARRY
     INCF  DH
     MOVF  AH,0
     ADDWF DH
     BTFSC STATU,CARRY
     INCF  EL
     MOVF  BL,0
     ADDWF EL
     BTFSC STATU,CARRY
     INCF  EH
     MOVF  BH,0
     ADDWF EH
     RETLW 0
    
SETU MOVLW 5DH
     MOVWF AL
     MOVLW 13H
     MOVWF AH
     MOVLW 2CH
     MOVWF CL
     MOVLW 07H
     MOVWF CH
     MOVLW 10H
     MOVWF COUNTER
     CLRF  BL
     CLRF  BH
     CLRF  DL
     CLRF  DH
     CLRF  EL
     CLRF  EH
     RETLW 0
    
MAIN NOP
     CALL SETU
     CALL MULT
     END
調(diào)試結(jié)果:

實(shí)驗(yàn)一
2C13*187A=436C90E
1、加載數(shù)據(jù)前的情況

2、賦值后的情況

2、乘法過程中,部分積右移的情況

3、結(jié)果

實(shí)驗(yàn)二
135D*072C=8ADEFC
加載數(shù)據(jù)前的情況

賦值后的情況

乘法過程中,被乘數(shù)左移的情況

結(jié)果實(shí)驗(yàn)分析與實(shí)驗(yàn)體會(huì):
    通過本實(shí)驗(yàn)的操作,我掌握了循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)方法,加深理解程序設(shè)計(jì)的步驟,掌握較復(fù)雜應(yīng)用的設(shè)計(jì)方法。
 在實(shí)驗(yàn)中,通過實(shí)際動(dòng)手編程操作,深入理解了部分積右移和被乘數(shù)左移兩種多位數(shù)乘法運(yùn)算的算法,并掌握了其在PIC單片機(jī)上是如何編程實(shí)現(xiàn)的。通過使用MPLAB仿真,看到了各個(gè)寄存器在實(shí)驗(yàn)過程中的變化,在理解程序的基礎(chǔ)上充分理解了整個(gè)程序進(jìn)行的過程,并通過單步進(jìn)行實(shí)際看到了循環(huán)結(jié)構(gòu)的進(jìn)行順序。
 整個(gè)實(shí)驗(yàn)進(jìn)行順利,使我受益匪淺。

【循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)方法(一)】相關(guān)文章:

分枝結(jié)構(gòu)的程序設(shè)計(jì) (一)03-07

淺談C語言中循環(huán)結(jié)構(gòu)的教學(xué)方法03-28

UNIX網(wǎng)絡(luò)的服務(wù)器程序設(shè)計(jì)方法03-20

物理與化學(xué)方法下循環(huán)水換熱器查漏分析的方法11-19

C語言程序設(shè)計(jì) (一)12-26

企業(yè)資本結(jié)構(gòu)及其決策方法探析03-18

淺析最優(yōu)資本結(jié)構(gòu)的確定方法12-04

淺談建筑混凝土結(jié)構(gòu)裂縫的修補(bǔ)設(shè)計(jì)與方法03-14

健康水循環(huán)框架下的區(qū)域水資源綜合規(guī)劃方法及應(yīng)用03-16