- 相關(guān)推薦
分枝結構的程序設計 (一)
實(shí)驗報告撰寫(xiě)要求
實(shí)驗操作是理論聯(lián)系實(shí)際的重要環(huán)節,實(shí)驗報告必須在科學(xué)實(shí)驗的基礎上進(jìn)行,實(shí)驗報告的撰寫(xiě)是知識系統化的吸收和升華的過(guò)程,實(shí)驗報告應該體現完整性、規范性、正確性、有效性,F將撰寫(xiě)實(shí)驗報告的有關(guān)內容說(shuō)明如下:
1.實(shí)驗名稱(chēng)
2.實(shí)驗目的
本次實(shí)驗所涉及并要求掌握的知識點(diǎn)。
3.實(shí)驗內容與實(shí)驗步驟
實(shí)驗內容、原理、原理圖分析及具體實(shí)驗步驟。
4.實(shí)驗環(huán)境
實(shí)驗所使用的器件、儀器設備名稱(chēng)及規格。
5.設計實(shí)驗數據表格
6.實(shí)驗過(guò)程與分析
詳細記錄在實(shí)驗過(guò)程中發(fā)生的故障和問(wèn)題,并進(jìn)行故障分析,說(shuō)明故障排除的過(guò)程及方法。
根據具體實(shí)驗,記錄、整理相應數據表格、繪制曲線(xiàn)、波形圖等,并進(jìn)行誤差分析。
7.實(shí)驗結果總結
對實(shí)驗結果進(jìn)行分析,完成思考題目,總結實(shí)驗的心得體會(huì ),并提出實(shí)驗的改進(jìn)意見(jiàn)。
注:1.前5項必須在做實(shí)驗之前完成,并由指導教師簽字后才能做實(shí)驗。
2.對于學(xué)生自擬實(shí)驗題目、參與科研、創(chuàng )新實(shí)驗等形式實(shí)驗項目的實(shí)驗報告可采用論文、實(shí)驗總結報告等形式完成。
3.此封皮標準頁(yè)面為16K,下載網(wǎng)址
實(shí)驗名稱(chēng):
分枝結構的程序設計
實(shí)驗目的:
1.通過(guò)進(jìn)行分枝結構的程序設計,進(jìn)一步掌握PIC系列單片機開(kāi)發(fā)環(huán)境的應用步驟和命令;
2.掌握分枝結構的程序設計方法。
實(shí)驗環(huán)境:
PC計算機 MAPLAB開(kāi)發(fā)環(huán)境
實(shí)驗原理 :
實(shí)驗一:用PIC單片機的常見(jiàn)指令編寫(xiě)多字節加法程序
本實(shí)驗通過(guò)編程,令PIC具有處理多字節加法的功能,在這個(gè)程序中,僅以?xún)勺止澕臃槔?br />
首先,將需要進(jìn)行運算的兩個(gè)數據分別放入四個(gè)寄存器中,其中,RAL和RAH分別放置第一個(gè)數據的低八位和高八位,RBL和RBH分別放置第二個(gè)數據的低八位和高八位。然后,調用加法子程序進(jìn)行加法運算。當運算結束后,返回到主程序并結束。
子程序中的加法進(jìn)行過(guò)程:首先將兩個(gè)數據的低八位進(jìn)行相加,結果存入RBL,然后判斷狀態(tài)寄存器f3的進(jìn)位標志CARRY是否為0,如果是0,則代表無(wú)進(jìn)位,跳過(guò)下一步直接進(jìn)行高八位的加法操作,結果存入RBH;如果CARRY是1,則代表有進(jìn)位,那么先將RBH進(jìn)行加1操作后再與RAH求和,結果放入RBH中,最后,通過(guò)RB的數據即可到最后的結果。
實(shí)驗二:用移位相加的方法編程實(shí)現X×3,其中X為8位二進(jìn)制數。
本實(shí)驗首先設置一個(gè)寄存器NA為存放原始數據的位置,另外需要設置一個(gè)寄存器RE存放實(shí)驗最后結果。
實(shí)驗開(kāi)始,對原始數據寄存器賦值,并調用乘3子程序。子程序中,將原始數據放入work寄存器中,然后,將原始數據在NA中左移1位,那么等價(jià)于對此數據進(jìn)行了乘2的操作,然后將work寄存器和NA寄存器中的內容相加求和,并將結果存入RE寄存器中,最后返回主程序并結束。
實(shí)驗三:(選作) 用PIC單片機的常見(jiàn)指令編寫(xiě)簡(jiǎn)單的多字節減法程序
本實(shí)驗通過(guò)編程,令PIC具有處理多字節減法的功能,在這個(gè)程序中,僅以?xún)勺止潨p法為例。
首先,將需要進(jìn)行運算的兩個(gè)數據分別放入四個(gè)寄存器中,其中,RAL和RAH分別放置第一個(gè)數據的低八位和高八位,RBL和RBH分別放置第二個(gè)數據的低八位和高八位。然后,調用減法子程序進(jìn)行加法運算。當運算結束后,返回到主程序并結束。
子程序中的減法進(jìn)行過(guò)程:首先將兩個(gè)數據的低八位進(jìn)行相減,結果存入RBL,然后判斷狀態(tài)寄存器f3的進(jìn)位標志CARRY是否為1,如果是1,則代表無(wú)借位,跳過(guò)下一步直接進(jìn)行高八位的減法操作,結果存入RAH;如果CARRY是0,則代表有借位,那么先將RAH進(jìn)行減1操作后再與RBH求差,結果放入RAH中,最后,通過(guò)RA的數據即可到最后的結果。
實(shí)驗程序:
實(shí)驗一:
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
實(shí)驗二:
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
實(shí)驗三:(選作)
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
調試結果:
實(shí)驗一:
153AH+0879H=1DB3H
1、附值后
2、低位相加后的情況
3、高位相加后的情況
實(shí)驗二:
1、附值前的情況
2、給寄存器NA附值
3、數值存入WORK寄存器,并將NA中的數據左移后
4、與自己本身相加得到乘以三的結果放入RE寄存器
實(shí)驗三:
234CH-1E07H=545H
1、附值后
2、低位相減后的情況
3、高位相減后的情況
實(shí)驗分析與實(shí)驗體會(huì ):
通過(guò)本實(shí)驗的實(shí)際操作,我學(xué)會(huì )了基本的分枝結構程序的設計,進(jìn)一步掌握了PIC系列單片機開(kāi)發(fā)環(huán)境MAPLAB的應用步驟和相關(guān)的命令,并且學(xué)會(huì )了如何應用移位相加方法實(shí)現對已知數據的乘法運算,以及如何進(jìn)行多位數據的加減法。
通過(guò)編寫(xiě)完整的程序,令我熟悉了PIC程序的結構特點(diǎn)和一些編寫(xiě)技巧,實(shí)驗步驟清晰,結果正確,得到了相關(guān)的鍛煉,并掌握了實(shí)驗目的所要求的能力。
【分枝結構的程序設計 (一)】相關(guān)文章:
循環(huán)結構的程序設計方法(一)03-07
C語(yǔ)言程序設計 (一)12-26
Windows 中斷程序設計03-28
商周的國家結構與國教結構03-06
論文的結構03-18
基于 DSP 的網(wǎng)絡(luò )通信程序設計03-20
多媒體課件制作-《C程序設計》03-08
微機UNIX直接視頻圖形程序設計03-19