MCS-51单片机内部程序存储器ROM结构详解

发布者:数字之舞最新更新时间:2013-05-10 来源: 21ic关键字:MCS-51  单片机  内部程序存储器  ROM 手机看文章 扫描二维码
随时随地手机看文章

MCS-51单片机的程序存储器用于存放编好的程序和表格常数。8051片内有4 KB的ROM,8751片内有4 KB的EPROM,8031片内无程序存储器。 MCS-51的片外最多能扩展64 KB程序存储器,片内外的ROM是统一编址的。如端保持高电平,8051的程序计数器PC在0000H~0FFFH地址范围内 (即前4 KB地址) 是执行片内ROM中的程序,当PC在1000H~FFFFH地址范围时,自动执行片外程序存储器中的程序;当保持低电平时,只能寻址外部程序存储器,片外存储器可以从0000H开始编址。

MCS-51的程序存储器中有些单元具有特殊功能,使用时应予以注意。

其中一组特殊单元是0000H~0002H。系统复位后,(PC)=0000H,单片机从0000H单元开始取指令执行程序。如果程序不从0000H单元开始,应在这三个单元中存放一条无条件转移指令,以便直接转去执行指定的程序。

还有一组特殊单元是0003H~002AH,共40个单元。这40个单元被均匀地分为5段,作为5个中断源的中断地址区。其中:

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

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

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

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

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

中断响应后,按中断种类,自动转到各中断区的首地址去执行程序,因此在中断地址区中理应存放中断服务程序。但通常情况下,8个单元难以存下一个完整的中断服务程序,因此通常也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址。

关键字:MCS-51  单片机  内部程序存储器  ROM 引用地址:MCS-51单片机内部程序存储器ROM结构详解

上一篇:智能抄表系统的设计和实现
下一篇:80C51单片机的引脚功能基础详解

推荐阅读最新更新时间:2024-03-16 13:23

