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

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

3天内不再提示

学习51单片机必知的寄存器知识

诗心动呀吖 来源:诗心动呀吖 作者:诗心动呀吖 2022-11-18 09:04 次阅读

说起单片机存储器,大家可能知道RAMROM,但具体需要怎么用,还需要深入了解下,那今天通程创品就来大家详细了解下51单片机存储器的相关知识,希望对大家有帮助。

程序存储器(又称数据Flash),顾名思义,是用来存储用户的程序,使单片机能够按照编写的代码顺序执行,完成指定的任务。所以程序存储器是只读存储器(只读存储器),我们已经听过很多次了。代码存储在里面,一般有常数、表格、pi值、数码管形状、SCM ID号、内部参考信号源、关机唤醒定时器频率、IRC参数等数据。

注意:单片机每次都是烧录程序,烧录就是为了把代码放到程序存储器中,而我们用的电脑则是把硬盘的数据和程序放到RAM,再用CPU去读取RAM里面的数据和程序

一、存储器的存储单位与编址

1.存储单位

位(bit):计算机的最小数据单位

字节(Byte):1Byte = 8bits

字(Word):1Word = 2Bytes = 16bits

2.编址

51单片机的存储单元是一个字节,为了存取数据方便,每个存储单元都有编号,这个编号就是编址,编址采用二进制数。例如:0000 0010B可以代表第二个存储单元。

二、51单片机有哪些内部存储器

1.片内RAM

RAM(Random Access Memory)又叫随机存取存储器,正常情况下不仅可以写入数据到RAM,也可以从RAM读取数据。

单片机内部总共有256Bytes的RAM。RAM的每一个字节都有编码,从0000 0000开始直到1111 1111,不同区域的RAM有着不同的功能。可以把RAM想象成一栋办公楼,不同的楼层有不同的部门,不同的部门自然干不同的活。

注意:因为单片机一次只能处理8个bit的数据(字长为8),并且一个8位二进制数的范围是0到256,所以单片机一次能寻址的范围也就是0到256。

2.片内ROM

ROM(Read-OnlyMemory),又叫只读存储器,正常情况下只能从ROM读取数据,不能往写入数据。

单片机内部的ROM大小为4KB(4096Bytes),字节地址范围为000H~0FFFH。

在特殊条件下,可以把程序烧入到ROM中,所以ROM也叫程序存储器。

如果ROM的大小不够存入所有程序,也可以外接ROM。单片机最多可外接64KB的ROM。内部ROM和外部ROM是统一编址,要么就只用64KB的外部ROM,要么就用4KB的内部ROM+60KB的外部ROM(外部ROM的开头4KB闲置)。

51单片机是如何区分是片内ROM还是片外ROM呢?

片内ROM和片外ROM的区分:

在单片机既有片内ROM又有片外ROM时,会产生一部分重复的地址范围,

为了解决区分片内和片外ROM的问题,51单片机设置了一根控制线EA(低电平有效),所以

EA = 0 =>有效 =>访问片内存储器

EA = 1 =>无效 =>片内存储器被忽略

本质的原理:

就是当PC的值大于了某个值时将访问外部存储器,PC的值小于了某个值时将访问内部存储器。这个值由存储器容量的大小绝定,在8051单片机中,片内ROM = 4KB,所以当PC小于0FFFH时,访问片内ROM。

三、存储器数据读写说明

要对256字节存储器的每个存储单元进行读写,需要8根地址线和8根数据线,先送8位地址选中某个存储单元,再根据读控制或写控制,将选中的存储单元的8位数据从8根数据线送出,或通过8根数据线将8位数据存入选中的存储单元中。以图1存储器结构为例,当地址总线A7~A0将8位地址00011111(1FH)送入存储器时,会选中内部编址为1FH的存储单元,这时再从读控制线送入一个读控制信号,1FH存储单元中的数据00010111从8根数据总线D7~D0送出。

对于RAM和ROM,当我们写程序的时候,我们把程序误认为ROM,也就是说,我的某个逻辑形成了一系列的逻辑开关,但是当CPL进行操作的时候,在传输的过程中,交换逻辑需要不断的改变,所以RAM就诞生了。但是由于技术的限制,RAM不能下电来保存逻辑,即电路中的每个硅电子都不能被保存,并且这个过程限制了内存的大小。因此,RAM和ROM是通过CPU总线连接的。

