,单片机原理与应用技术, 教学课件
,单片机原理与应用技术,
主讲教师,刘昌珍
无锡商业职业技术学院电子工程系
,单片机原理与应用技术, 精品课程建设组
,单片机原理与应用技术, 教学课件
有关本课程学习的几点建议
本课程是一门实践性、应用性很强的学科
仅仅听懂还不够,重在培养动手能力
硬件 /软件同样重要、不可偏废
硬件是骨架,软件是皮肉器脏及思想
本课程的前期基础课程是数字电路与微机原理
这方面知识掌握得不够好的请自己补上
预习、听课、复习、作业、实验环环都重要
用科学的方法学习
,单片机原理与应用技术, 教学课件
作业与答疑
答疑
定于每周 星期四 晚上 13:00— 16:00在 电子系
教师办公室 答疑;
平时任何一天,同学们有问题均可到 电子系
教师 办公室寻求解答,电话,83270061
每人准备一个作业本 —— 作业和实验报告
可用其他课程用过而没用完的本子,但 不能
用单页纸,学期末作业本就是一本复习提纲。
,单片机原理与应用技术, 教学课件
第 1章 预备知识(数制与码制) —— 不讲
第 2章 单片机基础 —— 4
第 3章 指令系统及汇编语言程序设计 —— 6
第 5章 输入 /输出、中断、定时与串行通信
—— 8
第 4章 单片机系统的扩展(并入 第 6章 讲)
第 6章 接口芯片与接口技术 —— 12~ 14
插入, C- 51程序设计 —— 2
第 7章 单片机应用系统设计 —— 3~ 4
第 8章 几种典型的单片机 —— 4
课堂授课时间分配, (40学时 )
,单片机原理与应用技术, 教学课件
绪 论
,单片机原理与应用技术, 教学课件
绪 论
在工业、农业、军事、保安、金融、仪器
仪表、航空航天、医疗、通讯、办公设备、
娱乐休闲、健身、体育竞赛、服务领域 ……,
大量 单片机 -嵌入式 技术已经无处不在。正
迅速改变着人们传统的生产和生活方式。
请稍微留心一下我们的周围,看看身边到
底发生了什么变化?
,单片机原理与应用技术, 教学课件
单片机技术的应用遍布国民经济与人民生活的各个领域
,单片机原理与应用技术, 教学课件














动作选择按钮
红外线传感器
89C2051单片机









,单片机原理与应用技术, 教学课件
从一个简单的测控应用实例说起
任务一,控制一盏灯点亮
任务二,红灯周期性地点亮 /熄灭
信号检测
柔性开关
集群灯控
顺序控制 /多任务定时切换
自动生产流水线
任务三,红外防盗报警
实时控制
,单片机原理与应用技术, 教学课件









,单片机原理与应用技术, 教学课件
数字电路中由 13片 IC组成的数字钟
,单片机原理与应用技术, 教学课件
数字电路中由 13片 IC组成 的数字钟
,单片机原理与应用技术, 教学课件
数字电路中由 13片 IC组成的数字钟
,单片机原理与应用技术, 教学课件
单片 IC(单片机)电子钟



,单片机原理与应用技术, 教学课件
单片机与嵌入式技术
重要吗?有用吗?遥远吗?
问题的答案是不言而喻的。
,单片机原理与应用技术, 教学课件
第一讲:单片机基础
本讲重点:
MCS-51的基本特性 ;
单片机的引脚与 I/O口结构 ;
存储器、堆栈与特殊功能寄存器,
,单片机原理与应用技术, 教学课件
第二章 单片机基础
单片机与嵌入式,
单片微机( Single Chip Micro-computer)
微控制器( Micro-Controller Unit—— MCU)
嵌入式微控制器( Embedded Microcontroller)
单片机应用领域,
测控系统,智能仪表,智能接口,办公自动化,
光机电一体化设备,通讯设备,网络设备,汽车
电子,消费类电子产品,智能楼宇设备 ……
单片机的多元化发展,
Intel Motorola Philips Atmel Siemens NS LG
Winbond Microchip EPSON NEC Cypress Dallas
Oki Fairchild Fujitsu Hitachi SAMSUNG……
,单片机原理与应用技术, 教学课件
组成,
CPU(进行运算、控制 ) RAM(数据存储器 )
I/O口 (串口、并口等 ) ROM(程序存储器 )
PC机, 上述部件以芯片形式安装在 主板 上。
单片机,上述部件被集成到 单芯片 中。
通用 PC包括,键盘、显示器、鼠标、硬 /软 /光驱、
音箱、打印机、扫描仪 … 等外设 。
单片机 则只是一片集成电路。( …… 100,48、
40,32,28,20,16,8条引脚)。
单片机与计算机之异同 ( 1)
,单片机原理与应用技术, 教学课件
功能,
PC机,数据运算、采集、处理、存储、传输;
单片机,控制(或受控于)外设。
通用计算机擅长于数据 运算,采集、处理、存储
和传输;
单片机的专长则是 测控,往往 嵌入 某个仪器 /设备
/系统中,使其达到智能化的效果。
单片机与计算机之异同 ( 2)
,单片机原理与应用技术, 教学课件
应用特点,
个人计算机(微机),
体积大,功耗大,价格高,用途较固定,属 通用计
算机 。易于学习掌握和使用,但用于控制时必须制
作或购买专用的接口卡,并编制专门的应用软件。
单片机,
体积小,功耗小,价格低,用途灵活,无处不在,
属 专用计算机。 是一种特殊器件,需经过专门学习
方能掌握应用,应用中要设计专业的硬件和软件。
单片机与计算机之异同 ( 3)
,单片机原理与应用技术, 教学课件
MCS-51单片机基本特性
? 8 位的 CPU,片内有振荡器和时钟电路,工作频率为
1~ 12MHz( Atmel 89Cxx为 0~ 24MHz)
? 片内有 128/256字节 RAM
? 片内有 0K/4K/8K字节 程序存储器 ROM
? 可寻址片外 64K字节 数据存储器 RAM
? 可寻址片外 64K字节 程序存储器 ROM
? 片内 21/26个 特殊功能寄存器 ( SFR)
? 4个 8位 的并行 I/O口 ( PIO)
? 1个 全双工串行口 ( SIO/UART)
? 2/3个 16位 定时器 /计数器 ( TIMER/COUNTER)
? 可处理 5/6个 中断源, 两级 中断优先级
? 内置 1个 布尔处理器 和 1个 布尔累加器 ( Cy)
? MCS-51指令集含 111条指令
,单片机原理与应用技术, 教学课件
MCS-51系列单片机配置一览表
系列
片内存储器(字节) 定时器
计数器
并行
I/O
串行
I/O



