ImageVerifierCode 换一换
格式:PPT , 页数:21 ,大小:306KB ,
资源ID:381613      下载积分:100 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-381613.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机应用技术.ppt)为本站会员(ga****84)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

单片机应用技术.ppt

1、下午12时37分,单片机应用技术,1,任务八 学习、应用位操作指令,1. 位传送指令(2条)MOV C, bit ;(bit)CyMOV bit, C ;(Cy)bit2. 位置位、清零、取反指令(6条)SETB C ; 1Cy CLR bit ; 0bit CPL C ; cySETB bit ; 1bit CLR C ; 0Cy CPL bit ;bit3. 位运算指令(4条)ANL C, bit;(Cy)( bit)CyANL C, /bit;(Cy)CyORL C, bit;(Cy)( bit)CyORL C, /bit;(Cy)Cy,下午12时37分,单片机应用技术,2,4、位控制转

2、移指令(5条)JC re ; 若(Cy)=1,则PC+2+relPC,程序转移执行; 若(Cy)=0,则PC+2PC,程序顺序执行JNC rel ;若(Cy)=0,则PC+2+relPC,程序转移执行; 若(Cy)=1,则PC+2PC,程序顺序执行JB bit, rel ;若(bit)=1,则PC+3+relPC,程序转移执行; 若(bit)=0,则PC+3PC,程序顺序执行JNB bit, rel; 若(bit)=0,则PC+3+relPC,程序转移执行; 若(bit)=1,则PC+3PC,程序顺序执行JBC bit, rel;若(bit)=1,则PC+3+relPC,程序转移执行 且 0b

3、it; 若(bit)=0,则PC+3PC,程序顺序执行,任务八 学习、应用位操作指令,下午12时37分,单片机应用技术,3,【例3-29】试编程实现将内RAM中以BUF开始的一批有符号数,将正数送外RAM的正数区,负数送外RAM的负数区,遇到0中止。(设正数区起点地址是30H,负数区起点地址是60H)源程序: MOV R0, #BUF ; 将数据块的首地址送到R0中 MOV R1, #30H ;将正数的首地址送到R1中 MOV DPTR, #0060H ;将负数的首地址送到DPTR中 MP3: MOV A, R0 ; 将数据读到累加器A中 JNZ MP4 ;判断A中数据不是0 SJMP $ ;

4、 累加器A中数据是0中止 MP4: JB ACC.7 ,MP5 ; 累加器A中数据是负数? MOVX R1, A ;将正数送正数区 INC R0 ;指向数据块的下一个数据 INC R1 ;指向正数区的下一个单元 MP5: MOVX DPTR, A ;将负数送负数区 INC R0 ;指向数据块的下一个数据 INC DPTR ;指向负数区的下一个单元 AJMP MP3 ;返回继续 END,任务八 学习、应用位操作指令,下午12时37分,单片机应用技术,4,任务八 初步掌握MCS51单片机汇编程序设计,认知1 了解单片机伪指令,伪指令又称指示性指令,具有和指令类似的形式,但汇编时伪指令并不产生可执行

5、的目标代码,只是对汇编过程进行某种控制或提供某些汇编信息。 定位伪指令ORG 定义字节数据伪指令DB 定义字数据伪指令DW 定义空间伪指令DS 符号定义伪指令EQU或 数据赋值伪指令DATA 数据地址赋值伪指令XDATA 汇编结束伪指令END,下午12时37分,单片机应用技术,5,1. 定位伪指令ORG格式:标号: ORG 地址表达式功能:规定程序块或数据块存放的起始位置例如:ORG 1000H; MOV A,#20H 存放于1000H开始的单元。表示下面指令MOV A,#20H存放于1000H开始的单元。 说明:程序中可以出现多个ORG指令。2. 定义字节数据伪指令DB格式:标号: DB 字

6、节数据表功能:字节数据表可以是多个字节数据、字符串或表达式,它表示将字节数据表中的数据从左到右依次存放在指定地址单元。例如:ORG 1000H TAB:DB 2BH,0A0H,A,2*4 ;表示从1000H单元开始的地方存放数据2BH,0A0H,41H(字母A的ASCII码),08H。,任务八 初步掌握MCS51单片机汇编程序设计,认知1 了解单片机伪指令,下午12时37分,单片机应用技术,6,任务八 初步掌握MCS51单片机汇编程序设计,认知1 了解单片机伪指令,3. 定义字数据伪指令DW格式:标号: DW 字数据表功能: 与DB类似,但DW定义的数据项为字,包括两个字节,存放时高位在前,低

