分枝结构的程序设计 (一)

时间:2020-08-29 12:35:40 电子信息工程毕业论文 我要投稿

分枝结构的程序设计 (一)

实验报告撰写要求
 实验操作是理论联系实际的重要环节,实验报告必须在科学实验的基础上进行,实验报告的撰写是知识系统化的吸收和升华的过程,实验报告应该体现完整性、规范性、正确性、有效性。现将撰写实验报告的有关内容说明如下:
 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