片内 ROM 片内
RAM无 有 ROM 有 EPROM
Intel
MCS-51
子系列
8031
80C31
8051
80C51
(4K字节 )
8751
87C51
(4K字节 )
128
字节 2x16 4x8位 1 5
Intel
MCS-52
子系列
8032
80C32
8052
80C52
(8K字节 )
8752
87C52
(8K字节 )
256
字节 3x16 4x8位 1 6
注意:今后将会经常提到 ATMEL的 AT89C2051/51/52等 MCU!
ATEML
89C系列
(常用型 )
1051(1K)/ 2051(2K)/ 4051(4K)
( 20条引脚 DIP封装) 128 2 15 1 5
89C51(4K)/ 89C52(8K)
( 40条引脚 DIP封装)
128/
256 2/3 32 1 5/6
,单片机原理与应用技术, 教学课件
内部结构框图
,单片机原理与应用技术, 教学课件
单片机的引脚定义
从一片集成电路的角度去认识单片机
,单片机原理与应用技术, 教学课件
认识单片机的引脚 MCS-51单片机 40脚
Vcc,GND 2
XTAL1,XTAL2 2
RESET 1
EA/Vpp 1
ALE/PROG 1
PSEN 1
P0.0— P0.7 8
P1.0— P1.7 8
P2.0— P2.7 8
P3.0— P3.7 8
,单片机原理与应用技术, 教学课件
单片机的引脚 (电源端)
? Vcc,GND,正电源端与接地端( +5V/3.3V/2.7V)
不同的单片机可以允许不同的工作电压,不同
的单片机表现出的功耗也不同。
,单片机原理与应用技术, 教学课件
单片机的引脚 (晶振端)
? Vcc,GND,正电源端与接地端( +5V/3.3V/2.7V)
不同的单片机可以允许不同的工作电压,不同
的单片机表现出的功耗也不同。
?XTAL1,XTAL2,片内振荡电路输入 /输出端
,单片机原理与应用技术, 教学课件
单片机的引脚 (晶振端)
? Vcc,GND:正电源端与接地端 (+5V/3.3V/2.7V)
? XTAL1,XTAL2,片内振荡电路输入 /输出端
15~ 45pfx2 1~ 12MHz( MCS-51)
0~ 24MHz( Atmel-89C)
XTAL1
XTAL2
也可以由 XTAL1
端接入外部时钟,
此时应将 XTAL2
接地:
XTAL2
XTAL1外部时钟
通常 外接
一个晶振
两个电容
,单片机原理与应用技术, 教学课件
单片机的引脚 (晶振端)
? Vcc,GND:正电源端与接地端( +5V/3.3V/2.7V)
? XTAL1,XTAL2,片内振荡电路输入、输出端
CPU总是按照一定的时钟节拍与时序工作:
振荡周期 /时钟周期:
Tc=晶振频率 fosc(或外加频率)的倒数
状态周期,Ts=2个时钟周期 (Tc)(很少用到此概念)
机器周期,Tm=6个状态周期 (Ts)=12个振荡周期 (Tc)
指令周期, Ti:执行一条指令所需的机器周期 (Tm)数
牢牢记住, 振荡周期 = 晶振频率 fosc的倒数;
1个机器周期 = 12个振荡周期;
1个指令周期 = 1,2,4个机器周期
,单片机原理与应用技术, 教学课件
单片机的引脚 (复位端)
? Vcc,GND,电源端 ( +5V/3.3V/2.7V)
? XTAL1,XTAL2,片内振荡电路输入、输出端
? RESET,复位端(正脉冲有效,宽度 ?8 mS)
,单片机原理与应用技术, 教学课件
复位使单片机进入某种确定的 初始状态,
▼ PC值归零( 0000H);
▼ 各个 SFR被赋予初始值(见 P.42):
P0~ P3 = 0FFH,Acc = 0,B = 0,TH0=0,
TL0=0,TH1=0,TL0=0,SP=7,PSW=0 ……
▼ 退出处于节电工作方式的停顿状态、退出一切
程序进程、退出程序的死循环,从头开始 。
单片机的引脚 (复位端)
? Vcc,GND,电源端 ( +5V/3.3V/2.7V)
? XTAL1,XTAL2,片内振荡电路输入、输出端
? RESET,复位端(正脉冲有效,宽度 ?8 mS)
,单片机原理与应用技术, 教学课件
PC与 SFR复位状态表
寄存器 复位状态 寄存器 复位状态
PC 0000H TCON 00H
A 00H T2CON 00H
B 00H TH0 00H
PSW 00H TL0 00H
SP 07H TH1 00H
DPTR 0000H TL1 00H
P0~P3 FFH SCON 00H
IP XX000000B SBUF XXH
IE 0X000000B PCON 0XXX0000B
TMOD 00H
,单片机原理与应用技术, 教学课件
单片机的引脚 (复位端)
+5V
10uF
10K
Vcc
RST
GND
上电复位
10uF
10K
Vcc
RST
GND
手动 &上电复位
1K
? Vcc,GND,电源端 ( +5V/3.3V/2.7V)
? XTAL1,XTAL2,片内振荡电路输入、输出端
? RESET,复位端 (正脉冲有效,宽度 ?8 mS)
+5V
,单片机原理与应用技术, 教学课件
单片机的引脚 ( EA端)
? Vcc,GND,电源端 ( +5V/3.3V/2.7V)
? XTAL1,XTAL2,片内振荡电路输入、输出端
? RESET,复位端 (正脉冲有效,宽度 ?8 mS)
? EA/Vpp,寻址外部 ROM控制端 /编程电源输入端。
低有效,片内 无 ROM时 必须 接地 ;
片内 有 ROM时 应当 接高电平 ;
对片内 ROM编程时编程正电源加到此端。
,单片机原理与应用技术, 教学课件
单片机的引脚 ( ALE端)
? Vcc,GND,电源端 ( +5V/3.3V/2.7V)
? XTAL1,XTAL2,片内振荡电路输入、输出端
? RESET,复位端 (正脉冲有效,宽度 ?8 mS)
? EA/Vpp,寻址外部 ROM控制端 /编程电源输入端。
? ALE/PROG,地址锁存允许 /编程脉冲输入端。
P0口寻址外部低 8位地址 时 接外部锁存器 G端;
ALE端 平时会输出周期正脉冲,f ? fosc/6 ;
对片内 ROM编程时编程脉冲由此端加入。
,单片机原理与应用技术, 教学课件
单片机的引脚 ( PSEN端)
? PSEN,寻址外部程序存储器时选通外部 EPROM的
读控制端 ( OE) 低有效。
,单片机原理与应用技术, 教学课件
单片机 锁存器74LS373
P0.0-P0.7
ALE
PSEN
P2.0-P2.4
8D 8Q
OE
A8-A12
A0-A7
D0-D7
G
EA OE
CE
EPROM
单片机的引脚 ( PSEN端)
? PSEN,寻址外部程序存储器时选通外部 EPROM的
读控制端 ( OE) 低有效。
,单片机原理与应用技术, 教学课件
单片机的 I/O引脚结构
众多功能各异的 I/O引脚源于它结构的不同
,单片机原理与应用技术, 教学课件
单片机的引脚 ( P1口)
? P1.0— P1.7,准双向 I/O口 (内置了上拉电阻)
输出时一切照常,仅在作 输入口 用时要先对其
写,1” 。
2
1
D Q
CK /Q
读引脚
读锁存器
写锁
存器
内部
总线
Vcc
引脚 P1.X
内部上拉电阻
,单片机原理与应用技术, 教学课件
2
1
D Q
CK /Q
读引脚
读锁存器
写锁
存器
内部
总线
Vcc
引脚 P1.X
内部上拉电阻
输 出 数据 = 1 时
1 1
0


