- 相關(guān)推薦
分枝結(jié)構(gòu)的程序設(shè)計 (一)
實驗報告撰寫要求
實驗操作是理論聯(lián)系實際的重要環(huán)節(jié),實驗報告必須在科學(xué)實驗的基礎(chǔ)上進行,實驗報告的撰寫是知識系統(tǒng)化的吸收和升華的過程,實驗報告應(yīng)該體現(xiàn)完整性、規(guī)范性、正確性、有效性,F(xiàn)將撰寫實驗報告的有關(guān)內(nèi)容說明如下:
1.實驗名稱
2.實驗?zāi)康?br />
本次實驗所涉及并要求掌握的知識點。
3.實驗內(nèi)容與實驗步驟
實驗內(nèi)容、原理、原理圖分析及具體實驗步驟。
4.實驗環(huán)境
實驗所使用的器件、儀器設(shè)備名稱及規(guī)格。
5.設(shè)計實驗數(shù)據(jù)表格
6.實驗過程與分析
詳細記錄在實驗過程中發(fā)生的故障和問題,并進行故障分析,說明故障排除的過程及方法。
根據(jù)具體實驗,記錄、整理相應(yīng)數(shù)據(jù)表格、繪制曲線、波形圖等,并進行誤差分析。
7.實驗結(jié)果總結(jié)
對實驗結(jié)果進行分析,完成思考題目,總結(jié)實驗的心得體會,并提出實驗的改進意見。
注:1.前5項必須在做實驗之前完成,并由指導(dǎo)教師簽字后才能做實驗。
2.對于學(xué)生自擬實驗題目、參與科研、創(chuàng)新實驗等形式實驗項目的實驗報告可采用論文、實驗總結(jié)報告等形式完成。
3.此封皮標(biāo)準(zhǔn)頁面為16K,下載網(wǎng)址
實驗名稱:
分枝結(jié)構(gòu)的程序設(shè)計
實驗?zāi)康模?br />
1.通過進行分枝結(jié)構(gòu)的程序設(shè)計,進一步掌握PIC系列單片機開發(fā)環(huán)境的應(yīng)用步驟和命令;
2.掌握分枝結(jié)構(gòu)的程序設(shè)計方法。
實驗環(huán)境:
PC計算機 MAPLAB開發(fā)環(huán)境
實驗原理 :
實驗一:用PIC單片機的常見指令編寫多字節(jié)加法程序
本實驗通過編程,令PIC具有處理多字節(jié)加法的功能,在這個程序中,僅以兩字節(jié)加法為例。
首先,將需要進行運算的兩個數(shù)據(jù)分別放入四個寄存器中,其中,RAL和RAH分別放置第一個數(shù)據(jù)的低八位和高八位,RBL和RBH分別放置第二個數(shù)據(jù)的低八位和高八位。然后,調(diào)用加法子程序進行加法運算。當(dāng)運算結(jié)束后,返回到主程序并結(jié)束。
子程序中的加法進行過程:首先將兩個數(shù)據(jù)的低八位進行相加,結(jié)果存入RBL,然后判斷狀態(tài)寄存器f3的進位標(biāo)志CARRY是否為0,如果是0,則代表無進位,跳過下一步直接進行高八位的加法操作,結(jié)果存入RBH;如果CARRY是1,則代表有進位,那么先將RBH進行加1操作后再與RAH求和,結(jié)果放入RBH中,最后,通過RB的數(shù)據(jù)即可到最后的結(jié)果。
實驗二:用移位相加的方法編程實現(xiàn)X×3,其中X為8位二進制數(shù)。
本實驗首先設(shè)置一個寄存器NA為存放原始數(shù)據(jù)的位置,另外需要設(shè)置一個寄存器RE存放實驗最后結(jié)果。
實驗開始,對原始數(shù)據(jù)寄存器賦值,并調(diào)用乘3子程序。子程序中,將原始數(shù)據(jù)放入work寄存器中,然后,將原始數(shù)據(jù)在NA中左移1位,那么等價于對此數(shù)據(jù)進行了乘2的操作,然后將work寄存器和NA寄存器中的內(nèi)容相加求和,并將結(jié)果存入RE寄存器中,最后返回主程序并結(jié)束。
實驗三:(選作) 用PIC單片機的常見指令編寫簡單的多字節(jié)減法程序
本實驗通過編程,令PIC具有處理多字節(jié)減法的功能,在這個程序中,僅以兩字節(jié)減法為例。
首先,將需要進行運算的兩個數(shù)據(jù)分別放入四個寄存器中,其中,RAL和RAH分別放置第一個數(shù)據(jù)的低八位和高八位,RBL和RBH分別放置第二個數(shù)據(jù)的低八位和高八位。然后,調(diào)用減法子程序進行加法運算。當(dāng)運算結(jié)束后,返回到主程序并結(jié)束。
子程序中的減法進行過程:首先將兩個數(shù)據(jù)的低八位進行相減,結(jié)果存入RBL,然后判斷狀態(tài)寄存器f3的進位標(biāo)志CARRY是否為1,如果是1,則代表無借位,跳過下一步直接進行高八位的減法操作,結(jié)果存入RAH;如果CARRY是0,則代表有借位,那么先將RAH進行減1操作后再與RBH求差,結(jié)果放入RAH中,最后,通過RA的數(shù)據(jù)即可到最后的結(jié)果。
實驗程序:
實驗一:
LIST P=16C54
RAL EQU 10
RAH EQU 11
RBL EQU 12
RBH EQU 13
STATU EQU 3
CARRY EQU 0
ORG 1FFH
GOTO MAIN
ORG 0
ADDX MOVF RAL,0
ADDWF RBL
BTFSC STATU, CARRY
INCF RBH
MOVF RAH,0
ADDWF RBH
RETLW 0
MAIN NOP
MOVLW 15H
MOVWF RAH
MOVLW 3AH
MOVWF RAL
MOVLW 08H
MOVWF RBH
MOVLW 79H
MOVWF RBL
CALL ADDX
END
實驗二:
LIST P=16c54
STATU EQU 3
CARRY EQU 0
NA EQU 9
RE EQU 12
ORG 1FFH
GOTO MAIN
ORG 0
MULT MOVF NA,0
BCF STATU,CARRY
RLF NA
ADDWF NA,0
MOVWF RE
RETLW 0
MAIN NOP
MOVLW 10H
MOVWF NA
CALL MULT
END
實驗三:(選作)
LIST P=16C54
RAL EQU 10
RAH EQU 11
RBL EQU 12
RBH EQU 13
STATU EQU 3
CARRY EQU 0
ORG 1FFH
GOTO MAIN
ORG 0
SUBX MOVF RBL,0
SUBWF RAL
BTFSS STATU, CARRY
DECF RAH
MOVF RBH,0
SUBWF RAH
RETLW 0
MAIN NOP
MOVLW 23H
MOVWF RAH
MOVLW 4CH
MOVWF RAL
MOVLW 1EH
MOVWF RBH
MOVLW 07H
MOVWF RBL
CALL SUBX
END
調(diào)試結(jié)果:
實驗一:
153AH+0879H=1DB3H
1、附值后
2、低位相加后的情況
3、高位相加后的情況
實驗二:
1、附值前的情況
2、給寄存器NA附值
3、數(shù)值存入WORK寄存器,并將NA中的數(shù)據(jù)左移后
4、與自己本身相加得到乘以三的結(jié)果放入RE寄存器
實驗三:
234CH-1E07H=545H
1、附值后
2、低位相減后的情況
3、高位相減后的情況
實驗分析與實驗體會:
通過本實驗的實際操作,我學(xué)會了基本的分枝結(jié)構(gòu)程序的設(shè)計,進一步掌握了PIC系列單片機開發(fā)環(huán)境MAPLAB的應(yīng)用步驟和相關(guān)的命令,并且學(xué)會了如何應(yīng)用移位相加方法實現(xiàn)對已知數(shù)據(jù)的乘法運算,以及如何進行多位數(shù)據(jù)的加減法。
通過編寫完整的程序,令我熟悉了PIC程序的結(jié)構(gòu)特點和一些編寫技巧,實驗步驟清晰,結(jié)果正確,得到了相關(guān)的鍛煉,并掌握了實驗?zāi)康乃蟮哪芰Α?/p>
【分枝結(jié)構(gòu)的程序設(shè)計 (一)】相關(guān)文章:
C語言程序設(shè)計 (一)05-11
結(jié)構(gòu)方面的毛病05-08
淺談德國的教育結(jié)構(gòu)06-19
論文的結(jié)構(gòu)和排版格式07-25
醫(yī)學(xué)論文寫作結(jié)構(gòu)要點08-20