1 / 91

第一章 单片机基础知识 - 8051 特点、结构与扩展

第一章 单片机基础知识 - 8051 特点、结构与扩展. 1.1 8051 单片机的特点 1.2 8051 的内部结构 1.3 8051 的系统扩展. 1.1 8051 单片机的特点. 一、单片机的概念. 将组成微型计算机的各功能部件: 中央处理器 、 存储器 、 I/O 接口电路 及 定时 / 计数器 等制作在一块集成电路芯片中从而构成完整的微型计算机-故称作单晶片微型计算机, 简称 单片机 ( Single chip microcomputer) 。 或称 微控制器 (MCU:Microcontroller). 二、 单片机的发展历史.

Télécharger la présentation

第一章 单片机基础知识 - 8051 特点、结构与扩展

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第一章 单片机基础知识-8051特点、结构与扩展

  2. 1.1 8051单片机的特点 1.2 8051的内部结构 1.3 8051的系统扩展

  3. 1.1 8051单片机的特点 一、单片机的概念 将组成微型计算机的各功能部件: 中央处理器、存储器、I/O接口电路及定时/计数器等制作在一块集成电路芯片中从而构成完整的微型计算机-故称作单晶片微型计算机, 简称单片机(Single chip microcomputer)。 或称微控制器(MCU:Microcontroller)

  4. 二、 单片机的发展历史 可分为三个主要阶段: 1、单芯片微机形成阶段 1976年,Intel公司推出了MCS-48系列单片机 。8位CPU、1K字节ROM、64字节RAM、27根I/O线和1个8位定时/计数器。 特点是:存储器容量较小,寻址范围小(不大于4K),无串行接口,指令系统功能不强。

  5. 2、性能完善提高阶段 1980年,Intel公司推出了MCS-51系列单片机:8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。 特点是:结构体系完善,性能已大大提高,面向控制的特点进一步突出。现在,MCS-51已成为公认的单片机经典机种 。

  6. 3、微控制器化阶段 1982年,Intel推出MCS-96系列单片机。芯片内集成:16位CPU、8K字节ROM、232字节RAM、5个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K。片上还有8路10位ADC、1路PWM输出及高速I/O部件等。特点是:片内 面向测控系统外围电路增强,使单片机可以方便灵活地用于复杂的自动测控系统及设备。 “微控制器”的称谓更能反映单片机的本质。

  7. 4、单片机的发展趋势 (1)低功耗CMOS化 80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。更适合于在要求低功耗象电池供电的应用场合。 (2)微型单片化 要求体积小、重量轻、具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。 (3)主流与多品种共存 在一定的时期内,以C8051为核心的单片机占据半壁江山,各品种单片机陆续侵占市场的情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。

  8. 三、MCS-51单片机基本特性 • 8 位的 CPU, 片内有振荡器和时钟电路,工作频率为 1~12MHz(Atmel 89Cxx为0~24MHz) • 片内有 128/256字节 RAM • 片内有 0K/4K/8K等字节 程序存储器ROM • 可寻址片外 64K字节 数据存储器RAM • 可寻址片外 64K字节 程序存储器ROM • 4个8位 的并行I/O口 (PIO) • 1个 全双工串行口 (SIO/UART) • 2/3个16位 定时器/计数器( TIMER/COUNTER) • 可处理 5/6个中断源,两级中断优先级 • 内置1个布尔处理器和1个布尔累加器(Cy) • MCS-51指令集含 111条指令

  9. 四、典型的单片机产品 • MCS-51系列 • MC68系列 • PIC16系列 • MSP430系列 • AVR系列

  10. 1、MCS-51系列 Intel公司的高性能8位单片机,该系列机有8051、8031、8751。80C51系列是其兼容性单片机,与8051系统结构相同,但采用CMOS工艺,对8051做了一些扩充,更有特点,功能更强。

  11. MCS51单片机和8051、8031、89C51等的关系 这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。 INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,当然,功能或多或少有些改变,以满足不同的需求。

  12. 80C51系列单片机兼容的主要产品 * ATMEL公司带Flash存储器技术的AT89系列 * Philips公司的80C51、80C552系列 * 华邦公司的W78C51、W77C51高速低价系列 * ADI公司的ADμC8xx高精度ADC系列 * LG公司的GMS90/97低压高速系列 * Maxim公司的DS89C420高速(50MIPS)系列 * Cygnal公司的C8051F系列高速SOC单片机

  13. 2、MC68系列 Motorola公司的8位单片机 M6801 M6804 MC6805 MC68HC05 MC58HC11 速度更快,功耗更低、功能更强 约占8位机市场的30%份额

  14. 3、PIC系列 美国Microchip公司生产,价格低、体积小、速度高、功耗低、C语言编程、程序保密性强、开发方便,率先采用RISC(精简指令集),现已成为嵌入式单片机的主流产品之一。

  15. 4、MSP430系列 TI(德州仪器)公司推出的新型高性能单片机。 16位精简指令结构可确保运行速度、带FLASH的微控制器可将功耗降低5倍、具有多种省电模式、型号相当丰富。

  16. 5、AVR系列 美国ATMEL公司推出的全新配置精简指令集(RISC)的单片机系列。高速度、高保密性、低功耗。 片内程序存储器采用Flash 大多数指令仅用1个晶振周期 采用C语言编程 CMOS工艺生产 ATMEL公司的单片机可分为AT89、AT90、AT91和智能IC卡等系列,AT90系列属于增强型RISC内载Flash新型嵌入式8位单片机,通常简称为AVR单片机。

  17. 1.2 8051的内部结构 1.2.1 中央处理器 1.2.2 存储器的组织 1.2.3 片内并行接口 1.2.4 8051内部资源 1.2.5 8051的芯片引脚 1.2.6 单片机的工作方式

  18. 1.2.1 中央处理器(CPU) CPU(Central Processing Unit)是计算机的核心部件, 它由运算器和控制器组成, 还包括一些特殊功能寄存器完成计算机的运算和控制功能。 1、以ALU为中心的运算器 Page3 运算器又称算术逻辑部件(ALU, Arithmetical Logic Unit), 主要完成对数据的算术运算和逻辑运算。 运算器相关的寄存器: ACC — 累加器 B — 寄存器 TEMP—暂存器 PSW—程序状态字寄存器

  19. PSW.7 PSW.6 PSW.5 PSW.0 CY AC F0 RS1 RS0 OV P PSW—程序状态字寄存器 Page.4 ▼CY(PSW.7)进位/借位标志位。若ACC在运算过程中发生了进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。 ▼AC(PSW.6)半进位/借位标志位。若ACC在运算过程中,D3位向D4位发生了进位或借位,则CY=1,否则=0。机器在执行“DA A”指令时自动要判断这一位,我们可以暂时不关心它。 ▼F0(PSW.5)可由用户定义的标志位。

  20. PSW.7 PSW.6 PSW.5 PSW.0 CY AC F0 RS1 RS0 OV P ▼RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位。 • RS1,RS0 = 0 0则选择了工作寄存器组0 区R0~R7分别代表00H ~07H单元。 • RS1,RS0 = 0 1则选择了工作寄存器组1 区R0~R7分别代表08H ~0FH单元。 • RS1,RS0 = 1 0则选择了工作寄存器组2 区R0~R7分别代表10H ~17H单元。 • RS1,RS0 = 1 1则选择了工作寄存器组3 区R0~R7分别代表18H ~1FH单元。

  21. PSW.7 PSW.6 PSW.5 PSW.0 CY AC F0 RS1 RS0 OV P ▼OV (PSW.2)溢出标志位。 OV=1时特指累加器在进行带符号数(-128—+127)运算时出错(超出范围);OV=0时未出错。 ▼PSW.1未定义。 ▼P (PSW.0)奇偶标志位。 P=1表示累加器中“1”的个数为奇数 P=0表示累加器中“1”的个数为偶数 CPU随时监视着ACC中的“1”的个数,并反映在PSW中 举例:(PSW)= 3? (PSW)= 30H?

  22. 3区 2区 1区 0区 工作寄存器 0区:00H-07H 1区:08H-0FH 2区:10H-17H 3区:18H-1FH

  23. 2、控制器、时钟电路和基本时序周期 控制器(Controller)主要包括定时和控制逻辑、指令寄存器、译码器、地址指针DPTR和程序计数器PC等。 控制器是整个计算机的指挥中心, 它负责从内部存储器中取出指令并对指令进行分析、判断, 并根据指令发出控制信号, 使计算机的有关部件及设备有条不紊地协调工作, 保证计算机能自动、连续地运行。

  24. 也可以由 XTAL1端接入外部时钟,此时应将 XTAL2接地: 通常外接一个晶振两个电容 XTAL1 外部时钟 XTAL1 XTAL2 XTAL2 30±10pfx2 1~12MHz(MCS-51) 4~24MHz(Atmel-89C) (1)8051的时钟 时钟电路是计算机的心脏,控制着计算机的工作节奏。

  25. (2)8051的基本时序周期 CPU的工作是不断地取指令和执行指令,以完成数据的处理、传送和输入输出等操作。 CPU的工作总是按照一定的时钟节拍与时序进行。 CPU执行一条指令所需的时间-指令周期;不同的指令其指令周期是不一样的。 振荡周期:Tc=晶振频率fosc(或外加频率)的倒数 状态周期:Ts=2个时钟周期(Tc)(很少用到此概念) 机器周期:Tm=6个状态周期(Ts)=12个振荡周期(Tc) 指令周期: Ti:执行一条指令所需的机器周期(Tm)数

  26. 指令周期 机器周期 机器周期 S1 S4 S2 S3 S4 S5 S6 S1 S2 S3 S5 S6 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 振荡周期 状态周期 牢牢记住:振荡周期 = 晶振频率fosc的倒数; 1个机器周期 = 12个振荡周期; 1个指令周期 = 1、2、4个机器周期。

  27. (3)8051的指令部件 程序计数器PC:是一个16位的计数器,其内容是下一条待执行指令的地址,寻址范围是64KB。 指令寄存器IR:是用来存放当前正在执行的指令。 指令译码器ID:是对存放在IR中的指令操作码进行解释,产生相应的控制信号。 数据指针DPTR:是一个16位的寄存器,可以用来寻址外部数据存储空间,也可以寻址外部程序存储空间,寻址范围是64KB。 Page.4-5

  28. 1.2.2 存储器的组织 1、8051单片机存储器的结构特点 • 哈佛结构单片机:指令寄存器IR:程序存储器和数据存储器是分开的,并且有各自的寻址机构和寻址方式。(ARM普林斯顿,将访问ROM和RAM合成一条语句,只有一个存储器逻辑空间,随意安排ROM和RAM) • 在物理上有四个存储空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。{图示见后一页} 8051单片机片内具有256字节的数据存储器RAM和4KB的程序存储器ROM。并且可以在片外扩展程序存储器和数据存储器,具有64KB的寻址空间。

  29. 外部 ROM FFFFH FFH FFFFH 外部 RAM SFR分布在80H-FFH 其中92个位可位寻址 80H 1000H 7FH 普通RAM区 0FFFH 0FFFH 30H 内部 ROM (EA=1) 外部 ROM (EA=0) 2FH 位寻址区 20H 1FH 工作寄存器区 0000H 0000H 00H 0000H • 在8051单片机存储器的组织结构。 数据存储器组织结构 程序存储器组织结构 8051通过不同的信号来选通ROM和RAM。 • 访问ROM时用选通信号/PSEN. • 读写RAM时用读写信号/RD、/WR.

  30. RAM编址与访问 MCS-51单片机片内、外数据存储器是两个独立的地址空间,应分别单独编址。片内数据存储器除RAM块外,还有特殊功能寄存器(SFR)块。对于51子系列,前者有128个字节,其编址为00H~7FH;后者有128个字节,其编址为80H~FFH;二者连续而不重叠。对于52子系列,前者有256个字节,其编址为00H~FFH;后者有128个字节,其编址为80H~FFH。后者与前者高128个字节的编址是重叠的。由于访问它们所用的指令不同,并不会引起混乱。片外数据存储器一般是16位编址。

  31. 外部 ROM FFFFH 1000H 0FFFH 0FFFH 内部 ROM (EA=1) 外部 ROM (EA=0) 0000H 0000H 2、8051单片机程序存储器的结构 (1)具有64KB的寻址空间。 (2)低地址的4KB的片内外寻址空间重叠。由EA信号区分。 (3)某些空间留给系统使用: 0000H-0002H: 是所有程序的入口 0003H-002AH: 是中断程序的入口

  32. 程序的7个特殊入口地址 MCS-51单片机复位、中断入口地址

  33. 程序存储器编址与访问 计算机的工作是按照事先编制好的程序命令序列一条条顺序执行的,程序存储器就是用来存放这些已编好的程序和表格常数,它由只读存储器ROM或EPROM组成。计算机为了有序地工作,设置了一个专用寄存器 -- 程序计数器PC,用以存放将要执行的指令地址。每取出指令的1个字节后,其内容自动加1,指向下一字节地址,使计算机依次从程序存储器取出指令予以执行,完成某种程序操作。由于MCS-51单片机的程序计数器为16位,因此,可寻址的地址空间为64 KB。

  34. 3、8051单片机片内数据存储器的结构 FFH FFH SFR分布在80H-FFH 其中92个位可位寻址 52子系列才有 的RAM区 80H 80H 7FH 所有的RAM区(包括位寻址区、工作寄存器区)都可以用于存放数据,故也称为数据缓存寄存器 普通RAM区 89C51128字节 30H 2FH 位寻址区 20H 1FH 工作寄存器区 00H

  35. FFH 1FH 52子系列才有 的RAM区 工作寄存器区3 18H 17H 工作寄存器区2 10H 0FH 80H 工作寄存器区1 08H 7FH 07H R7 工作寄存器区0 普通RAM区 06H R6 05H R5 30H 2FH R4 04H 位寻址区 R3 20H 03H 1FH 工作寄存器区 R2 02H 00H 01H R1 R0 00H (1)工作寄存器区 • 片内RAM前32个单元是工作寄存器区(00H—1FH)

  36. 7F 7E 7D 7C 7B 7A 79 78 2FH 位地址 47 46 45 44 43 42 41 40 28H 总共128个可按位寻址的位 3F 3E 3D 3C 3B 3A 39 38 27H 37 36 35 34 33 32 31 30 26H 2F 2E 2D 2C 2B 2A 29 28 25H 27 26 25 24 23 22 21 20 24H 1F 1E 1D 1C 1B 1A 19 18 23H 17 16 15 14 13 12 11 10 22H 0F 0E 0D 0C 0B 0A 09 08 21H 07 06 05 04 03 02 01 00 20H 单元地址 (2)可位寻址区 • 片内RAM中有128个可按位寻址的位。 位地址:00H—7FH 分布在:20H—2FH单元 FFH 52子系列才有 的RAM区 80H 7FH 普通RAM区 30H 2FH 位寻址区 20H 1FH 工作寄存器区 00H

  37. (3)一般RAM区 • 89C51片内RAM128字节(00H—7FH) • 89C52片内RAM256字节(00H—0FFH) 只能寄存器间接寻址 FFH FFH SFR分布在80H-FFH 其中92个位可位寻址 52子系列才有 的RAM区 80H 80H 89C52 256字节 7FH 普通RAM区 89C51128字节 只能直接寻址 30H 2FH 位寻址区 20H 1FH 工作寄存器区 00H

  38. (4)特殊功能寄存器SFR

  39. (5)堆栈 概念: 片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循先进后出和后进先出的原则,这个RAM区叫堆栈。 功用: 1)子程序调用和中断服务时CPU自动将当前程序计数器PC值压栈保存,返回时自动将PC值弹栈。 2)保护现场/恢复现场 3)数据传输

  40. 堆栈的管理和操作方式: 堆栈区由特殊功能寄存器堆栈指针SP管理。 堆栈区可以安排在 RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。复位后 SP=07H。 数据进栈时:首先SP+1指向08H单元,第一个放进堆栈的数据将放进08H单元,然后SP再自动增 1,仍指着栈顶…… 数据进栈 FFH 52子系列才有 的RAM区 80H 7FH SP栈顶 下一个进栈的数据将存在此 普通RAM区 30H 2FH 位寻址区 已经进栈的数据存放在此 初始 SP 20H 1FH 工作寄存器区 00H

  41. 从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶……从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶…… FFH 52子系列才有 的RAM区 数据出栈 80H 7FH 普通RAM区 SP-1 指向新的栈顶,也就是下一个将要出栈的数据 30H 2FH 位寻址区 初始 SP 20H 1FH 工作寄存器区 00H

  42. 4、8051单片机的部分特殊功能寄存器介绍 ▼特殊功能寄存器SFR(专用寄存器) 专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器。 ▼不同的SFR管理不同的硬件模块,负责不同的功能——各司其职 换言之:要让单片机实现预定的功能,必须有相应的硬件和软件,而软件中最重要的一项工作就是对SFR写命令(要求)。

  43. (1)特殊功能寄存器(PC) • 程序计数器PC(Program Counter) • PC不是一个特殊功能寄存器SFR,但其作用又十分重要和特殊!!! 特点: ▼它是16位的按机器周期自动增1计数器 ▼总指向下一条指令所在首地址(当前PC值) ▼一切分支/跳转/调用/中断/复位等操作的本质就是:改变 PC 值

  44. (2)特殊功能寄存器(P0—P3,SP,A,B) • 已知的P0、P1、P2、P3等四个8位I/O口分别由名为P0、P1、P2、P3四个SFR代表。 • 堆栈指针寄存器 SP(Stack Pointer): 总是指向栈顶,压栈时先 (SP)+1 然后数据进栈;弹栈时数据先出栈 然后(SP)-1。 • 累加器 ACC:一个被众多指令用得最频繁的特殊功能寄存器(如:运算、数据传输…)。 • 副累加器B:一个经常与ACC配合在一起使用的特殊功能寄存器(如:乘法、除法),此外,它也经常当作普通寄存器使用。

  45. (3)PC与SFR复位状态表

  46. 1.2.3 片内并行接口 8051具有四个8位的并行接口分别是:P0、P1、P2、P3。每个口主要由三个部分构成:端口锁存器、输入(三态)缓冲器、输出驱动器。 每个口都是双向通道,每一条I/O线都能独立用作输入或输出;作输出时数据可以锁存,作输入时数据可以缓冲。 P0、P2、P3口还具有第二功能。

  47. Vcc 读锁存器 内部上拉电阻 2 内部总线 引脚P1.X D Q 写锁存器 CK /Q 1 读引脚 口锁存器 输入缓冲器 输出驱动器 1、并行口的基本输入输出方式及特点(以P1口为例) (1)P1口其中一位的逻辑结构

  48. Vcc 读锁存器 内部上拉电阻 2 =1 内部总线 1 引脚P1.X 截止 1 D Q CK /Q 写锁存器 0 1 读引脚 (2)P1口的输出操作 输出数据 = 1 时

  49. Vcc 读锁存器 内部上拉电阻 2 =0 内部总线 0 导通 引脚P1.X 0 D Q 写锁存器 CK /Q 1 1 读引脚 输出数据 = 0时

More Related