=1
单片机的引脚 ( P1口)
? P1.0— P1.7,准双向 I/O口 (内置了上拉电阻)
输出时一切照常,仅在作 输入口 用时要先对其
写,1” 。
,单片机原理与应用技术, 教学课件
2
1
D Q
CK /Q
读引脚
读锁存器
写锁
存器
内部
总线
Vcc
引脚 P1.X
内部上拉电阻
输 出 数据 = 0 时
0 0
1
=0


单片机的引脚 ( P1口)
? P1.0— P1.7,准双向 I/O口( 内置了上拉电阻 )
输出时一切照常,仅在作 输入口 用时要先对其
写,1” 。
,单片机原理与应用技术, 教学课件
2
1
D Q
CK /Q
读引脚 =1
读锁存器
写锁
存器
内部
总线
Vcc
引脚 P1.X
内部上拉电阻
输 入 数据时,要先对其写,1”
1 1
0


单片机的引脚 ( P1口)
? P1.0— P1.7,准双向 I/O口( 内置了上拉电阻 )
输出时一切照常,仅在作 输入口 用时要先对其
写,1” 。
,单片机原理与应用技术, 教学课件









,单片机原理与应用技术, 教学课件
P1.3





光路通畅,R亮 ?2K?
光路阻断,R暗 ?400K ?
R亮 < 2.2K?
R暗 >250K ?
,单片机原理与应用技术, 教学课件
JOB3,CLR P1.1 ;亮绿灯
REDO,SETB P1.3 ;P1.3作输入口必先置 1
CHECK:JNB P1.3,CHECK ;检测 通道是否被阻断?
LOOP,………… ;有入侵者,报警!
AJMP REDO ;再跳回去检测
任务三,红外防盗报警
P1.3口 用于输入状态检测的语句,
R亮 <2.2K?,红外线光路通畅时,P1.3端= 低电平
R暗 >250K ?,红外线光路阻断时,P1.3端= 高电平
,单片机原理与应用技术, 教学课件
单片机的引脚 ( P0口)
? P0.0— P0.7,双向 I/O (内置 场效应管 上拉)
寻址外部程序存储器时 分时 作为 双向 8位数据口
和 输出低 8位地址 复用口 ;不接外部程序存储器
时可 作为 8位 准双向 I/O口 使用。
2
1
D Q
CK /Q
读引脚
读锁存器
写锁
存器
内部
总线
地址 /数据 控制
引脚 P0.X
3
4
Vcc
,单片机原理与应用技术, 教学课件
2
1
D Q
CK /Q
读引脚 =1
读锁存器
写锁
存器
内部
总线
地址 /数据 控制
引脚 P0.X
3
4
控制 =0 时,此脚作 输入口 (事先必须对它写,1”)
0 0
1
0 0




