单片机
返回首页

80C51单片机片内与片外程序存储器的选择

2023-03-23 来源:elecfans

大多数51系列单片机内部都配置一定数量的程序存储器ROM。如80C51芯片内有4KB掩模ROM存储单元,AT89C51芯片内部配置了4KB Flash ROM,它们的地址范围均为0000H~0FFFH。


ROM可以用来存放固定的程序或数据,如系统监控程序,常数表格等。


片内与片外程序存储器的选择

80C51的程序计数器PC是16位的计数器,所以能寻址64KB ROM的任何单元。


1.~EA引脚接高电平

~EA引脚接高电平,对于基本型单片机,首先在片内程序存储器中取指令,当PC的内容超过0FFFH(4K)时,系统会自动转到片外的程序存储器中取指令,外部程序存储器的地址从1000H开始编址。

poYBAGNOUi2AFJPtAAF-heQ6h1o349.png

2.~EA引脚接低电平

~EA引脚接低电平时,单片机自动转到片外程序存储器中取指令(无论片内是否有程序存储器),外部程序存储器的地址从0000H开始编址。

pYYBAGNOUjqAfhtRAAEfs4C-8q8525.png

程序存储器的几个特殊单元

程序存储器低端的一些地址被固定地用于特定的入口地址,如下图。

pYYBAGNOUkmAb3rQAAHYWreRI8A313.png

其中一组特殊单元是0000H~0002H。系统复位后,PC=0000H,单片机从0000H单元开始执行程序。

如果不是从0000H开始,就要在这3个单元中存放一条无条件转移指令,以便转去执行指定的应用程序。

另外,在程序存储器中有各个中断源的入口地址,分配如下:

0003H~000AH——外部中断0中断地址区

000BH~0012H——定时/计数器0中断地址区

0013H~001AH——外部中断1中断地址区

001BH~0022H——定时/计数器1中断地址区

0023H~002AH——串行中断地址区

每个中断地址区有8个存储单元,可以存放中断服务程序,但8个单元一般难以存放得下一个完整的中断服务程序,因此往往需要在中断地址区的首地址存放一条无条件转移指令,转去中断服务程序真正的入口地址。

从002BH开始的单元才是用户可以随意使用的程序存储器。


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 用数字电路CD4069制作的万能遥控轻触开关

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 开关电源的基本组成及工作原理

  • 用NE555制作定时器

  • 带有短路保护系统的5V直流稳压电源电路图

    相关电子头条文章