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上寄存器的定义

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

    关注

    6014

    文章

    44201

    浏览量

    625147
  • 寄存器
    +关注

    关注

    31

    文章

    5198

    浏览量

    118685
  • 存储器
    +关注

    关注

    38

    文章

    7255

    浏览量

    162672
  • 51单片机
    +关注

    关注

    270

    文章

    5682

    浏览量

    121554
  • 编程
    +关注

    关注

    88

    文章

    3479

    浏览量

    92931
收藏 人收藏

    评论

    相关推荐

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

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

    增强型MCS-51单片机

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

    增强型MCS-51单片机结构

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

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

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

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

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

    51架构与51系列单片机概述

    2-1. 51单片机概述2-2. 51架构2-3. 8051引脚功能表述2-4. 常见51系列单片机2-5.
    发表于 03-23 12:07 62次下载

    周立功单片机应用与威廉希尔官方网站 :增强型80C51单片机速成与实战

    周立功单片机应用与威廉希尔官方网站 :增强型80C51单片机速成与实战
    发表于 05-15 16:40 235次下载
    周立功<b class='flag-5'>单片机</b>应用与威廉希尔官方网站
:<b class='flag-5'>增强型</b>80C<b class='flag-5'>51</b><b class='flag-5'>单片机</b>速成与实战

    增强型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次下载

    凝睿电子科技NR-ESC——AVR、51系列、PIC单片机对比分析

    ;PIC单片机工业抗干扰性强,各个型号的兼容性强;AVR最新的MEGA系列运行速度快。各种单片机都有各自的优缺点,应根据需要选择。 关键词:单片机、AVR、51系列、PIC、性能
    发表于 11-24 01:37 628次阅读

    什么是51单片机?又该如何自学51单片机

    51 单片机是目前使用最多的单片机之一,那么什么是 51 单片机呢?作为新手,又该如何自学 51
    的头像 发表于 11-03 21:14 6223次阅读

    51单片机是什么?应该如何学习51单片机

    51 单片机是目前使用最多的单片机之一,那么什么是 51 单片机呢?作为新手,又该如何自学 51
    发表于 12-23 07:57 72次下载

    51单片机与AVR单片机

    51单片机与AVR单片机区别于不同区别于不同51单片机本身种类繁多,各种国产变种,增强型
    发表于 11-11 17:36 18次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>与AVR<b class='flag-5'>单片机</b>

    51单片机(一)—— 51单片机简介

    一、51单片机标识信息 通常我们所说的51单片机是指以51内核扩展出的单片机。生产
    发表于 11-11 18:06 245次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>(一)—— <b class='flag-5'>51</b><b class='flag-5'>单片机</b>简介