=0 Vcc
单片机的引脚 ( P0口)
? P0.0— P0.7,双向 I/O (内置 场效应管 上拉)
寻址外部程序存储器时分时作为 双向 8位数据口
和 输出低 8位地址 复用口;不接外部程序存储器
时可作为 8位 准双向 I/O口 使用。
,单片机原理与应用技术, 教学课件
2
1
D Q
CK /Q
读引脚 =0
读锁存器
写锁
存器
内部
总线
地址 /数据 控制 =1
引脚 P0.X
3
4
控制 =1时,此脚作地址 /数据 复用口,
( 1) 输出地址 /数据 =0时
1
0
1
1
=0



止=0
Vcc
单片机的引脚 ( P0口)
? P0.0— P0.7,双向 I/O (内置 场效应管 上拉)
寻址外部程序存储器时分时作为 双向 8位数据口
和 输出低 8位地址 复用口;不接外部程序存储器
时可作为 8位 准双向 I/O口 使用。
,单片机原理与应用技术, 教学课件
2
1
D Q
CK /Q
读引脚 =0
读锁存器
写锁
存器
内部
总线
地址 /数据 控制 =1
引脚 P0.X
3
4
控制 =1时,此脚作地址 /数据 复用口,
( 2) 输出地址 /数据 =1时
1
1
0
0
=1



