keil51中怎么用C语言编程把处理得到的数据存到数据存储器中,掉电不会消失

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil51中怎么用C语言编程把处理得到的数据存到数据存储器中,掉电不会消失相关的知识,希望对你有一定的参考价值。

听说是用FLASH的ISP和IAP编程,可是单片机的FLASH怎么编程啊? 我用的是STC12C5604AD单片机,是51系列的。

是这样的:我用键盘输入了一些数据,比如一些控制参数(LCD或数码管能够显示出设置的参数),这些控制参数设置好以后需要保存起来,保存到哪里才能使下次再开机时原来设置的参数还在而不会消失呢?现在只有一片单片机,不另外加存储器!恳请各位高手指点啊?

用I2C存储器吧,掉电后数据也在,可读可写,在单片机运行处理后得到的数是不能再存在FLASH里的,除非你是别外加的一个用于存储数据的FLASH,一般用于存储数据的存储器可选I2C,在掉电之后也不用供电。 参考技术A 用威龙下载编程器 把BIN文件 或者 HEX文件烧录进去就可以了~~ 参考技术B 如果是stc51单片机的话 用stc下载程序软件 把keil生成的.hex文件下载到单片机里 参考技术C 用I2C存储器(24C02之类的,存进去后掉电不会消失)吧,或者FLASH存储。STC的单片机FLASH编程有许多例子,你可以上网查一下

keil C51 中 为啥用XBYTE[0xC8000]读不进值呢

请高手指点,感激不尽!

XBYTE定义的目的是将外部电路不同的功能编程不同的地址而已,是absacc.h头文件定义的宏来访问绝对地址的,
要读外部RAM,就要定义外部存储器的地址,P0、P2发地址,P2是地址的高八位,P0是地址的低八位,当然这个数据的地址要对,是相对硬件来说的。一般来说P2是地址的控制信号,P0是地址的数据信号,这个时候通常会用74hc373数据锁存。
如#define P8255 XBYTE[0xC8000],
unsigned int date;
date=P8255 ;//即可得到外部数据,
参考技术A 地址要写对才行。另外,你的控制信号要参与的。这与硬件有关,你不拿硬件来说事,根本说不清的

以上是关于keil51中怎么用C语言编程把处理得到的数据存到数据存储器中,掉电不会消失的主要内容,如果未能解决你的问题,请参考以下文章

ARM中将can接收到的数据共8192个字节存到0x00040000~0x00041fff处,用c语言如何写,用的是KEIL仿真

C语言如何判断文件类型?

keil怎样把C语言转换成单片机汇编语言

keil2编51单片机程序c 指针赋值提示重复定义,怎么解决

用keil软体如何将汇编与C语言结合起来一起编写微控制器的程式

51单片机 keil中怎么建立像这样的子函数? 新手求助。