7、位在后。例如: ORG 1000HDATA:DW 324AH,3CH ; 表示从1000H单元开始的地方存放数据32H,4AH,00H,3CH(3CH以字的形式表示为003CH)。4. 定义空间伪指令DS格式:标号: DS 表达式功能:从指定的地址开始,保留多少个存储单元作为备用空间。例如:ORG 1000HBUF:DS 50TAB:DB 22H ;表示从1000H开始的地方预留50(1000H1031H)个存储字节空间,22H存放在1032H单元。,下午12时37分,单片机应用技术,7,任务八 初步掌握MCS51单片机汇编程序设计,认知1 了解单片机伪指令,5. 符号定义伪指令EQU或=格式

8、:符号名 EQU 表达式符号名=表达式功能:将表达式的值或某个特定汇编符号定义为一个指定的符号名,只能定义单字节数据,并且必须遵循先定义后使用的原则,因此该语句通常放在源程序的开头部分。例如: SUM EQU 21H MOV A,SUM ;执行指令后,累加器A中的值为21H中的数据6. 数据赋值伪指令DATA格式:符号名 DATA 表达式功能:将表达式的值或某个特定汇编符号定义一个指定的符号名,只能定义单字节数据,但可以先使用后定义,因此用它定义数据可以放在程序末尾进行数据定义。举例: MOV A,#LEN LEN DATA 10,下午12时37分,单片机应用技术,8,任务八 初步掌握MCS5

9、1单片机汇编程序设计,认知1 了解单片机伪指令,7. 数据地址赋值伪指令XDATA格式:符号名 XDATA 表达式功能:将表达式的值或某个特定汇编符号定义一个指定的符号名,可以先使用后定义,并且用于双字节数据定义。举例: DELAY XDATA 0356HLCALL DELAY ;执行指令后,程序转到0356H单元执行8. 汇编结束伪指令END格式:标号: END 功能:汇编语言源程序结束标志,用于整个汇编语言程序的末尾处。,下午12时37分,单片机应用技术,9,程序设计概述设计语言,最早人们只能用机器语言(二进制)编写程序; 为了方便记忆,人们开始用助记符形式的汇编语言编写程序,称为低级语言

10、。然后再用汇编系统将其翻译成机器语言,该过程称为汇编;为了用更接近人的语言编写程序,程序设计师们发明了高级语言,如: BASIC、FORTRAN、PASCAL、 C、JAVA 然后再用编译系统将其翻译成机器语言,该过程称为编译; 机器只能识别机器语言。所以必须用编译系统将高级语言编写的源程序编译成机器语言,用汇编系统将用汇编语言编写的源程序汇编成机器语言; 由低级或高级语言构成的程序称为源程序,由机器语言构成的程序称作目标程序;,任务八 初步掌握MCS51单片机汇编程序设计,下午12时37分,单片机应用技术,10,1. 汇编程序设计步骤(1) 分析问题,确定算法(2) 画出程序流程图编写较复杂

11、的程序,画出程序流程图是十分必要的。所谓程序流程图也称为程序框图,是根据控制流程设计的,它直接反映了整个系统以及各个部分之间的相互关系,同时也反映操作顺序,因而有助于分析出错原因。(3) 分配内存工作区及有关端口地址(4) 编制汇编源程序(5) 仿真调试程序(6) 固化程序,1、单片机汇编语言程序设计的基本步骤如下,认知2 掌握汇编语言程序设计与汇编,任务八 初步掌握MCS51单片机汇编程序设计,下午12时37分,单片机应用技术,11,顺序程序:顺序程序是最简单、最基本的程序结构,其特点是按指令的排列顺序一条条地执行,直到全部指令执行完毕为止。分支程序:分支程序是通过转移指令对相应条件的判断实

12、现改变程序的执行方向的设计方法。循环程序:在程序中需要反复的执行的程序段,为了避免在程序中多次的编写,可以通过利用条件转移或无条件转移指令来控制程序的执行。子程序结构:把实现一定功能的程序编制好,供其他程序调用。,单片机汇编语言程序主要的几种程序设计方法:,任务八 初步掌握MCS51单片机汇编程序设计,下午12时37分,单片机应用技术,12,顺序结构结构特点: 按指令的先后顺序依次执行。例:将内RAM20H单元的两个压缩BCD码拆开变成ASCII码,存入21H、22H单元。(假设20H中的BCD码为00110100),什么是BCD码?什么是ASII码?,0011,压缩BCD码,0011,001

