51单片机原理及应用课件PPT下载 单片机原理及接口技术多媒体课件PPT下载

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第3章MCS-51指令系统PAN2020/2/8单片机原理与应用第3章MCS-51指令系统3.0预备知识—WAVE仿真开发软件安装与使用3.1MCS-51指令系统3.1.1数据传送指令3.1.2算术运算指令3.1.3逻辑运算指令3.1.4位操作指令3.1.5控制及转移指令3.2汇编语言程序设计基础3.2.1汇编语言程序结构3.2.2多任务程序结构及实现3.2.3汇编语言程序编辑与执行3.2.4对汇编语言程序的基本要求第3章MCS-51指令系统PAN2020/2/8单片机原理与应用3.0预备知识—WAVE仿真开发软件安装与使用在学习指令系统前,先了解WAVE仿真开发软件的安装和使用方法。以便及时通过该仿真软件理解MCS-51指令系统的功能、用法。第3章MCS-51指令系统PAN2020/2/8单片机原理与应用WAVE仿真开发软件把源程序编辑、编译、下载、调试等操作全部集中在一个环境下进行,支持MCS-51、PIC两大系列、不同种类的单片机。具有软件模拟执行功能,除输入、输出操作外,均可在软件模拟环境下完成绝大部分应用程序的调试。WAVE编译器支持过程汇编,这样在程序编写、总装、调试过程中不会遇到标号重定义问题,方便了大型程序编写、调试。一、功能第3章MCS-51指令系统PAN2020/2/8单片机原理与应用从WAVE网站下载WAVE6000仿真开发软件(ZIP压缩文件格式),经ZIP解压后,运行其中的SETUP.EXE文件即可,该安装程序将引导用户完成WAVE6000仿真开发软件的安装过程。二、安装第3章MCS-51指令系统PAN2020/2/8单片机原理与应用三、启动及界面认识完成安装后,首次启动看到的界面第3章MCS-51指令系统PAN2020/2/8单片机原理与应用四、初始化设置1.执行“仿真器”菜单,设置仿真器、仿真头、CPU及晶振频率等选项内容。必要时对“仿真头”做进一步设置。2.设置“语言”(对于汇编语言源程序来说,推荐使用WAVE编译器及WAVE预定义符号)。3.设置编译后产生的“目标文件”的种类(支持二进制BIN文件格式和十六进制HEX文件格式)。缺省时仅产生十六进制HEX格式文件,可根据需要选择。第3章MCS-51指令系统PAN2020/2/8单片机原理与应用4.进入“通信设置”标签,设置联机通讯口、波特率(使用WAVE软件模拟方式时无须设置)。5.进入“文本编辑器”标签,设置“字体”(建议使用“Fixedsys”字体),而其他选项可使用缺省设置。6.使用WAVE编译器及WAVE预定义符号时,最好进入“汇编预定义符号”窗口,重新设置MCS-51定时/计数器T2控制寄存器T2CON位寻址功能。1、选择仿真器、仿真头类型及CPU型号同时指定包括仿真方式,当选择模拟仿真方式还需要设置晶振频率。第3章MCS-51指令系统PAN2020/2/8单片机原理与应用●设置仿真不同仿真头、不同CPU,该设置窗口内容、设置项会有所不同。2.选择仿真语言建议:在使用汇编语言情况下,最好选择“伟福汇编器”,并使用伟福预定义符号。3.选择“目标文件”地址及种类一般仅需要选择HEX(即十六进制)文件,在调式阶段最好将未用单元置为00第3章MCS-51指令系统PAN2020/2/8单片机原理与应用4.选择仿真器与PC机之间通讯端口及速率5.设置文件框第3章MCS-51指令系统PAN2020/2/8单片机原理与应用第3章MCS-51指令系统PAN2020/2/8单片机原理与应用第3章MCS-51指令系统PAN2020/2/8单片机原理与应用第3章MCS-51指令系统PAN2020/2/8单片机原理与应用第3章MCS-51指令系统PAN2020/2/8单片机原理与应用五、应用程序编辑、编译及运行1.创建、编辑源程序执行“文件”菜单下的“新文件”命令(或直接单击“新文件”工具),创建新文件。2.保存执行保存操作,将未命名的文件保存(对于汇编语言源程序来说,最好立即保存,并告诉编辑器文件类型,如.ASM等。这样在编辑源程序过程中,变量、数据、标号等就以“文本编辑器”设定的颜色显示,直观、排除了程序编辑过程中的错误。3.打开已有文件第3章MCS-51指令系统PAN2020/2/8单片机原理与应用4.源程序编辑方法及技巧查找、复制、剪贴功能的应用;源程序输入过程的提示(指令编写错误,数据格式错误颜色不同)。5.编译6.设置断点7.运行运行方式:全速、单步、跟踪。第3章MCS-51指令系统PAN2020/2/8单片机原理与应用六、应用举例(1)从“CPU窗口”了解执行的机器码及长度、伪指令ORG的含义及作用。(2)编译后,通过“CPU窗口”理解标号、变量定义、等值定义等伪指令含义和作用。利用单步执行了解指令执行时间(单位为us,可预先将晶振频率设为12MHz,以便得到整数时间)。注意WAVE软件默认的时钟模式是“12时钟/机器周期”,对于6时钟/机器周期来说,执行时间要除2。第3章MCS-51指令系统PAN2020/2/8单片机原理与应用(3)理解复位后PC、SP等特殊功能寄存器的初值及复位对内部RAM的影响。(4)理解工作寄存器区切换及R7~R0所对应的物理地址(观察工作寄存器切换前对寄存器R7~R0的读写结果)。(5)设置定时/计数器工作方式后,可了解定时器T0、T1在定时状态的运行情况及定时溢出中断。(6)通过一个实际例子介绍程序调试方法。特殊功能寄存器、内部RAM单元内容浏览及修改;执行方式、定位等。第3章MCS-51指令系统PAN2020/2/8单片机原理与应用MCS-51系列单片机采用复杂指令系统,共有42种操作码助记符,支持直接寻址、寄存器寻址、间接寻址、立即数寻址、变址寻址、相对寻址、位寻址等七种寻址方式。不同指令操作码助记符与不同寻址方式之间的组合就构成了MCS-51系列单片机的指令系统,共计111条。3.1MCS-51指令系统第3章MCS-51指令系统PAN2020/2/8单片机原理与应用(1)数据传送指令(2)算术运算指令(3)逻辑运算指令(4)控制转移指令(5)位操作指令每一类型指令中又包含若干条指令。按功能可将这些指令分成:第3章MCS-51指令系统PAN2020/2/8单片机原理与应用在MCS-51指令系统中,数据传送指令包括了:(1)内部RAM、特殊功能寄存器之间的数据传送,这类指令用“MOV”作为指令操作码助记符。(2)外部RAM与累加器A之间的数据传送,这类指令用“MOVX”作为指令操作码助记符。(3)程序存储器读指令,即程序存储器ROM与累加器A之间数据指令,这类指令用“MOVC”作为指令操作码助记符。(4)堆栈操作指令。(5)字节交换指令。3.1.1数据传送指令MCS-51数据传送示意图第3章MCS-51指令系统PAN2020/2/8单片机原理与应用数据传送指令一般不影响程序状态字寄存器PSW中的标志位,只有当数据传送到累加器A时,PSW中的奇偶标志位P会改变,原因是奇偶标志位P总是体现累加器A中“1”的个数的奇偶性。当累加器Acc为0时,Z(零)标志置1;反之Z标志清0。因此当目的操作数为累加器Acc时,数据传送指令会影响Z标志。数据传送指令执行后特点:第3章MCS-51指令系统PAN2020/2/8单片机原理与应用1.内部RAM、特殊功能寄存器之间的数据传送指令名称指令格式机器码功能指令周期以累加器A作为目的操作数MOVA,Rn11101rrrA←Rn1MOVA,direct11100101directA←(direct)1MOVA,@Ri1110011iA←(Ri)1MOVA,#data01110100dataA←data1以Rn寄存器作为目的操作数MOVRn,A11111rrrRn←A1MOVRn,direct10101rrrdirectRn←(direct)2MOVRn,#data01111rrrdataRn←data1以直接地址direct作为目的操作数MOVdirect,A11110101directdirect←A1MOVdirect,Rn10001rrrdirect(direct)←Rn2MOVdirect2,direct110000101direct1direct2(direct2)←(direct1)2MOVdirect,@Ri1000011idirect(direct)←(Ri)2MOVdirect,#data01110101directdata(direct)←data2以Ri寄存器间接地址为目的操作数MOV@Ri,A1111011i(Ri)←A2MOV@Ri,direct1010011idirect(Ri)←(direct)2MOV@Ri,#data0111011idata(Ri)←data116立即数传送MOVDPTR,#data1610010000D15~D8D7~D0DPH←D15~D8DPL←D7~D02第3章MCS-51指令系统PAN2020/2/8单片机原理与应用MOVA,#5AH;Acc←立即数MOVB,A;B←Acc。特殊功能寄存器间数据传输MOVA,P1;Acc←P1口,读P1口I/O引脚状态MOV30H,A;30H←Acc,寄存器与RAM之间MOV38H,30H;内部RAM单元之间数据传送MOVR0,#38H;内部RAM与累加器Acc数据传送MOVA,@R02.外部RAM及I/O端口与累加器A之间的数据传送在MCS-51系统中,由于扩展I/O端口与外部RAM统一编码,即扩展I/O端口地址占用外部RAM地址空间的某一单元,因此外部RAM及扩展I/O端口的读写操作指令、操作时序完全相同。只能通过累加器A存取外部RAM和扩展I/O端口,这类指令操作码助记符为“MOVX”,其中“X”的含义是“eXternal”(外部),指令格式、机器码如表示3-2所示。指令名称指令格式机器码功能指令周期累加器A与外部RAM之间的数据传送MOVXA,@DPTR11100000A←(DPTR)2MOVX@DPTR,A11110000(DPTR)←A2MOVXA,@Ri1110001iA←(Ri)2MOVX@Ri,A1111001i(Ri)←A2第3章MCS-51指令系统PAN2020/2/8单片机原理与应用3.累加器A与程序存储器ROM之间的数据传送指令为了取出存放在程序存储器中的表格数据,MCS-51提供了两条查表指令,这两条指令的操作码助记符为“MOVC”,其中“C”的含义是“Code(代码)”,表示操作对象是程序存储器,指令格式、机器码如表3-3所示。指令名称指令格式机器码功能指令周期查表指令MOVCA,@A+DPTR10010011A←(A+DPTR)2MOVCA,@A+PC10000011A←(A+PC)2第3章MCS-51指令系统PAN2020/2/8单片机原理与应用4.堆栈操作指令堆栈操作也是计算机系统基本操作之一。设置堆栈操作的目的是为了迅速保护断点和现场,以便在子程序或中断服务子程序运行结束后,能正确返回主程序。MCS-51堆栈操作指令格式、机器码如表3-4所示。指令名称指令格式机器码功能指令周期数据入栈PUSHdirect11000000directSP←SP+1(SP)←(direct)2数据出栈POPdirect11010000direct(direct)←(SP)SP←SP-125.字节交换指令字节交换指令也属于数据传送指令范畴,不过交换后,源操作数与目的操作数内容相互对调,MCS-51提供了四条字节交换指令和两条半字节交换指令,这些指令格式、机器码如表3-5所示。指令名称指令格式机器码功能指令周期字节交换指令XCHA,Rn11001rrrA和Rn内容对调1XCHA,direct11000101directA和(direct)内容对调1XCHA,@Ri1100011iA和(Ri)内容对调1低4位对调XCHDA,@Ri1101011iA低4位和(Ri)低4位对调1累加器半字节交换SWAPA11000100A高4位与A低4位对调1表3-5MCS-51交换指令

1 / 79
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功