单片微型计算机实验.doc

单片微型计算机实验.doc

ID:58223340

大小:581.06 KB

页数:15页

时间:2020-04-28

单片微型计算机实验.doc_第1页
单片微型计算机实验.doc_第2页
单片微型计算机实验.doc_第3页
单片微型计算机实验.doc_第4页
单片微型计算机实验.doc_第5页
资源描述:

《单片微型计算机实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验报告xxxxxxx单片微型计算机实验第一次实验姓名:Elliott班级:xxxxxx学号:xxxxxxxxx电话:xxxxxxxxxx14实验报告xxxxxxx一、任务要求1.调试例程,观察相关寄存器和单元的内容。2.编写两个十六位数的加法程序。有两个十六位无符号数,分别存放在从20H和30H开始的数据区中,低八位先存,高八位在后,和存于R3(高八位)和R4(低八位),进位位存于R2。3.编写两个双字节BCD码的加法程序。有两个双字节BCD码,分别存放在从20H和30H开始的数据区中,低八位先存,

2、高八位在后,和存于R3(高八位)和R4(低八位),进位位存于R2。4.编写程序,使之实现从片外RAM的7020H单元开始,连续填充10个字节的数据的功能。5.编写程序,实现对片外RAM按递减1规律填充数据块的功能。二、设计思路1.无符号十六位数加法对于无符号十六位加法,低八位使用不带标志位的加法,相加后存放。由于此处可能有进位,所以下一次加法时要用带进位标志位的加法。为了避免程序最初时CY标志位的随机取值影响带高八位运算的结果,最好在做第一加法的之前将CY置零。获取最高位进位位时,还是采用ADDC指令

3、,所以两个加数应该都是0。为了程序的扩展性能,读取加数时,采用R0和R1做指针,这样只要把加数的初始位置赋给R0和R1后,便可以通过R0和R1的自加实现自动取下一位值。这样有利于多位数相加时的循环实现,同时程序的移植性也得到提高。14实验报告xxxxxxx1.双字节BCD码加法本程序的实现方式和无符号十六位加法的实现方式没有本质上的区别,不同之处在于通过加法获得相加的结果后,要用DA指令将数据调整为BCD码,然后再存储数据。2.顺序填充数据对于片外RAM的数据访问,只有通过MOVX@DPTR,A这条指

4、令实现,所以要写入的数据得先存放在A当中,DPTR中存放地址。每次写入数据后,将DPTR的数据加一,指针向下移一位。由于要写入大量的数据,所以要采用循环,采用工作寄存器R0来计数,用CJNE指令来实现循环的控制。3.逆序填充数据逆序填充的程序和顺序填充的程序并没有太大的区别,但是由于DPTR没有自减一的指令,所以需要换一种方式来实现。DPTR实际上是DPH和DPL两个字节组成的,而DPH和DPL都具有自减一的指令,通过对DPH和DPL的修改便可以实现逆序填充。一、资源分配1.无符号十六位加法20H、2

5、1H、30H、31H:存放加数R0、R1:用做数据指针R2、R3、R4:存放结果2.双字节BCD码加法14实验报告xxxxxxx20H、21H、30H、31H:存放加数R0、R1:用做数据指针R2、R3、R4:存放结果1.顺序填充片外RAM的7020H至702AH:存放数据R0:存放数据用于循环控制累加器A:存放要写入片外RAM的数据2.逆序填充片外RAM的7020H至702AH:存放数据R0:存放数据用于循环控制R1:用于保护累加器A中的内容累加器A:存放要写入片外RAM的数据一、流程图1.无符号十

6、六位数加法14实验报告xxxxxxx1.双字节BCD码加法2.顺序填充14实验报告xxxxxxx1.逆序填充14实验报告xxxxxxx一、源代码1.无符号十六位加法ORG0000HLJMPMAINORG0200HMAIN:MOV20H,#0A0HMOV21H,#11HMOV30H,#0A0HMOV31H,#23HMOVR0,#20H;R0指向加数1首地址MOVR1,#30H;R1指向加数2首地址CLRCMOVA,@R0ADDA,@R1MOVR4,A;不带标志位相加,结果存放于R4INCR0INCR1;

7、修正指针MOVA,@R0ADDCA,@R1;带符号相加MOVR3,A;存放MOVR2,#00H;R2置零14实验报告xxxxxxxMOVA,#00H;A清零ADDCA,R2MOVR2,A;存放进位位SJMP$END1.双字节BCD码加法ORG0000HLJMPMAINORG0200HMAIN:MOV20H,#55HMOV21H,#11HMOV30H,#50HMOV31H,#23H;赋值MOVR0,#20H;R0指向加数1首地址MOVR1,#30H;R1指向加数2首地址CLRCMOVA,@R0ADDA,

8、@R1DAA;修正结果MOVR4,A;结果存放于R4INCR0;修正指针INCR1;修正指针14实验报告xxxxxxxMOVA,@R0ADDCA,@R1;带进位相加DAA;修正结果MOVR3,A;存放结果MOVR2,#00H;R2清零MOVA,#00H;A清零ADDCA,R2;带进位位加法DAA;修正结果MOVR2,A;存放SJMP$;原地踏步END1.顺序填充ORG0000HLJMPMAINORG0100HMAIN:MOVSP,#40HFILL:CLR

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

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

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