求助,新手烧录的程序全都不运行
我是第一次用STC8,用的STC8G1K08A,原理图如下我用ISP的范例程序里直接下载HEX,IO口可以驱动我的蜂鸣器和LED。
但是自己编译烧录进去就不行了。
我觉得可能是编译的问题,于是我去下载ISP的范例程序。
然后用ISP分别打开下载的HEX和我自己编译的HEX。
例程里HEX中代码长度只有9C,
但是我自己编译的HEX长度居然有11E1。
是不是这里出了问题?{:4_167:}
贴代码啊,说那么多都说不到重点{:5_310:} Lkck8210 发表于 2024-6-7 17:12
贴代码啊,说那么多都说不到重点
谢谢回复,代码是这样的:
#include <STC8h.H>
void Delay200ms() //@11.0592MHz ????(?ISP??????)
{
unsigned char i, j, k;
i = 12;
j = 57;
k = 122;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main ()
{
P3M0 = 0x01;
P3M1 = 0x00;
P5M0 = 0x01;
P5M1 = 0x00;
while(1)
{
P3=0xfb;Delay200ms();
p32 = 0;
}
}
这句没报错??
本帖最后由 soma 于 2024-6-7 18:06 编辑
你这程序不对吧。正常的hex文件里面不是这些,反编译估计也不行。 你的原理图CPU是STC8G1K08A,而你的ISP芯片选择是STC8H8K64U 程序中引用的头文件也是而STC8H的
这也奇怪,一般是 02H 开头:LJMP 地址
为何不是 02H开头,这 88H 是啥
STC-ISP的版本还这么低,6.92L?大家都用6.94E了
头文件应该用STC8G.H,当然用STC8H.H也不一定出问题;
p32应该改成P32,编译没报错也很奇怪;
P3 = 0xfb(二进制0b11111011),相当于P32= 0, 那后面那句就应该为P32 = 1,你那样怎么可能有啥反应呢
页:
[1]