通=1
Vcc
单片机的引脚 ( P0口)
? P0.0— P0.7,双向 I/O (内置 场效应管 上拉)
寻址外部程序存储器时分时作为 双向 8位数据口
和 输出低 8位地址 复用口;不接外部程序存储器
时可作为 8位 准双向 I/O口 使用。
,单片机原理与应用技术, 教学课件
2
1
D Q
CK /Q
读引脚 =1
读锁存器
写锁
存器
内部
总线
地址 /数据 控制 =1
引脚 P0.X
3
4
控制 =1时,此脚作地址 /数据 复用口,
( 3) 输入数据时,输入指令将使引脚与内部总线直通
Vcc
单片机的引脚 ( P0口)
? P0.0— P0.7,双向 I/O (内置 场效应管 上拉)
寻址外部程序存储器时分时作为 双向 8位数据口
和 输出低 8位地址 复用口;不接外部程序存储器
时可作为 8位 准双向 I/O口 使用。
,单片机原理与应用技术, 教学课件
单片机的引脚 ( P2口)
? P2.0— P2.7,双向 I/O (内置了上拉电阻)
寻址外部程序存储器时 输出高 8位地址 ;不接外
部程序存储器时可 作为 8位 准双向 I/O口 使用。
2
1
D Q
CK /Q
读引脚
读锁存器
写锁
存器
内部
总线
地址高 8位 控制
引脚
P2.X3
内部上拉电阻
Vcc
,单片机原理与应用技术, 教学课件
2
1
D Q
CK /Q
读引脚 =0
读锁存器
写锁
存器
内部
总线
地址高 8位 控制
引脚 P2.X
控制 =0时,此脚作通用 输出口,
输出 =1时
1
1 0 截
止3
内部上拉电阻
1 1
Vcc
=1
=0
单片机的引脚 ( P2口)
? P2.0— P2.7,双向 I/O (内置了上拉电阻)
寻址外部程序存储器时 输出高 8位地址 ;不接外
部程序存储器时可作为 8位 准双向 I/O口 使用。
,单片机原理与应用技术, 教学课件
2
1
D Q
CK /Q
读引脚 =0
读锁存器
写锁
存器
内部
总线
地址高 8位 控制
引脚 P2.X
控制 =0时,此脚作通用 输出口,
输出 =0时
0
0 1 导
通3
内部上拉电阻
0 0
Vcc
=0
=0
单片机的引脚 ( P2口)
? P2.0— P2.7,双向 I/O (内置了上拉电阻)
寻址外部程序存储器时 输出高 8位地址 ;不接外
部程序存储器时可作为 8位 准双向 I/O口 使用。
,单片机原理与应用技术, 教学课件
2
1
D Q
CK /Q
读引脚 =0
读锁存器
写锁
存器
内部
总线
地址高 8位 控制 =1
引脚 P2.X
控制 =1 时,此脚作 高 8位地址 A8— A15输出口:
当 输出 =1 时
1
0 截
止3
内部上拉电阻
1
=1
Vcc
=1
单片机的引脚 ( P2口)
? P2.0— P2.7,双向 I/O (内置了上拉电阻)
寻址外部程序存储器时 输出高 8位地址 ;不接外
部程序存储器时可作为 8位 准双向 I/O口 使用。
,单片机原理与应用技术, 教学课件
2
1
D Q
CK /Q
读引脚 =0
读锁存器
写锁
存器
内部
总线
地址高 8位 控制 =1
引脚 P2.X
0
1 导
通3
内部上拉电阻
0
=0
Vcc
=0
控制 =1 时,此脚作 高 8位地址 A8— A15输出口:
当 输出 =0 时
单片机的引脚 ( P2口)
? P2.0— P2.7,双向 I/O (内置了上拉电阻)
寻址外部程序存储器时 输出高 8位地址 ;不接外
部程序存储器时可作为 8位 准双向 I/O口 使用。
,单片机原理与应用技术, 教学课件
单片机的引脚 ( P3口)
? P3.0— P3.7,双功能口 (内置了上拉电阻)
它 具有特定的第二功能 。在不使用它的第二功
能时它就是普通的 通用准双向 I/O口 。
2
1
D Q
CK /Q
读引脚
读锁存器
写锁
存器
内部
总线
第二功能输出
引脚
P3.X3
内部上拉电阻
Vcc
第二功能输入
4
,单片机原理与应用技术, 教学课件
2
1
D Q
CK /Q
读引脚
读锁存器
写锁
存器
内部
总线
第二功能输出
( WR,RD,TxD)
引脚
P3.X3
内部上拉电阻
Vcc
4
第二功能输出时,内部自动 D=1
1 1
1
反相器
单片机的引脚 ( P3口)
? P3.0— P3.7,双功能口 (内置了上拉电阻)
它 具有特定的第二功能 。在不使用它的第二功
能时它就是普通的 通用准双向 I/O口 。
,单片机原理与应用技术, 教学课件
2
1
D Q
CK /Q
读引脚
读锁存器
写锁
存器
内部
总线
此端自动= 1
引脚 P3.X3
内部上拉电阻
Vcc
第二功能输入 ( RxD,
T0,T1,INT0,INT1)
4
第二功能输入时,信号经
缓冲器 4 直接进入内总线
1
1
1 0 截

