资源描述:
《华中科技大学单片机keilc的使用与汇编语言上机操作报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划华中科技大学单片机keilc的使用与汇编语言上机操作报告 《微机实验》报告 实验名称KeilC的使用与汇编语言上机操作指导教师曹丹华 专业班级光电1103姓名刘洒学号UXX15011序号 联系方式 一、任务要求 1.掌握KeilC环境的使用 1)字节拆分、合并:调试程序,观察相关寄存器和单元的内容。 2)数据块填充:调试程序,观察相关寄存器和单元的内容。 2.编写两个十六位数的加法程序。 有两个
2、十六位无符号数,分别存放在从20H和30H开始的数据区中,低八位先存,高八位在 后,和存于R3和R4,进位位存于R2。 二、设计思路 对于任务要求1,由于实验代码已由老师给出,实验者只需在Keil软件上进行运行调试, 在此不一一赘述,仅将程序调试结果截图附录余下。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 字节拆分、合并程
3、序 Filename: Description:1字节BCD码转换为2字节ASCII 2字节ASCII码转化为1字节BCD码 Date: Designedby: Sourceused:30H:BCDdata 31H,32H:ASCIIdata 31H,32H->33H MAIN: ORG0000HLJMPMAINORG0100HMOVSP,#40H;赋堆栈指针 HERE: MOV30H,#49H;30H单元赋值MOVR0,#32H;R0指针赋值MOV@R0,#0;32H单元清零MOVA,30HXCHD
4、A,@R0;拆分字节ORL32H,#30H;转换为ASCIISWAPAORLA,#30H;转换为ASCIIMOV31H,A;结果存于31H单元MOVA,31HSWAPAMOV33H,AMOVA,32HORL33H,ASJMPHERE;踏步END;结果存于33H单元;从32H单元取值;合并字节;从31H单元取值ANLA,#0FH;转换为BCDANLA,#0FH;转换为BCD 数据块填充程序:将片外RAM7000H-70FFH单元按一定规律填充 Filename:目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的
5、发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 Date: Designedby:CDH Sourceused:R0:计数器 MAIN: FILL: FILL1: HERE:CLRA;A寄存器清零MOVR0,#00HMOVX@DPTR,AINCAINCDPTR;设循环计数器;传送到片外RAMMOVDPTR,#7000H;设数据指针;A内容加1;修改数据指针ORG0100HMOVSP,
6、#40HORG0000HLJMPMAINDPTR:片外数据指针INCR0;修改循环计数器CJNER0,#00H,FILL1;判断是否结束SJMPHERE;原地踏步 END 下面对于实验要求2 叙述我的设计思路。 要编写两个十六位数的加法程序: 1.在低位相加时,直接采用指令ADD然后存数即可。 2.在处理高位时,由于存在进位的可能性,因此在相加时应采用指令ADDC将被加数、加数、以及低位到高位的进位全部相加然后存数。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,
7、并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 3.最后应该考虑到两个十六位数相加,其和可能超出十六位数所能表示的范围,故应另分配一个地址单元存放最高位的数,然后再执行相加操作。 三、资源分配 根据此程序的要求。两个十六位无符号数,分别存放在从20H和30H开始的数据区中;和存于R3和R4,进位位存于R2。 四、流程图 五、源代码 Filename: Description:两个十六位数的加法程序 Date:XX/9
8、/27 Designedby:liusa Sourceused:20H:加数A的低位 21H:加数A的高位 30H:加数B的低位 31H:加数B的高位 R4:和的低位 R3:和的高位 R2:和的进位 ORG0000H CLRC;将进位位清零 MOV20H,#10H;存