分枝結構的程序設計 (一)

學識都 人氣:1.44W

實驗報告撰寫要求
 實驗操作是理論聯繫實際的重要環節,實驗報告必須在科學實驗的基礎上進行,實驗報告的撰寫是知識系統化的吸收和昇華的過程,實驗報告應該體現完整性、規範性、正確性、有效性。現將撰寫實驗報告的有關內容說明如下:
 1.實驗名稱
 2.實驗目的
 本次實驗所涉及並要求掌握的知識點。
 3.實驗內容與實驗步驟
 實驗內容、原理、原理圖分析及具體實驗步驟。
 4.實驗環境
 實驗所使用的器件、儀器設備名稱及規格。
 5.設計實驗數據表格
 6.實驗過程與分析
詳細記錄在實驗過程中發生的故障和問題,並進行故障分析,說明故障排除的過程及方法。
根據具體實驗,記錄、整理相應數據表格、繪製曲線、波形圖等,並進行誤差分析。
 7.實驗結果總結
對實驗結果進行分析,完成思考題目,總結實驗的心得體會,並提出實驗的改進意見。
 注:1.前5項必須在做實驗之前完成,並由指導教師簽字後才能做實驗。
 2.對於學生自擬實驗題目、參與科研、創新實驗等形式實驗項目的實驗報告可採用論文、實驗總結報告等形式完成。
3.此封皮標準頁面爲16K,下載網址

分枝結構的程序設計 (一)

實驗名稱:
分枝結構的程序設計
實驗目的:
 1.通過進行分枝結構的程序設計,進一步掌握PIC系列單片機開發環境的應用步驟和命令;
 2.掌握分枝結構的程序設計方法。
實驗環境:
PC計算機   MAPLAB開發環境
實驗原理 :
實驗一:用PIC單片機的常見指令編寫多字節加法程序
 本實驗通過編程,令PIC具有處理多字節加法的功能,在這個程序中,僅以兩字節加法爲例。
 首先,將需要進行運算的兩個數據分別放入四個寄存器中,其中,RAL和RAH分別放置第一個數據的低八位和高八位,RBL和RBH分別放置第二個數據的低八位和高八位。然後,調用加法子程序進行加法運算。當運算結束後,返回到主程序並結束。
 子程序中的加法進行過程:首先將兩個數據的低八位進行相加,結果存入RBL,然後判斷狀態寄存器f3的進位標誌CARRY是否爲0,如果是0,則代表無進位,跳過下一步直接進行高八位的加法操作,結果存入RBH;如果CARRY是1,則代表有進位,那麼先將RBH進行加1操作後再與RAH求和,結果放入RBH中,最後,通過RB的'數據即可到最後的結果。
實驗二:用移位相加的方法編程實現X×3,其中X爲8位二進制數。
 本實驗首先設置一個寄存器NA爲存放原始數據的位置,另外需要設置一個寄存器RE存放實驗最後結果。
 實驗開始,對原始數據寄存器賦值,並調用乘3子程序。子程序中,將原始數據放入work寄存器中,然後,將原始數據在NA中左移1位,那麼等價於對此數據進行了乘2的操作,然後將work寄存器和NA寄存器中的內容相加求和,並將結果存入RE寄存器中,最後返回主程序並結束。
實驗三:(選作) 用PIC單片機的常見指令編寫簡單的多字節減法程序
 本實驗通過編程,令PIC具有處理多字節減法的功能,在這個程序中,僅以兩字節減法爲例。
 首先,將需要進行運算的兩個數據分別放入四個寄存器中,其中,RAL和RAH分別放置第一個數據的低八位和高八位,RBL和RBH分別放置第二個數據的低八位和高八位。然後,調用減法子程序進行加法運算。當運算結束後,返回到主程序並結束。
 子程序中的減法進行過程:首先將兩個數據的低八位進行相減,結果存入RBL,然後判斷狀態寄存器f3的進位標誌CARRY是否爲1,如果是1,則代表無借位,跳過下一步直接進行高八位的減法操作,結果存入RAH;如果CARRY是0,則代表有借位,那麼先將RAH進行減1操作後再與RBH求差,結果放入RAH中,最後,通過RA的數據即可到最後的結果。
實驗程序:
實驗一:
     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
   &nb