单片机原理及接口技术-第三章课件

上传人:txadgkn****dgknqu... 文档编号:252721789 上传时间:2024-11-19 格式:PPT 页数:84 大小:644.63KB
返回 下载 相关 举报
单片机原理及接口技术-第三章课件_第1页
第1页 / 共84页
单片机原理及接口技术-第三章课件_第2页
第2页 / 共84页
单片机原理及接口技术-第三章课件_第3页
第3页 / 共84页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,请单击鼠标左键换页,!,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,3.1 MCS-51单片机指令系统简介,MCS-51单片机能够识别并执行的指令共有111条。这111条指令,构成了MCS-51单片机的指令系统。,3.1.1 MCS-51单片机指令系统的分类,1、MCS-51单片机指令系统按指令所占的字节数可分为以下三类:,(1)单字节指令(49条),(2)双字节指令(46条),(3)三字节指令(16条),3.1 MCS-51单片机指令系统简介MCS-51单片,2、按指令的执行时间可分为以下三类:,(1) 单周期指令(65条),(2) 双周期指令(44条),(3) 四周期指令(2条),3、按指令的功能可分为以下五类:,(1) 数据传送类指令(29条),(2) 算术运算类指令(24条),(3) 逻辑运算类指令(24条),(4) 控制转移类指令(17条),(5) 位操作类指令(17条),2、按指令的执行时间可分为以下三类:,3.1.2,指令格式,MCS-51单片机汇编语言指令由操作码和操作数两部分组成。,指令格式为:操作码 操作数,3.1.2 指令格式,3.1.3,指令中的常用符号,Rn: 表示当前工作寄存器R0R7中的一个。,Ri: 表示寄存器间接寻址,常常作间接寻址的地址指针。其中Ri代表R0和R1寄存器中的一个。,Direct: 表示内部数据存贮器单元的地址及特殊功能寄存器SFR的地址,对SFR而言,既可使用它的物理地址,也可直接使用它的名字。,#date: 表示8位立即数,即8位常数,取值范围为#00H#0FFH,3.1.3 指令中的常用符号,#date16: 表示16位立即数,即16位常数,取值范围为#0000H#0FFFFH,addr16: 表示16位地址,addr11: 表示11位地址,rel: 用补码形式表示的地址偏移量,取值范围为-128+127。,Bit: 表示内部RAM和SFR中的具有位寻址功能的位地址。SFR中的位地址可以直接出现在指令中,为了阅读方便,往往也可用SFR的名字和所在的数位表示。如:表示PSW中奇偶校验位,可写成D0H,也可写成PSW.0的形式出现在指令中。,: 表示间接寻址寄存器或基址寄存器的前缀符号。,$: 表示当前指令的地址。,#date16: 表示16位立即数,即16位常数,取值,3.1.4,寻址方式,1、,立即寻址,立即寻址是将操作数直接存放在指令中,作为指令的一部分存放在代码段里。立即寻址中的数,称为立即数。,例如指令:,MOV A,#30H,2、,直接寻址,直接寻址是将操作数的地址直接存放在指令中。这种寻址方式的操作数只能存放在内部数据存贮器和特殊功能寄存器中。,例如:,MOV A,30H,3.1.4 寻址方式,3、,寄存器寻址,寄存器寻址是指操作数存放在以上所说的寄存器中,并且寻址时的寄存器已隐含在指令的操作码中。,例如:,MOV A,R0,4、,寄存器间址,寄存器间址是指操作数存放在以寄存器内容为地址的单元中,例如:,MOV A,R0,3、寄存器寻址,5、,变址寻址,变址寻址是指操作数存放在变址寄存器和基址寄存器的内容相加形成的数为地址的单元中。其中累加器,A作变址寄存器、程序计数器PC或寄存器DPTR作基址寄存器。,例如: MOVC A, A+DPTR,6、,相对寻址,相对寻址是将程序计数器,PC的当前值与指令第二字节给出的偏移量相加,从而形成转移的目标地址。,例如:JZ 61H,5、变址寻址,7、,位寻址,位寻址,是指对片内,RAM中20H2FH中的128个位地址,以及SFR中的11个可进行位寻址的寄存器中的位地址寻址。,例如:位寻址指令MOV C,20H,此指令是将RAM中位寻址区20H位地址中的内容,送给位累加器C。字节地址寻址指令:MOV A,20H,此指令是将内部RAM中20H单元中的内容送给累加器A。,7、位寻址,3.2 MCS-51单片机指令系统,3.2.1 数据传送类指令,1、,内部传送指令,(,16,条,),(1),将数据传送到累加器,A,的指令,(,4,条,),3.2 MCS-51单片机指令系统3.2.1 数据传送类,单片机原理及接口技术-第三章课件,(,2),将数据传送到工作寄存器,Rn,的指令,(,3,条,),(2)将数据传送到工作寄存器Rn的指令(3条),(3),将,8,位数据直接传送到直接地址,(,内部,RAM,单元或,SFR,寄存器,),指令,(,5,条,),(3)将8位数据直接传送到直接地址(内部RAM单元或SF,(4),将,8,位数据传送到以间接寄存器寻址的,RAM,单元的指令,(,3,条,)。,(4)将8位数据传送到以间接寄存器寻址的RAM单元的指令,(,5)16,位数据传送指令,(,1,条,),(5)16位数据传送指令(1条),单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,单片机原理及接口技术-第三章课件,3.3,汇编语言程序设计,3.3.1 汇编语言及其语句格式,1、汇编语言,这里介绍MCS-51单片机的汇编语言。,2、汇编语言的语句格式,一条汇编语言的语句包括四部分内容:标号、操作码、操作数和注释。其格式为:,标号:操作码操作数;注释,例如:LOOP: MOV A , #20H ; (A)20H,3.3 汇编语言程序设计3.3.1 汇编语言及其语句格,3.3.2,伪指令,1、,定位伪指令,格式:,ORG n,2、,定义字节伪指令,格式:标号:,DB X1, X2, Xn,此伪指令的功能是把Xi存入从标号开始连续的单元中。,3、,定义双字节伪指令,格式:标号:,DW X1,X2,Xn,此伪指令的功能是把Xi存入从标号开始的连续单元中。,3.3.2 伪指令,4、,预留存贮区伪指令,格式:,DS n,DS n从标号指定单元开始,预留n个单元的存贮区。,5、,赋值伪指令,格式:字符名称,x EQU n,此指令的功能是将数据或地址n赋给字符名称。,6、,结束汇编指令,格式:,END,END指示源程序到结束,常将其放在汇编语言源程序的末尾。,4、预留存贮区伪指令,3.3.3,汇编语言程序设计过程,1、,分析任务,确定算法或解题思路,2、,根据算法和解决思路画出程序流程图,流程图是由一些框图和流程线组合而成:,置的框图连接在一起,位于不同框图的圈内,应标注相同的字母。,3.3.3 汇编语言程序设计过程,3、,根据流程图编写程序,4、,上机调试程序,3.3.4 顺序结构程序设计,按照程序编写的顺序,依次执行。任何复杂的程序,都含有较大成份的顺序结构程序。,【,例,3-8,】,将两位压缩,BCD码转换成二进制数,编程思路:(a,1,a,0,),BCD,= a,1,10+a,0,编程说明:待转换的两位压缩BCD码存放于R2,转换结果存回R2。,程序流程图如图3-1所示。,3、根据流程图编写程序,单片机原理及接口技术-第三章课件,编程如下:,START: MOV A , R2,ANL A , #0F0H ;取高位BCD码,SWAP A,MOV B , #0AH,MVL AB,MOV R3 , A,MOV A , R2,ANL A , #0FH ;取低位BCD码,ADD A , R3,MOV R2 , A,END,编程如下:,3.3.5 分支程序设计,3.3.5 分支程序设计,【,例,3-9,】,求符号函数的值,1 当X0,Y= 0 当X=0 的值。,-1 当X9时,加37H。程序流程如图3-11所示。,【例3-16】 将1位十六进制数,转换成相应ASC码。,单片机原理及接口技术-第三章课件,参考程序如下:,ORG 0100 H,MOV A , 40 H,ANL A , # 0F H,CLR C,SUBB A, # 0AH,参考程序如下:,JC NEXT,ADD A , #0AH,ADD A , #37H,SJMP SAVE,NEXT: ADD A , #0AH,ADD A , #30H,SAVE:MOV 40H , A,END,JC NEXT,(,2,) 查表求解:,ORG 0100H,MOV A , 40H,ANL A , #0FH,ADD A , 02H,MOVC A , A+PC,MOV 40H , A,DB 0, 1, 2, 3, 4, 5,DB 6, 7, 8, 9, A, B,DB C, D, E, F,END,(2) 查表求解:,3.3.9,子程序设计,1、,子程序的调用与返回,MCS-51单片机有两条子程序调用指令:ACALL addr11、 LCALL addr16;一条子程序返回指令RET。,2、,保存与恢复寄存器内容,例如:,SUB1: PUSH PSW,PUSH A,PUSH R6,(此处省略了子程序的内容),POP R6,POP A,PUSH PSW,3.3.9 子程序设计,3、,子程序的参数传递,主程序在调用子程序时,经常需要传送一些参数,子程序运行完后也经常将一些参数回送给主程序,这叫参数传递。,【,例,3-17,】,编程计算,c = a,2,+b,2,。,编程说明:这个问题中,计算某数的平方可以用子程序来实现,两次调用该子程序,并求和便得到所需结果。设a、b 分别存于内部RAM 的30H、31H单元,结果C存于内部RAM的40H单元。,3、子程序的参数传递,参数传递:主程序中,将某数存放到累加器A中,作为子程序的入口参数;子程序中,将所求数的平方值存放在累加器A中,作为出口参数(即主程序的返回值)。,子程序的入口参数:A中存放某数的值。,子程序的出口参数:A中存放所求数的平方。,子程序如下:,SQR: INC A,MOVC A , A+PC ;查平方表,RET,TABLE: DB 0 , 1 , 4 , 9 , 16,DB 25 , 36 , 49 , 64 , 81,主程序流程图如图3-12 所示。,参数传递:主程序中,将某数存放到累加器A中,作为子程序的,单片机原理及接口技术-第三章课件,主程序如下:,START: MOV A , 30H,ACALL SQR ;调查表子程序,MOV R1 , A ;a,2,暂存,R1中,MOV A , 31H,ACALL SQR ;调查表子程序,ADD A , R1,MOV 40H , A,END,主程序如下:,4、,子程序的嵌套,4、子程序的嵌套,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!