找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3720|回复: 14
打印 上一主题 下一主题
收起左侧

如何掉电存储数据 比如我想要数码管从1到100显示

  [复制链接]
跳转到指定楼层
楼主
ID:273417 发表于 2018-1-11 19:21 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何掉电存储数据 比如我想要数码管从1到100显示 当显示到任意数字式 断电 等再接电时 数码管的数字与断电之前的一样

评分

参与人数 1黑币 +5 收起 理由
shanxiaoke1 + 5 回帖助人的奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:123289 发表于 2018-1-11 21:43 | 只看该作者
你想个招:在掉电之前检测到掉电,关键是要保证掉电后,稍稍给CPU一点点时间(保证有电),利用这一点点的时间,将数码上的数据保存至非易失性存储器中。
在每次起动时,取保存的数据作为LED显示的起点。
一个星期想不出来,再来问我。
回复

使用道具 举报

板凳
ID:275013 发表于 2018-1-11 21:56 | 只看该作者
加个eeprom
回复

使用道具 举报

地板
ID:47286 发表于 2018-1-11 22:28 | 只看该作者
显示数据不直接显示 先放到缓冲区 显示程序从缓冲区调用 用片子的一个管脚经过分压接到降压前的电源输入端上 在降压芯片或者模块的输出端接个比较大的电容 比如220uf的 程序里经常看输入端是否掉电 一旦发现掉电 把缓冲区的数据写入EEPROM

每次上电 先从EEPROM把数据调入缓冲区 然后 显示程序还是从缓冲区调数据

stc的一些片子带低电压检测 可以设定在一个较高阀值 一般从阀值到禁止eeprom写入电压之间 电压的下降时间足够保存了 如果用这种片子 把电压检测端接到单片机供电端 然后开寄存器 程序里也相应处理 就行了 比之前的办法简单

评分

参与人数 1黑币 +70 收起 理由
admin + 70 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:148578 发表于 2018-1-11 22:51 | 只看该作者
在电源上并接大电容,在掉电之前检测到掉电,CPU将数据和掉电标志写入flash中。
在每次起动时,根据掉电标志读取保存的数据作为LED显示的起点。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:258020 发表于 2018-1-11 23:08 | 只看该作者
1、使用电池进行RAM数据维持;
2、单片机外接EEPROM芯片或者使用内部有EEPROM用户数据存储区的单片机。每次将数据送显示前,先将待显示数据写入EEPROM。系统复位后,先读出EEPROM中存储的数据到显示缓冲区。
回复

使用道具 举报

7#
ID:248754 发表于 2018-1-12 08:21 | 只看该作者
电源加一个大电容  然后加一个EEPROM
回复

使用道具 举报

8#
ID:248385 发表于 2018-1-13 10:54 | 只看该作者

显示数据不直接显示 先放到缓冲区 显示程序从缓冲区调用 用片子的一个管脚经过分压接到降压前的电源输入端上 在降压芯片或者模块的输出端接个比较大的电容 比如220uf的 程序里经常看输入端是否掉电 一旦发现掉电 把缓冲区的数据写入EEPROM

每次上电 先从EEPROM把数据调入缓冲区 然后 显示程序还是从缓冲区调数据

stc的一些片子带低电压检测 可以设定在一个较高阀值 一般从阀值到禁止eeprom写入电压之间 电压的下降时间足够保存了 如果用这种片子 把电压检测端接到单片机供电端 然后开寄存器 程序里也相应处理 就行了 比之前的办法简单
回复

使用道具 举报

9#
ID:275501 发表于 2018-1-13 11:35 | 只看该作者
加一个eeprom
回复

使用道具 举报

10#
ID:46999 发表于 2018-1-13 11:59 | 只看该作者
老51芯片就外加24C02类的eeprom,外加掉电检测(可以采用比较器)来触发单片机来存储。开机时再调用即可。
回复

使用道具 举报

11#
ID:60379 发表于 2018-1-13 15:58 | 只看该作者
百度网盘有与你这个要求完全相符的视频和例程,是与纸版教材《51单片机轻松入门 基于STC15W4K系列配套》的,网盘地址:https://pan.baidu.com/s/1bURkE6
回复

使用道具 举报

12#
ID:275604 发表于 2018-1-13 16:29 | 只看该作者
这时这么多大神,有没有人可以帮我写个程序
回复

使用道具 举报

13#
ID:272080 发表于 2018-1-14 20:38 | 只看该作者
加一块24C02(eeprom)芯片  然后程序在你每次计数加一后吧数值写入24C02中  这个程序你要自己摸索的  网上很多24c02的程序  稍微改一改很简单的
回复

使用道具 举报

14#
ID:47286 发表于 2018-1-14 21:16 | 只看该作者
shanxiaoke1 发表于 2018-1-13 16:29
这时这么多大神,有没有人可以帮我写个程序

大家都在努力帮你啊 给你提供了足够多和足够用的思路 但具体得你自己去做 这就像你饿了要吃饭 大家给你推荐了很多菜谱 但你要让别人给你做好再喂到你嘴里 你就得付钱 因为那是人家的劳动 是精力和时间的付出 要知道 每个人一辈子时间就那么点 给你了就再也没有那块时间了
回复

使用道具 举报

15#
ID:275269 发表于 2018-1-14 21:35 | 只看该作者
例如:#include <AT89X51.H>//数字0-9的字形码unsigned char code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};unsigned char dispcount;void delay02s(void);void main(void){ P1_0=0;//选通第一位数码管 while(1) {  for(dispcount=0;dispcount<10;dispcount++)  {   P0=table[dispcount];   delay02s();  } }} void delay02s(void){unsigned char i,j,k;for(i=20;i>0;i--)for(j=30;j>0;j--)for(k=248;k>0;k--);}  补充:单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表