单片机的引脚 ( P3口)
? P3.0— P3.7,双功能口 (内置了上拉电阻)
它 具有特定的第二功能 。在不使用它的第二功
能时它就是普通的 通用准双向 I/O口 。
,单片机原理与应用技术, 教学课件
P3口第二功能表 ( P.26 表 2- 3)
引 脚 第 二 功 能
P3.0 RxD,串行口接收数据输入端
P3.1 TxD,串行口发送数据输出端
P3.2 INT0,外部中断申请输入端 0
P3.3 INT1,外部中断申请输入端 1
P3.4 T0,外部计数脉冲输入端 0
P3.5 T1,外部计数脉冲输入端 1
P3.6 WR,写外设控制信号输出端
P3.7 RD,读外设控制信号输出端
,单片机原理与应用技术, 教学课件
51单片机的 8个特殊引脚
? Vcc,GND,电源端
? XTAL1,XTAL2,片内振荡电路输入、输出端
? RESET,复位端 正脉冲有效(宽度 ?8 mS)
? EA/Vpp,寻址外部 ROM控制端 。低有效
片内有 ROM时应当接高电平。
? ALE/PROG,地址锁存允许 控制端 。
? PSEN:选通外部 ROM的读 (OE)控制端。 低有效
小结
,单片机原理与应用技术, 教学课件
51单片机的 4个 8位的 I/O口
?P0.0— P0.7:8位数据口 和 输出低 8位地址 复用口
(复用时是 双向口 ;不复用时也是 准双向口 )
?P1.0— P1.7,通用 I/O口 (准双向口)
?P2.0— P2.7,输出高 8位地址
(用于寻址时是 输出口; 不寻址时是 准双向口 )
?P3.0— P3.7,具有特定的第二功能 (准双向口)
注意,在不外扩 ROM/RAM时,P0~ P3均可作通用 I/O
口使用,而且 都是 准双向 I/O口 (例如,AT89C51)!
小结
,单片机原理与应用技术, 教学课件
P3口第二功能表 ( P.26 表 2- 3)
引 脚 第 二 功 能
P3.0 RxD,串行口接收数据输入端
P3.1 TxD,串行口发送数据输出端
P3.2 INT0,外部中断申请输入端 0
P3.3 INT1,外部中断申请输入端 1
P3.4 T0,外部计数脉冲输入端 0
P3.5 T1,外部计数脉冲输入端 1
P3.6 WR,写外设控制信号输出端
P3.7 RD,读外设控制信号输出端
小结
,单片机原理与应用技术, 教学课件
存储器、堆栈,SFR
,单片机原理与应用技术, 教学课件
?数据存储器 —— RAM( Random Access Memory)
?程序存储器 —— ROM( Read Only Memory)
?闪速存储器 —— Flash Memory
?EPROM—— ( UV) Erazible Programmable ROM
?EEPROM/E2PROM—— Electrical Erasable
Programmable ROM
?静态存储器 SRAM—— Static RAM
(动态存储器 DRAM—— Dynamic RAM)
?按字节寻址:每个字节 (8个位 )占一个地址
?按位寻址:有的存储器每一个位就有一个地址
单片机的存储器 —— 几个有关的概念:
,单片机原理与应用技术, 教学课件
89C51单片机存储器配置
? 片内 RAM 128字节( 00H— 7FH);
片内 RAM前 32个单元是工作寄存器区 (00H— 1FH)
片内 RAM有 128个可按位寻址的位,占 16个单元。
位地址编号为,00H— 7FH,分布在 20H— 2FH单元
? 片内 21个特殊功能寄存器 (SFR)中:地址号能被
8整除的 SFR中的各位 也可 按位寻址 ( P.33-34)
? 可寻址片外 RAM 64K字节 ( 0000H— FFFFH)
? 可寻址片外 ROM 64K字节 ( 0000H— FFFFH)
? 片内 Flash ROM 4K字节 ( 000H— FFFH)
,单片机原理与应用技术, 教学课件
存储器配置 ( 片内 RAM)
? 片内 RAM 128字节 ( 00H— 7FH)
00H
20H
2FH
7FH
1FH
30H
80H
FFH
52子系列才有
的 RAM区
普通 RAM区
位寻址区
工作寄存器区
SFR分布在
80H-FFH
其中 92个位
可位寻址80H
FFH
所有的 RAM区 (包括位
寻址区、工作寄存器
区)都可以用于存放
数据,故也称为 数据
缓存寄存器
89C51
128字节
,单片机原理与应用技术, 教学课件
? 片内 RAM前 32个单元是 工作寄存器区
(00H— 1FH)
00H
20H
2FH
7FH
1FH
30H
80H
FFH
52子系列才有
的 RAM区
普通 RAM区
位寻址区
工作寄存器区
存储器配置 ( 片内 RAM)
,单片机原理与应用技术, 教学课件
00H
20H
2FH
7FH
1FH
30H
80H
FFH
52子系列才有
的 RAM区
普通 RAM区
位寻址区
工作寄存器区 R0
R2
R1
R3
R4
R5
R6
R707H
02H
01H
00H
06H
04H
05H
03H
08H
1FH 工作寄存器区 3
工作寄存器区 2
工作寄存器区 1






