52
第 1 第 第第第第第第第 1.1 第第第第第第第第 1.2 MCS-51 第第第第第 1.3 第第第第第第第第第 1.4 AT89S51 第第第第第第1.5 第第第第第第 第第第第 第第第 统一

第 1 章 单片机基础知识

  • Upload
    harley

  • View
    177

  • Download
    0

Embed Size (px)

DESCRIPTION

第 1 章 单片机基础知识. 1.1 了解单片机的概念. 1.2 MCS-51 内核单片机. 1.3 单片机的存储器扩展. 1.4 AT89S51 单片机最小系统. 1.5 单片机应用系统设计的一般方法. 1.1 单片机的基本概念. 单片机的概念 将微处理器 , 一定容量的 ROM 和 RAM 以及 I/O 口 , 定时器等电路集成在一块芯片上 , 构成单片机微型 计算机 , 简称单片机 1.1.1 单片机的发展状况 1.8051 类单片机的发展状况 最早有 lntel 公司生产,后来主要由 Phlips 、三星、华邦 公司生产 - PowerPoint PPT Presentation

Citation preview

第 1 章 单片机基础知识

1.1 了解单片机的概念

1.2 MCS-51 内核单片机

1.3 单片机的存储器扩展

1.4 AT89S51 单片机最小系统

1.5 单片机应用系统设计的一般方法

1.1 单片机的基本概念

单片机的概念 将微处理器 , 一定容量的 ROM 和 RAM 以及I/O 口 , 定时器等电路集成在一块芯片上 , 构成单片机微型 计算机 , 简称单片机1.1.1 单片机的发展状况 1.8051 类单片机的发展状况 最早有 lntel 公司生产,后来主要由 Phlips 、三星、华邦 公司生产 2. 单片机技术发展特点 ① 单片机寿命长; ② 单片机速度越来越快; ③ 低噪声和高可靠性技术 3. 单片机的发展趋势

1.1.2 单片机的应用 智能产品上的应用 工业控制的应用 家用电器的应用 计算机网络和通信领域的应用 汽车设备领域中的应用

1.1.3 单片机的系列产品介绍1 . ATMEL 类单片机 2 . Intel 单片机 3 . Motorola 单片机 4 . Microchip 单片机 5 .东芝单片机 6 . Zilog 单片机

1.2 MCS-51 内核单片机单片机的基本组成 表 MCS-51 系列单片机技术参数表

型号 片内存储器( B ) 定时器 并行线

程序存储器 数据存储器

8031 无 128 2 个 16 位 4х8

80c31 无 128 2 个 16 位 4х8

8051 4KROM 128 2 个 16 位 4х8

80c51 4KROM 128 2 个 16 位 4х8

8751 4KEPROM 128 2 个 16 位 4х8

87c51 4KEPROM 128 2 个 16 位 4х8

8032 无 256 3 个 16 位 4х8

8052 8KROM 256 3 个 16 位 4х8

8752 8KEPROM 256 3 个 16 位 4х8

8051单片机内部结构图

RAM 地址寄存器

寄存器

RAM 128B

RAM

程序地址 寄存器

P0驱动器

P2锁存器

P2驱动器

P1锁存器

暂存器 2 B寄存器

4KB ROM

暂存器 1 ACC SP

P0锁存器

PC

PC增 1

缓冲器

P3锁存器

OSC

中断、串行口及定时器 PSW

ALU

DPTR

P1驱动器 P3驱动器

XTAL1 XTAL2

P0.0~P0.7 P2.0~P2.7

P3.0~P3.7 P1.0~P1.7

RST

ALE

VCC

VSS

定时控制

指令译码器

指令寄存器

PSEN

EA

8051 内部 CPU 由运算器和控制器两部分组成

1. 运算器 由 ALU 、暂存器 1 、暂存器 2 、累加器( ACC ) 、寄存器 B 、程序状态字( PSW )、 和布尔处理机共同组成。主要任务是完成算术运算、逻辑运算、位运算和数据传送等操作。

2. 控制器 包括程序计数器 (PC) 、 PC 增 1 寄存器、指令寄存

器 (IR) 、指令译码器 (ID) 、数据指针 (DPTR) 、堆栈指针(SP) 、缓冲器及定时控制电路等。控制器电路完成指挥控制工作,协调单片机各部分正常工作。

1.2.2 80511.2.2 8051 单片机的内部结构单片机的内部结构

