- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机与嵌入式系统3研讨
单片机与嵌入式系统 第三章 单片机指令系统 3.1 寻址方式 3.2 指令系统 指令执行过程 程序是按要求实现的指令有序集合,是串行执行的。 事情要一步一步做,所以需要时钟 通过PC指向程序地址,完成取指放到指令寄存器中 指令寄存器的译码,知道要做什么 按照要求完成任务 PC指向下一条指令 3.1 寻址方式(共有7种) (1)对程序存储器(内、外):只能变址寻址 MOVC (2)对内部数据存储器:MOV (3)对外部数据存储器:只能寄存器间址 MOVX 3.2 指令系统介绍(共5类) 回忆:51单片机的主要寄存器 (1)累加器ACC,程序中有时可以简写为A (2)辅助寄存器B,乘除指令用到 (3)程序计数器PC,“不”能用程序直接访问 (4)数据指针DPTR,有的单片机有两个 (5)堆栈指针SP,复位时内容是07H,一定要记住。 (6)程序状态寄存器PSW 记住哪些指令影响标志位 Rn 当前工作寄存器中的某一个,即R0~R7; Ri R0或者R1 Direct 单片机内部RAM低128字节(00h~7fh)中的某个字节地 址,或者是某个专用寄存器的名字; #data 8位(1字节)立即数 #data16 16位(2字节)的立即数 Addr16 16位目的地址,在LJMP和LCALL的指令中采用 Addr11 11位目的地址,只在AJMP和ACALL指令中采用 Rel 相对转移指令中的偏移量。 DPTR 数据指针(由DPH和DPL构成) Bit 内部RAM(包括专用寄存器)中可寻址位的地址或名字 A 累加器ACC B B寄存器 @ 间接寻址标志 / 加在位地址前,表示对该位状态取反 (X) 某寄存器或某单元的内容 ((X)) 由X间接寻址的单元中的内容 4传送到@Ri指定的单元 MOV @Ri , direct MOV @Ri, A 5传送到DPTR寄存器 MOV DPTR,#data16 6传送到外部RAM中(配合WR,RD) MOVX A,@DPTR(16位指针可寻址64KB外部RAM) MOVX @DPTR,A MOVX A,@Ri (8位指针可寻址256B外部RAM) MOVX @Ri,A 说 明: 例1: MOV A,#30H MOV 4FH,A MOV R0,#20H MOV @R0,4FH MOV 21H,20H 练习: 说明程序执行过程中,SP的内容及堆栈中内容的改变过程。 MOV SP,#30H MOV A,#20H MOV B,#30H PUSH ACC PUSH B … … MOV A,#30H MOV B,#20H … … POP B POP ACC 例: 程序1: ORG 1000H SQU: MOV DPTR,#3000H ;确定表首地址(基地址) MOV A,20H ;取 X(变量:偏移量) MOVC A,@A+DPTR ;查表求Y=X2 MOV 21H,A ;保存Y(结果) RET ;子程序结束 … ;其它程序段 ORG 3000H ;常数表格首地址 TAB: DB 00,01,04,09,… ,225 ;平方表 END 例: 程序2: 指令地址 源程序 ORG 1000H ;程序起始地址 1000H SQU: MOV A,20H
文档评论(0)