0
0FH10H
17H
18H
? 片内 RAM前 32个单元是 工作寄存器区
(00H— 1FH)
存储器配置 ( 片内 RAM)
,单片机原理与应用技术, 教学课件
00H
20H
2FH
7FH
1FH
30H
80H
FFH
52子系列才有
的 RAM区
普通 RAM区
位寻址区
工作寄存器区
? 片内 RAM中有 128个可按位寻址的位。
位地址,00H— 7FH
分布在,20H— 2FH单元
存储器配置 ( 片内 RAM)
,单片机原理与应用技术, 教学课件
00H
20H
2FH
7FH
1FH
30H
80H
FFH
52子系列才有
的 RAM区
普通 RAM区
位寻址区
工作寄存器区
27H
22H
21H
20H
26H
24H
25H
23H
28H
2FH
单元地址
07 06 05 04 03 02 01 00
0F 0E 0D 0C 0B 0A 09 08
17 16 15 14 13 12 11 10
1F 1E 1D 1C 1B 1A 19 18
27 26 25 24 23 22 21 20
2F 2E 2D 2C 2B 2A 29 28
37 36 35 34 33 32 31 30
3F 3E 3D 3C 3B 3A 39 38
47 46 45 44 43 42 41 40
7F 7E 7D 7C 7B 7A 79 78
位地址
总共
128
个可
按位
寻址
的位
? 片内 RAM中有 128个可按位寻址的位。
位地址,00H— 7FH
分布在,20H— 2FH单元
存储器配置 ( 片内 RAM)
,单片机原理与应用技术, 教学课件
? 可寻址片外 RAM 64K字节 ( 0000H— FFFFH);
? 可寻址片外 ROM 64K字节 ( 0000H— FFFFH);
? 片内 Flash ROM 4K字节 ( 000H— FFFH);
FFFFH
0000H
可寻址
片外
RAM
64K
字节
FFFFH
0000H
可寻址
片外
ROM
64K
字节FFFH
000H
可寻址
片内
Flash
ROM
4K
字节
89C51
7FH
00H
片内 RAM
128字节
FFH
80H
存储器配置 ( 片内 RAM)
,单片机原理与应用技术, 教学课件
堆栈,
在 片内 RAM中,常常要指定一个专门的区域来
存放某些 特别的 数据,它遵循 顺序存取 和 后进
先出 (LIFO/FILO)的原则,这个 RAM区 叫 堆栈 。
功用,
1)子程序调用 和 中断服务 时 CPU自动将当前 PC
值 压栈保存,返回时自动将 PC值弹栈。
2)保护现场 /恢复现场
3)数据传输
,单片机原理与应用技术, 教学课件
00H
20H
2FH
7FH
1FH
30H
80H
FFH
52子系列才有
的 RAM区
普通 RAM区
位寻址区
工作寄存器区
SP
栈顶 下一个进栈的数据将存在此
数据
进栈
已经进栈的数
据存放在此
初始
SP
复位后 SP=07H,数据进栈时,首先
SP+1指向 08H单元,第一个放进堆栈
的数据将放进 08H单元,然后 SP再自
动增 1,仍指着栈顶 ……
堆栈区由特殊功能寄存器 堆栈指针 SP管理
堆栈区可以安排在 RAM区任意位置,一般不安排在
工作寄存器区和可按位寻址的 RAM区,通常 放在 RAM
区的 靠后 的位置。
,单片机原理与应用技术, 教学课件
从堆栈取出数据时, 取出的数据是
最近放进去的一个数据,也就是当
前栈顶的数据。然后 SP再自动减 1,
仍指着栈顶 ……
00H
20H
2FH
7FH
1FH
30H
80H
FFH
52子系列才有
的 RAM区
普通 RAM区
位寻址区
工作寄存器区
SP
栈顶 当前要出栈的数据
数据
出栈
SP-1指向下一个
将要出栈的数据
初始
SP
堆栈区由特殊功能寄存器 堆栈指针 SP管理
堆栈区可以安排在 RAM区任意位置,一般不安排在
工作寄存器区和可按位寻址的 RAM区,通常 放在 RAM
区的 靠后 的位置。
,单片机原理与应用技术, 教学课件
从堆栈取出数据时, 取出的数据是
最近放进去的一个数据,也就是当
前栈顶的数据。然后 SP再自动减 1,
仍指着栈顶 ……
00H
20H
2FH
7FH
1FH
30H
80H
FFH
52子系列才有
的 RAM区
普通 RAM区
位寻址区
工作寄存器区
SP-1 指向新的栈
顶,也就是下一个
将要出栈的数据
数据
出栈
初始
SP
堆栈区由特殊功能寄存器 堆栈指针 SP管理
堆栈区可以安排在 RAM区任意位置,一般不安排在
工作寄存器区和可按位寻址的 RAM区,通常 放在 RAM
区的 靠后 的位置。
,单片机原理与应用技术, 教学课件
89C51特殊功能寄存器 (SFR)
▼ 特殊功能寄存器 SFR(专用寄存器)
专用于 控制、选择、管理、存放 单片机内部各部分
的工作 方式、条件、状态、结果 的寄存器 。
▼ 不同的 SFR管理不同的硬件模块,负责不同的功
能 —— 各司其职
换言之:要让单片机实现预订的功能,必须有相应
的硬件和软件,而软件中最重要的一项工作就是对
SFR写命令(要求) 。
,单片机原理与应用技术, 教学课件
程序计数器 PC( Program Counter)
PC 不是 一个特殊功能寄存器 SFR,但其作 用又
十分重要和特殊 !!!
特点:
▼ 它是 16位 的按机器周期 自动增 1计数器
▼ 一切 分支 /跳转 /调用 /中断 /复位 等操作的 本质
就是,改变 PC 值
▼ 总指向下一条指令所在首地址 (当前 PC值 )
特殊功能寄存器 (PC)
,单片机原理与应用技术, 教学课件
89C51有 21个 SFR(89C52有 26个 ) P.33~ 34
已知的 P0,P1,P2,P3等四个 8位 I/O口 分别由名
为 P0,P1,P2,P3四个 SFR代表。
堆栈指针寄存器 SP( Stack Pointer),总是指
向栈顶,压栈时先 (SP)+1 然后数据进栈;弹栈
时数据先出栈 然后 (SP)-1。
累加器 ACC:一个被众多指令用得最频繁的特殊
功能寄存器 (如:运算、数据传输 … )。
副累加器 B:一个经常与 ACC 配合在一起使用的
特殊功能寄存器 (如:乘法、除法 ),此外,它也
经常当作普通寄存器使用。
特殊功能寄存器 (P0— P3,SP,A,B)
,单片机原理与应用技术, 教学课件
程序状态字寄存器 PSW:
CY AC F0 RS0 OV PRS1
PSW.7 PSW.0
▼ CY(PSW.7)进位 /借位标志位 。若 ACC在运算过程
中发生了进位或借位,则 CY=1;否则 =0。它也
是 布尔处理器 的 位累加器,可用于布尔操作。
▼ AC(PSW.6)半进位 /借位标志位。 若 ACC在运算过
程中,D3位向 D4位发生了进位或借位,则 CY=1,
否则 =0。机器在执行, DA A”指令时 自动 要判
断这一位,我们可以暂时不关心它。
▼ F0 (PSW.5)可由用户定义的标志位。
PSW.6 PSW.5
特殊功能寄存器 (PSW)
,单片机原理与应用技术, 教学课件
程序状态字寄存器 PSW(续),
CY AC F0 RS0 OV PRS1
PSW.7 PSW.0
▼ RS1(PSW.4),RS0(PSW.3)工作寄存器组选择位 。
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单元。
PSW.4 PSW.3
RS1,RS0 = 0 0 则选择了工作寄存器组 0 区
R0~ R7分别 代表 08H ~ 0FH单元。
,单片机原理与应用技术, 教学课件
? 片内 RAM前 32个单元 (00H— 1FH)是工作寄存器
区 (由 PSW中的 RS1,RS0决定 )
00H
20H
2FH
7FH
1FH
30H
80H
FFH
52子系列才有
的 RAM区
普通 RAM区
位寻址区
工作寄存器区 R0
R2
R1
R3
R4
R5
R6
R707H
02H
01H
00H
06H
04H
05H
03H
08H
1FH 工作寄存器区 3
工作寄存器区 2
工作寄存器区 1






