单片机原理课件第二章

单片机原理课件第二章

ID:13213706

大小:999.50 KB

页数:75页

时间:2018-07-21

单片机原理课件第二章_第1页
单片机原理课件第二章_第2页
单片机原理课件第二章_第3页
单片机原理课件第二章_第4页
单片机原理课件第二章_第5页
资源描述:

《单片机原理课件第二章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《单片微机原理及应用》主讲教师:胡志坚武汉大学电气工程学院第二讲:指令与编程本讲重点:寻址方式;MCS-51指令集;伪指令;汇编语言与简单程序设计.指令系统及程序设计指令系统分类基本概念指令是CPU根据人的意图来执行某种操作的命令。指令常以其英文名称或者缩写形式作为助记符。一台计算机所能执行的全部指令的集合称为这个CPU的指令系统。采用助记符表示的指令称为汇编语言。使用这种指令编写的程序称为汇编语言程序。指令系统分类(一)按照指令的功能划分,8051指令可分为以下五类:数据传送类指令(29条)算术运算类指令(2

2、4条)逻辑运算类指令(24条)控制转移类指令(17条)位操作类指令(17条)51系列单片机指令集含有111条指令指令系统分类(二)按照指令占用的存储空间可分为:单字节指令(49条)双字节指令(45条)三字节指令(17条)按照指令的执行时间可分为:单周期指令(64条)双周期指令(45条)四周期指令(2条,乘、除法指令)ASM-51指令的格式方括符[]表示可选项标号代表指令所在地址,1-8个字母/数字,“:”结尾操作码就是指令功能助记符,指令实体目的操作数源操作数注释,以“;”开头[标号:]操作码[目的操作数][,

3、源操作数][;注释]寻址方式基本概念寻址就是寻找指令中操作数或操作数所在地址。寻址方式就是找到存放操作数的地址,并把操作数提取出来的方法,即寻找操作数或者是操作数地址的方法。51单片机指令的寻址方式寄存器寻址立即寻址寄存器间接寻址直接寻址变址寻址(基址寄存器+变址寄存器间接寻址)相对寻址位寻址七种寻址方式,一条指令可能含多种寻址方式寄存器寻址从寄存器中读取操作数或存放操作数进寄存器例:MOVA,B;(A)←(B)MOV30H,R0;(30H)←(R0)MOVA,R1;(A)←(R1)寄存器寻址方式的寻址范围包括

4、:通用工作寄存器——有4组共32个通用工作寄存器。部分专用寄存器——累加器A、B寄存器、DPTR寄存器。立即寻址操作数直接就出现在指令中例:MOVA,#64H;(A)←立即数64HADDA,#05H;(A)←(A)+立即数05H注意:符号“#”表明其后跟的是立即数,立即数——就是数字量本身。寄存器间接寻址寄存器中的内容是一个地址,由该地址单元寻址到所需的操作数注意:1)“间接”表示某寄存器中的“内容”只是一个“单元地址”,这个地址单元中存放的数据才是要找的“操作数”。2)符号“@”表示“在…”,其含义与读音皆同

5、“at”。3)寄存器R0、R1和数据指针DPTR可以作为间接寻址寄存器例:MOVR1,#30H;(R1)←立即数30HMOV@R1,#0FH;(30H)←立即数0FHMOVA,@R1;(A)←((30H))=#0FH直接寻址直接寻址方式就是在指令中直接给出操作数所在存储单元的地址。此时,指令中操作数部分是操作数所在地址。直接寻址方式的寻址范围是内部RAM,具体包括:片内RAM的128个单元——在指令中以直接地址给出。特殊功能寄存器(SFR)——既可使用它们的地址,也可使用它们的名字。直接寻址指令中直接给出了操作

6、数所在单元的地址或名称例:MOVR1,1FH;(R1)←(1FH)MOV30H,4AH;(30H)←(4AH)在本单片机中规定:访问特殊功能寄存器SFR只能采用直接寻址方式。例如:MOVA,SP;(A)←(SP)MOVA,81H;(A)←(SP)MOVP1,#5AH;(P1)←(#5AH)MOV90H,#5AH;(P1)←(#5AH)MOVB,30H;(B)←(30H)相同相同在本单片机中访问特殊功能寄存器SFR只能采用直接寻址方式的原因:SFR分布在80H~0FFH范围内,而52系列单片机有256字节的片内R

7、AM,其中的80H~0FFH的RAM与SFR所占地址重叠。MOVA,90H等效于MOVA,P1属直接寻址MOVA,@R0;[事先已知(R0)=#90H]执行的操作:A←(90H)属寄存器间接寻址,随意写的指令如:MOVA,85H则是非法的!于是规定:80H~0FFH范围内的RAM只能用寄存器间接寻址方式,而SFR只能用直接寻址方式。从而解决了地址冲突的问题。例如:变址寻址也称为:基址寄存器+变址寄存器间接寻址以16位的地址指针寄存器DPTR或16位的PC寄存器为基址寄存器,以累加器A为变址寄存器,两者中的

8、“内容”形成一个16位的“地址”,该“地址”所指的存储单元中的内容才是操作数。例:[设:A中已存有#A4H,DPTR中已存有#1234H]MOVCA,@A+DPTR;(A)←((A)+(DPTR))操作:将A4H+1234H=12D8H单元中的数放进累加器A变址寻址示意图例如:指令“MOVCA,@A+DPTR”是变址寻址。解:假设DPTR的内容为2030H,累加器A的内容为12H。该指

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。