19
全全全全全全全全全全 · 全全全全全全全 单单单单单单单 C 单单单全全全

全国高职高专规划教材 · 精品与示范系列

Embed Size (px)

DESCRIPTION

全国高职高专规划教材 · 精品与示范系列. 单片机应用技术 ( C 语言版). 叶香美. 第 1 章 单片机硬件系统. 本章内容 什么是单片机 MCS-51 内部组成及信号引脚 单片机最小系统电路 MCS-51 存储器结构. 什么是单片机. - PowerPoint PPT Presentation

Citation preview

Page 1: 全国高职高专规划教材 · 精品与示范系列

全国高职高专规划教材 · 精品与示范系列

单片机应用技术( C 语言版)

叶香美

Page 2: 全国高职高专规划教材 · 精品与示范系列

本章内容什么是单片机 MCS-51 内部组成及信号引脚单片机最小系统电路MCS-51 存储器结构

第 1 章 单片机硬件系统

Page 3: 全国高职高专规划教材 · 精品与示范系列

什么是单片机

单片微型计算机( Single Chip Microcomputer )简称单片机,是指集成在一个芯片上的微型计算机,它的各种功能部件,包括 CPU ( Central Processing Unit )、存储器( memory )、基本输入 / 输出 (Input/Output ,简称 I/O) 接口电路、定时 / 计数器和中断系统等,都制作在一块集成芯片上,构成一个完整的微型计算机。单片机内部基本结构如图 1.7 所示。由于它的结构与指令功能都是按照工业控制要求设计的,故又称为微控制器(Micro-Controller Unit ,简称 MCU) 。

Page 4: 全国高职高专规划教材 · 精品与示范系列

什么是单片机

C P U

存 储 器

定 时 器 / 计 数 器

中 断 系 统

P0-P3 TxD

RxD

T INT

并行I/O口

串行I/O口

Page 5: 全国高职高专规划教材 · 精品与示范系列

单片机应用系统单片机应用系统

单片机应用系统

单片机 +

接口电路及外设等

+ 软软件件

硬件硬件

单片机应用系统由硬件和软件组成

硬件是应用系统的基础

软件是在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,缺一不可

Page 6: 全国高职高专规划教材 · 精品与示范系列

单片机种类

◆◆ 目前目前 88 位位单片机仍是单片机的单片机仍是单片机的主流主流机型;机型;◆◆ 生产厂商:生产厂商:

◆◆ 单片机的发展经历了由单片机的发展经历了由 44 位位机到机到 88 位位机机 ,, 再到再到 1616 位位机的发展机的发展过程过程

美国微芯片公司美国微芯片公司 :PIC16C××:PIC16C×× 系列、系列、 PIC17C××PIC17C×× 系列、系列、 PIC1PIC1400400 系列,系列,美国英特尔公司的美国英特尔公司的 MCS-48MCS-48 和和 MCS-51MCS-51 系列,系列,美国摩托罗拉公司的美国摩托罗拉公司的 MC68HC05MC68HC05 系列和系列和 MC68HC11MC68HC11 系列,系列,美国齐洛格公司的美国齐洛格公司的 Z8Z8 系列,系列,日本电气公司的日本电气公司的 μPD78××μPD78×× 系列,系列,美国莫斯特克公司和仙童公司合作生产的美国莫斯特克公司和仙童公司合作生产的 F8F8 (( 38703870 )系列等。)系列等。

Page 7: 全国高职高专规划教材 · 精品与示范系列

单片机硬件结构

时钟电路

CPU

ROM RAM

T0 T1

中断系统串行接口并行接口

P0 P1 P2 P3 TXD RXD INT0 INT1

定时计数器

• 中央处理器CPU : 8 位,运算和控制功能

• 内部 RAM :共256 个 RAM 单元,用户使用前 128 个单元,用于存放可读写数据,后 128 个单元被专用寄存器占用。

• 内部 ROM : 4KB 掩膜 ROM ,用于存放程序、原始数据和表格。• 定时 / 计数器:两个 16 位的定时 / 计数器,实现定时或计数功能。

• 并行 I/O 口: 4个 8 位的 I/O 口P0 、 P1 、 P2 、P3 。

• 串行口:一个全双工串行口。• 中断控制系统:5 个中断源(外中断 2 个,定时 / 计数中断 2 个,串行中断 1 个)

• 时钟电路:可产生时钟脉冲序列,允许晶振频率 6MHZ和 12MHZ

复位电路

Page 8: 全国高职高专规划教材 · 精品与示范系列

