3(程序存储器)

  • 格式:pps
  • 大小:235.00 KB
  • 文档页数:14

四川工程职业技术学院
单片机应用技术课程电子教案
Copyright © 第讲
3
8051的程序存储器
本讲主要内容
3-1. 51架构与51单片机的内部存储器
3-2. 51单片机的程序存储器管理
3-3. 51单片机的ROM扩展(了解)
3-4. 增强型51单片机P89V51RD2的内部ROM(了解)
51架构
时钟电路总线控制CPU
ROM/EPROM/FLASH
4K 字节
RAM 128字节
SFR 21个
定时/计数器2个中断系统
5中断源、2优先级
串行口
全双工 2个并行口
4个RST EA ALE PSEN
XTAL2
XTAL1
P0P1P2P3
V CC
V SS
串行通信接口全双工1个
内部ROM TXD RXD
中断系统并行通信接口4×8bit
定时/计数器
n ×16bit
内部RAM 时钟电路
CPU 总线控制
51架构单片机内部存储器
内部ROM 内部RAM
ROM:Read Only Memory
只读
作用:存储程序或表格
类型:EPROM/FLASH/OTP
容量:0~64K(0~65536)
单位-字节(byte)
容量大小视单片机型号不
同而不同
地址:0000H~RAM:Random Access Memory
可读可写
作用:存放程序运行中产生的临时数据
容量:128byte~
容量大小视单片机型号不
同而不同
类型:DATA 000~127
IDATA 128~255
XDATA 000~
关于51系列单片机的程序存储器ROM
✧程序存储器用于存放程序和表格等固定数据,掉电数据不丢失
✧每种单片机在其内部都会有0~64K容量不等的ROM
✧如果单片机片内ROM空间不够,可以在单片机外部扩展ROM,但建
议用户尽量避免外扩ROM,51系列单片机1000多种型号,一定可以
找到内部ROM容量符合要求的单片机。

即便是单片机略微贵点也值

✧目前市面上的单片机ROM主要有Flash Memory和OTP(O ne T ime
P rogrammable)两种,PROM、EPROM等形式的单片机已经很少见了。

就开发而言Flash Memory的单片机更加合适,如ATMEL公司的
AT89CXX单片机和PHILIPS公司的P89CXX单片机
51系列单片机的程序存储器管理
✧每个ROM单元(byte)对应一个唯一的16bit地址编码(Address)
✧CPU要到某个ROM单元去取指令,是通过把地址写入一个16bit的特
殊功能寄存器——程序计数器PC(Program Counter)来实现,因此,51
系列单片机的地址的编码范围(通常称为寻址范围):
0000 0000 0000 0000B ~1111 1111 1111 1111B(二进制)
0 0 0 0 H ~ F F F F H(十六进制)
0 ~65535 (十进制)
通常习惯说51系列单片机的ROM寻址范围是64K
✧PC的值是CPU根据用户程序的运行流程自动装载的,它的值代表单
片机下一条要执行的指令在ROM中的存放位置,用户不能直接对PC
进行操作
51单片机程序存储器分配
0000H FFFFH
ROM
0003H 000BH 0013H 001BH 0023H
复位入口INT0中断入口T0中断入口INT1中断入口T1中断入口串口中断入口
0000H :系统的启动单元
系统复位后,单片机从此处开始取指令开始执行
0003H :外部中断0入口地址
000BH :定时器/计数器0中断入口地址0013H :外部中断1入口地址
001BH :定时器/计数器1中断入口地址0023H :串行中断入口地址
51单片机程序存储器的访问
0000H FFFFH
ROM
0003H 000BH 0013H 001BH 0023H
复位入口INT0中断入口T0中断入口INT1中断入口T1中断入口串口中断入口
编程器1、程序存储器写入编写源程序
PC 机(开发软件)
单片机
ISP 功能
ORG 0000H
MAIN:MOV A,#00H
ADD A,#10H MOV 30H,A SJMP $END
例如:
机器代码
51单片机程序存储器的访问
0000H FFFFH
ROM
0003H 000BH 0013H 001BH 0023H
复位入口INT0中断入口T0中断入口INT1中断入口T1中断入口串口中断入口
2、指令在程序存储器中的存放ORG 0000H
MAIN:MOV A,#00H
ADD A,#10H MOV 30H,A SJMP $END
例如:
每一条指令存放的首地址
51单片机程序存储器的访问
0000H FFFFH
ROM
0003H 000BH 0013H 001BH 0023H
复位入口INT0中断入口T0中断入口INT1中断入口T1中断入口串口中断入口
3、入口区的处理ORG 0000H
LJMP MAIN ORG 0030H
MAIN: MOV A,#00H
ADD A,#10H MOV 30H,A SJMP $END
例如:
中间空余的单元
51单片机外扩ROM 方法
强烈建议用户尽可能不要考虑外扩程序存储器,如果非扩不可,可以仿照下图所示电路进行扩展图中P0口输出外部ROM 的低8位地址信号,P2口输出高8位地址信号;ALE 端输出地址锁存信号,/PSEN 输出程序存储器输出使能信号。

3-3. 51单片机的ROM 扩展
E A/VP 31X119X218RE SE T 9RD 17W R
16
INT 012INT 113T 014
T 115P101
P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P27
28
PSE N
29
AL E /P 30T XD 11RXD 10M CS-51
OC 1C 11
1D 31Q 22D 42Q 53D 73Q 64D 84Q 95D 135Q 126D 146Q 157D 177Q 168D 188Q
19
74L S373
A010A19A28A37A46A55A64A73A825A924A1021A1123A122A1326A1427E 20G 22
DQ111DQ212DQ313DQ415DQ516DQ617DQ718DQ8
19
27256
GND
GND
P0.0-P0.7
P2.0-P2.6
GND
8051单片机和P89V51RD2单片机的内部存储器对比
P89V51RD2(增强型51MCU) 8051
3-4. 51架构与51单片机的内部存储器
ROM :PROM(掩膜ROM)
4K Byte
0000H ~1FFFH
RAM :DATA-128Byte
00~7FH
SFR :21个
80~FFH
ROM :Flash Memory
64K Byte
0000H ~FFFFH
RAM :DATA-128Byte 00~7FH
IDATA-128Byte 80~FFH XDATA-768Byte 00~2FFH
SFR :62个
80~FFH
两个模块
P89V51RD2单片机内部有64K 用户ROM 区和8K BOOT ROM 区两个模块
1FFFH
8K byte Boot ROM
模块0:存放用户
程序
0000H
FFFFH
64K byte 用户ROM Flash
0000H
模块1:存放ISP 引导程序和IAP 函数
两个模块在物理上是分开的,尽管地址重合,但一般不会发生冲突。

用户程序存储区
✧P89V51RD2内部有64K Flash ROM,不需要用户再进行ROM扩展
地址范围:0000H~FFFFH
✧其内部分配和其他51系列单片机是相同的
✧Flash ROM可以反复擦除和下载程序
✧擦除和编程的方法
并行编程器
ISP (在系统编程:I n-S ystem P rogram)
直接调用单片机BOOTROM区的IAP 函数
IAP (在应用编程:I n-A pplication P rogram)
一般情况下优先使用ISP方式,更方便、更快捷。