mcs-51系列单片机指令学习

mcs-51系列单片机指令学习

ID:36202225

大小:630.50 KB

页数:63页

时间:2019-05-07

mcs-51系列单片机指令学习_第1页
mcs-51系列单片机指令学习_第2页
mcs-51系列单片机指令学习_第3页
mcs-51系列单片机指令学习_第4页
mcs-51系列单片机指令学习_第5页
资源描述:

《mcs-51系列单片机指令学习》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MCS-51系列单片机指令学习一、实验目的MCS-51系列单片机指令系统共有111条汇编语言指令,这些指令按功能的不同可分为五类:29条数据传送类指令,24条算术运算类指令,24条逻辑运算类指令,17条控制转移类指令和17条位操作类指令。本实验通过单步执行程序中各类指令,来进一步学习和理解各类主要指令的功能,掌握指令的用法。通过实验掌握Keil软件的使用方法。二、实验准备1、启动稳压电源,确认输出电压正常。2、将微机实验开发系统与直流稳压电源连接好。三、实验内容将以下各部分实验中所给出的程序的指令机器代码查出,并输入到单片机系统中,然后从程序给定地址开始单步执行,观察并记录程序所指定的内容。(

2、一)、数据传送与算术运算1、体会MOVRn,direct指令的功能和用法,取n=0,direct=40H。程序如下:ORG1000HSUBROUT:MOV40H,#0FH;0FH送入RAM40H单元中MOVR0,40H;40H单元内容送R0MOVA,R0;R0内容送累加器AHERE:SJMPHERE;ENDA=(),40H=(),R0=()2、体会MOV@Ri,#DATA指令的功能和用法,选择DATA=0FH,i=0。程序如下:ORG1010HSUBR:MOVR0,#50H;R0←50HMOV@R0,#0FH;(R0)←0FHMOVA,50H;A←(50H)HERE:SJMPHERE;ENDR

3、0=(),50H=(),A=()3、体会查表指令MOVCA,@A+DPTR,MOVCA,@A+PC的功能和用法。设定40H单元中的内容为0~9之间的一个整数,用查表的方法求出它的平方值(BCD码),结果存入41H单元。(1)、利用MOVCA,@A+DPTR指令查表程序如下:ORG1020HSTART:MOVDPTR,#SQR;MOVA,40H;MOVCA,@A+DPTR;MOV41H,A;HERE:SJMPHERE;SQR:DB00H,01H,04H,09H,16HDB25H,36H,49H,64H,81HEND(2)、利用MOVCA,@A+PC指令查表程序如下:ORG1050HSTART:M

4、OVA,40H;ADDA,#04H;MOVCA,@A+PC;MOV41H,A;HERE:SJMPHERE;SQR:DB00H,01H,04H,09H,16HDB25H,36H,49H,64H,81HEND步骤:1)、仔细阅读程序并进行手工汇编。2)、将程序输入单片机实验开发系统。3)、建立平方值表。4)、在40H单元键入00~09之间的随机整数,分别执行上述两个程序,检查41H单元的值。41H=(),41H=()4、用加法指令ADDA,R0实现两数相加,如52H+FCH。程序如下:ORG1100HSUBROUT:MOVA,#52H;A←52HMOVR0,#0FCH;R0←0FCHADDA,R0

5、;A←(A)+(R0)HERE:SJMPHERE;ENDA=(),PSW=()用带进位加法指令ADDCA,R0实现52H与0CH之和。程序如下:ORG1150HSUBROUT:MOVA,#52H;MOVR0,#0CH;SETBC;ADDCA,R0;HERE:SJMPHERE;END执行后A=(),PSW=()若将SETBC指令改为CLRC执行后A=(),PSW=()5、体会十进制调整指令DAA的功能和用法程序如下:ORG1200HSUBROUT:MOVA,#65H;ADDA,#58H;DAA;HERE:SJMPHERE;END执行后A=(),PSW=()若将DAA指令用NOP代替,则执行后A=

6、(),PSW=()6、用乘法指令MULAB进行0FFH*03H程序如下:ORG1250HSUBROUT:MOVA,#0FFH;MOVB,#03H;MULAB;NOP;NOP;HERE:SJMPHEREEND执行后A=(),B=(),将2个空操作指令换成MOVA,B执行后A=(),B=(),最后0FFH*03H=(),是否等于B与A的内容的积()。(二)、逻辑运算和循环指令1、逻辑“与”指令实验。程序如下:ORG1300HSUBROUT:MOVA,#0FBH;ANLA,#0FH;HERE:SJMPHERE;END执行后A=0BH,实验结果是否正确?“与”指令有何作用?2、逻辑“或”指令实验。程序

7、如下:ORG1400HSUBROUT:MOVR1,#0FH;MOVA,#33H;ORLA,R1;HERE:SJMPHERE;END执行后A=(),“或”指令有何作用?3、逻辑“异或”指令实验。程序如下:ORG1500HSUBROUT:MOVA,#55H;MOV40H,#00H;XRLA,40H;HERE:SJMPHERE;END执行后A=(),将MOV40H,#00H改为MOV40H,#55H,执

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

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

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