通过51单片机的RAM地址,ROM地址,可以看到,ROM存储程序,通过CPU传递数据,到RAM,而RAM是各个寄存器的集合,按ROM程序形成逻辑,响应CPU,同时传递给ROM信号(这里ROM的逻辑已不变,相当于与或非的各种开关)。

以上就是通程创品今日分享内容了,关于单片机寄存器如果您还有其他疑问,欢迎一起探讨交流。

审核编辑:汤梓红

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

    关注

    6032

    文章

    44522

    浏览量

    633142
  • 存储器
    +关注

    关注

    38

    文章

    7453

    浏览量

    163612
收藏 人收藏

    评论

    相关推荐

    单片机io口怎么配置成输出口

    单片机IO口配置成输出口的过程通常涉及对单片机内部寄存器的操作。不同型号的单片机寄存器配置和编程方式上可能有所不同,但基本原理是相似的。以下是一个通用的步骤,用于将
    的头像 发表于 09-14 14:33 631次阅读

    寄存器分为基本寄存器和什么两种

    寄存器是计算机中用于存储数据的高速存储单元,它们是CPU内部的重要组成部分。寄存器可以分为基本寄存器和扩展寄存器两种类型。 一、基本寄存器
    的头像 发表于 07-12 10:31 1134次阅读

    一个暑假如何学习单片机

    一个暑假是学习和掌握单片机基础知识的良好时机。以下是一个关于如何在暑假期间学习单片机的建议计划
    的头像 发表于 07-03 09:19 481次阅读
    一个暑假如何<b class='flag-5'>学习</b><b class='flag-5'>单片机</b>

    寄存器单片机的关系与区别

    在计算机系统中,寄存器单片机是两个至关重要的概念。寄存器作为中央处理(CPU)内部的重要组成部分,用于暂时存储数据和指令,确保CPU能够高效地进行数据处理和运算。而
    的头像 发表于 05-30 17:17 722次阅读

    stm32单片机学习路线

    STM32的寄存器编程可以帮助你更深入地了解单片机的工作原理和底层操作。通过编写简单的程序,控制LED、读取按键等基本操作来加深理解。 5.学习HAL库和CubeMX:HAL库是STM32提供
    发表于 05-10 15:34

    51单片机串口通信详细介绍-小白必看

    51单片机串口通信是单片机与外部设备通信的重要方式,它基于串行通信的原理,以字节为单位进行数据传输。在51单片机中,串口通信主要依赖于两个关
    的头像 发表于 04-17 09:33 1866次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>串口通信详细介绍-小白必看

    51单片机流水灯制作

    ​流水灯是学习51单片机的一个基本项目,是我们对单片机IO口输出认识的基本项目。当然学会了花样流水灯也很好玩。 下面就分享一种51
    的头像 发表于 02-26 10:06 1503次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>流水灯制作

    学习RISC-V单片机的感想

    从开始学习单片机开始,就没有在单片机总线方面的知识投入什么精力。觉得就是为了应用开发,没必要了解底层架构方面的知识。 现在可以选择的
    发表于 02-17 21:00

    基于51单片机的计算设计

    电子发烧友网站提供《基于51单片机的计算设计.rar》资料免费下载
    发表于 01-12 09:17 39次下载

    基于51单片机的计算设计

    电子发烧友网站提供《基于51单片机的计算设计.rar》资料免费下载
    发表于 01-03 11:33 21次下载

    stc51单片机怎么烧录

    步骤 常见问题与解决方法 STC51单片机是一种常见的8位单片机,广泛应用于各种嵌入式系统。它具有高性能、低成本、易于学习和使用等优点。STC51
    的头像 发表于 01-02 17:41 3090次阅读

    基于51单片机的简易计算设计

    基于51单片机的简易计算设计(实物)
    发表于 01-02 10:02 9次下载

    sbit在单片机中的作用和用法

    sbit是单片机(Microcontroller)中的一个特殊功能寄存器位(Special Function Register Bit),用于控制特定IO引脚的输入输出方向及状态。本文将详细介绍
    的头像 发表于 12-20 09:35 1.7w次阅读

    基于51单片机的正弦信号发生的设计

    正弦信号是电子电路设计中非常重要的信号之一。在很多电子设备和系统中,需要正弦信号作为输入源。基于51单片机的正弦信号发生设计是一种较为简单且常见的方法。本文将详细介绍如何设计一个基于51
    的头像 发表于 12-07 16:20 1683次阅读

    51单片机中断学习笔记

    51单片机中断学习笔记
    发表于 12-05 12:13