Upload
amethyst-norton
View
96
Download
2
Embed Size (px)
DESCRIPTION
全国高职高专规划教材 · 精品与示范系列. 单片机应用技术 ( C 语言版). 叶香美. 第 1 章 单片机硬件系统. 本章内容 什么是单片机 MCS-51 内部组成及信号引脚 单片机最小系统电路 MCS-51 存储器结构. 什么是单片机. - PowerPoint PPT Presentation
Citation preview
全国高职高专规划教材 · 精品与示范系列
单片机应用技术( C 语言版)
叶香美
本章内容什么是单片机 MCS-51 内部组成及信号引脚单片机最小系统电路MCS-51 存储器结构
第 1 章 单片机硬件系统
什么是单片机
单片微型计算机( Single Chip Microcomputer )简称单片机,是指集成在一个芯片上的微型计算机,它的各种功能部件,包括 CPU ( Central Processing Unit )、存储器( memory )、基本输入 / 输出 (Input/Output ,简称 I/O) 接口电路、定时 / 计数器和中断系统等,都制作在一块集成芯片上,构成一个完整的微型计算机。单片机内部基本结构如图 1.7 所示。由于它的结构与指令功能都是按照工业控制要求设计的,故又称为微控制器(Micro-Controller Unit ,简称 MCU) 。
什么是单片机
C P U
存 储 器
定 时 器 / 计 数 器
中 断 系 统
P0-P3 TxD
RxD
T INT
并行I/O口
串行I/O口
单片机应用系统单片机应用系统
单片机应用系统
单片机 +
接口电路及外设等
+ 软软件件
硬件硬件
单片机应用系统由硬件和软件组成
硬件是应用系统的基础
软件是在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,缺一不可
单片机种类
◆◆ 目前目前 88 位位单片机仍是单片机的单片机仍是单片机的主流主流机型;机型;◆◆ 生产厂商:生产厂商:
◆◆ 单片机的发展经历了由单片机的发展经历了由 44 位位机到机到 88 位位机机 ,, 再到再到 1616 位位机的发展机的发展过程过程
美国微芯片公司美国微芯片公司 :PIC16C××:PIC16C×× 系列、系列、 PIC17C××PIC17C×× 系列、系列、 PIC1PIC1400400 系列,系列,美国英特尔公司的美国英特尔公司的 MCS-48MCS-48 和和 MCS-51MCS-51 系列,系列,美国摩托罗拉公司的美国摩托罗拉公司的 MC68HC05MC68HC05 系列和系列和 MC68HC11MC68HC11 系列,系列,美国齐洛格公司的美国齐洛格公司的 Z8Z8 系列,系列,日本电气公司的日本电气公司的 μPD78××μPD78×× 系列,系列,美国莫斯特克公司和仙童公司合作生产的美国莫斯特克公司和仙童公司合作生产的 F8F8 (( 38703870 )系列等。)系列等。
单片机硬件结构
时钟电路
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
复位电路
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
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
时钟电路与复位电路 (1) 时钟振荡电路
1
XTAL1
XTAL2
C1
C2
¾§Õñ
8051
ÖÁÄÚ²¿Ê±ÖÓµç·
时 序 关于 MCS-51 系列单片机的时序概念有 4 个,可用定时单位来说明,从
小到大依次是:节拍、状态、机器周期和指令周期,下面分别加以说明。 1 )节拍与状态 把振荡脉冲的周期定义为节拍,用 P 表示,也就是晶振的振荡频率 fosc 。 2 )状态 振荡脉冲 fosc 经过二分频后,就是单片机时钟信号的周期,定义为状态,
用 S 表示。一个状态包含两个节拍,其前半周期对应的节拍叫 P1 ,后半周期对应的节拍叫 P2 。
3 )机器周期 MCS-51 系列单片机采用定时控制方式,有固定的机器周期。规定一个机
器周期的宽度为 6 个状态,即 12 个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。
小提示 当振荡脉冲频率为 12 MHz 时 , 一个机器周期为 1µs ;当振荡脉冲频率为
6 MHz 时,一个机器周期为 2 µs 。
(2) 复位电路
MCS-51
VCC
VCC
RESET
VSS
22uF
1K
MCS-51
VCC
VCC
RESET
VSS
22uF
1K
RESET
R1
R2200
单片机复位条件单片机复位条件 : : 必须使必须使 RSTRST 引脚持续引脚持续 22 微秒微秒高电平高电平 (( 外部时钟外部时钟 12MHz) 12MHz)
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
(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
程序存储器资源分布
中断入口地址
在单片机 C 语言程序设计中,用户无需考虑程序的存放地址,编译程序会在编译过程中按照上述规定,自动安排程序的存放地址。
例如: C 语言是从 main() 函数开始执行的,编译程序会在程序存储器的 0000H 处自动存放一条转移指令,跳转到 main() 函数存放的地址;中断函数也会按照中断类型号,自动由编译程序安排存放在程序存储器相应的地址中。因此,读者只需了解程序存储器的结构就可以了。
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
注意 : 一个单元地址对应有 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 位寻址区位地址表
高高 128128 个单个单元元
☆离散分布有 21个特殊功能寄存器 SFR 。
☆ 11 个可以进行位寻址。
☆特别提示:对 SFR 只能使用直接寻址方式,书写时可使用寄存器符号,也可用寄存器单元地址。
在单片机的 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 ,或者该文件中只定义了部分特殊功能寄存器和位,用户也可以在程序中自行定义。