keil编写程序我使用芯片是STC12C5A60S2的,ram是1280byte,但是为什么我编译完结果是不能编译。

选用small的DATA结果是不能编译,选用XDATA时,编译出来结果是 Program Size: data=9.1 xdata=306 code=2328。这个显示DATA是9.1字节,可是stc12C5A60S2是1280byte啊,为何错误,为何不行?

……还是建议你先回炉学一下51单片机的基础知识,搞清楚内部寻址空间和外部寻址空间。
51核的内部寻址空间有限,这1280字节并不都是可以内部寻址的。
应当手动将较大的全局变量块分配到所支持的外部空间块中。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-12-29
keil建工程的时候选择的芯片的RAM没有这么大,比如选择52,只有255,我上次就是这样的问题

Keil单步调试赋值不对的问题
keilc是不支持STC12C5A60S2单片机的,但可以用它来编译,编译后的HEX代码文件是可以在STC12C5A60S2单片机上运行的,而单步调试就无法得到正确的结果了,因为它并没有P1M1,P1M0寄存器,虽然你编译通过了,是因为你用头文件定义了这两个寄存器,但是无法调试仿真的,那个调试的结果是随机的,必须在实物...

...建立工程是选用STC12C5A60S2,include<STC12C5A60S2.h>打不开?_百...
因为按照这个方法添加头文件在目录C:\\Program Files\\Keil\\C51\\INC\\STC 解决方法:1:修改为#include<STC\\STC12C5A60S2.H>;2:把STC12C5A60S2.H复制到目录:C:\\Program Files\\Keil\\C51\\INC\\

stc公司的12c5a60s2在用keil4 新建工程的cpu是什么
用keilc建工程时,是没有单片机stc12c5a60s的,其实,建工程时所选单片机是可以任选一款51单片机就行的,关键是在写程序时,要加相应的头文件就可以了。所以,你可以选单片机at89c52,在主程序中加stc12c5a60s的头文件就行,再写程序时,它内部的寄存器就能用了,但如果是用keilc仿真是不行的,stc1...

...为什么用STC12C5A60S2写的PWM程序在Keil的逻辑分析仪中看不到波 ...
你用的STC单片机,是扩展了PWM功能的,这个功能,仿真器没有,所以你的那些个CCAP0H、CCON等等的寄存器,仿真器是没有的,所以,是不能够仿真的,自然,逻辑仪也不能起作用。

STC12C5A60S2如何用keil进行编译?
到STC的官网上下一个UV2.CDB和UV3.CDB,分别支持UV2和UV3的,建议用UV2,替换点KEIL里面的文件即可,建议备份原有的。然后再下几个头文件就可以了。学会查资料啊。

stc12c5a60s2单片机在Keil UV4里调试时间和实际运行时间不一样,实际比...
stc12有1T模式和12T模式,过快应该是是用了1T模式,擅入软件里配置成12T模式后调试修改参数 另,软件等待延时的方法本来就不可靠,建议使用定时器

stc12c5a60s2单片机用keil建工程时选什么型号?
STC官网有头文件,KEIL里选ATMEL的AT89C52即可。把STC单片机当做一般的AT51单片机即可。若是用C语言编译STC单片机的话,只需在头文件里包含<reg51.h>和相应的STC单片机的头文件即可,STC单片机的头文件在主页就可以下载。

keil里面怎么选择stc12c5a60s2芯片
keil 里是没有STC芯片的。下载STC-ISP软件,就可以导入STC单片机到keil 中了,见下图。

stc12c5a60s2在keil的哪里
keil 里并没有stc12c5a60s2。不过,可以用STC-ISP软件导入数据库就有了。方法打开STC-ISP软件,见下图

“Keil C51”下如何让编译器优先使用片内“RAM”?
\\x0d\\x0a\\x0d\\x0a宏晶科技最新一代STC12C5A360S2系列,每一个单片机出厂时都有全球唯一身份证号码(ID号),用户可以在单片机上电后读取内部RAM单元F1H~F7H的数值,来获取此单片机的唯一身份证号码。使用MOV @Ri 指令来读取。下面介绍C51 获取方法:\\x0d\\x0a char id[7]={0};\\x0d\\x0a char i;\\x...

相似回答