落鲸 发表于 2024-7-9 19:06:02

stc8h8k64u烧录成功但是效果却没有

本帖最后由 落鲸 于 2024-9-27 21:22 编辑

新入门的人,大家勿怪。(打狗棒)【解决了,谢谢各位!!!!】

以前的代码烧录进去就可以让板子上的小led灯珠亮起来,
但是最近突然发现以前的板子就想玩玩看,
但是新写的代码突然就不行了,一样的代码在仿真软件里面就可以让led亮起来,但是开发版就不行。
好烦,以前的作业就可以用,现在的就用不了。


代码


烧录


板子


仿真

zhang32568 发表于 2024-7-9 19:23:17

没有初始化ID口配置
    P1M0 = 0xff; P1M1 = 0x00;

晓飛飛 发表于 2024-7-9 19:53:03

仿真软件其实很耽误学习,看似低成本开发,实则弊大于利,仿真软件对于很多外围配置非常大条和宽容,即使不接电源都能正常工作。能从仿真走到开发板,这才是真正的开始,加油吧!

kaily 发表于 2024-7-9 22:58:28

首先STC8H系列的所有I/O上电后默认都是高阻输入状态,
是无法直接输出,需要使用PxM0和PxM1对I/O进行配置

其次,写代码好歹要加个while循环
例如在main函数结束前加上一句 while (1);
否则程序会一直向后执行,到最后芯片会复位

zengchang 发表于 2024-7-10 00:08:57

要配置端口,要有while循环,要延时才能看到灯的输出,你这肯定放了很久了。

soma 发表于 2024-7-10 03:57:07

io起码要配置一下,p0m1=p0m0=p1m1=p1m0=0x00;和传统51的准双向比现在51都需要对io进行配置。

_奶咖君_ 发表于 2024-7-10 08:51:47

学习单片机要多看手册,,之前的作业用的什么片子,,现在用的什么片子,,你应该做的不应该是对比两个片子的不同,修改你的程序么?这才是正儿八经的程序移植。。

SiegeLion 发表于 2024-7-10 09:22:00

kaily 发表于 2024-7-9 22:58
首先STC8H系列的所有I/O上电后默认都是高阻输入状态,
是无法直接输出,需要使用PxM0和PxM1对I/O进行配置



有点疑问...我记得之前学C语言的时候,和写单片机程序的时候有个区别,如果是编写单片机程序,不加while语句单片机会一直循环执行main函数里的程序{:5_335:}

soma 发表于 2024-7-10 09:43:14

SiegeLion 发表于 2024-7-10 09:22
有点疑问...我记得之前学C语言的时候,和写单片机程序的时候有个区别,如果是编写单片机程序,不加while ...

单次执行之后就停下来了,因为单片机没操作系统,不像windows等可以return原系统。

xxkj2010 发表于 2024-7-10 10:50:12

以前的(如89s系列)基本不用初始化IO口,现在的单片机基本上都需要初始化IO口。
页: [1] 2
查看完整版本: stc8h8k64u烧录成功但是效果却没有