第03MCS51系列单片机的指令系统和时序精品课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第03MCS51系列单片机的指令系统和时序精品课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 MCS51 系列 单片机 指令系统 时序 精品 课件
- 资源描述:
-
1、西华大学电气信息学院 郑海春2TTS2S6S5S4S3机器周期P1S1P2ROMROMROM单字节指令双字节指令三字节指令由操作码和操作数(或操作数地址)两部分构成。举例:MOV A,#0FFH ADD A,R0nn+130H累加器A直接寻址示意图例如:MOV A,80H 与 MOV A,P0是等价的。02H0300H0302H累加器ADPTR 0300H (DPTR)+02H (A)0302H0300H平方表03H2019H2019H累加器APC2019H+03H2019H操作码偏移量2000H2019H当前PC值LOOPMCS-51单片机控制、检测系统驱动器电动机外设1外设2状态信号状态信
2、号控制信号 MOV A,data ;(A)data 立即数 MOV A,Rn ;n=07,(A)(Rn)MOV A,Ri ;i=0,1 ,(A)(Ri)MOV A,direct ;A(direct)direct为内部RAM或SFR地址MOV A,#20H ;(A)=20H A的内容为20HMOV A,20H ;(A)=(20H)A的内容为20H中的内容MOV A,R0 ;将R0的内容送到A去。(A)(R0)MOV A,Ri ;以Ri的内容为地址,把该地址中的内容送到A中去。(A)(Ri)40HA 34H 40H R0 34H MOV P1,#0FEH;11111110BMOV P1,#0FEH
3、;11111110B可以使可以使P1.0P1.0上的发光二极管点亮上的发光二极管点亮MOV P1,#0F0H;11110000BMOV P1,#0F0H;11110000B可以使可以使P1P1口上的上面口上的上面4 4个发光二极个发光二极管点亮管点亮P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 5v4308 MOV P1,#00H ;显示显示 8.MOV P1,#0F8H ;显示显示 7MOV P1,#88H ;显示显示 AP1.0 aP1.1 bP1.2 cP1.3 d P1.4 eP1.5 fP1.6 gP1.7 dp5v4308 一个引脚的高低电平,可以
4、通过一个引脚的高低电平,可以通过“光电耦合器光电耦合器”控制控制继电器,从而以继电器,从而以“弱电弱电”控制控制“强电强电”。共两条,用于读程序存储器中的数据表格的指令,均共两条,用于读程序存储器中的数据表格的指令,均采用基址寄存器加变址寄存器间接寻址方式。采用基址寄存器加变址寄存器间接寻址方式。(1)MOVC A,A+PC 以以PC作基址寄存器,作基址寄存器,A的内容作为无符号整数和的内容作为无符号整数和PC中的内容(下一条指令的起始地址)相加后得到一个中的内容(下一条指令的起始地址)相加后得到一个16位的地址位的地址,该地址指出的程序存储单元的内容送到累该地址指出的程序存储单元的内容送到累
5、加器加器A。注意:注意:PSEN*信号有效。信号有效。PC程序指针,指向下一条将要执行指令的地址。程序指针,指向下一条将要执行指令的地址。例如:根据例如:根据A A的内容的内容(09)(09)查平方表。查平方表。例如例如 (DPTR)=8100H (A)=40H (DPTR)=8100H (A)=40H 执行指令执行指令 MOVC A,A+DPTRMOVC A,A+DPTR 本指令的执行结果只和指针本指令的执行结果只和指针DPTRDPTR及累加器及累加器A A的内容的内容有关,与该指令存放的地址及常数表格存放的地址无有关,与该指令存放的地址及常数表格存放的地址无关,关,因此表格的大小和位置可以
6、在因此表格的大小和位置可以在64K64K程序存储器中程序存储器中任意安排任意安排,一个表格可以为各个程序块公用。,一个表格可以为各个程序块公用。两条指令是在两条指令是在MOVMOV的后面加的后面加C C,“C”C”是是CODECODE的第一的第一个字母,即代码的意思。个字母,即代码的意思。例如:例如:(A)=80H(A)=80H,(R7)=08H(R7)=08H,执行指令:执行指令:XCH A,R7 ;(A)XCH A,R7 ;(A)与与(R7)(R7)互换互换结果:结果:(A)=08H,(R7)=80H(A)=08H,(R7)=80H例:将片内例:将片内RAM 60HRAM 60H单元与单元
7、与61H61H单元的数据交换。单元的数据交换。XCH 60H,61H XCH 60H,61H 对吗?对吗?Cy进位位进位位Ac半进位位半进位位OV溢出位溢出位调整规则:从低调整规则:从低4 4位开始运算位开始运算如果如果A A中数的低中数的低4 4位是位是0 09 9,则不变。,则不变。如果低如果低4 4位大于位大于9 9,则低,则低4 4位保留个位,向高位保留个位,向高4 4位进一;位进一;如果如果A A中数的高中数的高4 4位是位是0 09 9,则不变。,则不变。如果高如果高4 4位大于位大于9 9,则高,则高4 4位保留个位,位保留个位,CyCy置置1.1.例:(例:(A A)=9BH=
8、9BH DA A DA A ;(A)=01H Cy=1(A)=01H Cy=1 3带进位左环移指令带进位左环移指令 RLC A例例 (A)=6CH =0110 1100(A)=6CH =0110 1100B B,(C)=1(C)=1 RLC ARLC A (A)=0D9H =1101 1001 (A)=0D9H =1101 1001B B 4右环移指令右环移指令 RR A例例(A A)6CH =0110 11006CH =0110 1100B B RR ARR A (A A)36H =0011 011036H =0011 0110B B 5带进位右环移指令带进位右环移指令 RRC ARRC A
9、例例(A)6CH =0110 1100B,(C)=1 RRC A (A)0B6H=1011 0110B6 6累加器半字节交换指令累加器半字节交换指令 SWAP ASWAP A将累加器将累加器A A的高半字节(的高半字节(Acc.7Acc.7Acc.4Acc.4)和)和低半字节(低半字节(Acc.3Acc.3Acc.0Acc.0)互换。)互换。例例 (A A)=0C5H=0C5H,执行指令:,执行指令:SWAP ASWAP A 结果:(结果:(A A)=5CH=5CH地址地址 汇编语言格式:汇编语言格式:地址地址 机器码机器码 标号标号 源程序源程序 注释注释 ORG 0000H ;整个程序起始
10、地址整个程序起始地址0000 02 00 30 LJMP MAIN ;跳向主程序跳向主程序 ORG 0030H ;主程序起始地址主程序起始地址0030 C3 MAIN:CLR C ;MAIN为程序标号为程序标号0031 E6 LOOP:MOV A,R00032 37 ADDC A,R10033 08 INC R00034 D9 FB DJNZ R1,LOOP ;相对转移;相对转移0036 80 02 SJMP NEXT0038 78 03 MOV R0,#03H003A 18 NEXT:DEC R0003B 80FE SJMP$;HERE:SJMP HERE END ;结束标记结束标记 JMP
11、 A+DPTRJMP A+DPTR由由A A中中8 8位无符号数与位无符号数与DPTRDPTR的的1616位数内容之和位数内容之和来确定。以来确定。以DPTRDPTR内容作为基址,内容作为基址,A A的内容作变的内容作变址。给址。给A A赋予不同的值,即可实现程序的多分赋予不同的值,即可实现程序的多分支转移。支转移。间接跳转指令间接跳转指令编程时,可用编程时,可用标号标号代替转移目的代替转移目的地址地址,addr11addr11,addr16 addr16 交给编译程序计算。交给编译程序计算。6.6.子程序返回指令子程序返回指令8.8.空操作指令空操作指令 RETI RET从堆栈弹出保存的从堆
12、栈弹出保存的PCPC地址,实现子程序返回。地址,实现子程序返回。汇编语言格式:汇编语言格式:地址地址 机器码机器码 标号标号 源程序源程序 注释注释 ORG 0000H ;整个程序起始地址整个程序起始地址0000 02 00 30 LJMP MAIN ;跳向主程序跳向主程序 ORG 0030H ;主程序起始地址主程序起始地址0030 C3 MAIN:CLR C ;MAIN为程序标号为程序标号0031 E6 LOOP:MOV A,R00032 37 ADDC A,R10033 08 INC R00034 D9 FB DJNZ R1,LOOP ;相对转移;相对转移0036 80 02 SJMP N
13、EXT0038 78 03 MOV R0,#03H003A 18 NEXT:DEC R0003B 80FE SJMP$;HERE:SJMP HERE END ;结束标记结束标记例例2 2:将存放在内部将存放在内部RAM 50HRAM 50H单元内的一个压缩的单元内的一个压缩的BCDBCD码中的码中的两位十进制数拆开,并转换成相应的两位十进制数拆开,并转换成相应的ASCIIASCII码,再存入内部码,再存入内部RAM 51HRAM 51H单元(高位)单元(高位),52H,52H单元(地位)中。单元(地位)中。若(若(50H50H)=45H45H程序清单如下:程序清单如下:ORG 0000HORG
14、 0000HMOV R0,#52HMOV R0,#52HMOV 52H,#00HMOV 52H,#00HMOV A,50HMOV A,50HXCHD A,R0XCHD A,R0ORL 52H,#30HORL 52H,#30HSWAP ASWAP AADD A,#30HADD A,#30HMOV 51H,AMOV 51H,AENDEND1.1.单分支结构单分支结构240H40Hxxyxx(A)14H相当于(相当于(A)14H相当于(相当于(A)15H CJNE A,#15H,LOOPLOOP:JNC NEXT CJNE A,#14H,LOOPLOOP:JNC NEXT CJNE A,#14H,L
展开阅读全文