一、存储器配置:
注1:RAM 存数据,ROM 存程序;
注2:单片机 EA 引脚控制选择内部或外部存储器
EA = 1:使用片内 ROM 存程序
EA = 0:使用片外 ROM 存程序
注3:程序起始都从 0000H 处开始,对于使用“片内 4K ROM”的情况,若程序超出 4K(0FFFH)时,尽管 EA = 1,程序都转向“片外 ROM”的 1000H 处开始执行
二、片内 ROM 程序存储器 的 硬件构成:
没有特别注意的地方,但是以下地址单元有特别用处,编程者不能随便使用:
0000H 单元:上电时,程序计数器 PC 所指向的单元
0003H 单元:外部中断 /INT0 的入口地址
000BH 单元:定时器 T0 的溢出中断入口地址
0013H 单元:外部中断 /INT1 的入口地址
001BH 单元:定时器 T1 的溢出中断入口地址
0023H 单元:串行口接收、传送的中断入口地址
三、片内 RAM 数据存储器 的 硬件构成:
片内 RAM 数据存储器有 256B,低 128B 为通用寄存器,位寻址区等,高 128B 为特殊功能寄存器 SFR
注1:这里 256B 只是某一类单片机的数据,像博主用的 STC89C54RD+ 的片内 RAM 有 1280B
未完待续……
关键字:MCS-51系列 单片机 硬件构成
引用地址:
技巧 5 -- MCS-51 系列单片机的硬件构成
推荐阅读最新更新时间:2024-03-16 15:12
基于Freescale单片机的汽车组合电子仪表
仪表是人和汽车的交互界面,为驾驶员提供所需的汽车运行参数、故障、里程等信息,是每一辆汽车必不可少的部件。 仪表显示的直观与美观使得驾驶不但是代步之必需,也成为舒适生活的一部分,而参数传递的准确与可靠性则直接关系到汽车行驶的安全。 汽车仪表 现代仪表最突出的特点是功能的模块化,通常要组装一块仪表,只需将几个功能模块在定制PCB的基础上联合起来,就可以得到一个完整的系统。长安等经济型汽车的指针仪表一般为独立的模块,提示/报警功能由PCB上的小灯泡完成。SANTANA系列的指针由印刷电路板上的十字线圈驱动,提示/报警灯全部是发光二极管。轿车的仪表板上显示的主要数据、来源及对应显示方式如表1(根据SANTANA
[嵌入式]
PIC单片机的i2c的程序
#include pic.h #define uchar unsigned char #define uint unsigned int #define add 0xaa __CONFIG(0xc3e4); __CONFIG(0xffff); #define DS1302 RC2 //定义关掉DS1302时钟芯片,使RC4 RC3 IO口可以用于AT24C02控制。 const uchar ee_data ={1,2,3,3,2,1}; uchar read_data ; const uchar table ={0x3f, 0x6, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x7, 0x7f, 0x6f}; v
[单片机]
谈谈51单片机的RETI指令
最近在基于51 单片机 编程的过程中出现了个很奇怪的问题 程序执行中在寄存器EA=1,ET0=1,TR0=1条件下,单TF0=1时并没有执行中断 。 在有过单片机中断编程经历者都知道当EA=1,ET0=1的条件下,满足TF0=1时,如果在此期间没有更高优先级的中断执行的情况下定时器中断0必定会产生中断响应。而在我所编写的程序中仅使用了定时器中断0,一个中断也就谈不上存在优先级问题。经过我对自己程序的检查并对各教材中断程序对比发现我的程序中的一个问题:由于中断的不可控性决定其跳出中断返回主程序的不确定,而由于程序需要中断跳出后能跳到指定的地址。为了解决这个问题我在中断结束的地方直接用了无条件跳转指令 LJMP ADR16 其
[单片机]
Proteus仿真51单片机C语言程序实例-开关控制报警器
简介:51单片机C语言程序实例-开关控制报警器(用K1开关控制报警器,程序控制P1.0输出两种不同频率的声音,模拟很逼真的报警效果)。
[单片机]
单片机不是学出来的,而是玩出来的
许多的单片机学习者,他们总不得要领,从一开始学习时的热情高涨,到最后的沮丧放弃,使得大家对单片机产生了既爱又怕的感觉,在工作中和在校的同学的交流中,听到的最多的是 单片机太难了 。其实不是单片机难学,而是不知道怎么入门。请大家记住一句话 单片机不是学出来的,而是玩出来的 。 学习单片机看书不够,实践也要从实际出发,现在的技术太模块了,什么都可以模块,模块的到最后,技术人员都成了只会用了,祖先的留下的知识,基础的知识该知道还是一定要知道的啊。毕竟学习单片机的最终目的是开发,是通过创造智能控制的实物,体现自己的价值。 关于实践有两种方法可以选择一种方法:购买一块51单片机的实验板,不要求功能太的,对于初学者来功能非常多的那
[单片机]
单片机系统中常用的滤波算法
//在 单片机 系统中常用的 滤波 算法 //(1)程序判断法 #define A char data; // 上一次的数据 char fi LTE r_1() { char datanew; // 新数据变量 datanew = get_data(); // 获得新数据 if ( (datanew – data A ) || ( data – datanew A ) // 滤波算法 return data; return datanew; } //(2)中值滤波法 #define N 11 char filter_2() { c
[单片机]
基于MCU的风光互补独立电源系统
0 引言 综合利用了风能、光能的风光互补独立电源系统是一种合理的电源系统。不仅能为电网供电不便的地区,如边防哨所,通讯的中继站,交通的信号站,勘探考察的工作站以及农牧区提供低成本、高可靠性的电源,而且也为解决当前的能源危机和环境污染开辟了一条新路。 单独的太阳能或风能系统,由于受时间和地域的约束,很难全天候利用太阳能和风能资源。而太阳能与风能在时间上和地域上都有很强的互补性,白天光照强时风小,夜间光照弱时,风能由于地表温差变化大而增强,太阳能和风能在时间上的互补性是风光互补发电系统在资源利用上的最佳匹配。 l 硬件构成 风光互补独立电源系统由光伏发电单元、风力发电单元、系统智能管理核心、逆变器、储能元件等构成,如图
[应用]
学习单片机和STM32的一道坎
刚开始学单片机的你,是不是会因用程序把LED点亮而感到高兴,会因用程序把数码管点亮而感到高兴。这是好事,这也是想继续学习下去的动力。 但是数据相关的实验是学习单片机和STM32的一道坎,此时就需要用好本文要说的串口这个调试工具。串口通信介绍关于串口通信的介绍,也可以点击阅读之前发的一篇文章:STM32串口通信基本原理。串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式......这种太过理论了,看似懂了,但又不懂。还是用我笔者自己的话来说吧。串口通信就是可以把程序在单片机或者STM32芯片中运行的结果发送到电脑的一种通信方式。 如何使用串口通讯,你需要知道的几个重要的知识点: 波特
[单片机]