‘壹’ c51单片机怎样存储大量数据
如果你的数据是静态的不用变的就可以存在code,否则当上电后code的内容只能读,不能改.数据多了只能加外存,可以用I2C总线的E2PROM(2是平方的意思),前几天买了几块AT24C256(32K),5元/块
例如:int code point[]={-1,-2,-3};就可以了。你说的不行不知道是什么意思,具体点吧
你这样赋初值是不行的,因为这种赋值语句是在RAM里面进行,point[]只可能是变量,不可能是常量,也就是它不能被定义在CODE内。所以你只能一个一个来了。一但point[]被定义为CODE就不能在main()里面再对它赋值了。:)
‘贰’ 单片机存储空间不够,怎么拓展数据存储器
书上说ram共有128个单元,每个单元有一个字节,即8bit;
20h-2fh的共有0~~f(16个)单元的16*8=128位,可进行位寻址,就是机器执行程序时的代码的映射地址;
希望有所帮助
‘叁’ 请问我想扩单片机片外存储器,存一些数据,怎么计算需要的容量呢和程序的行数有什么关系啊
片外存储器至少有两个概念,
一个是ram,用来存储数据;
一个是rom,用来存储代码。
和程序的行数有关的是rom。
不清楚你具体是要什么,
ram的话8k的可以用6264,8K-8bit
rom的话8k的就用2764,8K-8bit
以上的这两个都是并口的。。。
串口的。。。
如果你用来存储数据的话可以用24c08,
不过这个数据和前面的数据存储的概念不太一样。。。
不知道怎么跟你讲。。。
你应该能明白的哈?
--------------------------------------
对问题补充的回答:
很抱歉的告诉你,
24c08不能达到你的要求。。。
建议你再仔细看看单片机的程序运行过程。。。
你的显示方式是什么呢?
如果只是用12864这种单色液晶模块的话,
只要你不是显示了太多了logo,
89S52的代码空间应该能满足你的要求了,
没有必要再扩展的,
代价太高了,
如果真的是代码空间不足的话,
建议你更换单片机的选型,
选择rom空间大的单片机,
如stc的单片机。
‘肆’ 单片机中数据定义存储问题
一般有三种方法:其一,你可用里面的扇区,就是E2PROM,你所选的型号就带有这一功能,单可存储的数据量有限,程序你可到STC官方下载。其二,你可加入单片机第二电源,进入睡眠模式来保持数据,不建议用,曾加硬件成本。其三,用外围存储芯片,其主要用于大数据量的存储,最为可靠,还可把重要关键的程序转移至此,用于版权的保护,因为破解芯片难度较大
‘伍’ 单片机怎么处理海量数据
这就要看数据是怎么处理了,要是有一定规律的可以写个统一算法,否则用分段函数的形式,还有数据的来源是哪里要考虑好,是来自存储器还是模数转换,还还要考虑数据输出的结果是什么形式
‘陆’ 单片机SD卡如何存储历史数据
我最近也在学SD卡,我们可以交流一下。
首先,SD卡通信模式有两种:一种是SD模式,SD模式速度很快,用单片机不能满足要求。一种是SPI模式,用单片机可以去读写。用单片机去读写SD卡就用SPI模式了。
第二,我们要在SD卡里面写什么数据,当然也可以把它当一个简单的FLASH存储器,去读写一些简单的数据。
如果你是要像电脑一样可以写TXT、DOC、EXCEL,这样电脑文件,这样就要用到FAT文件系统,FAT文件系统有很多种,网络一下就有了,可以去看看FATFs,这是免费的
‘柒’ 单片机数据存储问题
我想到的方法每个11位数的电话号最少要5个字节。
方法一:定义一个long变量,long变量的范围是一个十位数,电话号第1位肯定是1,剩下10位数
一个long变量保存9位数,再定义一个char变量保存剩下的1位,char变量加一个long变量一共要5个字节。
方法二:电话号第1位肯定是1,剩下的10位数用10个BCD码保存,一个字节可以保存两个BCD吗,也是5个字节
5*100=500,所以保存100个电话号最少500个字节,也就是0.5k的容量
这只是我的方法,仅供参考