1.2.3 1.2.3 单片机的外部引脚单片机的外部引脚

8051 单片机引脚图

DIP 引脚图 逻辑符号

8051 的 40 个引脚可分为:1. 电源引脚 (2 根 ) VCC(40 脚 ) :电源端,接 +5V 电源。 VSS(20 脚 ) :接地端。2. 时钟引脚 (2 根 ) XTAL1(19 脚 ) :接外部晶振和微调电容的一端。采

用外部时钟电路时,此引脚应接地。 XTAL2(18 脚 ) :接外部晶振和微调电容的另一端。

使用外部时钟时,此引脚应接外部时钟的输入端; 8051 单片机正常工作时,该引脚应该有脉冲信号输出。

3. 控制引脚 (4 根 ) (30 脚 ) :地址锁存允许信号输出 / 编程脉

冲输入引脚。当 CPU访问片外存储器时, ALE 输出信号控制锁存 P0 口输出的低 8 位地址,从而实现 P0 口数据与低位地址的分时复用。

(29 脚 ) :片外 ROM 读选通信号端。

PROGALE/

PSENPSEN

PSEN

(31 脚 ) :外部程序存储器地址允许输入端 当 EA 接高电平时, CPU执行片内 ROM 指令,但

当 PC 值超过 0FFFH 时,将自动转去执行片外 ROM指令;当 EA 接低电平时, CPU只执行片外 ROM 指令。

RST/VPD(9 脚 ) :复位信号 / 备用电源输入引脚。 当 RST 引脚保持两个机器周期的高电平后,就可以

使 8051 完成复位操作。

pp/VEA

4. I/O 引脚 (1)P0.0 ~ P0.7(39 ~ 32 脚 ) : P0 口的 8 位双向 I/O 口线。 P0 口可作为通用双向 I/O 口。在外接数据、程序存储器时,

可作为低 8 位地址 / 数据总线复用引脚。 (2)P1.0 ~ P1.7(1 ~ 8 脚 ) : P1 口的 8 位准双向 I/O 口线。 P1 口作为通用的 I/O 口使用。 (3)P2.0 ~ P2.7(21 ~ 28 脚 ) : P2 口的 8 位准双向 I/O 口线。 P2 口即可作为通用的 I/O 口使用,也可作为片外存储器的高

8 位地址总线,与 P0 口配合,组成 16 位片外存储器单元地址。 (4)P3.0 ~ P3.7(10 ~ 17 脚 ) : P3 口的 8 位准双向 I/O 口线。 P3 口除了作为通用的 I/O 口使用之外,每个引脚还具有第二功

能。

1.2.4 1.2.4 单片机的存储器单片机的存储器 MCS-51 单片机程序存储器和数据存储器相互独立,在物

理结构上有四个存储空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。单片机的外部数据存储器和 I/0 接口采用统一编址的方式。

0000H

7FH

00H

80H

FFH

0FFFH 0FFFH

0000H 0000H

EA 0

FFFFH

SFR

RAM

EA 1

ROM 4KB

FFFFH

64KB

ROM RAM

64KB

(I/O)RAM

片内存储器

1000H

片外扩展存储器

图 1.3 存储器空间分布图

1 、数据存储器 内部数据存储器和外部数据存储器在 00H~7F 范围内地址

出现了重叠的现象,单片机通过不同的指令格式加以区分。 例如: MOV A , @R0

MOV @R1 , A

片外 RAM 采用 MOVX 指令,若外部存储单元的地址为 8 位,可选择 R0 或 R1 作为间接寻址寄存器。

例如 MOVX A , @R0

MOVX @R1 , A

若地址为 16 位,必须选 DPTR 寄存器地作为间接寻址寄存器。

例如: MOVX A , @DPTR

MOVX @DPTR , A

图 1.4 MCS_51 单片机内部数据储存器配置

2. 内部 RAM

内部 RAM 共 128 个单元,可分为工作寄存器区、位寻址区和数据缓冲区。

( 1 ) 工作寄存器区( 00H-1FH ) 该区的 32 个单元被均匀地分为四组,每组包含八个 8 位

寄存器,均以 R0—R7 来命名,称为通用寄存器。 CPU当前所使用的工作寄存器区是由程序状态字 PSW 中的 D3( RS0 )和 D4(RS1) 位来选择的。通过修改 PSW 中的RS0 和 RS 这两位,就可选择任一组工作寄存器,这有利于提高 CPU 的效率和响应中断的速度

