电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

单片机lab1VIP免费

单片机lab1_第1页
1/58
单片机lab1_第2页
2/58
单片机lab1_第3页
3/58
实验报告一汇编指令及IDE姓名:学号:学院:班级:实验目的熟悉51单片机的指令系统及一种开发软件IDE,如Wave或Keil,掌握IDE使用方法,掌握项目创建、软件仿真等调试方法。实验环境PC机1台,伟福6000:软件模拟器(8031)内容与步骤1、初步认识IDE软件Wave6000的软件界面及使用;2、了解asm、lst、hex等文件;3、简单程序编写、调试(1)传送指令内部RAM之间以及内部RAM和寄存器之间的数据传送。基本格式:MOV目的操作数,源操作数①内部数据传输指令MOVA,#30HMOVR0,#30HMOV20H,#87HMOV30H,#65HMOVA,#20HMOVA,20HMOVA,R0MOVA,@R0;②以Rn为目的地操作数的指令MOVA,#30HMOV30H,#40HMOVR2,AMOVR2,30HMOVR2,#50H;③以直接地址为目的地址的操作数指令MOVA,#30HMOVR2,#40HMOVR0,#70HMOV70H,#78HMOV78H,#50HMOVP1,AMOV70H,R2MOV20H,78HMOV40H,@R0MOV01H,#80H;④以寄存器间接寻址的单元为目的操作数的指令MOVA,#50HMOV40H,#32HMOVR0,#20HMOV@R0,AMOV@R0,40HMOV@R0,#33H;(2)数据交互指令有XCH,XCHD,SWAP三种交换指令,分别实现不同要求的字节交换。①字节交换指令MOVA,#56HMOVR7,#78HXCHA,R7②半字节交换指令MOVA,#26HMOVR0,#40HMOV40H,#45HXCHDA,@R0③累加器A中高4位和低4位交换MOVA,#63HSWAPA(3)堆栈操作指令PUSH,POP两条指令。分别用于数据的进出,随着指针SP的移动,实现不同地址数据的传输。①进栈指令MOVSP,#50HMOVA,#20HMOVB,#60HPUSHACCPUSHB②出栈指令MOVSP,#62HMOV62H,#80HMOV61H,#40HPOPDPHPOPDPL(4)算术运算指令(加、减、乘、除)通常用累加器A作为第一操作数,运算结果存入A中,第二操作数寻址方式可以是立即寻址、寄存器寻址、寄存器间接寻址、直接寻址。通过算数结果影响PSW的不同标志位来观察结果。1加法指令(1)不带进位的加法指令MOVA,#85HMOV30H,#0FFHADDCA,30H(2)带进位加法的指令MOVA,#0A8HADDA,#0B5H;两个低8位数相加MOV30H,A;结果存入30H单元MOVA,#35HADDCA,#0EH;两个高8位数相加,并加上低8位的进位CYMOV31H,A;结果存入31H单元(3)增量指令(加1指令)MOVA,#0CHMOVR2,#0FFHMOV60H,#0F0HMOVR1,#40HMOV40H,#09HINCAINCR2INC60HINC@R1(4)十进制调整指令MOVA,30HADDA,40H;A=30H+40HDAA;对A十进制调整MOV50H,A;50H=AMOVA,31HADDCA,41H;A=31H+41H+CYDAA;对A十进制调整MOV51H,A;51H=A2.减法指令(1)带借位减法指令MOVA,#0C9HMOVR2,#54HSUBBA,R2CLRCMOVA,#0A8HSUBBA,#0B5HMOV30H,AMOVA,#35HSUBBA,#0EHMOV31H,A(2)减1指令MOVA,#0EHMOVR7,10HMOV40H,#00HMOVR1,#30HMOV30H,0FFHDECADECR7DEC40HDEC@R13.乘法指令MOVA,#25HMOVB,#3FHMULAB4.除法指令MOVA,#0FBHMOVB,#12HDIVAB5空操作指令NOP(5)逻辑操作指令按位运算,共有与、或、异或三类运算,每类运算根据目的操作数和源操作数的寻址方式不同又分别有6类指令。部分运算结果影响PSW标志位。1.两个操作数的逻辑操作指令(1)逻辑与MOVA,#0A7HMOVR0,#0FHANLA,R0(2)逻辑或MOVA,#0A7HMOVR0,#0FHORLA,R0(3)逻辑异或MOVA,#0A7HMOVR0,#0FHXRLA,R0(6)清零和求反指令(1)累加器A清"0"MOVA,#0AAHCLRA(2)累加器A的内容取反MOVA,#0AAHCPLA(7)循环移位指令MOVA,#7EHRLA;循环左移RRA;循环右移RLCA;带进位循环左移RRCA;带进位循环右移(8)控制转移指令通过改变程序计数器PC的内容,从而改变程序执行的方向,有AJMP,SJMP,LJMP,JMP,JZ,JNZ,JC,JNC,JB,JNB,JBC,CJNE,DJNZ这些指令。1.无条件转移指令短跳转指令AJMP0100H长跳转指令LJMP0123H相对转移指令SJMP21H间接转移指令MOVA,1000HMOVDPTR,#20HJMP@A+DPTR2.条件转移指令累加器A判0转移指令MOVR0,#11HMOVA,R0JZ0025HMOVR7,#0FFHSJMP0050HORG0025HMOVR7,#00HORG0050HSJMP$判进位标志位CY转移指令MOV20H,#12HMOV30H,#11HMOVA,20HCLRCSUBBA,30HJC0025HMOVP1,#0FFHSJMP0050HORG0025HMOVP1,#0FDHORG0050HSJMP$比较转移指令MOVA,#99HCJNEA,#70H,0050HMOVA,#10H;(A)=70HORG0050HJC0090HMOVA,#80HORG0090HMOVA,#60H减1非零转移指令DELAY:MOVR2,#250DEL1:DJNZR2,DEL1(9)子程序调用及返回短调用指令MOVSP,#60HLJMP500HORG500HSTRT:ACALL0123HLJMP0123HORG0123HXYM:MOVA,#10H长调用指令MOVSP,#53HLJMP2000HORG2000HS...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部