单片机测控系统的软硬件平台技术
1. 前言 目前,随着芯片技术及单片机功能的不断发展和成熟,单片机技术已经在工业测控系统中得到了广泛的应用。市场上出现了很多型号的单片机和相应的外围模块化产品,尤以8051系列和PIC单片机最为流行。功能强大的各种单片机的确减轻了控制系统设计人员的工作量,但它存在两个问题:其一,在选定单片机过程中没有考虑软硬件的综合设计,即只考虑了硬件的方便性,没有考虑与之相应的软件,所以在系统设计周期中,硬件与软件的设计过程分离且相互独立,在系统集成前没有交互作用;其二,在硬件选择过程中,没有考虑系统开发周期及成本,往往需要购买专用的开发系统及编程器,开发人员还要花费一定的时间熟悉指令和仿真器,延长开发周期。显然,这种依据项目功能选择单片机
[单片机]
<font color='red'>单片机</font>测控系统的软硬件平台技术
凌阳61单片机之定时器
时基信号发生器: 时间基准信号,简称时基信号,来自于32768Hz实时时钟,通过频率选择组合而成。时基信号发生器的选频逻辑TMB1,为TimerA的时钟源B提供各种频率选择信号,并为中断系统提供中断源(IRQ6)信号。此外,时基信号发生器还可以通过分频产生2Hz、4Hz、1024Hz、2048Hz以及4096Hz的时基信号,为中断系统提供各种实时中断源(IRQ4和IRQ5)信号。 时基信号发生器通过对P_Timebase_Setup(写)($700EH)单元的编程写入来进行选频操作。 定时器/计数器: SPCE061A提供了两个16位的定时/计数器:TimerA和TimerB。TimerA为通用计数器;TimerB为
[单片机]
8051单片机以轮询方式实现串口通信(51接收数据后发送回PC端)
#include STC89C5xRC.H int main() { char buf; TMOD = 0x21; //设定timer1的工作模式 SCON = 0x50; //设置串行通信格式 TH1 = 0xE6; //设定timer1的初始值 TL1 = 0xE6; TR1 = 1; //开启timer1 while(1) { if(RI == 1) { //如果收到数据 buf = SBUF; RI = 0; SBUF = buf;//将收到的数据发回去 while(TI == 0); //等待数据发送完毕 TI = 0; } } return 0; }
[单片机]
8051<font color='red'>单片机</font>以轮询方式实现串口通信(51接收数据后发送回PC端)
单片机测控系统的多路电源监视器
1、单片机测控系统的多路电源监视器 由MAX8215构成的单片机测控系统多路电源监视器的电路如图所示,由R1和C1组成阻容滤波器,滤除从电源端引入的高频干扰。R2~R6为上拉电阻。 2、具有延迟时间的UP复位电路
[单片机]
<font color='red'>单片机</font>测控系统的多路电源监视器
SC1621摇控器—PIC单片机解码程序
简介:在这里给大家提供一个SC1621摇控器—PIC单片机解码程序,希望对感兴趣的朋友有所帮助。 ;*APPLICATION NOTE E6000 ICEXPLORER ****************** ;* Title: ; ;SC6121的遥控器发射码依次为:同步头(引导码)+32位数据码 ; ;(用户码低8位+用户码高8位+键码+键码的反码) ; ;引导码是由9MS的高电平加4.5MS的低电平构成, ; ;我们接收到的刚好反相为9MS的低电平加4.5MS的高电平. ; ;数据码0是由560US的高电平加560US的低电平构成 ; ;接收时反相为560
[单片机]
8位串行数码管模块__设计原理图及测试程序
完整的 源 码下载地址:http://www.51hei.com/f/chcxde.rar /***采用2片595驱动,动态扫描原理显示,需要单片机3路IO口(DIO接 P33 SCK接P32 RCK接P34),上电显示时钟****/ #include AT89X51.H unsigned int tcount; unsigned char m; static unsigned char second,minute,hour; unsigned char code fseg ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char c
[单片机]
8位串行数码管模块__设计原理图及测试<font color='red'>程序</font>
蓝牙遥控智能车制作 单片机+SG90舵机扫描
遥控车是基于STC89C52RC单片机开发,车体组成有底盘,直流电机33GB-520-18.7,L298N电机驱动模块,LM2596降压模块,12V DC电源,HC-05蓝牙模块。其中HC-05蓝牙模块与单片机是串口通信所以要注意连线,STC89C52RC中P3^0,P3^1为串口引脚,具体连线如下示意图: 本次制作目的是:通过手机蓝牙调试器发送信号控制车辆的前进,后退,原地左转,原地右转,单独左转,单独右转,舵机扫描以及寻迹模式的切换(在这里声明一下,本次代码的寻迹模式切换模式还不太完善,未达到理想效果,电子发烧友们可以多多指点。在下学艺不精,在接下来的解说中如有错误望大佬纠正。)手机采用蓝牙调试器,需要自己进行按键编辑以及字
[单片机]
蓝牙遥控智能车制作 <font color='red'>单片机</font>+SG90舵机扫描
80c51汇编语言格式,MCS-51汇编语言程序格式
5) MCS-51汇编语言程序的一般格式 *与8086不同,没有代码段、数据段等区分,统一编址。 *程序由指令行或注释行组成,指令行每行只能写一条指令。 *指令前可用“标号:”表示指令地址,以便在指令中引用;标号是符号名,以字母开头。 *注释行应以“;”号开头;指令后也可用“;”号分隔,附加注释。 *程序由伪指令ORG XXXXH 定位,ORG中的16位地址就是将来写入程序存储器的绝对地址。程序中的ORG应按地址从小到大排列。由ORG定位的程序段可以不连续,汇编程序将会在段间的空地址上填00H,即NOP。因此,每个ORG段的最后一条指令一般应是转移指令。 *数据由伪指令DB(字节)或DW(双字节)说明。数值应以数码0-9开头;尾
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved