四川工程职业技术学院 单片机应用技术课程电子教案 第3讲 8051及P89V51RD2的程序存储器 Copyright Http:llmcu. scetc. net
四川工程职业技术学院 单片机应用技术课程电子教案 Copyright © Http://mcu.scetc.net 第 3 讲 8051及P89V51RD2的程序存储器
本讲主要内容 3-1.51架构与51单片机的内部存储器 3-2.51单片机的程序存储器管理 3-3.51单片机的ROM扩展 3-4.增强型51单片机P89V51RD2的内部ROM SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 2 Copyright © Http:// mcu.scetc.net 本讲主要内容 3-1. 51架构与51单片机的内部存储器 3-2. 51单片机的程序存储器管理 3-3. 51单片机的ROM扩展 3-4. 增强型51单片机P89V51RD2的内部ROM
3-1.51架构与51单片机的内部存储器 ◇51架构 XTAL2 XTAL1 时钟 电路 内部ROM 内部RAM 定时/计数器 n×16bit CPU Vs 总线控制 中断系统 串行通信接口 并行通信接口 全双工1个 4×8bit RST EA ALE PSEN TXD RXD PO Pl P2 P3 SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 3 Copyright © Http:// mcu.scetc.net 3-1. 51架构与51单片机的内部存储器 51架构 时钟电路 总线控制 CPU ROM/EPROM/FLASH 4K 字节 RAM 128字节 SFR 21个 定时/计数器 2个 中断系统 5中断源、2优先级 串行口 全双工 2个 并行口 4个 RST EA ALE PSEN XTAL2 XTAL1 P0 P1 P2 P3 VCC VSS 串行通信接口 全双工 1个 内部 ROM TXD RXD 中断系统 并行通信接口 4×8bit 定时/计数器 n×16bit 内部RAM 时 钟 电 路 CPU 总线控制
3-1.51架构与51单片机的内部存储器 ◇51架构单片机内部存储器 内部ROM 内部RAM ROM: Read Only Memory RAM: Random Access memory 读 可读可写 作用:存储程序或表格 作用:存放程序运行中产生的临 类型: EPROM/FLASH/OTP 时数据 容量:128byte 容量:0~64K(0~65536) 容量大小视单片机型号不 单位-字节(byte) 同而不同 容量大小视单片机型号不类型:DATA000127 同而不同 DATA128~255 XDATA 000 地址:0000H SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 4 Copyright © Http:// mcu.scetc.net 3-1. 51架构与51单片机的内部存储器 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~
3-1.51架构与51单片机的内部存储器 ◇8051单片机和P89V51RD2单片机的内部存储器对比 P89V5IRD2(增强型5MCU 8051 ROM: Flash memory ROM:PROM(掩膜ROM) 64K Byte 4K Byte 0000H FFFFH 0000HCIFFFH RAM: DATA-128Byte 00-7FH RAM: DATA-128Byte IDATA-12 8Byte 80- FFH 00~7FH XDATA-768Byte 002FFH SFR:21个 SFR:62个 80-FFH 80--FFH SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 5 Copyright © Http:// mcu.scetc.net 8051单片机和P89V51RD2单片机的内部存储器对比 P89V51RD2(增强型51MCU) 8051 3-1. 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
3-2.51单片机的程序存储器管理 ◇关于51系列单片机的程序存储器ROM ◇程序存储器用于存放程序和表格等固定数据,掉电数据不丢失 ◇每种单片机在其内部都会有0~64K容量不等的ROM ◇如果单片机片内ROM空间不够,可以在单片机外部扩展ROM,但建 议用户尽量避免外扩ROM,51系列单片机1000多种型号,一定可以 找到内部ROM容量符合要求的单片机。即便是单片机略微贵点也值 得 ◇目前市面上的单片机ROM主要有 Flash Memory和OTP( One Time Programmable两种,PROM、 EPROM等形式的单片机已经很少见了。 就开发而言 Flash memory的单片机更加合适,如 ATMEL公司的 AT89CXX单片机和 PHILIPS公司的P89CXX单片机 SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 6 Copyright © Http:// mcu.scetc.net 3-2. 51单片机的程序存储器管理 关于51系列单片机的程序存储器ROM 程序存储器用于存放程序和表格等固定数据,掉电数据不丢失 每种单片机在其内部都会有0~64K容量不等的ROM 如果单片机片内ROM空间不够,可以在单片机外部扩展ROM,但建 议用户尽量避免外扩ROM,51系列单片机1000多种型号,一定可以 找到内部ROM容量符合要求的单片机。即便是单片机略微贵点也值 得 目前市面上的单片机ROM主要有Flash Memory和OTP (One Time Programmable)两种,PROM、EPROM等形式的单片机已经很少见了。 就开发而言Flash Memory的单片机更加合适,如ATMEL公司的 AT89CXX单片机和PHILIPS公司的P89CXX单片机
3-2.51单片机的程序存储器管理 ◇51系列单片机的程序存储器管理 ◇每个ROM单元(byte)对应一个唯一的16bi地址编码( Address ◇CPU要到某个ROM单元去取指令,是通过把地址写入一个16的特 殊功能寄存器程序计数器PC( Program Counter)来实现,因此,51 系列单片机的地址的编码范围(通常称为寻址范围): 00000000B~1111113(二进制) 0000H~ FFF FH(十六进制) 0~65535 (十进制) 通常习惯说51系列单片机的ROM寻址范围是64K ◇PC的值是CPU根据用户程序的运行流程自动装载的,它的值代表单 片机下一条要执行的指令在ROM中的存放位置,用户不能直接对PC 进行操作 SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 7 Copyright © Http:// mcu.scetc.net 3-2. 51单片机的程序存储器管理 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 进行操作
3-2.51单片机的程序存储器管理 ◇51单片机程序存储器分配 复位入口000H- 0000H:系统的启动单元 INT0中断入口0003H 系统复位后,单片机从此处开 T0中断入口000BI 始取指令开始执行 INT中断入口0013H一 T中断入口001BH 0003H:外部中断0入口地址 串口中断入口0023H一 000BH:定时器计数器0中断入口地址 ROM 0013H:外部中断1入口地址 001BH:定时器计数器1中断入口地址 0023H:串行中断入口地址 FFFFH- SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 8 Copyright © Http:// mcu.scetc.net 3-2. 51单片机的程序存储器管理 51单片机程序存储器分配 0000H 0FFFH 1000H FFFFH EA=1 内部 EA=0 外部 外部 PSEN 0000H FFFFH ROM 0003H 000BH 0013H 001BH 0023H 复位入口 INT0中断入口 T0中断入口 INT1中断入口 T1中断入口 串口中断入口 0000H:系统的启动单元 系统复位后,单片机从此处开 始取指令开始执行 0003H:外部中断0入口地址 000BH :定时器/计数器0中断入口地址 0013H :外部中断1入口地址 001BH :定时器/计数器1中断入口地址 0023H:串行中断入口地址
3-3.51单片机的R0M扩展 ◇51单片机外扩ROM方法 强烈建议用户尽可能不要考虑外扩程序存储器,如果非扩不可,可以 仿照下图所示电路进行扩展 P0.0-P0.7 DOI GND INTI MCS-51 74l5373 31 FA/P 27256 RESET RXD PSEN 图中P口输出外部ROM的低8位地址信号,P口输出高8位地址信号; ALE端输岀地址锁存信号,PS臥N输岀程序存储器输岀使能信号。 SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 9 Copyright © Http:// mcu.scetc.net 51单片机外扩ROM方法 强烈建议用户尽可能不要考虑外扩程序存储器,如果非扩不可,可以 仿照下图所示电路进行扩展 图中P0口输出外部ROM的低8位地址信号,P2口输出高8位地址信号; ALE端输出地址锁存信号,/PSEN输出程序存储器输出使能信号。 3-3. 51单片机的ROM扩展 EA/VP 31 X 1 19 X 2 18 RESET 9 RD 17 W R 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE/P 30 TXD 11 RXD 10 MCS-51 O C 1 C 11 1D 3 1Q 2 2D 4 2Q 5 3D 7 3Q 6 4D 8 4Q 9 5D 13 5Q 12 6D 14 6Q 15 7D 17 7Q 16 8D 18 8Q 19 74LS373 A 0 10 A 1 9 A 2 8 A 3 7 A 4 6 A 5 5 A 6 4 A 7 3 A 8 25 A 9 24 A10 21 A11 23 A12 2 A13 26 A14 27 E 20 G 22 DQ1 11 DQ2 12 DQ3 13 DQ4 15 DQ5 16 DQ6 17 DQ7 18 DQ8 19 27256 GND GND P0.0-P0.7 P2.0-P2.6 GND
3-4.增强型51单片机P89V51RD2的内部RoM ◇两个模块 P89V51RD2单片机内部有64K用户ROM区和8 KBOOT ROM区两个模块 FFFFH 两个模块在物理上是 分开的,尽管地址重 64K byt 合,但一般不会发生 用户ROM IFFFH 冲突。 Flash 8K byte Boot rom 0000H 0000H 模块0:存放用户 模块1:存放ISP引 程序 导程序和IAP函数 SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 10 Copyright © Http:// mcu.scetc.net 3-4. 增强型51单片机P89V51RD2的内部ROM 两个模块 P89V51RD2单片机内部有64K用户ROM区和8K BOOT ROM区两个模块 1FFFH 8K byte Boot ROM 模块0:存放用户 程序 0000H FFFFH 64K byte 用户ROM Flash 0000H 模块1:存放ISP引 导程序和IAP函数 两个模块在物理上是 分开的,尽管地址重 合,但一般不会发生 冲突