stc8h8k64u烧录成功但是效果却没有
本帖最后由 落鲸 于 2024-9-27 21:22 编辑新入门的人,大家勿怪。(打狗棒)【解决了,谢谢各位!!!!】
以前的代码烧录进去就可以让板子上的小led灯珠亮起来,
但是最近突然发现以前的板子就想玩玩看,
但是新写的代码突然就不行了,一样的代码在仿真软件里面就可以让led亮起来,但是开发版就不行。
好烦,以前的作业就可以用,现在的就用不了。
代码
烧录
板子
仿真
没有初始化ID口配置
P1M0 = 0xff; P1M1 = 0x00;
仿真软件其实很耽误学习,看似低成本开发,实则弊大于利,仿真软件对于很多外围配置非常大条和宽容,即使不接电源都能正常工作。能从仿真走到开发板,这才是真正的开始,加油吧! 首先STC8H系列的所有I/O上电后默认都是高阻输入状态,
是无法直接输出,需要使用PxM0和PxM1对I/O进行配置
其次,写代码好歹要加个while循环
例如在main函数结束前加上一句 while (1);
否则程序会一直向后执行,到最后芯片会复位 要配置端口,要有while循环,要延时才能看到灯的输出,你这肯定放了很久了。 io起码要配置一下,p0m1=p0m0=p1m1=p1m0=0x00;和传统51的准双向比现在51都需要对io进行配置。 学习单片机要多看手册,,之前的作业用的什么片子,,现在用的什么片子,,你应该做的不应该是对比两个片子的不同,修改你的程序么?这才是正儿八经的程序移植。。 kaily 发表于 2024-7-9 22:58
首先STC8H系列的所有I/O上电后默认都是高阻输入状态,
是无法直接输出,需要使用PxM0和PxM1对I/O进行配置
有点疑问...我记得之前学C语言的时候,和写单片机程序的时候有个区别,如果是编写单片机程序,不加while语句单片机会一直循环执行main函数里的程序{:5_335:} SiegeLion 发表于 2024-7-10 09:22
有点疑问...我记得之前学C语言的时候,和写单片机程序的时候有个区别,如果是编写单片机程序,不加while ...
单次执行之后就停下来了,因为单片机没操作系统,不像windows等可以return原系统。 以前的(如89s系列)基本不用初始化IO口,现在的单片机基本上都需要初始化IO口。
页:
[1]
2