书签 分享 收藏 举报 版权申诉 / 556
上传文档赚钱

类型配套课件-单片机原理与C51程序设计基础教程.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3224527
  • 上传时间:2022-08-07
  • 格式:PPT
  • 页数:556
  • 大小:11.06MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《配套课件-单片机原理与C51程序设计基础教程.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    配套 课件 单片机 原理 C51 程序设计 基础教程
    资源描述:

    1、重点内容:重点内容:l 单片机简介单片机简介 l单片机的应用领域及趋势单片机的应用领域及趋势l常用常用51 51单片机介绍单片机介绍 l本章小结本章小结 微处理器:如果把运算器和控制器封装在一块芯片上,则称该芯片为微处理器(MPU,Micro Processing Unit)或者是中央处理器(CPU,Central Processing Unit)。微型计算机:将微处理器与大规模集成电路制成的存储器,输入输出接口电路在印制电路板上用总线连接起来,就够成了微型计算机。弹片机:如果在一块芯片上,集成了一台微型计算机的四个组成部分,则称为单片微型计算机,简称单片机。换句话而言,单片机是一块芯片上的微

    2、型计算机。以单片机为核心的硬件电路称为单片机系统,它属于嵌入式系统地应用范畴。右图是一款双列直插封装的51单片机芯片AT89S52。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围电路和软件,能实现一种或多种功能的实用系统。所以说,单片机应用系统是由硬件和软件组成的,硬件是应用系统的基础,软件则在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,缺一不可。单片机从用途上可分成专用型单片机和通用型单片机两大类。专用型单片机是为某种

    3、专门用途而设计的,如DVD控制器和数码摄像机控制器芯片等。在用量不大的情况下,设计和制造这样的专用芯片成本很高,而且设计和制造的周期也很长。我们通常所用的都是通用型单片机,通用型单片机把所有资源(如ROM、I/O等)全部提供给用户使用。位数:即单片机能够一次处理的数据的宽度存储器:包括程序存储器和数据存储器,程序存储器空间较大,数据存储器的字节数则通常为几十字节到几百字节之间。I/O口:即输入输出口,用户可以根据自己的需要进行选择。速度:指的是CPU的处理速度,以每秒执行多少条指令衡量,常用单位是MIPS(百万条指令每秒),工作电压:通常工作电压是5V功耗:低功耗是现代单片机所追求的一个目标温

    4、度:单片机根据工作温度可分为民用级(商业级)、工业级和军用级三种。附加功能:有的单片机有更多的功能,用户可根据自己的需要选择最适合自己的产品。单片机作为微机的一种,它具有如下特点:1)具有优异的性能价格比。2)集成度高、体积小、可靠性高。3)控制功能强,开发应用方便。4)低电压、低功耗。首先,大概了解单片机的结构其次,要有大量的实例练习第三,要多结合外围电路,如流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器进行练习最后,就是结合自己的实际情况,开发一个完全具有个人风格,功能完善的电子产品,尽情享受单片机带来的欢乐和成就感 单片机广泛应用于仪器仪表、家用电器、医用设备、

    5、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:(1)在智能仪器仪表上的应用(2)在工业控制中的应用(3)在家用电器中的应用(4)在计算机网络和通信领域中的应用(5)在医用设备领域中的应用 随着科学技术的发展,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。Philips公司生产与MCS-51兼容的80C51系列单片机,片内具有I2C总线、A/D转换器、定时监视器、CRT控制器(OSD)等丰富的外围部件。其主要产品有LPC900系列,LPC76x系列,P8xC5x系列,增强型80C51

    6、系列。以P87C552为例,它具有8K ROM,256B RAM,48个I/O口,3个16位定时/计数器,15个中断源,16MHz的工作频率,UART,I2C通道,8路10位A/D转换器,工作电压为2.7-5.5V。Philips单片机独特的创造是具有I2C总线,这是一种集成电路和集成电路之间的串行通信总线。可以通过总线对系统进行扩展,使单片机系统结构更简单,体积更小。I2C总线也可以用于多机通信。Motorola公司的单片机从应用角度可以分为两类:高性能的通用型单片机和面向家用消费领域的专用型单片机。通用型单片机具有代表性的是MC68HC11系列,有几十种型号。其典型产品为MC68HC11A

    7、8,具有准16位的CPU、8KB ROM、256B RAM、512B E2PROM、16位9功能定时器、38位I/O口线、2个串行口、8位脉冲累加器、8路8位A/D转换器、看门狗、17个中断向量等功能,可单片工作,也可以扩展方式工作。单片机即单片微型计算机,它把一台计算机所需要的部件集成在一个芯片上,单片机应用系统是以单片机为核心,配以外围电路和软件,能实现一种或多种功能的实用系统。单片机具有体积小、质量轻、价格便宜等优点,广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。目前常用的8位单片机有AVR,PIC,51这三个系列,51单片机指的是以Intel

    8、8051为内核的一系列单片机,它因为技术成熟,学习资料丰富而得到广泛应用。51系列单片机又分为标准型和增强型,增加型51系列与标准型完全兼容,并且一些功能有所增强。Intel、Atmel、Philips、Motorola等公司是51单片机的主要厂商。51单片机型号繁多,选型时应从芯片的通用性和系统的需求等方面考虑。重点内容:重点内容:l 单片机的内部结构单片机的内部结构 l单片机引脚功能单片机引脚功能l单片机的工作时序单片机的工作时序 l单片机的工作方式单片机的工作方式l单片机的最小系统单片机的最小系统l本章小结本章小结 51单片机内部有一个8位的面向控制、功能强大的微处理器,其主要功能是运算

    9、和控制整个系统协调工作。它由运算器和控制器两部分组成。1 运算器运算器主要实现对操作数的算术运算、逻辑运算和位操作。主要包括算术逻辑运算部件(ALU)、累加器A、寄存器B、程序状态字PSW、暂存器、布尔外理器以及十进制调整电路等部件。算术与逻辑部件ALU(Arithmetical Logic Unit)算术逻辑单元ALU是计算机中必不可少的数据处理单元之一,主要对数据进行算术逻辑运算。从结构上看,该单元实质是一个全加器,它的运算结果将对程序状态字PSW产生影响。该单元主要完成以下操作:加、减、乘、除运算;增量(加1)减量(减1)运算;十进制数调整;位操作中的置位、复位和取反操作;与、或、异或等

    10、运算操作;数据传送操作。累加器A累加器A是CPU中最繁忙、使用频度最高的一个特殊功能寄存器,简称为ACC或A寄存器,其作用为:累加器A作为ALU的输入数据源之一,也是ALU的输出;CPU中的数据传送大多数都通过累加器,累加器A是一个非常重要的数据中转站。寄存器B寄存器B是一个8位寄存器,是为ALU进行乘、除运算而设置的。在执行乘法运算指令的时候,寄存器B用于存放其中的一个乘数和乘积的高8位数。在执行出发运算的时候,寄存器B用于存放除数和余数。在其他情况下,B寄存器可以作为一个普通的寄存器使用。程序状态字程序状态字PSW(Program Status Words)是一个8位的专用寄存器,用于存储

    11、程序运行中的各种状态信息。它被逐位定义,可以位寻址,暂存器 用以暂存进入运算器之前的数据。布尔处理器布尔处理器(位处理器)是51单片机ALU所具有的一种功能。单片机指令系统的位处理指令集(17条位操作指令),存储器中的位地址空间,以及借用程序状态寄存器PSW中的进位标志CY做为位操作“累加器”,构成了51单片机内的布尔处理器。它可对直接寻址的位(bit)变量进行位处理,如置位、清零、取反、测试转移以及逻辑“与”、“或”等位操作,使用户在编程时可以利用指令完成原来单凭复杂的硬件逻辑锁完成的功能,并可方便地设置标志等。十进制调整电路顾名思义,用来进行十进制调整的电路。2 控制器控制器是控制计算机系

    12、统各种操作的部件,其功能是控制指令的读取、译码和执行,对指令的执行过程进行定时控制,并根据执行结果决定其后的操作。它包括时钟发生器、定时控制逻辑、复位电路、指令寄存器IR、指令译码器ID、程序计数器PC、程序地址寄存器、数据指针DPTR、堆栈指针SP等。51系列单片机的存储组织采用的是哈佛(Harvard)结构,即将程序存储器和数据存储器截然分开,程序存储器和数据存储器具有各自独立的寻址方式、寻址空间和控制系统。这种结构对于单片机“面向控制”的实际应用极为方便。在物理结构上,51系统单片机有4个存储器空间:程序存储器:片内程序存储器和片外程序存储器;数据存储器:片内数据存储器和片外数据存储器。

    13、51单片机内部有一个8位的面向控制、功能强大的微处理器,其主要功能是运算和控制整个系统协调工作。它由运算器和控制器两部分组成。1 运算器运算器主要实现对操作数的算术运算、逻辑运算和位操作。主要包括算术逻辑运算部件(ALU)、累加器A、寄存器B、程序状态字PSW、暂存器、布尔外理器以及十进制调整电路等部件。1存储原理为了探讨计算机的存储原理,先让我们做一个实验:这里有两盏灯,我们知道灯只有亮和灭两种状态,我们能用0和1来代替这两种状态,规定亮为1,灭为0。现在这两盏灯总共有几种状态呢?我们列表来看一下,如图所示:存储器是利用电平的高低来存放数据的。它是由大量寄存器组成的,其中每一个寄存器就称为一

    14、个存储单元。它可存放一个有独立意义的二进制代码。一个代码由若干位(bit)组成,代码的位数称为位长,习惯上也称为字长。2内部程序存储器51单片机程序存储器是用来存放经过调试正确的应用程序和表格之类的固定数据的。3内部数据存储器数据存储器由随机存储器RAM组成,这种存储器又叫读写存储器。它不仅能读取存放在存储单元中的数据,还能随时写入新的数据,写入后原来的数据就丢失了。断电后RAM中的信息全部丢失。因此,RAM用来存放运算中的数据、中间结果及最终结果。4特殊功能寄存器在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,有程序存储器,有数据存储器,此外还有定时/计数器,串行I/O口,中

    15、断系统,以及一个内部的时钟电路。对并行I/O口的读写只要将数据送入到相应I/O口的锁存器就可以了,那么对于定时/计数器,串行I/O口等怎么用呢?在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。5存储器结构特点单片机的存储器结构与微型计算机有很大的不同。它的两个重要的特点是:一是把数据存储器和程序存储器截然分开,二是存储器有内外之分。对于面向控制应用且又不可能具有磁盘的单片机系统来说,程序存储器是至关重要的,但数据存储器也不可少。为此单片机的存储器分为数据存储器和程序存储器,其地址空间、存取指令和控制信号各有一套。51系列单片机有1个8位双向并行I/O端口P

    16、0和3个8位准双向并行I/O端口P1P3。每一位端口都由口锁存器、输出锁存器和输入缓冲器组成。它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。1P0端口图表示了P0端口中某一位的电路结构。由图可见,电路中包含有一个数据输出锁存器、两个三态数据输入缓冲器、一个数据输出的驱动电路和一个输出控制电路。当对P0口进行写操作时,由锁存器和驱动电路构成数据输出通路。由于通路中已有输出锁存器,因此数据输出时可以与外设直接连接,而不需再加数据锁存电路。P1端口某一位的电路结构如图2.7所示。因为P1口通常是作为通用I/O口使用的,所以在电路结构上与P0口有一些不同之处,主要表现为2点:首先它不再需要

    17、多路转接电路MUX;其次是电路的内部有上拉电阻,与场效应管共4同组成输出驱动电路。为此,P1口作为输出口使用时,已经能向外提供推拉电流负载,无需再外接上拉电阻。当P1口作为输入口使用时,同样也需先向其锁存器写“1”,使输出驱动电路的FET截止。VCC锁存器P1.XDCPQQP1.X引脚读锁存器写锁存器内部总线读引脚内部上拉电阻P2端口的电路如图2.8所示。P2口电路比P1口电路多了一个多路转接电路MUX,这又正好与P0口一样。P2口可以作为通用I/O口使用,这时多路转接电路开关倒向锁存器Q端。通常情况下,P2口是作为高位地址线使用而不作为数据线使用,此时多路转接电路开关应倒向相反方向。锁存器P

    18、2.XDCPQQ读锁存器写锁存器内部总线读引脚VCCP2.X引脚内部上拉电阻1地址 控制MUXP3端口某一位的电路如图2.9所示。P3口的特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。对于于第二功能信号有输入和输出两类。锁存器P3.XDCPQQ读锁存器写锁存器内部总线读引脚VCCP3.X引脚内部上拉电阻&第二输出功能第二输入功能8051有两个16位定时器/计数器T0和T1,分别与2个8位寄存器T0L、T0H及T1L、T1H对应。8051的定时器/计数器可以工作在定时方式或计数方式。1定时方式定时方式实现对单片机内部的时钟脉冲或分频后的脉冲进行计数。2计数方式实现对外部脉冲的计

    19、数,读者将对定时器/计数器将在后续章节中进行具体学习。在单片机系统设计设计中,中断是一个必不可少的概念。在程序的执行过程中,有时候需要停下手头的工作转而执行其他的一些重要工作,并在执行完后返回到原来的执行的程序中,然后继续执行未完成的任务。这就是中断的一般过程。8051有5个中断源,两个中断优先级控制,可以实现两个中断服务嵌套。两个外部中断INT0、INT1,两个定时器中断T0、T1,还有一个串行口中断。中断的控制由中断允许寄存器IE和中断优先级寄存器IP实现。关于中断的设置和实现将在后续章节进行具体讲解学习。1供电引脚供电引脚接入AT89S51的工作电源。VCC:电源正级,一般为+5V。GN

    20、D:电源地。2I/O引脚顾名思义,就是输入/输出引脚。P0:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚

    21、由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器T2的外部计数输入(P1.0/T2)和时器/计数器T2的触发输入(P1.1/T2EX),具体功能见表2.7。在flash编程和校验时,P1口接收低8位地址字节。P2:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八

    22、位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,见表2.8。在flash编程和校验时,P3口也接收一些控制信号。3控制引脚控制引脚包括R

    23、ST、ALE、,此类引脚提供控制信号,有些引脚具有复用功能。RST:复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如

    24、果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN 将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA 应该接VCC。在flash编程期

    25、间,EA也接收12伏VPP电压。外接晶振引脚外接晶振引脚与片内的反相放大器构成一个振荡器,他提供了单片机的时钟控制信号,也可采用外部晶体振荡器。XTAL1:接外部晶体的一个引脚,在单片机内部,它是一个反相放大器的输入端。若采用外部振荡器,该引脚接收振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。XTAL2:借外部晶体的另一端,在单片机内部接到反相放大器的输出端,当采用外接晶体振荡器时,此引脚可以不接。时钟信号可以由两种方式产生:一种是内部方式,利用芯片内部的振荡电路产生时钟信号;另一种为外部方式,时钟信号由外部引入。51单片机有一个用于构成内部振荡器的反相放大器,引脚XTAL1 和XT

    26、AL2 分别是放大器的输入、输出端。外接石英晶体和陶瓷电容构成自激振荡器。这种方式称为内部时钟方式。如果振荡器已起振,则在XTAL2引脚上输出3V左右的正弦波。振荡器的频率取决于晶振的频率。电容C1和C2主要作用是帮助起振(谐振),其值的大小对振荡频率也有影响。因此常用调节C1或C2的容量大小对频率进行微调,电容容量在通常在20pF100pF之间选择,当时钟频率为12MHz时典型值为30Pf。(1)拍节与状态把振荡脉冲的周期定义为拍节(用P表示)。振荡脉冲经过二分频后,就是单片机的时钟信号的周期,其定义为状态(用S表示)。这样,一个状态就包含两个拍节,具前半周期对应的拍节叫拍节1(P1),后半

    27、周期对应的拍节叫拍节2(P2)。(2)机器周期51单片机采用定时控制方式,因此它有固定的机器周期。规定一个机器周期的宽度为6个状态,并依次表示为S1S6。由于一个状态又包括两个拍节,因此一个机器周期总共有12个拍节,分别记作S1P1、S1P2、S6P2。由于一个机器周期共有12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。当振荡脉冲频率为12MHz时,一个机器周期为1s;当振荡脉冲频率为6MHz时,一个机器周期为2s。(3)指令周期指令周期是最大的时序定时单位,执行一条指令所需要的时间称为指令周期。它一般由若干个机器周期组成。不同的指令,所需要的机器周期数也不相同。通常,包含一个机器周期

    28、的指令称为单周期指令,包含两个机器周期的指令称为双周期指令,等等指令的运算速度与指令所包含的机器周期有关,机器周期数越少的指令执行速度越快。MCS-51单片机通常可以分为单周期指令、双周期指令和四周期指令等三种。四周期指令只有乘法和除法指令两条,其余均为单周期和双周期指令。单片机执行任何一条指令时都可以分为取指令阶段和执行指令阶段,时序如图2.13所示,(a)为单字节单周期指令;(b)为双字节单周期指令;(c)为单字节双周期指令。图(a),(b)所示分别给出了单字节单周期和双字节单周期指令的时序。单周期指令的执行始于S1P2,这时操作码被锁存到指令寄存器内。若是双字节,则在同一机器周期的S4读

    29、第二字节。若是单字节指令,则在S4仍有读操作,但被读入的字节无效,且程序计数器PC并不增量。图(c)给出了单字节双周期指令的时序,两个机器周期内进行4次读操作码操作。因为是单字节指令,所以,后三次读操作都是无效的。(a)(b)(c)S1S2S3S4S5S6S1S2S3S4S5S6读操作码读操作码(无效)读操作码T时钟S1S2S3S4S5S6读操作码(无效)读下一条指令S1S2S3S4S5S6读下一条指令读操作码读第二字节ALE1上电自动复位上电复位电路只需在RST端接一个电容至VCC和一个电阻至VSS即可,如图2.14所示。加电瞬间,RST端出现一段时间的高电平,只要高电平保持至少2个机器周期

    30、,51单片机就会执行复位操作,然后把RST恢复为低电平。电路中,时间常数RC越大,上电时保持高电平的时间越长,当振荡频率为12MHz时,典型值C=10F,R=8.2 k,当时钟频率选用6MHz时,C=22F,R=1 k。上述参数比实际要求的值大很多,但通常设计人员并不关心多出的复位时间。2人工复位除了上电复位外,有时还需要人工复位。将一个按钮开关并联于上电自动复位电路,就是人工复位电路,如图2.15。程序的执行方式是单片机的基本工作方式。由于复位后PC=0000H,因此程序执行总是从地址0000H开始。1连续执行方式连续执行方式是单片机执行的基本工作方式,所要执行的代码放在程序存储器ROM中(

    31、可以是片内或片外),CPU不断地从程序存储器中取指令、分析并执行。2单步执行方式程序的执行处于外加脉冲(通常用一个按键产生)的控制下,一般利用中断来实现程序的单步执行。对于51单片机来说,有待机方式和掉电保护方式两种低功耗方式。通过设置电源控制寄存器PCON的相关位,可以指定当前的工作方式为低功耗方式。PCON寄存器格式如表2.10所示。1待机方式如果使用指令使PCON寄存器IDL位置“1”,则进入待机方式。这时振荡器仍然工作,并向逻辑中断、串行口和定时器/计数器电路提供时钟,但向CPU提供时钟的电路被阻,因此CPU不能工作,与CPU相关的如SP、PC、PWS、ACC以及全部通用寄存器也被“冻

    32、结”在原状态。在待机方式下,中断功能应继续保留,一便采用中断方法退出待机方式。为此,应该引入一个外中断请求信号,在单片机响应中断的同时,IDL位被硬件自动清“0”,单片机就退出待机模式而进入正常工作方式。2掉电保护方式PCON寄存器的PD位控制单片机进入掉电保护方式。因此对于51单片机,在检测到电源故障时,除进行信息保护外,还应把PD位置“1”,使之进入掉电保护方式。此时单片机一切工作都停止,只有内部RAM单元的内容被保存。单片机最小系统包括单片机及其所需的必要的电源、时钟、复位等部件,能使单片机 处于正常的运行状态。电源、时钟等电路是使单片机能运行的必备条件,可以将最小系统作为应用系统的核心

    33、部分,通过对其进行存储器扩展、A/D扩展等,因此51单片机最小系统的功能主要如下:能够运行用户程序。用户可以复位单片机。具有相对强大的外部扩展功能。最小系统的结构如图2.16所示。本章主要介绍了单片机的内部结构和基本组成,详细介绍了MCS-51单片机的中央处理器、存储器结构、输入输出接口、引脚、中断系统、定时器/计数器以及单片机工作方式和最小系统等内容,为以后的学习打下坚实的基础。通过本章的学习,读者应该掌握以下几个知识点:1.了解单片机单片机的基本结构和组成。2.理解单片机的运行基本原理。3.知道单片机最小系统的组成。重点内容:重点内容:l单片机的指令系统概述单片机的指令系统概述l单片机的寻

    34、址方式单片机的寻址方式l单片机的指令说明单片机的指令说明l本章小结本章小结汇编语言是我们后面所讲的指令系统的一个子集,只要指令按格式书写就构成了程序的基本格式。在程序中,指令格式由以下几部分组成:操作码 目的操作数,源操作数 ;注释对各部分的解释如下:操作码:操作码用助记符表示,它代表了指令的操作功能。操作码是指令的必需部分,是指令的核心,不可缺少。操作数(目的操作数和源操作数):是指参加操作的数据或数据的地址。操作数的个数可以是03个。操作数与操作码之间用空格分隔,操作数与操作数之间用逗号“,”分隔。注释:注释属于非必需项,是为便于阅读,对指令功能作的说明和注解。注释必须以“;”开始。注释的

    35、长度不限,当一行不够时,可以换行后接着书写,但是换行时应以分号“;”开始。为了方便后面指令系统的学习和记忆,我们需要对51单片机指令系统中的一些常用符号进行了解。常用符号的说明如下:(1)#data:8位立即数;(2)#data16:16位立即数;(3)Rn:工作寄存器,R0R7,n为07;(4)Ri:工作寄存器,0或1,i=0或1;(5)Ri:寄存器Ri间接寻址8位存储单元00HFFH;(6)direct:8位直接寻址,可以是特殊功能寄存器SFR的80HFFH或内部存储单元00H7FH;(7)addr11:11位目的地址。用于AJMP和ACALL指令,均在2KB地址内转移或调用;(8)add

    36、r16:16位目的地址。用于LJMP和LCALL指令,可在64KB地址内转移或调用;(9)rel:带符号的8位偏移地址,主要应用于所有的条件转移指令和SJMP。其范围是相对于下一条指令的第一字节地址128 +127字节;(10)bit:位地址。片内RAM中的可寻址位和专用寄存器中的可寻址位;(11)DPTR:数据指针,可用于16位的地址寄存器;(12):间接寄存器或者是基址寄存器的前缀。如:DPTR,Ri,A+PC,A+DPTR;(13)A:累加器ACC;(14)B:通用寄存器,常用于乘法MUL和除法DIV的指令;(15)Cy:进位标志位或者布尔处理器中的累加器。立即寻址就是直接将需要访问的数

    37、据在指令中给出,这样的寻址方式就是立即寻址。立即寻址的方式为:MOV A dataH就是一条立即寻址方式的传送指令,通常我们把出现在指令中的操作数data称之为立即数。假如立即数是0F4H,则指令为:MOV A 4BH 指令功能是把数据4BH传送到累加器A中。值得注意的一点是:在立即数寻址中立即数前面必须要加上一个“”号。直接寻址就是直接在指令中指定操作数的地址,-比如:MOV A,3AH 其功能就是将地址为3AH的存储单元中数据取出来传送给累加器A。这里的操作数就是直接通过数据存储器的地址3AH来指定的。直接寻址方式的寻址范围仅限于内部数据存储器。对于内部数据存储器的低128个字节可以直接通

    38、过地址的方式来指定,而对于高128个字节除了可以通过地址的方式来指定外还可以通过特殊功能寄存器的寄存器符号给出。寄存器寻址方式就是操作数存储在寄存器中,指定寄存器就得到了操作数,例如:MOV A,R0其功能是将寄存器R0中的数据传送到累加器A中,这样通过直接指定寄存器的方式进行寻址即为寄存器寻址。可以采用这种方式进行寻址分寄存器包括通用寄存器和部分专用寄存器,比如工作寄存器R0-R7、累加器ACC、通用寄存器B、数据指针DPTR、位累加器Cy。寄存器间接寻址就是通过寄存器指定数据存储单元的地址,寄存器中存储的是地址。采用用寄存器间接寻址方式时应在寄存器前加上符号。比如:MOVE A,R0它的功

    39、能就是将R0中所存储的地址所指向的存储单元中的数据取出来传送到累加器中去。对于这种寄存器间接寻址,用来存储地址的寄存器只能为R0或R1或DPTR。其中R0和R1用来访问片内数据存储器的低128字节和片外数据存储器的低256字节,DPTR用来访问片外数据存储器。比如:MOVX A,DPTR它的功能是将外RAM DPTR所指存储单元中的数据传送至累加器A中。变址寻址是以某个寄存器的内容为基础,然后在这个基础上再加上地址偏移量,形成真正的操作数地址,需要特别指出的是用来作为基础的寄存器可以是PC或是DPTR,地址偏移量存储在累加器A中比如:MOV A,A+DPTRMOV A,A+PCJMP A+DP

    40、TR前2条意思就是分别将DPTR、PC内存储的地址和累加器A里面的偏移量相加最后根据得到的地址来查找相应的存储单元。最后一条是无条件转移指令。相对寻址主要是针对跳转指令而言的。对于跳转指令,跳转去的目标指令的地址是通过正在执行的指令地址来确定的,一般是采用正在执行的指令地址加上偏移量的方式。即:转移目的地址当前PC值转移指令字节数+相对偏移量rel我们后面所讲的条件转移指令都是相对寻址方式,如:JZ rel;若(A)=0,则PC(PC)+2+rel ;若(A)0,则PC(PC)+2 JNZ rel;若(A)0,则PC(PC)+2+rel ;若(A)=0,则PC(PC)+2由于这2条指令都是二字

    41、节指令,所以转移指令字节数为2。偏移量可以是正也可以是负,偏移量是采用有符号数的存储形式即补码的形式来存储的,所能表示的范围是-128+128。位寻址方式是指将要访问的数据是一个单独的位,指定位数据的方式有:通过位地址、通过字节地址加点及位数、通过寄存器名加点及位数以及通过位的名称等方式。例如:MOV C,07H 这条指令的功能是把07H位的状态送进进位位C。位寻址的范围是有限制的,下面将讲述位寻址的寻址范围1.内部RAM中的位寻址区单元地址为20H2FH,共16个单元128位,位地址是00H7FH。对这个128个位的寻址使用直接位地址表示。位寻址区中的位有两种表示方法,一种是位地址;另一种是

    42、单元地址加位。2.专用寄存器的可寻址位可供位寻址的专用寄存器共有11个,实有寻址位83位。对这些寻址位在指令中有如下4中表示方法:直接使用位地址。例如PSW寄存器位5地址为0D5H。位名称表示方法。例如PSW寄存器位5是F0标志位,则可使用F0表示该位。单元地址加位数的表示方法。例如0D0H单元(即PSW寄存器)位5,表示为0D0H.5。专用寄存器符号加位数的表示方法。例如PSW寄存器的位5,表示为PSW.5。寻址方式可以做如下小结。对于片内程序存储器只能使用变址寻址方式,或者反过来说,变址寻址是一种专门用于程序存储器的寻址方式。1内部RAM中数据传送指令单片机内部的数据传送指令运用频率最高。

    43、寄存器、累加器、RAM单元及专用寄存器之间的数据可相互传送。这类指令使用助记符MOV。(1)以累加器A为目的字节的传送指令(4条)MOV A,Ri;(Ri)A,i=0、1MOV A,Rn;RnA,n=07 MOV A,#data;dataA MOV A,direct;(direct)A这组指令的功能是将源操作数所指定的内容送入累加器A。源操作数可以采用寄存器寻址、直接寻址、寄存器间接寻址和立即寻址4种方式。数据传送类指令(2)以工作寄存器Rn为目的字节的传送指令(3条)MOV R,A;ARn,n=07MOV Rn,direct;(direct)Rn,n=07MOV Rn,#data;dataR

    44、n,n=07这组指令的功能是把源操作数所指定的内容送到当前工作寄存器组R0R7中的某个寄存器中。源操作数有寄存器寻址、直接寻址、立即寻址3种方式。例如下面三条指令:MOV R0,A ;把累加器A的内容传送给R0MOV R2,80H ;把80H单元的内容传给R2MOV R6,#60H ;把立即数60H传给R6数据传送类指令(3)以直接地址为目的字节的传送指令MOV direct,A ;A(direct)MOV direct,Rn;Rn(direct),n=07MOV direct,Ri;(Ri)(direct),i=0、1MOV direct1,direct2;(direct2)(direct1

    45、)MOV direct,#data;data(direct)这组指令的功能是把源操作数所指定的内容送入由直接地址direct所指出的片内存储单元中。源操作数有寄存器寻址、直接寻址、寄存器间接寻址、立即寻址等方式。例如下面五条指令:MOV 3FH,#3FH ;把立即数3FH传送给内部RAM的3FH单元MOV 3FH,A ;把累加器A中的内容传送给内部RAM的3FH单元MOV 3FH,R0 ;把寄存器R0中的内容传送给内部RAM的3FH单元数据传送类指令(4)以寄存器间址为目的字节的传送指令(3条)MOV Ri,A ;A(Ri),i=0、1MOV Ri,direct;(direct)(Ri),i=

    46、0、1MOV Ri,#data;data(Ri),i=0、1这组指令的功能是把源操作数所指定的内容送入以R0或R1为地址指针的片内存储单元中。源操作数有寄存器寻址、直接寻址和立即寻址3种方式。与上一组指令功能类似,不再举例。(5)16位数据传送指令(1条)MOV DPTR,#data16;data16DPTR这是唯一的16位立即数传送指令。其功能是把16位常数送入DPTR中。数据传送类指令2外部RAM数据传送指令累加器A与片外数据存储器之间的数据传送是通过P0口和P2口进行的。片外数据存储器的地址总线低8位和高8位分别由P0口和P2口送出,数据总线也是通过P0口与低8位地址总线分时传送。外部R

    47、AM中数据传送均是通过间接寻址的方式来实现的,使用操作码助记符MOVX,共有四条指令:MOVX A,DPTR;A(DPTR)MOVX A,Ri;A(Ri)MOVX DPTR,A;(DPTR)AMOVX Ri,A;(Ri)A前两条指令为外部数据存储器读指令,后两条指令为外部数据存储器写指令。这四条指令共同特点都要经过累加器A,外RAM的低8位地址均由P0传送,高8位地址均由P2传送,其中8位数据也需P0传送。数据传送类指令3查表指令51系列单片机的程序存储器除了存放程序外,还可存放一些常数,被称为表格。在单片机指令系统提供了两条访问程序存储器的指令,称为查表指令,该指令使用助记符MOVC,只能通

    48、过累加器A来实现。共两条指令:MOVC A,A+PC;PC(PC)+1,A(A)+PCMOVC A,A+DPTR;A(A+DPTR)前一条指令由PC作为基址寄存器,它虽然提供16位地址,但其基址值是固定的,A+PC中的PC是程序计数器的当前内容(查表指令的地址加1),所以它的查表范围是查表指令后256B的地址空间。后一条指令采用DPTR作为基址寄存器,它的寻址范围为整个程序存储器的64KB空间,所以表格可以放在程序存储器的任何位置。缺点是若DPTR已有它用,在上式表首地址之前必须保护现场,执行完查表后再执行恢复。数据传送类指令数据交换指令数据交换主要用在累加器和其它内部RAM中的数据交换,数据

    49、交换指令分为三类:(1)整字节交换指令 XCH A,Rn;ARn XCH A,Ri;A(Ri)XCH A,direct;A(direct)(2)半字节交换指令:XCHD A,Ri;A30(Ri)30。SWAP A;A74A30数据传送类指令堆栈操作指令堆栈操作通常用于临时保护数据及子程序调用时保护现场/恢复现场。共有两条指令。PUSH direct;SPSP+1,(SP)(direct)POP direct;(direct)(SP),SPSP1PUSH为压栈指令,将指定的直接寻址单元的内容压入堆栈。先将堆栈指针SP的内容+1,指向栈顶的一个单元,然后把指令指定的直接寻址单元内容送入该单元。PO

    50、P为出栈指令,它是将当前栈指针SP所指示的单元内容弹出到指定的内RAM单元中,然后再将SP减1。以上指令结果不影响程序状态字寄存器PSW标志。数据传送类指令1加法指令加法指令使用助记符ADD,运算时不带进位位。共有4条:ADD ,data;dataADD ,direct ;(direct)ADD,Ri ;A(Ri)ADD ,Rn ;Rn这组指令的功能是把源操作数所指出的内容与累加器A的内容相加,执行结果存入A中。该运算会影响程序状态字PSW中的CY、AC、OV。如果位7有进位,则进位位CY置“1”,否则清“0”;如果位3有进位,则半进位位AC置“1”,否则清“0”。若看做两个带符号数相加,还要

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:配套课件-单片机原理与C51程序设计基础教程.ppt
    链接地址:https://www.163wenku.com/p-3224527.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库