- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
应用一、单片机控制8个LED灯控制的软件部分设计;软件设计的基础知识;指令系统;指令系统;指令系统;指令系统;指令系统;指令系统;(2)二字节指令中的第一个字节表示操作码,第二个字节表示操作数,操作数既可能是立即数,也可能是地址。其指令格式为:;按指令执行时间分类 ;(3)四周期指令的执行指令时间为4个机器周期。例如:
DIV AB
MUL AB; ;(2)直接寻址
Direct Addressing
直接使用数所在单元的地址找到了操作数,所以称这种方法为直接寻址。
操作数在SFR、内部RAM、位地址空间。
如: MOV A,00H
MOV C,60H
MOV A,0F0H;(3)寄存器寻址
Register Addressing; 的确,这两条指令执行的结果是完全相同的,都是将00H单元中的内容送到A中去,但是执行的过程不同,执行第一条指令需要2个机器周期,而第二条则只需要1个机器周期,第一条指令变成最终的目标码要两个字节(E5H 00H),而第二条则只要一个字节(E8H)就可以了。;(4) 寄存器间接寻址(指针方式)
Register Indirect Addressing;(5) 相对寻址
Relative Addressing;;以DPTR或PC为基址寄存器,累加器A为变址寄存器。把两者内容相加,结果作为操作数的地址。
常用于查表操作。
MCS-51
MOVC A, @A+DPTR ;(A+DPTR) →A
MOVC A, @A+PC ; PC+1 →PC,(A+PC)→A;;; 对片内RAM的位寻址区和某些可位寻址的特殊功能寄存器进行位操作时的寻址方式。
如: SETB 3DH; 将27H.5位置1
CLR C ;Cy位清0;寻址方式涉及的存储器空间;5、MCS-51指令;(1) 以累加器为目的操作数的指令(4条);(3)以寄存器间接地址为目的字节的传送指令(3条) ;(4) 以直接地址为目的操作数的指令(5条);(5)16位数据传送指令(1条) ;(6)查表指令(2条) ;(7)外部数据传送指令MOVX (4条); ii.要读或写外部的RAM,当然也必须要知道RAM的地址,在后两条指令中,地址是被直接放在DPTR中的。而前两条指令,由于Ri(即R0或R1)只是8位的寄存器,所以只提供低8位地址。高8位地址由P2口来提供。(演示举例)
iii.使用时应先将要读或写的地址送入DPTR或Ri中,然后再用读写命令。
例:将外部RAM中100H单元中的内容送入外部RAM中200H单??中。
MOV DPTR,#0100H
MOVX A,@DPTR
MOV DPTR,#0200H
MOVX @DPTR,A;(8)堆栈操作指令(PUSH、POP) (2条);(9)数据交换指令 (5条);(40H)= H 50H = H A= H
(41H)= H 51H= H R0= H ;2.给出每条指令执行后的结果 ;3.利用传送类指令并用多种方法将内部RAM中50H单元的内容与40H单元的内容互换。;(B)算术运算类指令 (24条)
Arithmetic Operations;1)加法指令(13条);例1:ADD A,#47H
ADD A,34H
ADD A,R7
ADD A,@R0
;(2)带进位位的加法指令(4条);例:;设:1067H存在R1R0中, 30A0H存在R3R2中,计算R1R0+R3R2,结果存在R5R4中。;又例:;(3) 加1指令(5条);2) 减法指令(8条);说明:没有不带借位的减法指令,如果需要做不带位的减法指令(在做第一次相减时),只要将CY清零即可。
对带符号数,要注意OV标志。OV=1,出错。;DA A
在进行BCD码加法运算时,跟在ADD和ADDC指令之后,用来对BCD码加法运算结果进行自动修正。
例:A=0001 0101BCD (代表十进制数15)
ADD A,#8
DA A
;【例3-12】编写程序完成68+89的BCD加法程序,并对调整过程进行分析。
解:二进制加法和十进制调整过程为:
;4)乘法指令(1条);5) 除法指令(1条);总结;练习;(C)逻辑运算指令 (24条)
Logic Operations
;1)逻辑“与”指令(6条)
ANd Logic Instruction
;例:;2)逻辑或指令(6条)
OR Logic
原创力文档


文档评论(0)