(2) 位寻址区( 20H-2FH ) 片内 RAM 的 20H—2FH 单元为位寻址区,它们既可作为

一般单元用字节寻址,也可以对其中的某位进行寻址。

表 1-2 内部 RAM 位寻址区地址表

( 3) 堆栈和数据缓冲区( 30H-7FH ) 该区用于存放用户的数据,对这部分区域的使用不作任何规定和限制,堆栈一般开辟在这个区域。

3 、特殊功能寄存器 MCS-51 单片机把 CPU 中的专用寄存器、 I/O 锁存器、

中断、串行口与定时 / 计数器内的各种控制寄存器和状态寄存器都作为特殊功能寄存器,它们离散地分布在地址 80H-OFFH 的范围内,该范围称为特殊功能寄存器区。 MCS-51 单片机有 21 个特殊功能寄存器,它们只能通过直接寻址的方式进行访问。

符号 名称 地址*ACC

*PSW*B

SPDPTR

*P1*P0

*P3

*P2

*IE*IP

*TCONTMOD

TL0TH0

TH1TL1

SBUF*SCON

PCON

累加器B 寄存器程序状态字栈指针数据指针(包括指针高 8 位 DPH 和低 8 位 DPL )

P0 口锁存寄存器P1 口锁存寄存器P2 口锁存寄存器P3 口锁存寄存器中断优先级控制寄存器中断允许控制寄存器定时器 / 计数器工作方式寄存器定时器 / 计数器控制寄存器定时器 / 计数器 0 (高字节)定时器 / 计数器 0 (低字节)定时器 / 计数器 1 (高字节)定时器 / 计数器 1 (低字节)串行口控制寄存器串行数据缓冲器电源控制及波特率选择寄存器

80H90HA0HB0H

87H

B8HA8H89H88H8CH8AH8DH8BH98H99H

寄存器符号

地址 寄存器名称 寄存器符号 地址 寄存器名称

·ACC E0H 累加器 ·P3 B0H I/O口 3

·B F0H B寄存器 PCON 87H 电源控制及波特率选择寄存器

·PSW D0H 程序状态字 ·SCON 98H 串行口控制寄存器

SP 81H 堆栈指示器 SBUF 99H 串行口数据缓冲寄存器

DPL 82H 数据指针低八位 ·TCON 88H 定时器控制寄存器

DPH 83H 数据指针高八位 TMOD 89H 定时器方式选择寄存器

·IE A8H 中断允许控制寄存器 TL0 8AH 定时器 0低 8位

·IP B8H 中断优先控制寄存器 TL1 8BH 定时器 1低 8位

·P0 80H I/O口 0 TH0 8CH 定时器 0高 8位·P1 90H I/O口 1 TH1 8DH 定时器 1高 8位·P2 A0H I/O口 2

表 1-4 特殊寄存器表

部分特殊功能寄存器 累加器( ACC ) 8 位寄存器,也是 CPU 中使用最频繁

的寄存器。 寄存器 B 是一个是专门为乘除指令而设计的 8 位的寄存

器。在进行乘法运算时,寄存器 B 用来存放一个乘数,并且存放积的高 8 位;在除法运算时,寄存器 B 用

程序状态字( PSW )是一个 8 位的寄存器,用来存放程序运行中的各种状态信息。

位地址 D7H D6H D5H D4H D3H D2H D1H D0H

位标志 Cy AC F0 RS1 RS0 OV — P

表 1-5 PSW 中各位的定义

第 1 章 微机基础知识

Cy 进位标志位,同时也是布尔处理机的位累加器 C 。 AC 辅助进位标志位,又叫半进位标志位。该位常用于调整 BCD 码的运算结果。 F0 用户标识位,用于控制程序的转向。 RS1 、 RS0 工作寄存器组的选择位。 OV 溢出标志位。

RS1 RS0 寄存器组 片内 RAM 的地址

0 0 0 00H—07H

0 1 1 08H—0FH

1 0 2 10H—17H

1 1 3 18H—1FH

表 1-5 PSW 中各位的定义

PSW.1 位 系统保留位。 P 奇偶标志位。 程序计数器 PC 是一个 16 位的计数器,是程序存储器

的字节地址计数器,它里面存放着将要执行的下一条指令的地址,寻址范围为 64K 字节。

