




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第三章 MCS-51系列单片机指令系统2单片机可执行的指令集合。自动汇编(编译) 111条 1/2/3字节 1/2/4机器周期2. 汇编语言与机器语言 汇编语言:助记符。不能直接下载 机器语言:0/1组合的二进制代码 助记符 二进制代码 (源程序) (目标程序) 3.3 指令系统keil 1.分类:数据传送 29算术运算 24逻辑运算与移位 24控制转移 17布尔变量(位操作) 1731.以累加器为目的操作数的指令 MOV A,Rn ;n为0 MOV A,direct MOV A,#data MOV A,Ri ;为 2.以A为源操作数的指令 MOV Rn,A MOV direct,A MOV
2、 Ri,A 试一试:设(R1)=05H,(05H)=7DH MOV A,R1 ; (A)=05H MOV A,R1; (A)=3.3.1数据传送指令 43.不通过A,在RAM或SFR之间传送的指令 MOV Rn,#data MOV Rn,direct MOV Ri,direct MOV Ri,#data MOV direct,#data MOV direct,Rn MOV direct,Ri MOV direct1,direct2; 4. 16位数传送指令 MOV DPTR,#data16 唯一的唯一的16位数据的传送指令,立即数的高位数据的传送指令,立即数的高8位送入位送入DPH,立即数的低
3、,立即数的低8位送入位送入DPL。56.堆栈操作指令 堆栈:内RAM中的一段,暂存数据。 由SP指出首址,末不封顶。PUSH 入栈: PUSH directPOP 出栈: POP direct栈操作原则:后进先出,先进后出 试一试: PUSH A PUSH B POP B POP A 先SP+1,再入栈先出栈,再SP-1 出入栈指令对称写67.互换类指令1. XCH 全字节交换指令 XCH A,Rn XCH A,direct XCH A,Ri2. XCHD 半字节交换指令 XCHD A,Ri ;A低4位与内RAM低4位交换3.SWAP A的高低四位交换 SWAP A试一试:试一试: 设(A)=
4、47H (R0)=58H (47H)=7CH XCH A,R0 ;(A)=58H (R0)=47H XCH A,R0 ;(A)=7CH (47H)=58H (R0)=47H XCHD A,R0 ;(A)=78H (47H)=5CH (R0)=47H SWAP A ;(A)=87H78.外部RAM传送指令 MOVX注意:注意:DPTR和Ri中存放的是外部RAM的地址地址1.读外部RAM:A 一一 外部RAM MOVX A,DPTR MOVX A,Ri对应时序对应时序:16位地址P2P0_ALE_RD_8位数据从P0读入A试一试:试一试:将外部RAM2000H中的数据读入A MOV DPTR,#2
5、000H MOVX A,DPTR2.写外部RAM:A 一一 外部RAM MOVX DPTR,A MOVX Ri,A对应时序:对应时序:16位地址P2P0_ALE_A中8位数据送到P0上_WR试一试:试一试:将A中数据写入外部RAM的2000H中89.ROM读指令 MOVC(1) MOVC A,A+DPTR(2) MOVC A,A+PC读外读外ROMROM时序时序:16位地址P2P0_ALE_PSEN_8位数据从P0读入A试一试:设试一试:设将ROM2000H中的内容读入A MOV DPTR,#2000H MOV A,#00H MOVC A,A+DPTR93.3.2算术运算类指令1、加法类指令A
6、DD A,RnADD A,directADD A,RiADD A,#data2带进位加指令ADDC A,RnADDC A,directADDC A,RiADDC A,#data影响:cy和ov,=1表结果错误Cy=1表明无符号数之和超出能表示的范围(0255) 表明向高位有进位OV=1表明有符号数之和超出能表示的范围(-128+127)。 这种情况出现,只可能是两个正数相加,或两个负数相加103减法指令(都是带Cy的) SUBB A,Rn SUBB A,direct SUBB A,Ri SUBB A,#data影响:cy和ov,=1表明结果错误Cy=1 表明两无符号之差超出表示范围(0-255
7、) 表明不够减,前数小于后数 表明向高位有借位。OV=1 表明有符号数之差超出表示范围(-218+127) 这种情况如果出现,只可能是正数-负数或负数-正数114.加1指令INC INC A INC Rn INC direct INC Ri INC DPTR5.减1指令DEC DEC A DEC Rn DEC direct DEC Ri 126.乘法指令 MUL AB ;A和B 一一 (A) (B)影响: Cy0 OV=1 表明乘积2557.除法指令 DIV AB ;A和B 一 (A) (B)影响:Cy0 OV=1表明除数=0试一试:试一试:例5-3 设内部RAM30H中存放了一个二进制数,将
8、其拆分成十进制的百位、十位、个位分别存入33H、32H、31H单元。7BH30H01H02H33H 32H 31H03H(123)试一试:试一试:例5-3 设内部RAM30H中存放了一个二进制数,将其拆分成十进制的百位、十位、个位分别存入33H、32H、31H单元中。MOV A,30HMOV B,#100DIV ABMOV 32H,AMOV A,BMOV B,#10DIV ABSWAP AADD A,BMOV 31H,ALJMP $MOV A,30HMOV B,#100DIV ABMOV 33H,AMOV A,BMOV B,#10DIV ABMOV 32H,AMOV 31H,BLJMP $若百
9、位存入32H,十位个位存入31H单元中,则:01H23H32H 31H148.十进制调整指令 DA A ;使两个BCD码相加结果依然是BCD码 例:34H+48H=7CH,DA A后可使=82H注意:必须跟在ADD和ADDC之后。试一试试一试设两个压缩的BCD码34h和48h分别存放在20h和21h单元中,将两个BCD码相加后的结果存入22h中(仍为BCD码)MOV A,20HADD A,21HDA AMOV 22H,A15(一)与、或、异或指令1.与ANL A,RnANL A,RiANL A,directANL A,#dataANL direct, AANL direct,#data2.或O
10、RL A,RnORL A,RiORL A,directORL A,#dataORL direct, AORL direct,#data3.异或XRL A,RnXRL A,RiXRL A,directXRL A,#dataXRL direct, AXRL direct,#data注意:1.可通过与0相与、与1相或,实现无关位的屏蔽。 2.可通过与全1异或实现数据的取反3.3.3逻辑运算类指令16(二) 对累加器A的逻辑操作1. 累加器清零 CLR A2. 累加器取反 CPL A3. 左循环移位 RL A4. 右循环移位 RR A5. 带C左循环移位 RLC A 6. 带C右循环移位 RRC A试
11、一试:使八个发光移位点亮试一试:使八个发光移位点亮注意:有时候用RLC实现乘2,RRC实现除2。 MOV a,#11111110b K: RL A MOV P1,A LJMP K 17(一)无条件控制转移指令1.LJMP指令 LJMP addr16 2.AJMP指令 AJMP addr113. SJMP指令 SJMP rel rel:rel:带符号数,范围-128+127。 负数表示向上转移,正数表示向下转移。 4. JMP指令 JMP A+DPTR 3.3.4 控制转移类指令18(二)判0转移指令JZ rel A中为0转移,否则执行下一条JNZ rel A中不为0转移,试一试:将外部RAM起
12、始地址为1000H的数据传送到内部RAM中20H开设的单元中,遇到数据为0则停止传送。 MOV DPTR,#1000H MOV R0,#20H LOOP: MOVX A,DPTR MOV R0,A INC DPTR INC R0 JNZ LOOP LJMP $ 19(三)比较转移指令CJNE A,#data,rel 两数不等转移,否则执行下一条。影响CyCJNE A,direct,relCJNE Rn,#data,relCJNE Ri,#data,rel试一试:试一试:用CJNE编写延时程序。 MOV R1,#OO LOOP2:MOV R2,#00 LOOP1:INC R2 CJNE R2,#
13、0FFH,LOOP1 INC R1 CJNE R1,#0FFH,LOOP2 RET20(四)减1判0跳转指令DJNZ 减1非0转移,否则执行下一条 DJNZ Rn,rel DJNZ direct,rel试一试:用DJNZ编写延时程序。(五)调用和返回指令LCALL和RET子程序:能够完成典型功能的程序段。通过LCALL指令使用它注意:LCALL必须和RET成对使用成对使用。RETI I:中断子程序返回。(六)NOP 空操作,什么也不做,只是延时一个机器周期。21(一)位传送指令 MOV C,bit MOV bit,C (二)位状态控制指令 CLR C CLR bit SETB C SETB b
14、it CPL C CPL bit K:CLR P1.0 LCALL DELAY SETB P1.0 LCALL DELAY LJMP K试一试:用位控制指令使一个发光二极管闪烁3.3.5 位操作指令22(三)位逻辑指令 ANL C,bit ANL C,/bit ORL C,bit ORL C,/bit可以用软件编程代替实现硬件电路的功能例例: 实现逻辑运算D=(B+C)A MOV C,P1.1 ORL C,P1.2 ANL C,P1.3 MOV P1.0,C233.4 伪指令1.汇编起始伪指令ORG:指明了后面的程序段或数据块的起始地址 试一试:输入程序,观察编译后所占地址空间,总字节数目 是
15、否有变化 ORG 0030H main: MOV P1,#0feH RET 注意:单片机复位时从0000h开始执行(因pc复位时为0000h),所以程序必须放在0000h起始的地址中。否则可通过跳转指令实现,如: ORG 0000H LJMP main ORG 0030H main: RET 242.汇编结束伪指令ENDEND:end用于通知汇编程序结束汇编。试一试:将END放在程序末尾,汇编观察地址空间,总字节数目是否有变化 ORG 0000H LJMP MAIN ORG 0030H main: MOV P1,#0feH ENDEND试一试:将END前移某处再编译,观察总的字节数目重要结论:
16、伪指令不生成二进制代码,因此不占用ROM空间!253.赋值伪指令EQU试一试:试一试: dividend EQU 21H divisor EQU 20H MOV A ,NUM ;A(21H) MOV B , ADDI ;B(20H)意义:意义:通常把常用数值、符号取个有意义的名称。编程时,一旦需要变动,只改变EQU后对应的数字即可。4. 位地址赋值伪指令BIT LED BIT P1.0 SPEAKER BIT P1.1 区别:区别:bit是定义位变量位变量,只能取值0或1、而且是处于内部RAM的位寻址区。EQU 是将一个常数常数赋给字符名。265.定义字节伪指令DB 例:ORG 2000H D
17、B C0H,F9H,A4H,B0H,99H DB 92H,82H,F8H,80H,90H 查看ROM中从2000h开始存放的是否为 C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H6.定义字伪指令DW(定义两个字节,高位在前) 试一试: ORG 2000H DW 7654H,40H,12H,AB 查看结果:2000h起为76h 54h 00h 40h 00h 12h 41h 42h7.预留存储区伪指令DS 试一试:ORG 1000H DS 03H DS 71H,11H,24 结果:从1003开始为71H,11H,18H只能对程序存储器只能对程序存储器定义,不能对数据定义,不能对数据存储器进行初始化!存储器进行初始化!共阳极字形码表共阳极字形码表显示显示字形字形P17 P16 P15 P14 P13 P12 P11 P10十六十六进制进制 h g f e d c b a0 1 1 0 0 0 0 0 0C0h 1 1 1 1 1 1 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 神木六年级科学试卷及答案
- 汕尾市高三数学试卷及答案
- 山东高二联考试卷及答案
- 2025年咖啡店装修设计合同范本
- 聚芳族聚酰胺纤维在复合材料加固的应用考核试卷
- 毛皮服装CADCAM技术应用考核试卷
- 城际铁路运营维护成本控制考核试卷
- 砼构件预制件的模具使用寿命延长考核试卷
- 2025装修合同签订范本「」
- 海上油气平台设计的抗地震性能提升方法考核试卷
- GB/T 6433-2025饲料中粗脂肪的测定
- 服务消费券发放的精细化实施方案
- 2019版 浙科版 高中生物学 必修2 遗传与进化《第二章 染色体与遗传》大单元整体教学设计2020课标
- 【MOOC期末】《介入放射学》(东南大学)中国大学慕课答案
- DB50T 771-2017 地下管线探测技术规范
- 防灾减灾培训(安全行业讲座培训课件)
- 2024年《BIM技术介绍》课件
- 情景教学法在小学英语课堂中的有效运用研究(开题报告)
- 花键计算公式DIN5480
- 《荷塘月色》课件+2024-2025学年统编版高中语文必修上册
- 软著著作权单位与个人合作开发协议书(2篇)
评论
0/150
提交评论