欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《单片机原理及应用》电子教案王.ppt

    • 资源ID:6075557       资源大小:2.12MB        全文页数:265页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《单片机原理及应用》电子教案王.ppt

    单片机原理及应用设计,化学工业出版社,主讲人:王瑞芳,本书主要内容,单片机概述MCS-51系列单片机的组成与工作原理MCS-51 单片机的指令系统汇编语言程序设计MCS-51单片机的中断系统定时/计数器单片机的串行通信及接口MCS-51单片机的系统扩展,第1章 单片机概述,本章知识点:计算机的发展概况 计算机的特点和应用 计算机系统的组成单片机概述计算机中常用的数制与码制,本章重点:微机系统的组成不同数制间的相互转换原码、反码、补码的概念既相互间的关系,电子计算机 定义:在程序的控制下自动进行信息处理的电子装置。分类:数字计算机、模拟计算机、模/数混合计算机。一、现代计算机的发展历史 第一代:19461957 电子管计算机(速度慢)第二代:19571964 晶体管计算机(速度快,功耗低,性能更稳定)第三代:19641972 集成电路计算机(体积小,可靠性高)第四代:1972现在 大规模集成电路计算机 第五代:智能化,1.1 计算机的发展概况,二、计算机的发展方向(1)大型化和巨型化 运算速度快,存储量大,体积大,价格高。(2)微型化 体积小,重量轻,价格便宜,普及快(3)网络化、智能化 软硬件资源共享,人工智能技术开发各种系统,1.1 计算机的发展概况,1.2 计算机的特点和应用,一、计算机的特点(1)运算速度快(2)计算精度高 字长:计算机处理的一组二进制数的位数(3)存储能力极强(4)在程序的控制下自动操作(5)通用性强 不同行业的用户通过编制不同的程序解决不同的问题,而不需要改变硬件。,二、计算机的主要性能指标(1)字长:计算机能直接处理的二进制位数,代表实际的处理能力。字长越长,计算精度越高,寻址范围越大。(2)主存储量(内存):按字长或字节计算。主存储量越大,执行程序的速度越快。(3)存取周期:存储器进行一次完整的读写操作所需的时间。(4)运算速度:一般用每秒内所能执行的指令条数来衡量。速度的单位:百万条指令/秒。(5)主频:计算机的时钟频率,一般用MHZ或GHZ表示。主频越高,计算机的运行速度越快。,1.2 计算机的特点和应用,1.2 计算机的特点和应用,三、计算机的应用(1)数值计算(2)信息处理和事物管理 信息处理:利用计算机对数据进行记录、合并、分类、传 递、存储、计算、检索等处理。事务管理:用计算机及时提供管理信息。如:财务管理、库存管理、销售管理等。(3)自动控制(4)计算机辅助应用:CAD、CAM、CAI(5)人工智能(6)日常应用,1.3 计算机系统的组成,1.3 计算机系统的组成,一、计算机的硬件(1)运算器作用:运算作用,可进行算术运算和逻辑运算组成:加法器A(累加器)、寄存器B、状态标志寄存器F、通用寄存器等组成。(2)控制器作用:指挥全机工作的中心。用来产生表示节拍的时序电位和时序脉冲,并将指令规定的操作类别、条件组成各种相应的控制信号,按一定的时间和条件,把信号送到相应的线路中协调整机工作。组成:指令寄存器、指令译码器、程序计数器、脉冲分配器、时钟电路、操作控制部件等组成。,1.3 计算机系统的组成,(3)存储器 作用:用来存储程序、数据等信息的物理介质。分类:(4)输入、输出设备 作用:辅助主机的工作,提供主机和外设之间交换信息的工具。种类:键盘、鼠标、显示器、打印机等。(5)外围设备(6)总线 作用:系统中信息传送的公共通道 分类:地址总线、数据总线、控制总线,1.3 计算机系统的组成,二、计算机的指令和指令系统(1)指令定义:计算机完成某个具体的操作所发出的指示或命令,并由计算机直接识别执行。组成:操作码、操作数 操作码:计算机执行何种工作。操作数:指出参加操作的数据或数据所在单元的地址。类型:操作类指令、控制转移类指令(2)指令系统(决定计算机的能力,影响 其体系结构)定义:所有指令的集合。,1.3 计算机系统的组成,三、计算机的软件 分类:系统软件、应用软件、程序设计语言(1)系统软件 由制造者提供,包括监控程序、操作系统、汇编软件、解释程序、实用程序、诊断程序等。(2)应用软件 定义:指用户的专业软件,是为解决某一专业领域的问题而编写的程序。(3)程序设计语言 作用:编写程序所使用的语言。分类:机器语言、汇编语言、高级语言,单片机:单片微型计算机就是将CPU、RAM、ROM、定时/计数器和多种接口都集成到一块集成电路芯片、尖端武器、日常生活中最广泛使用的计算机上的微型计算机。因此,一块芯片就构成了一台计算机。它已成为工业控制领域、智能仪器仪表。一、单片机的发展过程 第一阶段(19761978年):低性能单片机的探索阶段 第二阶段(19781982年):高性能单片机阶段 第三阶段(19821990年):16位单片机阶段 第四阶段(1990年):微控制器的全面发展阶段,1.4 单片机概述,二、单片机的系统组成 1.硬件系统:CPU、存储器、输入/输出接口电路、输入/输出设备等 2.软件系统 三、单片机的发展趋势(1)微型化(2)低功耗(工作方式多,电源范围扩大)(3)高速化(4)集成更多资源(5)通信及网络功能加强(6)专用型单片机发展加快,1.4 单片机概述,1.5 计算机中常用的数制与码制,一、数制计算机系统中,对于符号数有不同的编码方式,通常有原码、反码和补码。(1)原码最高位为符号位(正数用0表示,负数用1表示),其他位为数值位。X=+87=01010111B,X原=01010111B Y=-87=11010111B,Y原=11010111B(2)反码 正数的反码与原码相同,负数的反码是其对应的原码符号位保持为1,数值位逐位取反的结果。X=+87=01010111B,X反=01010111B Y=-87=11010111B,Y反=10101000B,1.5 计算机中常用的数制与码制,(3)补码 正数的补码与原码相同,负数的补码是其对应的原码符号位保持为1,数值位逐位取反,末位加1的结果,即对应的反码加1。X=+87=01010111B,X补=01010111B Y=-87=11010111B,Y补=10101001B二、码制在计算机中,除了表示数以外,还要表达字母、字符等信息,他们也是以二进制的形式出现的,只是编码的形式不同而已,计算机中常见的编码由BCD码和ASCII码。ASCII码:ASCII码是一种8位代码,最高位一般用于奇偶校验,用其余的7位代码来对128个字符编码,其中32个是控制字符,96个是图形字符。BCD码:采用二进制数编码十进制数。,1.5 计算机中常用的数制与码制,BCD码,阅读材料 不同计数制之间的转换,十进制数,一个十进制数,它的数值是由数码0,1,2,8,9来表示的。数码所处的位置不同,代表数的大小也不同。,例如:53478=5104+3103+4102+7101+8100,对应于:,二进制数,二进制是按“逢二进一”的原则进行计数的。二进制数的基为“2”,即其使用的数码为0、1,共两个。二进制数的权是以2为底的幂。,例如:10110100=127+026+125+124+023+122+021+020,对应于:,其各位的权为1,2,4,8,即以2为底的0次幂、1次幂、2次幂等。(10110100)2127+026+125+124+023+122+021+020=180,十六进制数,十六进制数的基为16,即基数码共有l6个:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。其中A,B,C,D,E,F分别代表值为十进制数中的10,11,12,13,14,15。十六进制的权为以16为底的幂。,例如:4F8E=4163+F162+8161+E160=20366,对应于:,常用计数制表示数的方法比较,不同进制数之间的转换,1.十进制数转换成二进制数的方法,就是用2去除该十进制数,得商和余数,此余数为二进制代码的最小有效位(LSB)或最低位的值;再用2除该商数,又可得商数和余数,则此余数为LSB左邻的二进制代码(次低位)。依此类推,从低位到高位逐次进行,直到商是0为止,就可得到该十进制数的二进制代码。,除二取余法,不同进制数之间的转换,例如:将(67)10转换成二进制数,过程如下:,即:(67)10=(1000011)2。,不同进制数之间的转换,1.十进制数转换成二进制数的方法,将已知十进制的小数乘以2之后,可能有进位,使整数位为1(当该小数大于0.5时),也可能没有进位,其整数位仍为零。该整数位的值为二进制小数的最高位。再将乘积的小数部分乘以2,所得整数位的值为二进制小数的次高位。依此类推,直到满足精度要求或乘2后的小数部分为0为止。,乘二取整法,例如:将(0.625)10转换成二进制数,其过程如下:,即:(0.625)10=(0.101)2,不同进制数之间的转换,不同进制数之间的转换,2.二进制数转换为十进制数的方法,将二进制数转换成十进制数时,只要将二进制数各位的权乘以各位的数码(0或1)再相加即可。例如:将(1101.1001)2制转换成十进制数:(1101.1001)2123+122+021+120+12-1+02-2+02-3+12-48+4+0+1+0.5+0+0+0.0625=(13.5625)10,不同进制数之间的转换,3.二进制与十六进制数之间的转换方法,二进制数转换成十六进制数例如:把(101101101.1100101)2转换成十六进制数。,即:(101101101.1100101)2=(16D.CA)16。,不同进制数之间的转换,2)十六进制数转换成二进制数将十六进制数转换成二进制数时,只要将每1位十六进制数用4位相应的二进制数表示即可完成转换。例如:将(ECA16)16转换成二进制数。,即:。,思考练习题,(1)微型计算机由哪几部分组成?(2)什么是单片机?它与一般微型计算机在结构上有什么区别?(3)单片机主要应用在哪些方面?(4)将下面的一组十进制数转换成二进制数:56742319896814276.870.3759.32583.625134.0625(5)将下面的二进制数转换成十进制数和十六进制数:1011001110100101111010011001111010000101 11000101111011101000110011011.11101.01101,第2章 MCS-51系列单片机的组成与工作原理,本章知识点:MCS-51单片机的内部结构 CPU的结构和功能存储器的组织结构MCS-51单片机的并行输入输出端口MCS-51 单片机的外部引脚及功能单片机指令时序,本章重点:MCS-51单片机的内部结构MCS-51单片机的并行输入输出端口MCS-51 单片机的外部引脚及功能,MCS-51系列单片机分类:1.无片内ROM型芯片,必须外接ROM才能用。2.带片内ROM型的芯片又分为片内EPROM型、片内FLASH型、片内掩膜ROM型等。MCS-51系列单片机特点:1.程序存储器与数据存储器分开;2.共有111条指令,其中包括乘除指令和位操作指令;3.中断源有5个(8032/8052为6个),分为2个优先级;4.在RAM区中开辟了4个通用工作寄存区,共有32个通用寄存器,1个位寻址区;5.4个并行I/O口都可以作为输入/输出,在扩展应用方式下采用P0和P2口作为片外扩展地址总线;6.内部集成了一个全双工的异步串行接口,可进行数据的发送和接收。,2.1 MCS-51系列单片机的硬件及端子功能,一、MCS-51系列单片机的内部结构,2.1 MCS-51系列单片机的硬件级端子功能,单一总线连接各单元采用特殊寄存器集中控制,(1)8051单片机的基本组成中央处理器(CPU):完成运算和控制。内部数据存储器(片内RAM):256个字节的RAM单元,其中128个字节被专用寄存器占用,前128个字节单元共用户存放可读写的数据。内部程序存储器(内部ROM):4KB的掩膜ROM,用于存放程序、原始数据或表格。定时器/计数器:两个16位的定时器/计数器,4种工作方式。并行I/O口:4个8位的I/O口(P0、P1、P2、P3),以实现数据的并行输入/输出。串行口:1个全双工的串行口,具有4种工作方式,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。中断系统:有5个中断源,即外部中断2个,定时/计数中断2个,串行口中断1个,有2个优先级别。时钟电路:用来产生时钟脉冲序列。特殊功能寄存器:有21个特殊功能寄存器,用于对片内个功能模块进行监控和管理,是片内RAM的一部分,与片内RAM单元统一编址。,2.1 MCS-51系列单片机的硬件及端子功能,2.1 MCS-51系列单片机的硬件及端子功能,其基本特性如下:8位CPU,含片内振荡器;4KB的程序存储器ROM;128B的数据存储器RAM;64KB的外部程序存储器寻址能力;64KB的外部数据存储器寻址能力;32根输入输出(I/O)线;2个16位定时/计数器;1个全双工异步串行口;21个特殊功能寄存器;5个中断源,2个优先级;具有位寻址功能。,(2)MCS-51系列单片机简介 它是一个微型计算机系统,MCS-51系列单片机分为51和52两个子系列,51是基本型,52是增强型。52子系列增强的功能是:片内ROM从4KB增加到8KB;片内RAM从128B增加到256B;定时/计数器从2个增加到3个;中断源从5个增加到6个。,2.1 MCS-51系列单片机的硬件及端子功能,2.1 MCS-51系列单片机的硬件及端子功能,二、MCS-51系列单片机的端子分布,(a)方形封装,(b)双列直插式封装,(1)电源端子(20、40)用于接入单片机的工作电源。(2)时钟端子XTAL(19.18)用来提供单片机的工作时钟信号。在使用单片机内部振荡电路时,这两个端子用来接石英晶体和微调电容,在使用外部时钟时,用来输入时钟脉冲。(3)控制信号端子(9、29、30、31)RST/VPD:复位/备用电源端子。单片机正常工作时,此端子为低电平。在单片机掉电期间,此端子可接备用电源(+5V)。当电源电压低于规定的电压值时,VPD就向片内RAM提供电源,比保持RAM内的信息不丢失。PSEN:输出访问片外程序存储器的读选通信号。ALE/PROG:访问外部存储器时,ALE用于锁存低8位的地址信号。如果系统不访问外部存储器,ALE端输出周期性的脉冲信号。EA/VPP:用于区分片内外低4KB范围存储空间。该端子接高电平时,CPU访问片内程序存储器4KB的地址范围。(4)输入/输出端子P0P3(3239、18、2128、1017)均为8位双向I/O口。其中,P3.0P3.7端子还能用于第二功能。,2.1 MCS-51系列单片机的硬件及端子功能,2.1 MCS-51系列单片机的硬件及端子功能,2.1 MCS-51系列单片机的硬件及端子功能,2.2 单片机的CPU,一、控制器组成:由指令寄存器、指令译码器、程序计数器PC、数据指针DPTR、RAM地址寄存器以及16位地址缓冲器等组成。功能:对来自存储器中的指令进行译码,通过定时电路,在规定的时刻发出各种操作所需的全部内部和外部的控制信号,使各部分协调工作,完成指令所规定的功能。(1)程序计数器PC:是一个16位的专用寄存器,用来存放下一条指令的地址,具有自动加1的功能。(2)指令寄存器IR:是一个8位寄存器用于暂存待执行的指令,等待译码。(3)暂存器TMP:用于暂存进入运算器之前的数据。(4)指令译码器ID:是对指令寄存器中的指令进行译码,将指令变为执行此指令所需要的电信号。(5)数据指针DPTR:是一个16位的专用地址指针寄存器,主要用来存放16位地址,作间接寻址寄存器,访问片外64K字节的数据存储器和I/O端口及程序寄存器。,2.2 单片机的CPU,二、运算器,作用:主要用于处理算术与逻辑运算等操作。组成:算术/逻辑运算单元ALU、累加器A、通用寄存器B、暂存器1、暂存器2以及程序状态寄存器PSW、位处理逻辑电路和一些专用寄存器组成。(1)算术逻辑单元ALU:由加法器和其他逻辑电路组成,完成数据的算术逻辑运算、循环移位、位操作等。(2)累加器ACC:是一个8位特殊功能寄存器,通过暂存器与ALU相互传送信息,用来存放一个操作数或中间结果。(3)程序状态字PSW:是一个8位特殊功能寄存器,用于存储程序运行过程中的各种状态信息。(4)其他器件:用来存放中间结果,B寄存器用于乘法和除法时,提供一个操作数,对于其他指令,只用作暂存器。,三、位处理器 位处理器是单片机的一个特殊组成部分,具有相应的指令系统,可提供17条位操作指令。硬件上有自己的“累加器”和自己的位寻址RAM、I/O口空间,是一个独立的位处理器,位处理器和8位处理器形成完美的结合。,2.2 单片机的CPU,表2.1 寄存器PSW各位的功能、标志符号与相应的位地址,2.3 时钟和时钟电路,(a)内部振荡器方式(b)外部振荡器方式 图2.3 8051单片机的振荡器方式,一、时钟电路 MCS-51系列单片机内部有一个高增益的反相放大器构成的振荡电路,作为CPU的时钟脉冲源。XTAL1为振荡电路的输入端,XTAL2为输出端,同时作为内部时钟发生器的输入端。内部振荡器要保证正常工作,必须在XTAL1、XTAL2端子外接一谐振电路。,2.3 时钟和时钟电路,(a)外接石英晶体的内部时钟方式。(b)8051采用外部振荡信号时,需将XTAL1接地,XTAL2接外部的时钟信号。(c)80C51采用外部振荡信号时,需将XTAL2悬空,XTAL1接外部的时钟信号。,二、时序MCS-51系列单片机的时序定时单位有4个,分别是节拍、状态、机器周期和指令周期。节拍:振荡脉冲的周期即为节拍(用P表示)。状态:振荡脉冲经过二分频后,就是单片机的时钟信号的周期,即为状态(用S表示)。一个状态包含两个节拍,前半周期对应的节拍叫节拍1(P1),后半周期对应的节拍叫节拍2(P2)。振荡周期:为单片机提供时钟信号的振荡源的周期。时钟周期:是振荡源信号经二分频后形成的时钟脉冲信号。机器周期:通常将完成一个基本操作所需的时间称为机器周期。一个机器周期总共有6个状态。指令周期:是指CPU执行一条指令所需要的时间。它一般由若干个机器周期组成。,2.3 时钟和时钟电路,二、时序,2.3 时钟和时钟电路,2.3 时钟和时钟电路,复位,2.4 复位和复位电路,1.ALE/,2.,3.,/VPP,4.RST,(a)上电复位(b)电平开关复位图2.13 复位电路,2.3.1 MCS-51单片机的存储器结构,图2.3 8051存储器配置图,2.3.2 程序存储器,程序是控制计算机运行的一系列命令。计算机能够识别并执行的命令是由代码“0”和“1”组成的一组机器指令。,2.3.3 数据存储器,单片机的数据存储器由可读可写的存储器RAM组成,最多可扩展到64KB,用于存储数据。,2.3.4 MCS-51单片机的内部数据存储器,MCS-51单片机的内部数据存储器由地址00HFFH共有256个字节的地址空间组成,这256个字节的地址空间被分为两部分,其中内部数据RAM地址为00H7FH(即0127)。,图2.4 内部数据存储器地址空间,1.内部数据RAM单元,内部数据RAM分为工作寄存器区、位寻址区、通用RAM区三个部分。,图2.5 RAM位地址(低128位在00H7FH),(a)系统复位后,未改变SP初值时的堆栈操作(设(A)=0ABH),(b)系统复位后,改变SP初值为60H时的堆栈操作图2.6 堆栈操作示例,2.特殊功能寄存器,特殊功能寄存器SFR的地址空间是80HFFH。,表2.3 特殊功能寄存器的名称、符号与地址,2.特殊功能寄存器,2.特殊功能寄存器,2.特殊功能寄存器,2.4 MCS-51单片机的并行输入输出端口,2.4.1 P0口结构,1.P0用作通用I/O口,2.P0用作地址/数据总线分时复用方式,2.4.2 P2口结构,1.P2口用作地址总线,2.P2口用作通用I/O口,2.4.3 P3口结构,2.4.4 P1口结构,2.5.2 外接晶振或外部时钟信号输入端,(a)内部振荡器方式(b)外部振荡器方式图2.12 8051单片机的振荡器方式,表2.4 按不同工艺制造的单片机芯片外接振荡器时的接法,2.5.3 输入输出引脚,P0.0P0.7:通道0是一个8位漏极开路的双向输入输出通道。在外接存储器或者扩展I/O接口时,P0口作为复用的低8位地址总线和双向数据总线。在不扩展存储器或者I/O接口时,作为准双向输入输出接口。P1.0P1.7:只有一种功能,即准双向I/O口。P2.0P2.7:可作为准双向I/O口使用;但在接有片外存储器或扩展I/O接口范围超过256B时,则该口一般只能作为高8位地址总线使用。P3.0P3.7:该口除了作为准双向口外,还具有第二功能。,2.5.4 控制线,1.ALE/,2.,3.,/VPP,4.RST,(a)上电复位(b)电平开关复位图2.13 复位电路,2.6 单片机指令时序,2.7 思考练习题,(1)MCS-51单片机包含哪些主要逻辑功能部件?(2)程序状态字寄存器PSW包含哪几个标志位?各位的含义是什么?各有何作用?(3)什么叫单片机?(4)MCS-51单片机的存储结构有何特点?(5)单片机的EA端有何作用?在8031组成的单片机应用系统中,其EA端怎样处理?为什么?(6)单片机内部RAM分为哪几个部分?各有何作用?(7)MCS-51单片机的堆栈SP在操作中遵循什么原则?在开机复位时,其初值是多少?是否可以通过程序重新设置?(8)怎样确定和改变单片机当前的工作寄存器组?(9)简要说明单片机的位地址分配。(10)试画出常用的单片机复位电路,并说明复位后各个寄存器的状态。,第3章 MCS-51单片机的指令系统,汇编语言的指令格式及符号简介 寻址方式 数据传送类指令算术运算类指令逻辑运算类指令位操作类指令控制转移类指令思考练习题,3.1 汇编语言的指令格式及符号简介,3.1.1 指令格式,标号:操作码助记符 第一操作数,第二操作数,第三操作数;注释,例如:LOOP:MOV A,#50H;(A)50H DECR0;(R0)(R0)-1 DJNZ R0,LOOP;(R0)-10,则程序转移到LOOP地址;否则顺序执行 END;结束,3.1.2 本章中符号的定义,3.2 寻 址 方 式,MCS-51单片机有7种寻址方式,见表3.1。,表3.1 7种寻址方式的比较,3.2.1 立即寻址,例如:MOV A,#23H;(A)23H,即累加器A的内容被替换为立即数23H。,图3.1 MOV A,#23H的执行示意图,该指令的功能是将8位的立即数23H传送到累加器A中。如图3.1所示。其中,目的操作数采用寄存器寻址,源操作数采用立即寻址。,3.2.2 直接寻址,直接寻址是指在指令中包含了操作数的地址,该地址直接给出了参加运算或传送的单元或位。直接寻址方式可访问三种地址空间:特殊功能寄存器SFR(该空间只能采用直接寻址)。内部数据RAM的低128个字节单元(该空间还可以采用寄存器间接寻址)。221个位地址空间。,例如:MOV A,40H;把40H单元的内容送到累加器中,即(A)(40H)。,图3.2 MOV A,40H的执行示意图,3.2.3 寄存器寻址,寄存器寻址是指定某一可寻址的寄存器的内容为操作数。,例如:MOV A,R0;(A)(R0)该指令的功能是将R0中的数据传送到累加器A中。源操作数与目的操作数都采用了寄存器寻址。,在MCS-51单片机中,能够用来间接寻址的寄存器有:用户所选定的工作寄存器组的R0、R1,堆栈指针SP和16位的数据指针DPTR。内部数据RAM的寄存器间接寻址采用寄存器R0、R1;外部数据RAM的寄存器间接寻址有两种形式:一是采用R0、R1作间址寄存器,这时R0或R1提供低8位地址,而高8位地址则由P2端口提供;二是采用16位的DPTR作间址寄存器。,3.2.4 寄存器间接寻址,例如:设R0的内容为60H,且(60H)=10H,即60H地址单元中的内容为10H,则语句MOV A,R0的执行过程如图3.3所示。执行后,(A)=10H,即累加器A的内容成为10H。,图3.3 MOV A,R0的执行示意图,又如:MOVX A,R0;(A)(R0),用R0间接寻址的单元中的内容替换A的;内容。MOVX A,DPTR;(A)(DPTR),用DPTR间接寻址的单元中的内容替换;A的内容。,3.2.5 变址寻址,这种寻址方式是以数据指针DPTR或程序计数器PC作为基址寄存器,以累加器A作为偏移量寄存器,将一个基址寄存器的内容与偏移量寄存器的内容之和作为操作数地址。,例如:MOVC A,A+DPTR设(A)=10H,(DPTR)=1000H,程序存储器的(1010H)=45H,则上面程序语句的功能是将A的内容与DPTR的内容相加形成操作数地址(1010H),把该地址中的数据传送到累加器A。即(A)(A)+(DPTR)。结果:(A)=45H。,图3.4 MOVC A,A+DPTR的执行示意图,相对寻址是把指令中给定的地址偏移量rel与程序计数器PC的当前值(读出该双字节或三字节的跳转指令后,PC指向的下条指令的地址)相加,得到真正的程序转移地址。,例如:JC 80H若C=0,则PC值不变,若C=1,则以当前PC值为基地址,加上80H得到新的PC值。设该转移指令存放在1005H单元,取出操作码后PC指向1006H单元,取出偏移量后PC指向1007H单元,所以计算偏移量时PC当前地址为1007H,已经为转移指令首地址加2,这里的偏移量以补码给出,所以80H代表着-80H,补码运算后,就形成跳转地址0F87H。其过程如图3.5所示。,3.2.6 相对寻址,3.2.6 相对寻址,图3.5 JC 80H的执行示意图,3.2.7 位寻址,MCS-51单片机可对片内RAM的两个区域进行位寻址:一个是20H2FH单元的128位,另一个是特殊功能寄存器的93位。在寻址时,同一个位地址可以有多种标识方式,读者可参看后面3.6节“位操作指令”的相关内容。,3.3.1 通用传送指令,格式:MOV 目的操作数,源操作数功能:把第二操作数指定的字节内容传送到第一操作数指定的单元中。不影响源操作数内容,不影响别的寄存器和标志。,1.以累加器A为目的操作数的传送类指令,3.3 数据传送类指令,指令助记符及功能说明如下:,例1 若(50H)=10H,则执行指令MOV A,50H之后,(A)=10H。例2 若(R0)=20H,(20H)=39H,则执行指令MOV A,R0后,(A)=39H。例3 若(R5)=55H,则执行指令MOV A,R5后,(A)=55H。,2.以Rn为目的操作数的传送类指令,例1 若(A)=20H,则执行指令MOV R3,A后,(R3)=20H。例2 若(30H)=01H,则执行指令MOV R7,30H后,(R7)=01H。,指令助记符及功能说明如下:,例1 若(30H)=20H,(R0)=30H,则执行指令MOV 90H,R0的结果为(90H)=20H。例2 若例1中的条件不变,而执行指令MOV P1,R0,则(P1)=20H。,3.以直接地址directX为目的操作数的传送类指令,指令助记符及功能说明如下:,例1 若(R0)=50H,(50H)=20H,(A)=10H,则执行指令“MOV R0,A”后,50H单元的内容由原来的20H变为10H。,4.以寄存器间接地址Ri为目的操作数的传送类指令,指令助记符及功能说明如下:,5.16位目标地址传送指令,这条指令的功能是:把16位立即数送入DPTR中。而16位的数据指针DPTR由DPH与DPL组成,该指令执行后,16位立即数的高8位送入DPH中,低8位送入DPL中。该指令的执行,不影响程序状态寄存器PSW。,指令助记符及功能说明如下:,3.3.2 外部数据存储器(或I/O口)与累加器A传送指令,例1 设(P2)=20H,现将A中数据存储到20FFH单元中去。可用以下程序实现:MOV R1,#0FFH;(R1)0FFHMOVX R1,A;(20FFH)(A)也可采用下述程序实现:MOV DPTR,#20FFH;(DPTR)20FFHMOVX DPTR,A;(DPTR)(A),即(20FFH)(A),指令助记符与功能说明如下:,3.3.2 外部数据存储器(或I/O口)与累加器A传送指令,例2 将外部数据存储器7FF0H单元中的数据取出,存放到外部数据存储器2000H单元中去。MOV DPTR,#7FF0HMOVX A,DPTRMOV DPTR,#2000HMOVX DPTR,A,例1 在外部程序存储器2000H单元开始存放了数字09的共阴极数码管的16进制数的字形代码3FH、06H、6FH。要求根据A中的值(09)来查找该数字所对应的代码以便显示。若用PC作基址寄存器,则需要在MOVC A,A+PC指令前用一加法指令对地址进行调整:ADD A,#dataMOVC A,A+PC,3.3.3 程序存储器向累加器A传送数据指令,指令助记符与功能说明如下:,1.字节交换指令,例1 设(R1)=30H,(30H)=45H,(A)=7FH,则执行指令:XCH A,R1结果:(A)=45H,而(30H)=7FH,从而实现了累加器A与内部数据存储器RAM中30H单元的数据交换。,3.3.4 数据交换指令,指令助记符与功能说明如下:,2.半字节交换指令,例1 设(30H)=6FH,(R0)=30H,(A)=0F6H,则执行指令:XCHD A,Ri结果:(A)=0FFH,(30H)=66H,数据交换指令除了影响始终跟踪A中数据奇偶性的P标志外,对PSW中其他标志位均无影响。,指令助记符与功能说明如下:,3.累加器A中高四位与低四位交换指令,SWAP A该指令所执行的操作是累加器A中的高4位与低4位的内容互换,其结果仍存放在累加器A中。,例1 设(A)=0A5H(10100101B),则执行指令:SWAP A结果:(A)=5AH(01011010B)指令SWAP交换了A中高、低半字节(30和74),结果不影响标志寄存器PSW。,3.3.5 堆栈操作指令,堆栈操作指令只有2条,即:压入(PUSH)和弹出(POP)。压入指令:PUSH direct;SPSP+1,(SP)(direct)弹出指令:POP direct;(SP)(direct),SPSP-1,例1PUSH A;保护A中数据 PUSH PSW;保护标志寄存器中数据;执行服务程序 POP PSW;恢复标志寄存器中数据 POP A;恢复A中数据,例2PUSH A PUSH PSW POP A POP PSW,例3 PUSH DPH PUSH DPL POP DPL POP DPH,3.4.1 加减运算指令,1.加法指令,这类指令所完成的操作是把源操作数(立即数、直接地址单元内容、间接地址单元内容、工作寄存器内容)与累加器A的内容相加,将结果保存在累加器A中。,3.4 算术运算类指令,指令助记符与功能说明如下:,例1 执行指令:MOV A,#0A9HADD A,#0B8H对程序状态寄存器的影响如图3.6所示。,运算结果:(A)=61H,CY=1,AC=1,OV=1,P=1,(PSW)=0C5H,例2 8位数加法程序片断1:MOVA,#23H ADDA,#5AH,运算结果:(A)=7DH,CY=0,OV=0,AC=0,P=0,(PSW)=00H。,例3 8位数加法程序片断2:MOVA,#0ABHADDA,#9AH,运算结果:(A)=45H,CY=1,OV=1,AC=1,P=1,(PSW)=0C5H。,带进位加法指令与前述加法指令的区别仅为考虑进位位,其他与加法指令相同。,2.带进位加法指令,指令助记符与功能说明如下:,例3 利用ADDC指令可以进行多字节的加法运算。设有两个16位数相加,被加数的高8位放在41H,低8位放在40H,加数的高8位放在43H,低8位放在42H,和的低8位存放在50H,高8位存放在51H,进位位存放在52H。可编程序如下:,例1 设(A)=0AAH,(R0)=55H,C=1,则执行指令:ADDC A,R0运算结果:(A)=00000000B,AC=1,CY=1,OV=1。,例2 设(A)=35H,(40H)=21H,C=0,则执行指令:ADDC A,40H运算结果:(A)=56H,AC=0,CY=0,OV=0。这与执行指令“ADD A,40H”的结果是一样的。,SHJ:MOV A,40H;(A)被加数低8位ADD A,42H;与加数低8位相加MOV 50H,A;和的低8位存入50HMOV A,41H;(A)被加数高8位ADDC A,43H;被加数高8位与加数高8位以及低位来的进位相加MOV 51H,A;和的高8位存入51H单元MOV A,#00H;(A)00HADDC A,#00H;(A)(A)+00H+高8位来的进位MOV 52H,A;进位位C内容存入52H单元,3.带借位减指令,指令助记符与功能说明如下:,例1 设(40H)=0BAH,(41H)=98H,试编写40H内容减去41H内容后,结果再存入40H单元的程序。MOVA,40H;(A)(40H)CLRC;进位位C清0SUBBA,41H;(A)(A)-(41H)-(C)MOV40H,A;(40H)(A)执行以上程序后,(40H)=22H,CY=0,OV=0。,如果参与运算的两数为无符号数,则其溢出与否与OV状态无关,而是靠CY是否有借位来判断,OV仅仅表示带符号数运算时是否溢出。,例2 设有两个16位数相减,被减数的高8位放在41H,低8位放在40H,减数高8位放在43H,低8位放在42H,差的低8位存放在50H,高8位存放在51H,借位位存放在52H。,可编程序如下:SHJIAN:MOV A,40H;(A)被减数低8位CLR C;C位清0SUBB A,42H;减去减数低8位MOV 50H,A;差的低8位存入50HMOV A,41H;(A)被减数高8位SUBB A,43H;被减数高8位减去减数高8位与借位MOV 51H,A;差的高8位存入51H单元MOV A,#00H;(A)00HADDC A,#00H;(A)高8位的借位位MOV 52H,A;借位位C内容存入52H单元,1.乘法指令,例1 设(A)=67H(103),(B)=0ADH(173),执行指令:MUL AB运算结果:乘积为459BH(17819),(A)=9BH,(B)=45H。另外:OV=1,CY=0,3.4.2 乘除运算指令,MUL AB;(A)乘积低8位,(B)乘积高8位,例2 设被乘数为16位无符号数,低8位存放在地址为K的单元,高8位存放在地址为K+1的单元。乘数为8位无符号数,存放在M单元。编程求出二者乘积,并将乘积的07位存放在R1,815位存放在R2,1623位存放在R3中。,分析:16位无符号数与8位无符号数相乘的步骤示意如下:,程序编制如下:MOV R0,#K;设置被乘数地址指针MOV A,R0;被乘数送A中MOV B,M;乘数送B中MUL AB;(K)(M)MOV R1,A;乘积的07位存入R1MOV R2,B;暂存积的815位INC R0;指向被乘数高8位地址MOV A,R0;取被乘数高8位MOV B,M;乘数送B中MUL AB;(K+1)(M)ADD A,R2;求得乘积的815位MOV R2,A;乘积的815位存入R2MOV A,BADDC A,#00H;求得乘积的1623位MOV R3,A;乘积的1623位存入R3,2.除法指令,例1 设(A)=9AH,(B)=23H,执行指令:DIV AB则(A)=04H,(B)=0EH,OV=00H,CY=00H,3.4.2 乘除运算指令,DIV AB;(A)商,(B)余数,3.4.3 增1减1指令,1.增1指令,INC A;(A)(A)+1INC direct;(direct)(direct)+1INC Ri;(Ri)(Ri)+1INC Rn;(Rn)(Rn)+1INC DPTR;(DPTR)(DPTR)+1,例1 设(A)=40H,(41H)=29H,则执行下列指令:INC A;(A)40

    注意事项

    本文(《单片机原理及应用》电子教案王.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开