数据指针寄存器 DPTR 是 16 位地址指针,在访问外部存储器时,用来存放外部存储器的地址。

堆栈指针寄存器 SP 8 位的指针寄存器,当系统复位后,SP 的内容为 07H, 用户可根据自己的需要重新设置 SP的值。

P0-P3 四个 8 位特殊功能寄存器,分别是四个并行 I/O端口的锁存器。

4. 程序存储器 程序存储器用于存放表格常数和程序, 8051 单片

机内部有 4K 字节 ROM, 片外可扩展 64K 字节的 ROM ,二者统一编址。

脚决定片内外 ROM 的读取方式 片外 ROM 和片外 RAM 的地址出现了重叠,可使

用相应的指令进行区分。 程序存储器中某些单元保留给系统使用,用来存放

引导程序和各个中断源的入口地址。

EA

表 1-7 MCS-51 单片机复位入口和中断入口

1.2.4 单片机的时钟电路和时序

1. 时钟电路MCS-51 单片机的时钟有两种方式,内部振荡方式 : 利用单片机内部的振荡电路 ,

产生时钟信号,这种方式单片机的时钟引脚上接石英晶体和振荡电容;

外部时钟方式 : 外部已有的时钟信号引入单片机。

内部和外部振荡方式

2. CPU 的时序 ① 节拍、状态 一个时钟周期定义为一个节拍(用 P 表示),

二个节拍定义为一个状态周期(用 S 表示),这两个节拍中的前一拍称为 P1 ,后一拍为 P2 。

② 时钟周期 也称为振荡周期,定义为时钟脉冲的倒数,它

是计算机中最基本的、最小的时间单位。时钟周期就是单片机外接晶振的倒数,例如 12M 的晶振,它的时间周期就是 1/12 us 。

③ 机器周期 CPU 访问存储器一次所需的时间。 例如,取指令、读存储器、写存储器等等。 51 系列单片机的一个机器周期同 6 个状态周期组成,也就是说一个机器周期等于 6 个状态周期,即 12 个时钟周期。

④ 指令周期 执行一条指令所需要的时间,一般由若干个机

器周期组成。指令不同,所需的机器周期数也不同,有单周期指令、双周期指令和四周期指令。

1.2.5 单片机的复位和复位电路

1.3 存储器扩展 51 单片机一块芯片就是一个完整的最小微机系统,但片内存储器的容量、并行 I/O 端口、定时器等内部资源都还是有限的。可以根据实际需要,对其进行功能扩展,它包括数据存储器和程序存储器等的扩展。

系统的扩展是通过总线把单片机和扩展部分连接起来。根据总线传送的信息可分为数据总线( DB )、地址总线 (AB) 和控制总线 (CB) 。

单片机扩展总线的构造 1. 数据总线 D0 ~ D7

数据总线的宽度为 8 位,由 P0 口提供。 2. 地址总线 A0 ~ A15

8051 单片机的地址总线宽度为 16 位, P0 提供低 8 位地址, P2 提供高 8 位地址。可寻址范围 64KB, 。由于 P0即作低 8 位地址线,又作数据线,所以它是分时复用的引脚,使用时需要加一个 8 位锁存器,如 74LS373 。

3. 控制总线 P3 提供的读信号、写信号 , 加上控制线、 ALE 和等信号组

成控制总线,其中读和写作为扩展数据存储器读、写选通信号; 信号作为片内、外 ROM 的选择控制信号; ALE信号作为地址锁存器的选通信号,以实现对低 8 位地址的锁存; 号作为扩展程序存储器 ROM 的读选通信号。

EA

PSEN

单片机扩展总线的构造如图

图 1.11 MCS_51 单片机内部数据储存器配置

89S51 单片机内部有 4KB Flash ROM ,当程序大于 4KB 时,就需要扩展程序存储器。

1. 常用程序存储器芯片 程序存储器有有许多种,比如 ROM( 只读存储器 ) 、

PROM( 可编程 ROM) 、 EPROM( 可擦除可编程ROM) 、 EEPROM( 电可擦除可编程 ) 和 Flash ROM( 闪存存储器 ) 。最常见的芯片是紫外线可擦除的 EPROM ,主要是 Intel 公司生产的 27XXX 系列, 如 2716 ( 2K×8 )、 2732 ( 4K×8 )、2764 ( 8K×8 )、 27128 ( 16K×8 )、 27256( 32K×8 )、 27512 ( 64K×8 )等。

