推广 热搜: 广场  Java  app  Word  营业  微信公众号  北京代理记账  商城  代理记账  商标交易 

单片机如何实时存储数据(单片机秒表怎么存储读取数据?)

   2023-05-10 企业服务招财猫90
核心提示:51单片机如何存储采集的数据?51单片机的程序存储器有片内和片外两部分。而且无论片内程序存储器还是片外程序存储器,它们的地址都是共享的。如果片内为4kROM,则地址为0x0000-0x0FFF,0x1

51单片机如何存储采集的数据?

51单片机的程序存储器有片内和片外两部分。

而且无论片内程序存储器还是片外程序存储器,它们的地址都是共享的。如果片内为4kROM,则地址为0x0000-0x0FFF,0x1000-0xFFFF的地址空间为外部ROM。外部ROM的0x0000-0x0FFF这部分可以用吗?这个取决于单片机EA引脚的电平值。当EA=1时,这部分内部ROM被使用,这部分外部ROM被浪费。当EA=0时,使用外部ROM,内部ROM被浪费。用汇编的MOVC指令从代码段中读取数据,单片机会根据MOVC指令、

51单片机如何存储数据?

没有不知道要保存哪种数据,断电保护还是缓存?

如果是为了保存不受掉电保护的缓存数据,可以使用单片机内部的RAM空间,包括20H~7FH的直接寻址区,不被SFR占用的80H~FFH的间接寻址区,也可以使用STC单片机内部的扩展RAM。

如果是保存掉电保护的数据,可以在单片机外面挂上flash或者

请教单片机掉电后,如何快速的保存数据问题?

;关于这个问题,我认为我们应该从以下几个方面着手:

尽量使用内部闪存存储数据。内部flash读写速度快,可靠性高。

如果使用外部flash或eeprom进行存储,flash通常是一个spi接口。考虑到电磁干扰和MCU的响应速度,即使使用MCU的硬件SPI模块进行通信,SPI的最大时钟也在1MHz左右,发送一个字节的数据大约需要10us。不考虑擦除闪存的时间,存储100字节的数据大约需要5ms。如果考虑可靠性,需要阅读和验证。

Eeprom一般采用IIC接口,类似SPI接口,高速IIC存储100字节数据至少需要5ms。

FLASH的特点是写数据只能从1重写到0,从0重写到1需要擦除整个页面,或者整个扇区,或者整个块。

以STM32F051为例。一个页面是1kb,一个块是64kByte。擦除一页大约需要20毫秒。在整个擦除过程中,整个MCU被挂起,即不执行任何操作。和FLASH的写操作比较快,大约1字节需要1us。

需要掉电检测电路,掉电检测需要检测给MCU供电的LDO或DC-DC的前级电压。

比如MCU采用12V-3.3VLDO供电,需要检测12V的电压来决定是否断电。

通过电阻分压12V的电压,然后连接到MCU的A/D检测口,判断是否断电。

MCU供电的LDO或DC-DC的前级并联足够的电容,保证电容的供电能保证MCU能写数据。

电容器的尺寸可通过以下步骤确定:

评估断电时前一电压提供的工作电流。一旦单片机检测到掉电,就需要切断耗电输出,比如控制继电器输出的I/O口。比如20mA。

确认LDO的最低输入电压,如5.3。

确认判断断电的电压,如10V,确认断电开始与LDO最低输入电压的电压差,如4.7V

确认写入所有数据所需的时间,例如20ms。

根据公式计算所需电容,C=I*T/U=20mA*20mS/4.7V=85uF。可以选择100uF的电容。

一旦MCU检测到掉电,需要切断耗电输出,比如控制继电器输出的I/O口需要立即断开。

在正常操作中,预先准备一个存储空间并将其擦除到0xFF中。

检测到掉电后,可以直接写入数据,无需擦除FLASH内容,可以节省大量时间。

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
合作伙伴
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  冀ICP备2023006999号-8