0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

CHANBAEK 来源:乐创客 作者:乐创客 2023-01-17 14:35 次阅读

前面的内容,我们从传统的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上寄存器的定义

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6002

    文章

    43990

    浏览量

    621106
  • 寄存器
    +关注

    关注

    30

    文章

    5042

    浏览量

    117801
  • 存储器
    +关注

    关注

    38

    文章

    7154

    浏览量

    162041
  • 51单片机
    +关注

    关注

    269

    文章

    5649

    浏览量

    120853
  • 编程
    +关注

    关注

    88

    文章

    3441

    浏览量

    92445
收藏 人收藏

    评论

    相关推荐

    周立功 增强型80C51单片机速成与实战

    周立功 增强型80C51单片机速成与实战
    发表于 08-06 13:25

    标准51单片机增强型51单片机芯片引脚图

    标准51单片机增强型51单片机芯片引脚图
    发表于 12-01 23:16

    51单片机的工艺增强

    1uS,其他的大多多于一个周 期,乘除法更多。所以如果计算指令时间可以这样算。而现在很多51核的单片机工艺质量上去后,频率大大提高,增强型51有6T的,如果接12M的话,一个nop就只
    发表于 09-12 22:08

    增强型MCS-51单片机

    [url=]增强型MCS-51单片机[/url]
    发表于 12-11 11:13

    增强型MCS-51单片机结构

    增强型MCS-51单片机结构
    发表于 12-19 22:47

    如何用增强型51单片机实验板实现红外线遥控?

    想要用增强型51单片机实验板实现红外线遥控,有没有可以参考的案例吗?
    发表于 04-02 07:05

    AVR、51系列、PIC单片机对比

    AVR、51系列、PIC单片机对比分析摘要:单片机诞生于20世纪70年代末,它是指一个集成在一块芯片上的完整计算机系统。它包括CPU、内存、内部和外部总线系统。在AVR、
    发表于 07-13 06:15

    AVR与51/PIC单片机对比分析哪个好?

    AVR与51/PIC单片机对比分析哪个好?选择单片机原则有哪些?
    发表于 09-23 06:57

    请问51单片机/ARV/ARM单片机对比分析哪个好?

    请问51单片机/ARV/ARM单片机对比分析哪个好?
    发表于 10-25 06:52

    51单片机与AVR单片机的区别在哪

    51单片机与AVR单片机区别于不同区别于不同51单片机本身种类繁多,各种国产变种,增强型
    发表于 11-18 06:08

    周立功单片机应用与技术:增强型80C51单片机速成与实战

    周立功单片机应用与技术:增强型80C51单片机速成与实战
    发表于 05-15 16:40 230次下载
    周立功<b class='flag-5'>单片机</b>应用与技术:<b class='flag-5'>增强型</b>80C<b class='flag-5'>51</b><b class='flag-5'>单片机</b>速成与实战

    80C51内核增强型单片机芯片

    80C51内核增强型单片机芯片
    发表于 12-11 23:38 0次下载

    增强型MCS-51单片机

    增强型MCS-51单片机
    发表于 12-11 23:38 0次下载

    增强型MCS-51单片机结构

    增强型MCS-51单片机结构
    发表于 12-11 23:41 0次下载

    增强型 80C51单片机应用速成与实战

    增强型 80C51单片机应用速成与实战
    发表于 10-13 15:43 20次下载