增强型51单片机和传统51单片机对比分析

发布时间:2024-03-15  

前面的内容,我们从传统的51单片机出发,从硬件的基础上,一步步衍生出了增强型51单片机所增强的地方。现在我们可以清楚地了解,增强型51单片机对比传统的51单片机,增强的地方在于存储器的扩展。而51单片机对于片内内存的寻址方式和片外内存的寻址方式有着很大的不同。因此,我们在使用C语言对增强型51单片机编程的时候,也需要按照寄存器位置的不同,采用不同的操作方式。


1寄存器位于内部的特殊功能寄存器区

我们之前介绍传统8051单片机的时候,曾经列出了传统8051单片机已经使用的21个特殊功能寄存器,因此扩展外设寄存器的一个办法就是利于剩余的特殊功能存储器空间。

由于51单片机的特殊功能寄存器寻址方式只能是直接寻址,不可间接寻址,因此在C语言中无法使用指针的方式去操作这些特殊功能寄存器。因为对于C语言指针来说,它对应的汇编语言是一种间接寻址的方式。基于此,C51在标准的C语言基础上,衍生出了一些额外的语法,如当需要定义这些特殊功能寄存器以便于程序访问的时候,C51加入了一个关键词“sfr”,使用“sfr”关键词可以将特殊功能寄存器区的地址,定义成某个变量,如“sfr P0 = 0x80;”,这句语句的意思就是将位于内部RAM 0x80地址上的寄存器,定义成P0,由于0x80位于特殊功能寄存器区,因此这个定义是完全合法的。在后面想要对P0进行操作,只需要在C语言中直接使用“P0”这个标号即可。如“P0 = 0xff;”。


我们可以打开传统的keil C51头文件“reg51.h”,可以发现这个头文件中,将传统8051的所有寄存器全部定义出来了,如图1所示。


poYBAGPGQV6AV6rqAALkzUhM--A600.png

图1传统8051单片机的特殊功能寄存器定义

对于增强型51单片机来说,那些被排放在特殊功能寄存器区的外设控制寄存器只能使用“sfr”关键词的方式去定义,如图2所示。


poYBAGPGQXKAG59eAAKfjE4-vzo677.png

图2增强型单片机增加的资源示例

除了“sfr”关键词之外,Keil C51还支持使用“sbit”关键词定义特殊功能寄存器的某一位,是因为51单片机是所有单片机中唯一支持寄存器位寻址的芯片。不过为了程序方便移植到其它平台上去,对于这些特殊的关键词,还是尽可能将其限制在少量的文件中。

2寄存器位于内部的扩展的RAM中

当内部的特殊功能寄存器区用完之后,如果想要继续增加寄存器,那么唯一可以选择的空间也就只有特殊功能寄存器以外的区域了。对于增强型51单片机来说,它的内存空间刨去特殊功能寄存器区,还可以给其使用的空间有两个,一个是内置RAM剩余空间,还有一个是内置的外扩RAM。

对于STC8A8K系列的芯片来说,这些寄存器被设计到了内置的外扩RAM上。因此,对于这一段内存上的寄存器,我们可以在C语言中使用常量指针的形式去定义,但是,还是需要使用C51的关键词“xdata”去声明这些地址,当然,去优化的“volatile”关键词也不能少,如图3所示。


pYYBAGPGQYOAI1ZFAAN4rtTdn-8405.png

图3内置外扩SRAM上寄存器的定义


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    如何给单片机烧录程序 单机片烧录不进去怎么办;如何给单片机烧录程序? 以51单机片为例 1、首先准备好51单片机最小系统板和烧录器。 2、打开stc-isp烧录软件选择好单片机型号,这里的所选的单片机型号......
    51单片机最小系统介绍;前言 在学习51单片机的时候我们最先接触到的就是单片机最小系统,单片机最小系统又叫最小应用系统,顾名思义就是能够使单片机实现简单运行的最小元件的组合。 提示:以下将以51单片机最......
    、学习单片机要从哪里入手? 学习单片机首先我们要先了解单片机的种类,型号,然后怎么选择适合的单片机开展项目。单片机从当初的4位发展到8位、32位,甚至更高,到现在可以说种类繁多而且齐全,数量庞大,在不同的领域主流的单片机......
    什么是51单片机最小系统;1.什么是51单片机 51 内核单片机是 指兼容Intel 的8051指令系统的单片机统称;从诞生到现在的几十年时间,已成为一款经过市场考验、成熟的芯片产品。目前......
    单片机最小系统详解,你要知道的都在这里了;最小系统,或者称为最小应用系统,是指用最少的元件组成的可以工作的系统,对51系列来说,最小系统一般应该包括:单片机、晶振电路、复位电路。本文引用地址: 单片机最......
    什么是51单片机?又该如何自学51单片机;51 单片机是目前使用最多的单片机之一,那么什么是 51 单片机呢?作为新手,又该如何自学 51 单片机?为帮助大家更好的学习 51 单片机,本文......
    51单片机实现最小系统的原理和电路与编程设计说明;本课以AT89S51单片机最小系统来教你如何实现单片机编程,该程序驱动单片机P1.7端口上的发光二极管不停闪烁,系统程序用keil 汇编......
    AT89C51最小系统原理电路图;单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。 对51系列单片机来说,单片机+晶振电路+复位电路,便组成了一个最小系统。但是......
    MCS-51单片机最大的时序定时单位是多少;  MCS-51单片机是一种集成的电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O......
    随着Flashrom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>