鉴于大家对计算机论文十分关注,我们编辑小组在此为大家搜集整理了“分枝结构的程序设计 (一)”一文,供大家参考学习
实验报告撰写要求
实验操作是理论联系实际的重要环节,实验报告必须在科学实验的基础上进行,实验报告的撰写是知识系统化的吸收和升华的过程,实验报告应该体现完整性、规范性、正确性、有效性。现将撰写实验报告的有关内容说明如下:
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