哈工大威海 单片机实验报告

哈工大威海 单片机实验报告

ID:13141427

大小:47.00 KB

页数:12页

时间:2018-07-20

哈工大威海   单片机实验报告_第1页
哈工大威海   单片机实验报告_第2页
哈工大威海   单片机实验报告_第3页
哈工大威海   单片机实验报告_第4页
哈工大威海   单片机实验报告_第5页
资源描述:

《哈工大威海 单片机实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、单片机实验报告学号:100250212姓名:指导教师:实验二一、实验目的1、进一步了解开发系统的功能和使用;2、了解程序设计与调试的基本过程;3、了解简单程序和分支程序程序的特点和设计。二、实验内容1、简单程序的设计、输入、调试和运行;2、分支程序的设计、输入、调试和运行;三、实验步骤1、设计、调试双字节乘法程序,功能为:(R2R3)*(R6R7)→R4R5R6R7输入设计好的程序检查无误后,汇编。向R2R3和R6R7中输入多组不同的数据,运行程序,观察R4R5R6R7中的内容,分析运行结果是否正确。2、求符号函数,设:X→30H,Y→31H输入设计好的程序检查无误后,汇编。向30

2、H中输入多个不同的数据,运行程序,观察31H中的内容,分析运行结果是否正确。3、将ASCII码转换十六进制数设ASCII码放在累加器A中,结果放回到A中,如果A中的内容不是十六进制的数的ASCII码,用户标志位F0置1。输入设计好的程序检查无误后,汇编。向A中输入多个不同的数据,运行程序,观察A中的内容,分析运行结果是否正确。四、实验程序及分析结果1、双字节乘法运算程序程序如下:ORG0000HLJMPMAINMAIN:MOVA,R3;先计算R7乘R3MOVB,R7MULAB;A中为积的低八位MOVR1,A;将低八位存入R1中MOVR5,B;将高八位存入R5中MOVA,R2;计算R

3、7乘R2MOVB,R7MULABADDA,R5;R5加至AMOVR5,A;将结果存入R5MOVR4,B;将高位结果存入R4MOVA,R1MOVR7,A;将低八位存入R7中JNCNEXT1;C为零则跳转MOVA,R4;如果C为1则将R4加一CLRCADDA,#01MOVR4,ANEXT1:MOVA,R3MOVB,R6MULABADDA,R5MOVR5,AMOVR1,BMOVA,R4JNCNEXT2CLRCADDA,#1NEXT2:ADDA,R1MOVR4,AMOVA,R2MOVB,R6MULABADDA,R4MOVR4,AMOVA,BJNCNEXT3CLRCADDA,#1NEXT3:

4、MOVR1,AMOVA,R5MOVR6,AMOVA,R4MOVR5,AMOVA,R1MOVR4,AHERE:SJMPHEREEND总体思想为将该16位乘法拆分为四步8位乘法运算在进行带进位的相加程序中每段分别实现一个八位乘法,然后与上次运算结果相加。实验结果该程序正确正确的执行出了结果,输入数据后其输出数据均正确。2、符号函数程序:ORG0000HSTART:MOVA,30HCJNEA,#00H,NZAJMPLLNZ:JBACC.7,MMMOVA,#01HAJMPLLMM:MOVA,#81HLL:MOV31H,AHERE:SJMPHEREEND总体思想:将30H中的数与0比较,相等

5、则31H输出为0;不相等判断最高位(符号位),符号位为0,说明是整数,输出为01H;符号位为1,说明为负数,输出为81H。3、码转换程序ORG0000HCLRCCLRF0SUBBA,#30HJCNASCCJNEA,#0AH,NE1NOPNE1:JCASCSUBBA,#07HCJNEA,#0AH,NE2NE2:JCNASCCJNEA,#10H,NE3NE3:JNCASCNASC:SETBF0ASC:NOPHERE:SJMPHEREEND总体思想:16进制包括0~9,A~F,0~9的ASC值为30~39,A~F的ASC值为65~70,依次按程序判断给出的数是否在这两个区间之内,满足条件

6、则输出对应的16进制数,不满足条件则用户标志位F0置1.实验三一、实验目的1、了解汇编语言程序设计与调试的过程;2、掌握循环程序、查表程序和子程序的特点及设计。二、实验内容1、循环程序的设计、输入、调试和运行;2、查表程序的设计、输入、调试和运行;三、实验步骤1、排序程序:将N个数从小到大排列起来。设R0的内容为数据区的首地址,R7的内容为数据的字节数。ORG0000HLJMPMAINMAIN:SS:MOVA,R7MOVR2,AMOV60H,R0NN:DECR2MOVA,R2MOVR3,AMOVR0,60HL1:MOVA,@R0INCR0CLRCSUBBA,@R0JCMMMOVA,

7、@R0DECR0XCHA,@R0INCR0MOV@R0,ASETBF0MM:DJNZR3,L1MOVA,R2CJNER2,#01H,RRSJMPJJRR:JBF0,NNJJ:MOVR0,60HHERE:SJMPHEREEND该程序为经典的冒泡排序算法为效率非常高的算法,其大体思想如下:1.比较相邻两个数,如果后一个大于前一个,则将两个数交换,否则不进行任何动作2.继续比较下一个数3.如果本趟比较没有进行交换,则排序完毕2、查表程序设计一程序,将16进制数转换为对应的A

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。