8051 单片机的基本组成中央处理器 CPU : 8 位,运算和控制功能内部 RAM :共 256 个 RAM 单元,用户使用前 128 个单元,

用于存放可读写数据,后 128 个单元被专用寄存器占用。内部 ROM : 4KB 掩膜 ROM ,用于存放程序、原始数据和表格。定时 / 计数器:两个 16 位的定时 / 计数器,实现定时或计数功能。并行 I/O 口: 4 个 8 位的 I/O 口 P0 、 P1 、 P2 、 P3 。串行口:一个全双工串行口。中断控制系统: 5 个中断源(外中断 2 个,定时 / 计数中断 2 个, 串行中断 1 个)时钟电路:可产生时钟脉冲序列,允许晶振频率 6MHZ 和 12MHZ

Page 9: 全国高职高专规划教材 · 精品与示范系列

MCS-51MCS-51 单片机信号引脚简介单片机信号引脚简介

P3P3 口线的第二功能口线的第二功能

VCC

VSS

XTAL2XTAL1

RST

P0. 0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7

P1. 0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7

P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0

ALEP3. 0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

22 、振荡电路:、振荡电路: XTAL1XTAL1 、、 XTAL2XTAL2

33 、复位引脚:、复位引脚: RSTRST

44 、并行口:、并行口: P0P0 、、 P1P1 、、 P2P2 、、 P3P3

77 、、 ALEALE :地址锁存控制信号:地址锁存控制信号

11 、电源线:、电源线: VCC(+5V)VCC(+5V) 、、 VSS(VSS( 地地 ))

EA

PSEN55 、、 EAEA :访问程序存储控制信号:访问程序存储控制信号

66 、、 PSENPSEN :外部:外部 ROMROM 读选通信号读选通信号

RXD/TXD/INT0/ INT1/

T0/ T1/

WR/ RD/

123456789

1011121314151617181920

4039383736353433323130292827262524242221

8031

8051

8751

89C51

Page 10: 全国高职高专规划教材 · 精品与示范系列

时钟电路与复位电路 (1) 时钟振荡电路

1

XTAL1

XTAL2

C1

C2

¾§Õñ

8051

ÖÁÄÚ²¿Ê±ÖÓµç·

Page 11: 全国高职高专规划教材 · 精品与示范系列

时 序 关于 MCS-51 系列单片机的时序概念有 4 个,可用定时单位来说明,从

小到大依次是:节拍、状态、机器周期和指令周期,下面分别加以说明。 1 )节拍与状态 把振荡脉冲的周期定义为节拍,用 P 表示,也就是晶振的振荡频率 fosc 。 2 )状态 振荡脉冲 fosc 经过二分频后,就是单片机时钟信号的周期,定义为状态,

用 S 表示。一个状态包含两个节拍,其前半周期对应的节拍叫 P1 ,后半周期对应的节拍叫 P2 。

3 )机器周期 MCS-51 系列单片机采用定时控制方式,有固定的机器周期。规定一个机

器周期的宽度为 6 个状态,即 12 个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。

小提示 当振荡脉冲频率为 12 MHz 时 , 一个机器周期为 1µs ;当振荡脉冲频率为

6 MHz 时,一个机器周期为 2 µs 。

Page 12: 全国高职高专规划教材 · 精品与示范系列

(2) 复位电路

MCS-51

VCC

VCC

RESET

VSS

22uF

1K

MCS-51

VCC

VCC

RESET

VSS

22uF

1K

RESET

R1

R2200

单片机复位条件单片机复位条件 : : 必须使必须使 RSTRST 引脚持续引脚持续 22 微秒微秒高电平高电平 (( 外部时钟外部时钟 12MHz) 12MHz)

Page 13: 全国高职高专规划教材 · 精品与示范系列

123456789

1011121314

2827262524232221 201918171615

EP

RO

M

2764

123456789

1011121314

2827262524232221 201918171615

EP

RO

M

2764

123456789

1011121314151617181920

4039383736353433323130292827262524242221

123456789

1011121314

2827262524232221 201918171615

RAM

6264

123456789

1011121314

2827262524232221 201918171615

RAM

6264

存存

储储

器器

8031

8751

8051

89C51片内片内RAMRAM

片内片内ROMROM

256B (字节)

4K

Page 14: 全国高职高专规划教材 · 精品与示范系列

(1)(1) 程序存储器程序存储器

程序存储器

内部 外部

0000H

0FFFH

(4K)

0000H

FFFFH

(64K)

0000H

0FFFH

(4K)

0000H0001H0002H

(PC)

