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

    单片机原理与应用课件.ppt

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

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

    单片机原理与应用课件.ppt

    单片机原理与应用(多学时),单片机原理与应用(多学时),返回,第1章计算机基础知识,1.1.1计算机中数据存储的组织形式 在计算机内部所有的数据,无论是程序还是图像都是以二进制形式存放的。现在介绍计算机中数据的组织形式。1.位(bit)2.字节(Byte) 3.字(word)4.字长,1.1计算机中的数制和编码,第1章计算机基础知识,1.1.2 字符的二进制编码 字符是计算机的主要处理对象,这里的字符包括西文字符(字母、数字、符号等)和中文字符。由于计算机中的数据都是采用二进制的方式进行存放和处理的,因此字符也只有按照这个规律进行二进制编码才能进入计算机。由于西文和中文字符的形式不同,所以使用的编码有很大的不同。,第1章计算机基础知识,1.1计算机中的数制和编码,1.1.3 进位计数制 按进位的原则进行计算的方法称为进位计数制。人们平时用得最多的是十进制,而计算机中存放的是二进制数,为了方便使用,同时还引入了八进制和十六进制。在一种数制中,只能使用一组固定的数字符号表示数目的大小,具体使用多少个数字或符号就称为该数制的基数。例如,十进制的基数是10,二进制的基数是2。而数制中每一固定位置对应的单位值称为权。,第1章计算机基础知识,1.1计算机中的数制和编码,1.1.4 编码 计算机处理的信息都是以二进制数码的形式存在的。但人们编制程序、识别处理结果时,输入输出的信息通常都采用英文字母、阿拉伯数字和各种常用的符号。 它们只有用特定的二进制形式来表示才能被计算机所识别,这种用二进制形式表示的数据就是二进制编码。,第1章计算机基础知识,1.1计算机中的数制和编码,一个完整的计算机系统由硬件系统和软件系统两部分组成。 硬件系统是组成计算机的物理设备的总称,它由各种器件和电子线路组成,是计算机完成计算工作的物质基础。 软件系统是在计算机硬件设备上运行的各种程序及相关的数据总称。硬件系统是支撑软件运行的物质基础,没有足够的硬件支持,软件就无法正常工作。软件不仅提高了机器的效率、扩展了硬件功能,也方便了用户使用。没有软件的计算机称为裸机,裸机是无法工作的。 硬件系统和软件系统在计算机系统中相辅相承缺一不可,它们的有机结合才是一个完整的计算机系统。,第1章计算机基础知识,1.2计算机的基本结构及工作原理,1.2.1计算机系统的组成原理,第1章计算机基础知识,1.2计算机的基本结构及工作原理,冯诺依曼的主要贡献包括:(1)计算机有5个基本组成部分:运算器、控制器、存储器、输入设备和输出设备。(2)采用存储程序控制的方式,(3)计算机内部数据组织采用二进制编码方式。,1.2.2 硬件系统 冯诺依曼提出的计算机“存储程序控制”的工作原理决定了计算机由5部分组成:运算器、控制器、存储器、输入设备和输出设备。,第1章计算机基础知识,1.2计算机的基本结构及工作原理,第1章计算机基础知识,返回,1.2计算机的基本结构及工作原理,1.运算器 运算器也称为算术逻辑单元(Arithmetic Logic Unit,ALU),它的作用就是进行算术运算和逻辑运算。算术运算是JP2指加、减、乘、除等四则运算,而逻辑运算就是指“与”、“或”、“非”、“比较”等运算。2.控制器 控制器的基本功能是从内存存取指令和执行指令,向其他的部件发出控制信号,指挥计算机各部件协同工作。 运算器和控制器合在一起被称为中央处理单元(Central Processing Unit,CPU)。在微型计算机中,运算器和控制器一般集成在一片芯片上,制成大规模集成电路,因此,CPU常常又被称为微处理器。,第1章计算机基础知识,1.2计算机的基本结构及工作原理,3.存储器 存储器是计算机的记忆部件,用于存储计算机中的程序和数据。存储器分为两部分:内部存储器和外部存储器,简称为内存和外存。 1)内部存储器 内部存储器简称内存,又称为主存,主要用于存放计算机中要执行的程序和数据,一般由半导体器件构成。 2)外部存储器 外部存储器简称外存,又称辅存,主要用来存储用户所需的大量数据。其特点是存储容量大、可靠性高、价格低。常用的外存是磁盘、光盘、闪盘(优盘)等。,4.输入设备 输入设备用来接受用户输入的原始数据和程序,并将它们转变为计算机可以识别的形式(二进制)存放到内存中。5.输出设备 输出设备是将存放在内存中由计算机处理的结果转换为人们所能接受的形式的设备。常用的输出设备有显示器、打印机等。 ,第1章计算机基础知识,1.2计算机的基本结构及工作原理,1.2.3 软件系统 计算机的软件系统是程序和程序运行所需要的数据以及开发、使用和维护这些程序所需要的文档的集合。软件内容丰富、种类繁多,根据软件的用途可将其分为系统软件和应用软件两大类。 1.系统软件 系统软件是指控制计算机的运行、管理计算机的各种资源并为应用软件提供支持和服务的一类软件,是保证计算机系统正常工作必须配备的基本软件。系统软件通常包括操作系统、计算机语言和各种服务性程序。,第1章计算机基础知识,1.2计算机的基本结构及工作原理,1)操作系统 操作系统是管理、监控和维护计算机系统的软、硬件资源,它使计算机充分高效地工作,并使用户合理有效地利用这些资源的程序。操作系统是系统软件的核心,是现在计算机的必备软件。2)计算机语言 使计算机能识别并执行的信息符号代码的集合称为计算机语言。计算机语言可以分为三大类:机器语言、汇编语言和高级语言。3)服务性程序 服务性程序是指协助用户进行软件开发和硬件维护的软件,如各种开发调试工具软件、编辑程序、诊断程序等。,第1章计算机基础知识,1.2计算机的基本结构及工作原理,2.应用软件应用软件是在系统软件基础上为解决用户的具体问题,面向某个领域而设计的软件。1)办公软件办公软件包括文字处理、桌面排版、电子表格、商务图表、演示软件等。为了方便用户维护数据,一般办公软件还提供了小型的数据库管理系统。常见的办公软件有Microsoft Office等。2)图形和图像处理软件图形和图像处理软件主要用来处理计算机中的图形和图像,其中图像处理是人们生活中最常见的。3)Internet服务软件Internet服务软件主要包括WWW浏览器、电子邮件、文件传输等,这些软件的出现使人们很轻松方便地使用Internet。,第1章计算机基础知识,1.2计算机的基本结构及工作原理,1.2.4 微型计算机的工作原理 CPU、存储器、I/O接口机外部设备构成了微型计算机的硬件,要是计算机有效地工作,还必须有软件(即程序)的配合。当使用微型计算机来完成某项任务时,首先要把结算方法按步骤编写成计算机能识别并能执行的相应操作命令序列,即程序,其中机器可以识别的每一条基本操作命令就是一条指令,可见程序是一串按一定顺序排列起来的指令集合。只要把程序由输入设备通过I/O接口存储到存储器中,一旦启动计算机,它便能按照程序安排的顺序执行指令,从而完成既定任务。下面以微型计算机执行第N条指令的工作过程来说明计算机的工作原理。,第1章计算机基础知识,1.2计算机的基本结构及工作原理,1.3.1 单片机的发展 自1976年9月Intel公司推出MCS-48单片机以来,单片机就受到了广大用户的欢迎,因此,有关公司都争相推出各自的单片机。如GI公司推出PIC1650系列单片机,Rockwell公司推出了与6502微处理器兼容的R6500系列单片机。它们都是8位机,片内有8位中央处理器(CPU)、并行I/O端口、8位定时器/计数器和容量有限的存储器(RAM、ROM)以及简单的中断功能。,第1章计算机基础知识,1.3单片机的基本概念,1978年下半年Motorola公司推出M6800系列单片机,Zilog公司随后推出Z8系列单片机。1980年Intel公司在MCS48系列基础上又推出了高性能的MCS-51系列单片机,这类单片机均带有串行I/O端口,定时器/计数器为16位,片内存储容量(RAM,ROM)都相应增大,并有优先级中断处理功能,单片机的功能、寻址范围都比早期的扩大了,它们是当时单片机应用的主流产品。 目前,国际市场上8位、16位单片机系列已有很多,但是,在国内使用较多的系列是Intel公司的产品,其中MCS-51系列单片机应用尤为广泛,几十年经久不衰,而且还在进一步发展完善,价格越来越低,性能越来越好。单片机技术正以惊人的速度向前发展。,第1章计算机基础知识,1.3单片机的基本概念,第1章计算机基础知识,1.3单片机的基本概念,1.3.2 单片机的特点单片机就相当于一台微型计算机。由于单片机的这种特殊的结构以及它所采取的半导体工艺,使其具有许多显著的特点。在某些应用领域,它甚至承担了大、中型计算机和常用计算机无法完成的一些工作,在各个领域都得到了广泛的应用。单片机的特点可以概括为以下4点:(1)优异的性价比。(2)集成度高、体积小、可靠性高。(3)运行速度快、控制功能强。(4)开发使用方便、易于产品化。,1.3.3.单片机的应用领域单片机的应用范围十分广泛,主要的应用领域有:(1)工业控制(2)仪器仪表(3)计算机外部设备与智能接口(4)商用产品(5)家用电器,第1章计算机基础知识,1.3单片机的基本概念,第1章计算机基础知识,1.3单片机的基本概念,1.3.3.单片机的应用领域单片机的应用范围十分广泛,主要的应用领域有:(1)工业控制(2)仪器仪表(3)计算机外部设备与智能接口(4)商用产品(5)家用电器,第2章 MCS-51单片机的基本结构,返回,2.1.1单片机的硬件结构 8051单片机的硬件结构如图2-1所示。,2.1MCS-51单片机的基本组成,第2章MCS-51单片机的基本结构,返回,1.中央处理器 中央处理器(CPU)由运算器和控制器构成,是单片机的核心部分。它的主要功能是读入并分析每条指令,根据指令的功能,控制单片机的各功能部件执行指定的操作。2.片内存储器 单片机内部存储器的主要功能是存放程序和数据。存储器按其存取方式可以分成两大类:一类是随机存取存储器(random access memory,RAM),主要用于存放暂存数据及调试程序,所以又称为数据存储器;另一类是只读存储器(read only memory,ROM),主要用于存放常数及固定程序,又称为程序存储器。,第2章MCS-51单片机的基本结构,2.1MCS-51单片机的基本组成,根据存储器编程结构也可将存储器分为两种。(1)普林斯顿结构:ROM和RAM安排在同一空间的不同范围(统一编址)。(2)哈佛结构:ROM和RAM分别在两个独立的空间(分开编址)。MCS-51单片机采用的是哈佛结构,而MCS-96、8086等采用的是普林斯顿结构。,第2章MCS-51单片机的基本结构,2.1MCS-51单片机的基本组成,3.定时器/计数器8051单片机有两个16位的可编程定时器/计数器T0和T1,用于精确定时或对外部事件进行计数。4.并行I/O端口8051单片机有4个8位的并行端口(P0、P1、P2、P3),每个并行端口各有8根I/O口线,可单独操作每根口线。5.串行口8051单片机提供全双工串行I/O口,可与外设进行串行通信,也可用于扩展I/O口。6.中断系统8051单片机提供5个中断源,具有两个优先级,可形成中断嵌套。8051单片机以上功能部件均通过内部三总线相连,构成一个整体。与8051稍有不同,8751单片机的内部有4 KB的EPROM,作为程序存储器;8031单片机内部则没有程序存储器,使用时必须在外部扩展。,第2章MCS-51单片机的基本结构,返回,2.1MCS-51单片机的基本组成,2.1.2 单片机的片外总线与引脚功能 1.MCS-51单片机的引脚分布 MCS-51系列单片机的引脚的封装有两种形式:双列直插式封装(DIP)和方形封装。 MCS-51单片机采用两种半导体工艺生成:一种是HMOS工艺,另一种是CHMOS工艺。HMOS工艺的MCS-51系列单片机采用双列直插式封装,有4个并行I/O端口,每个端口都有8条端口线,可分别用做地址线、数据线和I/O线,另外还有6根控制信号线和两根电源线,如下图所示。 大多数CHMOS工艺的单片机(在型号中间加C作为标识,如80C51)采用方形封装形式。,第2章MCS-51单片机的基本结构,2.1MCS-51单片机的基本组成,2.1MCS-51单片机的基本组成,2.2 MCS-51单片机的中央处理器、时钟及时序,第2章MCS-51单片机的基本结构,2.2.1中央处理器 中央处理器主要由运算器和控制器构成,它决定了单片机的主要性能。 1.运算器 运算器以算术/逻辑单元(ALU)为核心。 由累加器(ACC)、寄存器(B)、暂存器1、暂存器2、程序状态字寄存器(PSW)等许多部件构成。 它的功能是完成算术和逻辑运算、位变量处理和数据传送等操作。,2.控制器 控制器是单片机的神经中枢,是由程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、堆栈指针(SP)、数据指针(DPTR)、定时及控制逻辑电路等组成。 它先以主振频率为基准发出CPU的时序,对指令进行译码,然后发出各种控制信号,完成一系列定时控制的微操作,用来协调单片机内部各功能部件之间的数据传送、数据运算等操作。,第2章MCS-51单片机的基本结构,2.2 MCS-51单片机的中央处理器、时钟及时序,第2章MCS-51单片机的基本结构,返回,2.2 MCS-51单片机的中央处理器、时钟及时序,2.2.2时钟电路与时序,1.8051的时钟产生方式 8051的时钟产生方式分为内部振荡方式和外部时钟方式两种。如图2-4(a)所示为内部振荡方式,利用单片机内部的反向放大器构成振荡电路,在振荡器输入端XTAL1和输出端XTAL2的引脚上外接定时元件,内部振荡器产生自激振荡。 如图2-4(b)所示为外部时钟方式,是把外部已有的时钟信号引入到单片机内。此方式常用于多片8051单片机同时工作,以便于各单片机的同步。一般要求外部信号高电平的持续时间大于20 ns,且为频率低于12 MHz的方波。,第2章MCS-51单片机的基本结构,2.2 MCS-51单片机的中央处理器、时钟及时序,第2章MCS-51单片机的基本结构,2.2 MCS-51单片机的中央处理器、时钟及时序,8051单片机的内部振荡时钟产生电路如图2-5所示,晶振频率经分频器二分频后形成两相错开的时钟信号P1和P2。时钟信号的周期称为时钟周期,也称为机器状态周期。在每个时钟周期的前半周期,相位1(P1)信号有效,在每个时钟周期的后半周期,相位2(P2)信号有效。,2.3MCS-51单片机的存储组织,第2章MCS-51单片机的基本结构,2.3.1 存储器空间 对于RAM,CPU在运行过程中能随时进行数据的写入和读出,但在关闭电源时,其所存储的信息将丢失。 ROM是一种写入信息后不能改写、只能读出的存储器。断电后,ROM中的信息保留不变。ROM常被称为程序存储器。MCS-51系列单片机的存储器地址空间可分为5块:(1)片内程序存储器地址空间。(2)片外程序存储器地址空间。(3)特殊功能寄存器地址空间。(4)片内数据存储器地址空间。(5)片外数据存储器地址空间。其中,(1)和(2)统一编址,(3)和(4)统一编址,(5)与(3)、(4)分开编址。,2.3MCS-51单片机的存储组织,第2章MCS-51单片机的基本结构,2.3.2 程序存储器8051单片机的程序存储器有片内和片外之分。片内有4 KB的程序存储器,地址范围为0000H0FFFH。当不够使用时,可以扩展片外程序存储器,因为MCS-51单片机的程序计数器PC是16位的计数器,所以片外程序存储器扩展的最大空间是64 KB,地址范围为0000H0FFFFH。,2.3MCS-51单片机的存储组织,第2章MCS-51单片机的基本结构,2.3.3数据存储器MCS-51的数据存储器分为片外RAM和片内RAM。片外RAM地址空间为64 KB,地址范围是0000H0FFFFH。片内RAM地址空间为128 B,地址范围是00H7FH(与片内特殊功能寄存器SFR统一编址,特殊功能寄存器SFR在后面单独介绍)。在8051单片机中,尽管片内RAM的容量不大,但它的功能多,使用灵活。片内RAM共有128 B,分成工作寄存器区、位地址区和通用RAM区。1.工作寄存器区 2.位地址区3.通用RAM区(数据缓冲器区)4.片外数据存储器,2.3MCS-51单片机的存储组织,第2章MCS-51单片机的基本结构,2.3.4特殊功能寄存器MCS-51内部设置了21个特殊功能寄存器(SFR),离散地分布在80H0FFH的地址空间中。下面对常用的特殊功能寄存器作简单介绍。1)累加器ACC2)寄存器B3)程序状态字寄存器PSW4)堆栈指针SP5)数据指针DPTR6)I/O口寄存器,2.4 MCS-51单片机的并行I/O口,第2章MCS-51单片机的基本结构,2.4.1 P0口的结构和功能 P0口是一个三态双向I/O口,它有两种不同的功能,用于不同的工作环境。在不需要进行外部ROM、RAM等扩展时,作为通用的I/O口使用。在需要进行外部ROM、RAM等扩展时,采用分时复用的方式,通过地址锁存器后作为地址总线的低8位和8位数据总线。P0口的输出端具有驱动8个LSTTL负载的能力。,第2章MCS-51单片机的基本结构,2.4.2 P1口的结构和功能 P1口也是一个准双向口,只作为通用的I/O口使用,其功能与P0口的第一功能相同。作为输出口使用时,由于其内部有上拉电阻,所以不需外接上拉电阻;作为输入口使用时,必须先向锁存器写入1,使场效应管截止,然后才能读取数据。P1口能带34个TTL负载。,2.4 MCS-51单片机的并行I/O口,第2章MCS-51单片机的基本结构,2.4.3 P2口的结构和功能 P2口是一个准双向口, 它有两种功能: 一种是在不需要进行外部ROM、RAM等扩展时,作为通用的I/O口使用,其功能和原理与P0口功能相同,只是作为输出口时不需外接上拉电阻; 另一种是当系统进行外部ROM、RAM等扩展时,P2口作为系统扩展的地址总线口使用,输出高8位的地址A15A7,与P0口作为地址/数据总线使用时输出的低8位地址相配合,共同访问外部程序或数据存储器(64 KB),但它只确定地址,并不能像P0口那样还可以传送存储器的读写数据。P2口能带34个TTL负载。,2.4 MCS-51单片机的并行I/O口,第2章MCS-51单片机的基本结构,2.4.4 P3口的结构和功能 P3口是一个多功能的准双向口。第一功能是作为通用的I/O口使用,其功能和原理与P1口相同。第二功能是作为控制和特殊功能口使用,这时8条端口线所定义的功能各不相同。P3口能带34个TTL负载。,2.4 MCS-51单片机的并行I/O口,第2章MCS-51单片机的基本结构,2.5.1复位状态 复位就是使中央处理器(CPU)以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。单片机在开机时或在工作中因干扰而使程序失控或工作中程序处于某种死循环状态等情况下都需要复位。 MCS-51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位。复位后,PC程序计数器的内容为0000H,即复位后将从程序存储器的0000H单元读取第一条指令码。 复位后,程序存储器内容不变。片内RAM和片外RAM的内容在上电复位后为随机数,而在手动复位后,原数据保持不变。,2.5 MCS-51单片机的复位及复位电路,第2章MCS-51单片机的基本结构,2.5 MCS-51单片机的复位及复位电路,2.5.2复位电路 MCS-51系列单片机的复位信号由RST引脚输入,高电平有效。当RST引脚输入高电平并保持两个机器周期以上时, 单片机内部就会执行复位操作。若RST引脚一直保持高电平,那么,单片机就处于循环复位状态。为了保证复位成功,一般复位引脚RST上只要出现10 ms以上的高电平,单片机就实现了可靠复位。,第3章指令系统,返回,MCS-51系列单片机的指令系统中,共有111条指令,按照功能可分为五大类。(1)数据传送类指令29条,分别为片内RAM,片外RAM,程序存储器的传送指令,交换及堆栈操作指令等。(2)算术运算类指令24条,分别为加、减、乘、除、带进位加、加1、减1指令等。(3)逻辑运算类指令24条,分别为逻辑与、或、异或、移位指令等。(4)控制转移类指令17条,分别为无条件转移与调用、条件转移、空操作指令等。(5)布尔(位)操作指令17条,分别为位数据传送、位与、位或、位转移指令等。,3.1 MCS-51系列单片机指令系统概述,第3章指令系统,返回,第3章指令系统,3.2 MCS-51系列单片机的指令分类,3.2.1数据传送类指令 数据传送指令,能实现多种数据的传送操作。数据传送方向及相互关系如图3-7所示。,第3章指令系统,3.2.2算术运算类指令 算术运算类指令都是通过算术逻辑运算单元ALU进行数据运算处理的指令。它包括各种算术操作,其中有加、减、乘、除四则运算。这些运算指令大大加强了单片机的运算能力。 但ALU仅执行无符号二进制整数的算术运算。对于带符号数则要使用ADD、ADDC、INC、DA、SUBB、DEC、MUL、DIV等助记符。除了加1和减1指令之外,算术运算结果将使进位标志(CY)、半进位标志(AC)、溢出标志(OV)置位或复位。 MCS-51系列单片机还有带借位减法、比较指令。加法类指令包括加法指令、带进位的加法指令、增量(加1)指令以及二十进制调整指令。,3.2 MCS-51系列单片机的指令分类,第3章指令系统,3.2 MCS-51系列单片机的指令分类,3.2.3逻辑运算类指令 逻辑运算类指令主要包括:与、或、异或、清除、求反、移位等,主要用于对两个操作数进行逻辑运算。 操作结果保存到累加器A或直接寻址单元。该类指令执行时一般不影响程序状态字PSW,仅当操作数为累加器A时将影响奇偶标志位P,带进位的移位指令将影响CY位。该类指令的助记符主要有ANL、ORL、XRL、RL、RLC、RR、RRC、CPL、CLR等。,第3章指令系统,3.2 MCS-51系列单片机的指令分类,3.2.4控制转移类指令 程序的顺序执行是由PC自动加1来实现的,但在应用系统中,往往会遇到一些情况,需要强迫改变程序执行顺序。例如,调用子程序或者需要根据检测值与设定值的比较结果将程序转移到不同的分支入口等,控制转移类指令,可分为无条件转移指令、条件转移指令、循环转移指令、子程序调用、返回指令及空操作指令等,但不包括布尔变量控制程序转移指令。 控制转移类指令采用的助记符有:AJMP、LJMP、SJMP、JZ、JNZ、CJNE、DJNZ、ACALL、LCALL、RET、RETI、NOP等。 ,第3章指令系统,3.2 MCS-51系列单片机的指令分类,3.2.5位操作类指令 MCS-51系列单片机内部有一个布尔(位)处理器,具有较强的布尔变量处理能力。布尔处理器实际上是一位的微处理机,它以进位标志CY作为位累加器,以内部RAM的20H至2FH单元及部分特殊功能寄存器为位存储器,以P0、P1、P2、P3为位I/O。 对位地址空间具有丰富的位操作指令,包括布尔传送指令、布尔状态控制指令、位逻辑操作指令及位条件转移指令。助记符有MOV、CLR、CPL、SETB、ANL、ORL、JC、JNC、JB、JNB、JBC等11种。,第3章指令系统,3.3 实 例 解 析,【实例】对从P1口输入的100个09的数进行概率统计,统计的数值分别存入20H29H单元中。,第4章汇编语言程序设计,返回,汇编语言具有以下几个特点: 1.助记符指令与机器指令是一一对应的,所以用汇编语言编写的程序效率高,占用存储空间小,运行速度快,而且能反映计算机的实际运行情况,所以用汇编语言能编写出最优化的程序。 2.汇编语言是“面向机器”的语言,编程比使用高级语言困难。 3.汇编语言能直接访问存储器、输入与输出接口及扩展的各种芯片(例如,A/D、D/A等),也可直接处理中断,因此汇编语言能直接管理和控制硬件设备。 4.汇编语言通用性差,汇编语言和机器语言一样,都面向一台具体的机器,不同的单片机具有不同的指令系统,并且不能通用。,4.1程序设计基础,第4章汇编语言程序设计,返回,目前,可用于程序设计的语言基本上可分为3种:机器语言、汇编语言和高级语言。这里重点介绍汇编语言。这三者之间的关系如图4-1所示。,第4章汇编语言程序设计,4.1程序设计基础,第4章汇编语言程序设计,返回,4.1程序设计基础,4.1.1汇编语言源程序设计的步骤,1.程序结构设计例如,编写一个程序,该程序将两个8位整数相乘,得到16位的乘积。单片机的输入设备是8个旋钮开关和一个按钮。每输入一个数,是用户通过开关送入二进制数,然后按一下按钮。输出设备是8个指示灯。做完乘法后,该指示灯显示乘数和乘积。每一个数显示10 s,每个数字显示后,指示灯关闭1 s。这个非常简单的程序可以分解为几个相互有联系的模块,如图4-2所示。主程序调用3个不同的子程序作为支援:(1)INSW:从开关读入一个8位数;(2)OUTDSP:用指示灯显示一个8位数;(3)DELAYN:延迟事先规定好的秒数。,第4章汇编语言程序设计,返回,4.1程序设计基础,第4章汇编语言程序设计,返回,4.1程序设计基础,2.模块设计程序结构设计好后,就要进一步进行模块设计。DELAY N子程序往往由延迟1 s的DLIS子程序来形成。由于按钮“接触抖动”,在从开关读入一个数据前,INSW子程序等待10 ms,因此要用另一个子程序DLAY 10M实现,这样得到最终程序结构。3.开发方法开发一个程序的明智方法是分小段编码,一般有以下两种方法:(1)自底向上开发:首先对最底层模块进行编码、测试和调试。这些模块正常工作后,就可以用它们来开发较高层的模块。(2)自顶向下开发:与自底向上开发方法相反,是首先对最高层进行编码和调试。,第4章汇编语言程序设计,返回,4.1程序设计基础,4.1.2汇编语言的语法结构,汇编语言语句有3种基本类型:指令语句、伪指令和宏指令。指令语句由4个字段组成,汇编语言能对各种格式进行识别,其格式如下: 标号(名字):操作码操作数(参数);注释 在书写汇编语言程序的时候,括号内的部分可以根据情况取舍。各个字段之间要用分隔符分开。常用的分隔符有空格、冒号、逗号、分号等。,第4章汇编语言程序设计,返回,4.1程序设计基础,【例4-1】编写程序把片外存储器2200H单元中的数送入片内70H单元中。解: 编程如下:标号操作码操作数注释BEGIN:MOV DPTR,#2200H;(DPTR)=2200HMOV R0,#70H;(R0)=70HMOVX A,DPTR;(A)=(DPTR)MOV R0,A;(R0)=(A),第4章汇编语言程序设计,4.1.3汇编语言的伪指令,1.汇编起始地址伪指令 汇编起始地址伪指令的一般格式如下: ORG表达式 该指令的功能是向汇编程序说明,下述程序段的起始地址由表达式指明。表达式通常为十六进制的地址码。,4.1程序设计基础,第4章汇编语言程序设计,4.1程序设计基础,2.汇编结束伪指令汇编结束伪指令的一般格式如下:格式1:字符名称END表达式格式2:字符名称END或者END该指令是汇编语言源程序的结束标志,在END以后所写的指令,汇编程序都不予处理。因此,在一个源程序中只允许出现一个END语句,它必须放在整个程序的最后。3.赋值伪指令赋值伪指令的一般格式如下:字符名称EQU表达式,4.数据地址定义指令数据地址定义指令的一般格式如下:字符名称DATA表达式 DATA伪指令的功能与EQU有些相似,使用时要注意它们有以下区别:(1)EQU伪指令必须先定义后使用,而DATA伪指令可以后定义先使用;(2)用EQU伪指令可以把一个汇编符号赋给一个字符名称,而DATA只能把数据赋给字符名称;(3)DATA伪指令可将一个表达式的值赋给一个字符名称,所定义的字符名称也可以出现在表达式中,而EQU定义的字符则不能这样使用。DATA伪指令在程序中常用来定义数据地址。5.定义标号值伪指令定义标号值伪指令的一般格式如下:字符名称DL表达式,4.1程序设计基础,第4章汇编语言程序设计,4.2 顺序结构程序设计,单片机程序设计和其他程序设计一样,程序结构一般也采用以下3种基本控制结构,即顺序结构、分支结构和循环结构。再加上使用广泛的子程序及中断服务子程序,共有5种基本结构。 所谓顺序结构是指按照逻辑操作顺序,从某一条指令开始逐条顺序执行,直至某一条指令为止。下面以例题的形式介绍几种顺序结构程序设计。,第4章汇编语言程序设计,4.2 顺序结构程序设计,4.2.1数据传送程序设计【例4-10】编程:现有两个双字节无符号数,分别存放在R3、R4、R5、R6中,高字节在前,低字节在后,通过编程使两数相加,和分别存放在20H、21H、22H单元中。解: 这个程序比较简单,求和的方法与笔算类似,先加低位后加高位,其程序段如下:,ORG4000HCLRC;清CMOVA,R4;把被加数的低位放到AADDA,R6;将加数和被加数的低位相加MOV22H,A;把结果的低位存入22H单元MOVA,R3;把被加数的高位放到AADDCA,R5;将加数和被加数的高位相加并加低位和进位MOV21H,A;把结果的高位存入21H单元MOVA,#00H;清AADDCA,#00H;加进位MOV20H,A;存和的进位END,第4章汇编语言程序设计,4.2 顺序结构程序设计,【例4-11】编程:将R2与R3内容互换,R4与内存70H单元内容互换。解: 这个程序只需要利用交换指令和传送指令就可以完成,其程序段如下:XCHR:MOVA,R2XCHA,R3XCHA,R2;R2与R3内容互换MOVA,R4XCHA,70HXCHA,R4;R4与70H单元内容互换,第4章汇编语言程序设计,4.2 顺序结构程序设计,4.2.2 算术运算程序设计【例4-12】若a、b、c三个数分别存放在存储器40H、41H、42H三个单元中,试编写计算Ya+b-c的程序。,根据流程图,编写Y=a+b-c源程序如下:ORG 1000HSTART:MOV A,40H;将a送给AADD A,41H;将a+b送给ACLR C;清CSUBB A,42H;将(a+b)-c送给AMOV 43H,A;将A送给43HEND,第4章汇编语言程序设计,4.2 顺序结构程序设计,【例4-13】编程: 设被加数存放于片内RAM的20H(低位字节)和21H(高位字节),加数存放于22H(低位字节)和23H(高位字节),运算结果的和存放于20H(低位字节)和21H(高位字节)中。,解: 实现16位相加,其程序段如下:START:PUSH ACC;将A中内容进栈保护MOV R0,20H ;将20H地址中的内容送R0MOV R1,22H ;将22H地址的内容送R1MOV A,R0 ;被加数低字节内容送AADD A,R1 ;低字节数相加MOV R0,A ;低字节数和存20H中INC R0 ;指向被加数高位字节INC R1 ;指向加数高位字节MOV A,R0 ;被加数高位字节送AADDC A,R1 ;高字节数带进位相加MOV R0,A ;高字节数和存21H中CLR AADDC A,#00HMOV 10H,A ;进位暂存于10H中POP ACC ;恢复A原内容,第4章汇编语言程序设计,4.2 顺序结构程序设计,4.2.3 延时程序设计有些情况可以不采用单片机内的定时器/计数器作定时,而是采用软件延时的办法,执行一段循环程序,而循环程序执行的时间即为延时时间。【例4-14】采用查询方式实现定时延时。解: 编程如下:ORG 0000HAJMP STARTORG 30HSTART :MOV P1,#0FFH MOV TMOD,#00000001B MOV TH0,#15HMOV TL0,#0A0H,SETB TR0 LOOP:JBC TF0,NEXT AJMP LOOP NEXT:CPL P1.0MOV TH0,#15HMOV TL0,#9FHAJMP LOOPEND AJMP LOOP,第4章汇编语言程序设计,4.2 顺序结构程序设计,【例4-15】采用中断方式实现定时延时。解: 编程如下:ORG 000BH AJMP TIME0 ORG30HSTART:MOV P1,#0FFH MOV TMOD,#00000001B MOV TH0,#15HMOV TL0,#0A0H,SETB EA SETB ET0 SETB TR0 LOOP:AJMP LOOP TIME0:PUSH ACC PUSH PSW CPL P1.0MOV TH0,#15HMOV TL0,#0A0H POP PSWPOP ACCRETIEND,第4章汇编语言程序设计,4.3 分支结构程序设计,4.3分支程序设计 在MCS51系列单片机的应用系统中,不论是一个问题的求解,还是一个控制过程的实施,将会遇到多条路径需要判断、选择;当满足一定条件时,程序执行的方向将发生变化,在程序设计中称为分支程序。 由分支程序的定义可以看出,分支程序是有条件的,根据不同的条件,执行不同的指令,在汇编分支程序时,关键是如何判断分支的条件。分支程序设计的技巧,就在于如何正确地应用指令,实现对程序简便而有效的控制。 分支程序从结构上分为单分支程序和多分支程序两种情况。,第4章汇编语言程序设计,4.3 分支结构程序设计,1.单分支程序 单分支程序结构如图4-5所示。如果给出的条件满足要求,则转向分支程序段A,执行完分支程序段A后继续执行下一程序段;如果给出的条件不满足要求,则不转向,接着执行下一程序段。,第4章汇编语言程序设计,4.3 分支结构程序设计,2.多分支程序 多分支程序又称散转程序,它是根据输入条件或者根据运算结果来确定转向位置的处理程序。判断一个分支条件无法解决的问题,需要判断两个或两个以上的条件。多分支选择结构通常有两种形式,如图4-7所示。,第4章汇编语言程序设计,4.3 分支结构程序设计,8051单片机设有两条多分支选择指令:(1)散转指令。格式如下:JMPADPTR说明: 散转指令由数据指针DPTR决定多分支转移程序的首地址,由累加器A中内容动态地选择对应的分支程序。因此,可从多达256个分支中选1。(2)比较指令。格式如下:CJNEA,direct,rel(共有4条),第4章汇编语言程序设计,4.4循环结构程序设计,循环程序通常由以下几个部分组成:(1)设置循环初值。 (2)循环体。(3)修改循环控制变量。具体地说,就是每执行一次循环指令,对地址指针做一次修改,使指针指向下一数据所在位置,为进入下一轮循环体做准备。(4)循环控制部分。循环控制部分是根据循环次数或循环结束条件,判断是否继续循环。若循环次数未达到规定值,则继续循环;若循环次数达到规定值则退出循环。(5)结束部分。,第4章汇编语言程序设计,4.4 循环结构程序设计,主机对循环程序的初始化和结束部分均只执行一次,而对循环体和循环控制部分则常需重复执行多次。 不管条件如何,它至少执行一次循环体。当循环计数回“0”时,结束循环。循环体和循环控制这两部分是循环程序的主体,是循环程序设计的重点。,第4章汇编语言程序设计,4.4 循环结构程序设计,右图是条件循环结构形式。条件循环先检查控制条件是否成立,决定循环程序是否执行。当循环结束条件一开始就已成立,则循环体可能一次也不执行。这是两种不同结构的本质区别。,第4章 汇编语言程序设计,4. 5 子程序设计,子程序在结构上与主程序没有根本的区别,子程序也可以由简单结构、分支结构或循环结构构成。 不同之处在于子程序在操作的过程中需要由其他程序来调用,执行完以后又需要将执行流程返回到调用该子程序的程序中。子程序的执行过程如图所示。,第4章汇编语言程序设计,4. 5 子程序设计,1.子程序调用的规则和应该注意的地方 在汇编语言源程序中调用子程序时,应注意解决好以下问题: (1) 主程序与子程序之间的参数传递

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开