我的STC单片机型号是STC90C516RD+。在keil_c中64Kflash程序存储器怎么全把它用上啊?

我用官网STC-isp-15xx-v6.70的软件,把STC型号导入keil c中。新建项目选择芯片只有STC90c58RD+。而且说明是32K bytes flash ROM。

其实新建项目所选的型号是什么无所谓的,就算是不用STC型号的,就是选AT89C51型号的单片机,照样可以写出64KB的程序的,只要在下载时,单片机能下载全部程序就行了,这就要求实物的 flash ROM是真实的64KB就行。不过,真想写出64KB的程序还真的很难的,除非存放汉字的字模,否则,不论写什么也很难写出64KB的程序的。追问

就是有字模,无字库的19264,需要做N个界面。

追答

那就写好,没有关系的,完全可以写到64KB的,与型号没有什么关系。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-04
这个不影响你写程序,你写多少程序就会生成多少,直接下载进去就行了
第2个回答  2014-06-04
内存不足516,可能买到假元件了
第3个回答  2014-06-04
可以通过定义变量时加上 idata,xdata,code等关键字来指定变量存储的位置。
通常不指定的话,只能使用单字节7位寻址的128个字节内存空间。(其实不足128,很多地址空间已经被单片机端口占用)
如果使用idata的话可以寻址最多256字节的RAM空间。
xdata是用双字节定位地址的,所以可以最大用到64K
code是让编译器将该变量定义在代码段。但是定义在代码段的变量只可读出,是不可写入的。

类似定义如下
unsigned int idata iTemp;
unsigned char xdata str[200];
unsigned int code PI=3.1415926;

keil C中你选择的单片机型号和使用的存储空间其实是没有什么关系的。STC提供的各种器件的头文件,最多定义了该器件的IO口,计时器,中断相关的宏,和这个器件能用多少存储空间没有任何关系。51单片机最多寻址空间也就是64K了。但是用编程工具往芯片中烧程序的时候一定要选对器件才行。