0
,单片机原理与应用技术, 教学课件
程序状态字寄存器 PSW(续),
CY AC F0 RS0 OV PRS1
PSW.7 PSW.0
▼ 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.2 PSW.1
,单片机原理与应用技术, 教学课件
PC与 SFR复位状态表
寄存器 复位状态 寄存器 复位状态
PC 0000H TCON 00H
A 00H T2CON 00H
B 00H TH0 00H
PSW 00H TL0 00H
SP 07H TH1 00H
DPTR 0000H TL1 00H
P0~P3 FFH SCON 00H
IP XX000000B SBUF XXH
IE 0X000000B PCON 0XXX0000B
TMOD 00H
回顾
,单片机原理与应用技术, 教学课件
89C51单片机存储器配置
? 片内 RAM 128字节( 00H— 7FH);
片内 RAM前 32个单元是工作寄存器区 (00H— 1FH)
片内 RAM有 128个可按位寻址的位,占 16个单元。
位地址编号为,00H— 7FH
分布在,20H— 2FH单元
? 片内 21个特殊功能寄存器 (SFR)中:地址号能被
8整除的 SFR中的各位 也可 按位寻址
? 可寻址片外 RAM 64K字节 ( 0000H— FFFFH)
? 可寻址片外 ROM 64K字节 ( 0000H— FFFFH)
? 片内 Flash ROM 4K字节 ( 000H— FFFH)
小结
,单片机原理与应用技术, 教学课件
存储器配置 (片内 RAM)
? 片内 RAM 128字节 ( 00H— 7FH)
00H
20H
2FH
7FH
1FH
30H
80H
FFH
52子系列才有
的 RAM区
普通 RAM区
位寻址区
工作寄存器区
SFR分布在
80H-FFH
其中 92个位
可位寻址80H
FFH
所有的 RAM区 (包括位寻址
区、工作寄存器区)都可
以用于存放数据,故也称
为 数据缓存寄存器
128字节
小结
,单片机原理与应用技术, 教学课件
单片机存储器配置 (片外 RAM/ROM)
? 可寻址片外 RAM 64K字节 ( 0000H— FFFFH);
? 可寻址片外 ROM 64K字节 ( 0000H— FFFFH);
? 片内 Flash ROM 4K字节 ( 000H— FFFH);
FFFFH
0000H
可寻址
片外
RAM
64K
字节
FFFFH
0000H
可寻址
片外
ROM
64K
字节FFFH
000H
可寻址
片内
Flash
ROM
4K
字节
89C51
7FH
00H
片内 RAM
128字节
FFH
80H
小结
,单片机原理与应用技术, 教学课件
OVER !