tianzhu345 发表于 2024-6-7 17:05:34

求助,新手烧录的程序全都不运行

       我是第一次用STC8,用的STC8G1K08A,原理图如下

我用ISP的范例程序里直接下载HEX,IO口可以驱动我的蜂鸣器和LED。
但是自己编译烧录进去就不行了。
      我觉得可能是编译的问题,于是我去下载ISP的范例程序。

然后用ISP分别打开下载的HEX和我自己编译的HEX。
      例程里HEX中代码长度只有9C,

      但是我自己编译的HEX长度居然有11E1。

      是不是这里出了问题?{:4_167:}

Lkck8210 发表于 2024-6-7 17:12:37

贴代码啊,说那么多都说不到重点{:5_310:}

tianzhu345 发表于 2024-6-7 17:34:31

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;
        }
}

Lkck8210 发表于 2024-6-7 17:41:36



这句没报错??

soma 发表于 2024-6-7 17:51:08

本帖最后由 soma 于 2024-6-7 18:06 编辑

你这程序不对吧。正常的hex文件里面不是这些,反编译估计也不行。

wpy621206 发表于 2024-6-7 17:52:11

你的原理图CPU是STC8G1K08A,而你的ISP芯片选择是STC8H8K64U

wpy621206 发表于 2024-6-7 17:56:29

程序中引用的头文件也是而STC8H的

神农鼎 发表于 2024-6-7 18:34:00





这也奇怪,一般是 02H 开头:LJMP   地址
为何不是 02H开头,这 88H 是啥


xxkj2010 发表于 2024-6-7 18:46:16

STC-ISP的版本还这么低,6.92L?大家都用6.94E了


xxxevery 发表于 2024-6-7 19:00:02

头文件应该用STC8G.H,当然用STC8H.H也不一定出问题;
p32应该改成P32,编译没报错也很奇怪;
P3 = 0xfb(二进制0b11111011),相当于P32= 0, 那后面那句就应该为P32 = 1,你那样怎么可能有啥反应呢
页: [1]
查看完整版本: 求助,新手烧录的程序全都不运行