0000H 是程序执行的起始单元 ,在这三个单元存放一条无条件转移指令

中断 5

中断 4

中断 3

中断 2

中断 10003H

000BH

0013H

001BH

0023H

002BH

外部中断 0

定时器 0 中断

外部中断 1

定时器 1 中断

串行口中断

8 位

...0FFFH0FFEH

EA=1 EA=0

程序存储器资源分布

中断入口地址

Page 15: 全国高职高专规划教材 · 精品与示范系列

在单片机 C 语言程序设计中,用户无需考虑程序的存放地址,编译程序会在编译过程中按照上述规定,自动安排程序的存放地址。

例如: C 语言是从 main() 函数开始执行的,编译程序会在程序存储器的 0000H 处自动存放一条转移指令,跳转到 main() 函数存放的地址;中断函数也会按照中断类型号,自动由编译程序安排存放在程序存储器相应的地址中。因此,读者只需了解程序存储器的结构就可以了。

Page 16: 全国高职高专规划教材 · 精品与示范系列

0000H

FFFFH

(64K)

内部

外部

(2)(2) 数据存储器数据存储器

数据存储器

00H

FFH

7FH

80H

( 高 128B)

( 低 128B) RAM

专用寄存器

00H

07H08H

0FH10H

17H18H

1FH

0 区R0

R7R0

R7R0

R7R0

R7

1区

2 区

3 区

工作寄存器区

可位寻址区

20H

2FH 7F 78

07 00

30H

7FH数据缓冲区 / 堆栈区

内部 RAM 存储器

1 11 1 第 第 3 3 区区 18H~1FH18H~1FH

0 10 1 第 第 1 1 区区 08H~0FH08H~0FH

RS1 RS0RS1 RS0 寄存器区寄存器区 片内片内 RAMRAM 地址地址 0 00 0 第 第 0 0 区区 00H~07H00H~07H

1 01 0 第 第 2 2 区区 10H~17H10H~17H

工作寄存器区选择位 RS0 、 RS1

Page 17: 全国高职高专规划教材 · 精品与示范系列

注意 : 一个单元地址对应有 8 个位地址MSB——Most Significant Bit (最高有效位)LSB ——Least Significant Bit (最低有效位)

单元地址2FH

2EH

2DH

2CH

2BH

2AH

29H

28H

27H

26H

25H

24H

23H

22H

21H

20H

7F

77

6F

67

5F

57

4F

47

3F

37

2F

27

1F

17

0F

07

MSB 位地址 LSB7E

76

6E

66

5E

56

4E

46

3E

36

2E

26

1E

16

0E

06

7D

75

6D

65

5D

55

4D

45

3D

35

2D

25

1D

15

0D

05

7C

74

6C

64

5C

54

4C

44

3C

34

2C

24

1C

14

0C

04

7B

73

6B

63

5B

53

4B

43

3B

33

2B

23

1B

13

0B

03

7A

72

6A

62

5A

52

4A

42

3A

32

2A

22

1A

12

0A

02

79

71

69

61

59

51

49

41

39

31

29

21

19

11

09

01

78

70

68

60

58

50

48

40

38

30

28

20

18

10

08

00

RAM 位寻址区位地址表

Page 18: 全国高职高专规划教材 · 精品与示范系列

高高 128128 个单个单元元

☆离散分布有 21个特殊功能寄存器 SFR 。

☆ 11 个可以进行位寻址。

☆特别提示:对 SFR 只能使用直接寻址方式,书写时可使用寄存器符号,也可用寄存器单元地址。

Page 19: 全国高职高专规划教材 · 精品与示范系列

在单片机的 C 语言程序设计中,可以通过关键字 sfr 来定义所有特殊功能寄存器,从而在程序中直接访问它们,例如:

sfr P1=0x90; // 特殊功能寄存器 P1 的地址是 90H ,对应 P1 口的8 个 I/O 引脚在程序中就可以直接使用 P1 这个特殊功能寄存器了,下面语句是合法的:

P1=0x00; // 将 P1 口的 8 位 I/O 口全部清 0C 语言中,还可以通过关键字 sbit 来定义特殊功能寄存器中的可寻址

位,在程序 ex1_1.c 中,采用了下面语句定义 P1 口的第 0 位:sbit P1_0=P1^0;通常情况下,这些特殊功能寄存器已经在头文件 reg51.h 中定义了,

只要在程序中包含了该头文件,就可以直接使用已定义的特殊功能寄存器。

如果没有头文件 reg51.h ,或者该文件中只定义了部分特殊功能寄存器和位,用户也可以在程序中自行定义。