完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
现在不知道数码管每变化一次就保存到eeprom中,还是断电时保存,写程序时怎么把两个程序结合起来,显示的数据放到e2prom的地址里,上电时再把这个数据从e2prom地址里读取出来并通过数码管显示。谁有类似的源代码最好有注解,非常感谢
|
|
相关推荐
11个回答
|
|
|
|
|
|
|
|
|
程序不知道怎么回事贴不上去,显示错误代码
|
|
|
|
|
|
|
|
|
|
|
|
内部eeprom
|
|
|
|
|
|
#include #define uchar unsigned char #define uint unsigned int uchar code xianshi[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90};//共阳数码管0到9显示BCD码 uchar second=0;//秒计数定义并初始化变量 uchar min=0;//分计数 uchar hour=0;//时计数 uchar m=0;//中断计数 ***it a1=P0^0;// 秒按键 ***it a2=P0^1;//分按键 ***it a3=P0^2;//时按键 void delay(uchar k);//延时函数 void timechuli();//时间处理函数 void anjian();//按键扫描函数 void timexianshi();//时间显示函数 void delay(uchar k) { uchar i; while((k--)!=0) { for(i=0;i<100;i++); } } void timechuli() { if(second==60) { second=0; min++; if(min==60) { min=0; hour++; if(hour==24) {hour=0;} } } } void anjian() { if(a1==0) { delay(30);//按键消抖 if(a1==0) { second++; } } if(a2==0) { delay(30); if(a2==0) { min++; } } if(a3==0) { delay(30); if(a3==0) { hour++; } } } void timexianshi() { P2=0x01; P1=xianshi[second%10];//显示秒的个位 delay(5); P2=0x02; P1=xianshi[second/10];//显示秒的十位 delay(5); P2=0x08; P1=(xianshi[min%10])|0x80;//显示分的个位 delay(5); P2=0x10; P1=xianshi[min/10];//显示分的十位 delay(5); P2=0x40; P1=(xianshi[hour%10])|0x80;//显示时的个位 delay(5); P2=0x80; P1=xianshi[hour/10];//显示时的个位 delay(5); } void timer0() interrupt 1 { TH0=(65536-45872)/256; //放入初值,11.0592M,50ms TL0=(65536-45872)%256; m++; if(m==20) { m=0; second++; } } void main() { P0=0xff; AUXR &= 0x7F; //定时器时钟12T模式 TMOD &= 0xF0; //设置定时器模式 TMOD |= 0x01; //设置定时器模式 TH0=(65536-45872)/256; //放入初值,11.0592M,50ms TL0=(65536-45872)%256; TF0 = 0; //清除TF0标志 TR0 = 1; //定时器0开始计时 EA=1; //开总中断 EX0=1; ET0=1; //开定时器0中断 while(1) { timexianshi();//时间显示函数 anjian();//按键扫描函数 timechuli();//时间处理函数 } }
|
|
|
|
|
|
上面是电子时钟的程序,我要保存时.分的数据,该怎么去保存并读取啊,感觉自己太笨了
|
|
|
|
|
|
|
|
|
|
|
|
云汉达人
huihui163 发表于 2016-9-22 18:20 有时间帮你写下,但是手上没有硬件,只能等你自己去验证了…… |
|
|
|
|
|
版主讲的很详细,你用的是每隔一段时间写一次eeprom,为了断电保存,这个时间不能太长,这样写eeprom次数太多了吧,有没其他方式
|
|
|
|
|
|
云汉达人
huihui163 发表于 2016-9-23 16:46 其他方式就要在硬件上做文章了,正在实现掉电的时候才保存,也就是在单片机的电源处要接一个大电容,看网上说的好像要2000UF左右吧,具体要试了才知道,然后用单片机的低压检测功能,这样才能实现正在掉电的时候才保存数据。具体不是三言两语能说清楚的,呵呵……有点复杂…… |
|
|
|
|
|
好的,我先试着写写程序,
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1015 浏览 1 评论
1845 浏览 0 评论
1828 浏览 1 评论
3253 浏览 5 评论
3578 浏览 9 评论
1016浏览 1评论
1847浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1357浏览 1评论
1848浏览 0评论
1174浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 09:29 , Processed in 0.902960 second(s), Total 99, Slave 78 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4362