一、常用程序存储器芯片

图 1.12 常用 EPROM 芯片的管脚和封装

EPROM 各引脚功能如下 ① A0 ~ A15: 地址输入线,引脚的数目随芯片的容量有

所不同。 ② D0 ~ D7: 双向三态数据总线,读或编程校验时为数据

输出线,编程时为数据输入线。其余时间呈高阻状态。 ③: 片选信号,低电平表示该芯片被选中。 ④: 读出选通线,低电平输出缓冲器打开,数据输出。 ⑤: 编程脉冲输入线。正常工作时接 +5V 电源,编程时

输入编程脉冲。 ⑥ VPP: 编程电源输入线,正常工作时接 +5V 电源,编

程加编程电压。 ⑦ VCC: 电源线,接 +5V 电源。 ⑧ NC :空。 ⑨ GND :接地。

2. 程序存储器扩展举例

图 1.13 单片机扩展 16K 程序存储器原理图

AT89S51

数据存储器扩展

图 1.14 常用 RAM 芯片的管脚和封装

扩展数据存储器由 P2 口提供高 8 位地址, P0 口分时用作低 8 位地址和 8 位数据总线。片外数据存储器 RAM 的读和写由 (P3.7) 和 (P3.6) 信号控制。

一、常用的 RAM 芯片介绍 ① A0 ~ A15 :地址输入线,引脚的数目随芯片的容量有所不同。

② D0 ~ D7 ( I/O0 ~ I/O7 ):双向三态数据总线。 ③ : 片选线,低电平有效。 6264 的 26 脚( CS )必须为

高电平,并且为低电平时才选中该芯片。 ④ : 读选通线,低电平有效。 ⑤ : 写选通线,低电平有效。 ⑥ VCC :电源线,接 +5V 电源。 ⑦ NC :空。 ⑧ GND :接地。

CE

OE

WE

二、数据存储器扩展举例

图 1.15 单片机扩展 8K 数据存储器原理图

§1.4 AT89S51 最小系统

图 1.16 AT89S51 单片机的最小系统组成

1.5 单片机应用系统设计的一般方法

1.5.1 单片机的选型考虑 1. 单片机的选型原则 适用原则 可开发性原则 2. 单片机的选型参考

1.5.2 单片机应用系统的设计过程 单片机应用系统是以单片机为核心,配上一定的外围电路和软件,实现某种功能的系统。虽然单片机的硬件选型不尽相同,软件编写也千差万别,但系统的研制步骤和方法是基本一致的,一般都分为总体设计、硬件电路的构思设计、软件的编制和仿真调试几个阶段。单片机应用系统的研制流程如图 2-25 所示

图 1.17 单片机应用系统设计流程

1 、确定总体设计方案 ① 拟定设计任务书,确定功能技术指标。 ② 单片机的选型 ③ 器件和设备选择 ④ 软件硬件功能划分

2 、硬件设计 硬件设计是以芯片和元件为基础的完整

的单片机系统的设计,根据总体设计要求,确定能实现该项目的所有功能的电路原理图。

① 存储器的扩展 ② 系统的扩展与外围电路的水平,应充分 满足系统功能的要求并留有余地。

④ 以软件功能代替硬件电路。

3 、软件设计 一旦单片机系统产品研发完成,软件就固化

在硬件环境中,单片机软件是针对相应的单片机硬件系统开发的,是专用的。根据总体方案的要求和硬件电路的设计,编写应用程序完成软件功能,编写时可将其分成多个功能模块,便于调试、修改、连接和移植。

4 、单片机应用系统抗干扰的设计① 滤波技术② 隔离技术

1.5.3 单片机应用系统的仿真与调试

图 1.18 仿真器开发环境

1. 单片机应用系统的开发工具 典型的单片机开发环境如图所示,它包括 PC 机、仿真器和编程器。 单片机开发系统具备对用户程序进行输入、编辑、汇编和调试的功能;此外,还具备在线仿真功能、辅助设计功能等。

2. 单片机应用系统的调试方法 单片机应用系统的硬件故障和软件调试是分不开的,许多硬件故障在软件调试只能中才能发现。但首先要排除硬件中的明显故障。常见的故障有:

逻辑错误 元件失效 可靠性差 电源故障