1
51单片机及其应用
2
1.1 电子计算机的发展概述
? 1.1.1 电子计算机的问世及其经典结构
1946年 2月 15日,
第一台电子数字
计算机问世,这
标志着计算机时
代的到来。
( CALCULATO
R)
ENIAC
(,埃尼阿克” )
3
◆ 与现代的计算机相比,有许多不足,但 它
的问世开创了计算机科学技术的新纪元,对
人类的生产和生活方式产生了巨大的影响 。
◆ ENIAC是电子管计算机,时钟频率仅有 100
KHz,但能在 1秒钟的时间内完成 5000次加法
运算。 ?
4
匈牙利籍数学家 冯 ·诺依曼 在方案的设计上做出
了重要的贡献 。 1946年 6月, 他又提出了, 程序
存储, 和, 二进制运算, 的思想, 进一步构建了
计算机由运算器, 控制器, 存储器, 输入设备和
输出设备组成 这一计算机的经典结构 。
( EDVAC-ELECTRONIC DISCRETE VARIABLE AUTOMATIC COMPUTER)
存 储 器
输 出 设 备输 入 设 备
控 制 器
运 算 器
5
电子计算机技术的发
展, 相继经历了五个时
代:
﹡ 电子管计算机;
﹡ 晶体管计算机;
﹡ 集成电路计算机;
﹡ 大规模集成电路计算机;
﹡ 超大规模集成电路计算机 。
计算机的结构仍然没有突破冯 ·诺依曼提
出的计算机的经典结构框架 。
6
二、微型计算机的应用形态
从应用形态上,微机可以分成三种:
◆ 多板机(系统机)
将 CPU、存储器,I/O接口电路和总线接
口等组装在一块主机板(即微机主板)。各
种适配板卡插在主机板的扩展槽上并与电源、
软 /硬盘驱动器及光驱等装在同一机箱内,再
配上系统软件,就构成了一台完整的微型计
算机系统(简称系统机)。
工业 PC机 也属于多板机。
7
◆ 单板机
将 CPU芯片,存储器 芯片,I/O接口 芯片
和简单的 I/O设备 (小键盘,LED显示器)
等装配在一块印刷电路板上,再配上 监控程
序 (固化在 ROM中),就构成了一台单板
微型计算机(简称单板机)。
单板机
8
单板机的 I/O设备简单, 软件资
源少, 使用不方便 。 早期主要用
于微型计算机原理的 教学 及 简单
的测控系统, 现在已很少使用 。
9
◆ 单片机
在一片集成电路芯片上集成微处理器、存储器、
I/O接口电路,从而构成了 单芯片微型计算机,即
单片机 。
三种应用形态的比较,
单板机 单片机系统机(多板机)
10
系统机 ( 桌面应用 ) 属于通用计算机,
主要应用于数据处理, 办公自动化及辅助
设计 。
单片机 ( 嵌入式应用 ) 属于专用计算机,
主要应用于智能仪表, 智能传感器, 智能
家电, 智能办公设备, 汽车及军事电子设
备等应用系统 。
单片机 体积小, 价格低, 可靠性高, 其
非凡的嵌入式应用形态对于满足嵌入式应
用需求具有独特的优势 。
11
1.2 单片机的发展过程及产品近况
1.2.1 单片机的发展过程
单片机技术发展过程可分为三个主要阶段:
◆ 单芯片微机形成阶段
1976年,Intel公司推出了 MCS-48系列单片
机 。 8位 CPU,1K字节 ROM,64字节 RAM、
27根 I/O线和 1个 8位定时 /计数器 。
特点是,存储器容量较小,寻址范围小(不
大于 4K),无串行接口,指令系统功能不强。
12
◆ 性能完善提高阶段
1980年,Intel公司推出了 MCS-51系列单
片机,8位 CPU,4K字节 ROM,128字节
RAM,4个 8位并口,1个全双工串行口,2
个 16位定时 /计数器。寻址范围 64K,并有控
制功能较强的布尔处理器。 ?
特点是,结构体系完善,性能已大大提高,
面向控制的特点进一步突出。现在,MCS-
51已成为公认的单片机经典机种 。
13
◆ 微控制器化阶段
特点是,片内面向测控系统外围电路增强,
使单片机可以方便灵活地用于复杂的自动测控
系统及设备。
“微控制器”的称谓更能反应单片机的本质 。
1982年,Intel推出 MCS-96系列单片机。
芯片内集成,16位 CPU,8K字节 ROM,232
字节 RAM,5个 8位并口,1个全双工串行口,2
个 16位定时 /计数器。寻址范围 64K。片上还有 8
路 10位 ADC,1路 PWM输出及高速 I/O部件等。
14
1.2.2 单片机产品近况
﹡ ATMEL公司融入 Flash存储器技术的 AT89系列;
﹡ Philips公司的 80C51,80C552系列;
﹡ 华邦公司的 W78C51,W77C51高速低价 系列;
﹡ ADI公司的 ADμ C8xx高精度 ADC系列;
﹡ LG公司的 GMS90/97低压高速 系列;
﹡ Maxim公司的 DS89C420高速( 50MIPS) 系列;
﹡ Cygnal公司的 C8051F系列高速 SOC单片机。
◆ 80C51系列 单片机产品繁多,主流地位已
经形成,近年来推出的 与 80C51兼容 的主要产
品有:
15
◆ 非 80C51结构单片机新品 不断推出,给
用户提供了更为广泛的选择空间,近年来推
出的非 80C51系列的主要产品有:
﹡ Intel的 MCS-96系列 16位单片机 ;
﹡ Microchip的 PIC系列 RISC单片机 ; ?
﹡ TI的 MSP430F系列 16位 低功耗 单片机 。
16
1.3 单片机的特点及应用领域
1.3.1 单片机的特点
近期推出的单片机产品,内部集成有高速 I/O口、
ADC,PWM,WDT等部件,并在低电压、低功耗、串
行扩展总线、控制网络总线和开发方式(如在系统
编程 ISP)等方面都有了进一步的增强。 ?
◆ 控制性能和可靠性高
实时控制功能特别强,其 CPU可以对 I/O端口直接
进行操作,位操作能力 更是其它计算机无法比拟的。
另外,由于 CPU、存储器及 I/O接口 集成在同一芯片
内,各部件间的连接紧凑,数据在传送时 受干扰的
影响较小,且不易受环境条件的影响,所以单片机
的 可靠性非常高 。
17
◆ 体积小、价格低、易于产品化
单片机芯片即是一台完整的微型计算机,
对于批量大的专用场合,一方面可以在众多
的单片机品种间进行匹配选择;同时还可以
专门进行芯片设计,使芯片的功能与应用具
有良好的对应关系;在单片机产品的引脚封
装方面,有的单片机引脚已减少到 8个或更少。
从而使应用系统的 印制板减小、接插件减
少、安装简单方便。
18
1.3.2 单片机的应用领域
◆ 智能仪器仪表
单片机用于各种仪器仪表,一方面提
高了仪器仪表的使用功能和精度,使仪
器仪表智能化,同时还简化了仪器仪表
的硬件结构,从而可以方便地完成仪器
仪表产品的升级换代。如 各种智能电气
测量仪表、智能传感器 等。
19
◆ 机电一体化产品
机电一体化产品是集机械技术、微电
子技术、自动化技术和计算机技术于一
体,具有智能化特征的各种机电产品。
单片机在机电一体化产品的开发中可以
发挥巨大的作用。 典型产品如机器人、
数控机床、自动包装机、点钞机、医疗
设备、打印机、传真机、复印机 等。
20
◆ 实时工业控制
单片机还可以用于各种物理量的采集
与控制。电流、电压、温度、液位、流
量等物理参数的采集和控制均可以利用
单片机方便地实现。在这类系统中,利
用单片机作为系统控制器,可以根据被
控对象的不同特征采用不同的智能算法,
实现期望的控制指标,从而提高生产效
率和产品质量。典型应用如 电机转速控
制、温度控制、自动生产线 等 。
21
◆ 分布式系统的前端模块
在较复杂的工业系统中,经常要采
用分布式测控系统完成大量的分布参数
的采集。在这类系统中,采用单片机作
为分布式系统的前端采集模块,系统具
有 运行可靠,数据采集方便灵活,成本
低廉 等一系列优点。
22
◆ 家用电器
家用电器是单片机的又一重要应用
领域,前景十分广阔。如空调器、电
冰箱、洗衣机、电饭煲、高档洗浴设
备、高档玩具等。
另外,在交通领域中,汽车、火车、
飞机、航天器等均有单片机的广泛应
用。如汽车自动驾驶系统、航天测控
系统、黑匣子等 。
23
2.1 80C51系列概述
2.1.1 MCS-51系列
( 1) MCS-51是 Intel公司生产的一个单
片机系列名称。属于这一系列的单片机有
多种,如:
﹡ 8051/8751/8031;
﹡ 8052/8752/8032;
﹡ 80C51/87C51/80C31
﹡ 80C52/87C52/80C32等 。
24
( 2) 该系列生产工艺有两种:
CHMOS是 CMOS和 HMOS的结合, 既保
持了 HMOS高速度和高密度的特点, 还具有
CMOS的低功耗的特点 。 在产品型号中凡带
有字母, C”的即为 CHMOS芯片, CHMOS
芯片的电平既与 TTL电平兼容, 又与 CMOS
电平兼容 。 ?
一是 HMOS工艺 ( 高密度短沟道 MOS工
艺 ) 。 二是 CHMOS工艺 ( 互补金属氧化物
的 HMOS工艺 ) 。
25
( 3)在功能上,该系列单片机有基本型
和增强型两大类:
增强型,
8052/8752/8032
80C52/87C52/80C32
基本型,
8051/8751/8031
80C51/87C51/80C31
26
( 4) 在片内程序存储器的配置上,
该系列单片机有三种形式, 即掩膜
ROM,EPROM和 ROMLess(无片内
程序存储器 )。 如:
﹡ 80C51有 4K字节的掩膜 ROM;
﹡ 87C51有 4K字节的 EPROM ;
﹡ 80C31在芯片内无程序存储器。
27
2.1.2 80C51系列
﹡ Intel的,80C31,80C51,87C51,80C32、
80C52,87C52等;
﹡ ATMEL的,89C51,89C52,89C2051等;
﹡ Philips、华邦,Dallas、
Siemens(Infineon)等公司的许多产品 。
80C51是 MCS-51系列中 CHMOS工艺的
一个典型品种 ;其它厂商 以 8051为基核 开
发出的 CMOS工艺单片机产品 统称为 80C51
系列 。 当前常用的 80C51系列单片机主要产
品有:
28
2.1.3 80C51典型产品资源配置
29
学单片机需要具备的条件
?与以前所学的知识关联很少;
?对器件的概念基本上是从 0开始;
?如果要用 C语言编程,需具备一定的 C语言基
础;
?所有人都站在了同一起跑线上;
30
? #include<reg52.h>
? unsigned char Flag = 0x3f;
? main( )
? {
? P1 = 0x55;
While(1)
{
if(Flag –– == 0)
{
Flag = 0x3f;
P1 = ~P1;
}
}
? }
31
? org 0000h
? jmp main
? org 0100h
? main,mov p1,#55h
? amain,mov r0,#3fh
? loop,djnz r0,loop
? cpl a
? mov p1,a
? jmp amain
? end
32
·8 位 CPU
·4kbytes 程序存储器 (ROM)
(52为 8K)
·256bytes的数据存储器 (RAM)
( 52有 384bytes的 RAM)
·32条 I/O口线
·111条指令,大部分为单字节指令
·21个专用寄存器
2.2.2单片机的主要功能
33
? ·2 个可编程定时 /计数器
·5 个中断源,2个优先级
( 52有 6个)
·一个全双工串行通信口
·外部数据存储器寻址空间为 64kB
·外部程序存储器寻址空间为 64kB
·逻辑操作位寻址功能
·双列直插 40PinDIP封装
·单一 +5V电源供电
34
2.3.2 80C51的引脚封装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
1
2
3
4
5
6
7
8
9
10
20
19
18
17
16
15
14
13
12
11
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RST/VPD
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
XTAL2
XTAL1
VSS
VCC
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
EA/VPP
ALE/PROG
PSEN
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
RST
P3.0/RXD
P3.1/TXD
XTAL2
XTAL1
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
GND
VCC
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1/AIN1
P1.0/AIN0
P3.7
注, 类 似 的 还 有 Philips公 司 的
87LPC64,20引 脚
8XC748/750/( 751), 24引 脚
8X749( 752), 28引 脚
8XC754,28引 脚
等 等
8
0
C
5
1
/
8
9
C
5
1
8
9
C
2
0
5
1
总线型 非总线型
35
36
?CPU:由运算和控制逻辑组成,同时还包括
中断系统和部分外部特殊功能寄存器;
?RAM:用以存放可以读写的数据,如运算的
中间结果、最终结果以及欲显示的数据;
?ROM:用以存放程序、一些原始数据和表格;
?I/O口:四个 8位并行 I/O口,既可用作输入,
也可用作输出;
?T/C:两个定时 /记数器,既可以工作在定时
模式,也可以工作在记数模式;
37
?五个中断源的中断控制系统;
?一个全双工 UART(通用异步接收发送器)
的串行 I/O口,用于实现单片机之间或单片机
与微机之间的串行通信;
?片内振荡器和时钟产生电路,石英晶体和微
调电容需要外接。最高振荡频率为 12M。
38
单片机最小系统
Y1
2 2, 1 1 8 4
C9
1 5 P
C8
1 0 u F
S1
S W - P B
A L E
WR
RD
R X D
T X D
I N T 0
E A / V P
31
X1
19
X2
18
R E S E T
9
RD
17
WR
16
I N T 0
12
I N T 1
13
T0
14
T1
15
P 1 0
1
P 1 1
2
P 1 2
3
P 1 3
4
P 1 4
5
P 1 5
6
P 1 6
7
P 1 7
8
P 0 0
39
P 0 1
38
P 0 2
37
P 0 3
36
P 0 4
35
P 0 5
34
P 0 6
33
P 0 7
32
P 2 0
21
P 2 1
22
P 2 2
23
P 2 3
24
P 2 4
25
P 2 5
26
P 2 6
27
P 2 7
28
P S E N
29
A L E / P
30
T X D
11
R X D
10
V C C
40
GND
20
U1
8 9 S 5 2
V C C
P S E N
P 1 0
P 1 1
P 1 2
P 1 3
P 1 4
P 1 5
P 1 6
P 1 7
T0
T1
I N T 1
P 0 0
P 0 1
P 0 2
P 0 3
P 0 4
P 0 5
P 0 6
P 0 7
P 2 0
P 2 1
P 2 2
P 2 3
P 2 4
P 2 5
P 2 6
P 2 7
V C C
R6
1 0 K
R4
1 0 1
R5
1 0 K
C 1 0
1 5 P
X1
X2
39
?P0~P3:通用 I/O口;
?VCC:电源端,一般接 5V;
?GND:电源地;
?XTAL1,XTAL2:外接晶体振荡器,不能超
过 24M;需加微调电容,一般为 30pF;
?RST/VPD:复位端,平时为低电平;
?ALE/PROG:地址锁存允许信号端;
?EA/Vpp:外部程序存储器地址允许输入端 /
固化编程电压输入端;
40
2.2.4 控制器
1,时钟电路
( a)内部时钟电路;( b) HMOS型外部振荡源 (C) CHMOS型外部振荡源
41
单片机工作的基本时序
?,
? ( 1) 振荡周期, 也称时钟周期,是指为单片机提
供时钟脉冲信号的振荡源的周期。
? ( 2) 状态周期, 每个状态周期为时钟周期的 2
倍,是振荡周期经二分频后得到的。
? ( 3) 机器周期, 一个机器周期包含 6 个状态周
期 S1~S6,也就是 12 个时钟周期。 在一个机器周
期内,CPU可以完成一个独立的操作。
? ( 4) 指令周期, 它是指 CPU完成一条操作所需
的全部时间。 每条指令执行时间都是有一个或几个
机器周期组成。 MCS - 51 系统中,有单周期指令、
双周期指令和四周期指令。
42
1.时钟电路引脚,
XTAL1:接外部晶振和微调电容的一端,在单
片机内部,它是构成片内振荡器的反向放大
器的输入端。当采用外部振荡器时,该引脚
接收振荡器的信号,即把此信号直接接到内
部振荡器的输入端。
XTAL2:接外部晶振和微调电容的另一端,在
单片机内部,它是构成片内振荡器的反向放
大器的输出端。当采用外部振荡器时,此引
脚应悬空。
43
? 2.控制信号引脚,
? RST/VPD:RST是复位信号输入端,高电平有效。当
此输入端保持 2个机器周期的高电平时,就可以完成
复位操作。 RST引脚的第二功能是备用电源的输入
端。
上电复位 按键复位
44
?ALE/PROG:(Address Latch Enable/
Programming)当单片机上电正常工作后,
ALE引脚不断向外输出正弦脉冲信号,此频
率为振荡器频率的 1/6。 CPU访问外部存储器
时,ALE作为锁存低 8位地址的控制信号。此
引脚的第二功能 PROG作为 8751编程脉冲输
入端使用。
45
? PSEN,(Program Store Enable)在访问片外存储
器时,此端定时输出负脉冲作为片外存储器的选通
信号。
? EA/VPP,(Enable Address/Voltage Pulse Of
Programming)当 EA接高电平时,CPU访问片内
ROM,并执行内部程序存储器中的指令,但当 PC
(程序计数器)的值超过 4K时,将自动转去执行片
外存储器内的程序。当 EA脚接低电平时,CPU只
访问片外 ROM并执行外部程序存储器中的指令,而
不管是否有片内程序存储器。 VPP是对 8751片内
ROM固化程序时,作为施加较高编程电压
( 12V~21V)的输入端。
46
?3.输入输出引脚:
? P0~P3,4个 8位双向输入输出端口,每个
端口都有锁存器、输出驱动器和输入缓冲器。
4个端口都可以做输入输出口使用,其中,P0
和 P2通常用于对外部存储器的访问。在这种
方式下,把 P0口作为地址 /数据总线使用,分
时输出外部存储器的地址和传送 8位数据。当
扩充外部存储器的地址为 16位时,P2口作为
地址总线的高 8位地址使用。