小弟初涉单片机,使用STC12C5410AD(兼容51),10K ROM 512 RAM,用KEILUVISION编译,按照STC建议,UVISION中的目标器件选择8052AH(8K ROM 256 RAM), 但是不知道在MemoryModal 和 Code Rom Size里如何选择,默认都是SMALL,结果编译的时候,DATA超过128就报错了,后来两个都选择LARGE就不错了。但是编译以后的PROGRAM SIZE 里确是data = 9.3 xdata = 162 code = 10045. 不太明白的是我的芯片没有XDATA外部存储器啊,这样编译为什么程序还能运行呢,另外发现有变量在掉电再上电时并没有清零,还是保持上次的值,不知道为什么。 最后一个问题是我如何保证程序可以在我的芯片上运行,是要自己检查CODE和DATA区不超过10K和512么?如果是这样的话,那么DATA区是不是等于DATA+XDATA? 多谢大家帮忙释疑 |