单片机技术基础第三章ppt课件.ppt

单片机技术基础第三章ppt课件.ppt

ID:58918024

大小:784.50 KB

页数:75页

时间:2020-09-29

单片机技术基础第三章ppt课件.ppt_第1页
单片机技术基础第三章ppt课件.ppt_第2页
单片机技术基础第三章ppt课件.ppt_第3页
单片机技术基础第三章ppt课件.ppt_第4页
单片机技术基础第三章ppt课件.ppt_第5页
资源描述:

《单片机技术基础第三章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章指令系统3.389C51指令系统3.1汇编语言3.2寻址方式7/31/20211▼熟悉机器语言、汇编语言机器区别▼熟悉89C51汇编语言指令格式;▼熟悉89C51汇编语言“程序行”或“汇编语言语句”的格式;▼掌握89C51的7种寻址方式,并能实际应用。会计算相对寻址方式中的目标地址或偏移量rel▼熟记89C51的111条汇编指令,并会根据课题需要编制汇编语言程序;▼熟悉指令的功能、操作的对象和结果及指令执行后对PSW各的影响;89C51指令系统的特点是不同的存储器空间寻址方式不同,适用的指令不同,必须进行区分;学习目的与要求

2、:7/31/20212§3.1汇编语言§3.1.1指令和程序设计语言§3.1.2指令格式7/31/20213§3.1.1指令和程序设计语言指令:是CPU根据人的意图来执行某种操作的命令。程序设计语言:是实现人机交换信息的基本工具,分为机器语言、汇编语言和高级语言。机器语言:用二进制编码表示每条指令,是计算机能直接识别和执行的语言。汇编语言:是用助记符、符号和数字等来表示指令的程序设计语言。它与机器语言指令是一一对应的如:MOVA,#0AH740AH7/31/20214§3.1.2指令格式89C51汇编语言指令格式:操作码[目的操作

3、数][,源操作数][;注释]操作码:必备,2~5个英文字母操作数:表示操作的数据/地址,0~3个,中间用,隔开例:MOVA,#0AH;0AHA汇编语言指令代码对应的二进制代码,即指令代码由若干个字节组成:单字节指令双字节指令三字节指令7/31/20215单字节指令1、指令码中隐含着对某一种寄存器的操作如:指令“INCDPTR”的指令代码格式为:A3H=101000112、由指令中的rrr三位的不同编码指定某一寄存器如:指令“MOVA,Rn”的指令代码格式为:11101rrr8位二进制包含操作码和操作数的信息;7/31/20216

4、双字节指令用一个字节表示操作码,另一个字节表示操作数或操作数所在的地址。格式为:操作码立即数或地址三字节指令一个字节操作码,两个字节操作数。格式为:操作码立即数或地址立即数或地址7/31/20217§3.2寻址方式一、什么是寻址方式:如何找到存放操作数的地址,把操作数提取出来的方法。二、寻址方式的种类:三、寻址空间及符号注释:7/31/20218二、寻址方式的种类:1、寄存器寻址2、直接寻址3、立即数寻址4、寄存器间接寻址5、变址寻址6、相对寻址7、位寻址7/31/202191、寄存器寻址寄存器寻址:由指令指出寄存器组R0~R7中

5、的某一个或其他寄存器(A,B,DPTR等)的内容作为操作数。例如:MOVA,R0;(R0)→AMOVP1,A;(A)→P1口ADDA,R0;(A)+(R0)→A7/31/202110存放操作数据的寄存器在指令代码中不占据单独的一个字节,而是嵌入(隐含)到操作码字节中MOVA,R7;左边的指令机器代码为:11101111B。设(R7)=19H,指令执行后(A)=19H。7/31/202111表3-1低3位操作码与寄存器Rn的对应关系低3位rrr000001010011100101110111寄存器RnR0R1R2R3R4R5R6R7

6、7/31/2021122、直接寻址直接寻址方式:在指令中给出的是操作数所在片内RAM单元的地址,即指令中操作数部分是操作数所在地址。直接寻址方式可访问片内RAM的128个单元以及所有的SFR。对于SFR,既可以使用它们的地址,也可以使用它们的名称。例如:MOVA,3AH;(3A)→AMOVA,P1;(P1口)→A或:MOVA,90H;90H是P1口的地址7/31/202113MOVA,45H;(45H)=36H,则执行指令后(A)=36H。该寻址方式的寻址范围只限定在片内RAM访问SFR只能用直接寻址方式。7/31/2021143

7、、立即数寻址立即数寻址:指令操作码后面紧跟的是一字节或两字节操作数,用“#”号表示,以区别直接地址。例如:MOVA,3AH;(3AH)→AMOVA,#3AH;3AH→AMOVDPTR,#2000H;2000H→DPTR;(DPH)=20H;(DPL)=00H三字节指令7/31/202115MOVA,#45H;45H--->A7/31/202116就我们目前掌握的办法而言,要从30H单元取数,就用MOVA,30H,那么下一个数呢?是31H单元的,怎么取呢?还是只能用MOVA,31H,那么20个数,不是得20条指令才能写完吗?这里只有

8、20个数,如果要送200个或2000个数,那岂不要写上200条或2000条命令?为什么会出现这样的状况?是因为我们只会把地址写在指令中,所以就没办法了,如果我们不是把地址直接写在指令中,而是把地址放在另外一个寄存器单元中,根据这个寄存器单元中的数值

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

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

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