13、1,0100,低四位ASII码,高四位ASII码,任务八 初步掌握MCS51单片机汇编程序设计,下午12时37分,单片机应用技术,13,方法1:将BCD码除以10H,恰好是将BCD码分别移到了A、B的低4位。然后再各自与30H相或,即成为ASCII码。,方法2:利用半字节交换指令来实现。,任务八 初步掌握MCS51单片机汇编程序设计,认知2 掌握汇编语言程序设计,下午12时37分,单片机应用技术,14,ORG 0000HMOV A,20HMOV B,#10HDIV ABORL B,#30HMOV 22H,BORL A,#30HMOV 21H,ASJMP $,方法1,源程序如下:,0011,01

14、00,PC,PC,PC,0011 0100,0001 0000,PC,0011,0000,0000 0100,PC,0011 0100,PC,PC,PC,0011,PC,任务八 初步掌握MCS51单片机汇编程序设计,下午12时37分,单片机应用技术,15,ORG 0000H MOV R0,#20H MOV A,#30H XCHD A,R0 MOV 22H,A MOV A,R0 SWAP A ORL A , #30H MOV 21H, A SJMP $,方法2,PC,PC,PC,PC,PC,PC,PC,PC,PC,源程序如下:,0011,0010 0000,0011,0100,0000,0100

15、,0011,0100,0011,0000,0011,0000,0011,PC,0011,任务八 初步掌握MCS51单片机汇编程序设计,下午12时37分,单片机应用技术,16,分支程序结构结构特点:不一定按指令的先后顺序依次运行程序,程序的流向有两个或两个以上分支,根据指定条件选择程序的流向。实例:已知30H单元中有一变量X,要求编写一程序按下述要求给Y赋值,结果存入31H单元。 X+1, X0 Y = 0 , X = 0 1 , X0题意:根据X的不同,程序编写时有三个出口,即有三个分支!,想一想:程序怎么编写?,任务八 初步掌握MCS51单片机汇编程序设计,下午12时37分,单片机应用技术,

16、17,开始,XA,A= 1,A= A+1,存结果,结束,Y,Y,N,N,程序框图:,A0?,A=0?,任务八 初步掌握MCS51单片机汇编程序设计,下午12时37分,单片机应用技术,18,源程序如下: ORG 2000H MOV A,30H JZ LP1 ;X = 0,转LP1处理 JNB ACC.7,LP2 ;X0,转LP2处理 MOV A,#0FFH ;X0,则Y= 1 SJMP LP1 LP2:ADD A,#01 ;X 0,Y=X+1 LP1:MOV 31H,A ;存结果 SJMP $ ;循环等待,$表示转至 本地址,此方法适用 于一字节的偏移量,最高位为符号位。,任务八 初步掌握MCS

17、51单片机汇编程序设计,下午12时37分,单片机应用技术,19,结构特点:利用转移指令反复运行需要多次重复的程序段。例如:延时程序:(DELAY) DELAY: MOV R3, #OFFH DEL2: MOV R4,#0FFH DEL1: DJNZ R4,DEL1 DJNZ R3,DEL2 RET 循环程序的组成: 1. 初始化部分(设定循环次数等)。 2. 循环体(重复执行的部分,用于完成实际操作) 3. 循环控制(不断修改和判别循环变量,直至结束)。 4. 循环结束处理。,循环程序结构,任务八 初步掌握MCS51单片机汇编程序设计,下午12时37分,单片机应用技术,20,子程序结构,在实际

18、问题中,常常会遇到在一个程序中多次用到相同的运算或操作,若每遇到这些运算或操作,都从头编起,将使程序繁琐、浪费内存。因此在实际中,经常把这种多次使用的程序段,按一定结构编好,存放在存储器中,当需要时,可以调用这些独立的程序段。通常将这种可以被调用的程序段称为子程序。,主要内容: 1. 主程序与子程序的关系 2. 子程序嵌套 3. 子程序的调用与返回,任务八 初步掌握MCS51单片机汇编程序设计,下午12时37分,单片机应用技术,21,任务八 初步掌握MCS51单片机汇编程序设计,【例3-33】设有一长度为30H的字符串在单片机内RAM中,其首地址为40H,要求将该字符串中的每一个字符加偶校验位,试编程用子程序的方法来实现。参考程序: ORG0030HMAIN: MOV R0, #40H ; 置地址指针R0初值 MOV R7, #30H ; 置字符串长度LOOP: MOV A, R0 ;取未加检验位的ASCII码 LCALL MP3 ;调用子程序 MOV R0, A ;将加检验位的ASCII码送回 INC R0 ;修改数据指针 DJNZ R7, LOOP ;判断数据循环是否结束? SJMP $ MP3: ADD A , #00H JNB PSW.0, MP4 ORL A, #80H MP4: RET END,

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。