Cerapple 发表于 2024-4-29 23:04:04

STC8H8K64U,为什么我的灯不亮,这个程序有什么问题吗

#include <stc8h.h>                 //包含支持STC8系列单片机的头文件
#include <intrins.h>
#include <gpio.h>
#define uchar unsigned char
#define uintunsigned int
sbit ok_led=P6^0;      
sbit error_led=P6^1;   
sbit k=P4^0;
ucharxdataram256; //定义片内ram,256个字节
/*------------------主函数---------------------*/
void main(void)
{
        uinti;
        gpio();
        k=0;
        for(i=0;i<256;i++)                 //先把ram数组以0--255填满
        {
                ram256=i;
        }
        for(i=0;i<256;i++)                 //通过串口把数据送到电脑显示
        {
                if(ram256!=i) goto Error;
        }
        ok_led=0;
        error_led=1;
        while(1);               //结束
Error:
        ok_led=1;
        error_led=0;
        while(1);
}

按理说物理怎样都应该有一个灯亮才对吧,我仿真过,RAM里面的内容没有问题,编译也是通过的

soma 发表于 2024-4-29 23:20:14

sbit k=P4^0;这个好像也有操作

晓飛飛 发表于 2024-4-30 00:02:30

main函数内没有配置IO输出功能,可以根据你的原理图配置一下IO输出方式,如果灌电流输出就配置成OD或者准双向,如果是高电平驱动LED就配置成推拉方式或开启内部上拉的OD模式。

xiangzichen 发表于 2024-4-30 01:12:29

IO口默认高阻态..相当于断路..要配置一下

小涵子爸爸 发表于 2024-4-30 07:46:23

需要先设置I/O状态,参考下手册

jwd 发表于 2024-4-30 07:55:38

端口配置不对吧

小飞侠 发表于 2024-4-30 08:40:01

应该是IO口模式没有配置,默认为高阻状态,所以无法驱动LED

yefeng 发表于 2024-4-30 10:38:52

#include <stc8h.h>                   //包含支持STC8系列单片机的头文件
#include <intrins.h>
#include <gpio.h>
#define uchar unsigned char
#define uintunsigned int
sbit ok_led=P6^0;      
sbit error_led=P6^1;   
sbit k=P4^0;
ucharxdataram256; //定义片内ram,256个字节
/*------------------主函数---------------------*/
void main(void)
{
      uinti;
      gpio();
      
      /* P6.0,P6.1设置为推挽输出 */
      P6M0 |= 0x03;
      P6M1 &= ~0x03;
      
      k=0;
      for(i=0;i<256;i++)               //先把ram数组以0--255填满
      {
                ram256=i;
      }
      for(i=0;i<256;i++)               //通过串口把数据送到电脑显示
      {
                if(ram256!=i) goto Error;
      }
      ok_led=0;
      error_led=1;
      while(1);               //结束
Error:
      ok_led=1;
      error_led=0;
      while(1);
}

xxkj2010 发表于 2024-4-30 11:52:19

不知道gpio();   是不是用来配置IO口的。

xxkj2010 发表于 2024-4-30 11:56:39

能提供个电路原理图会更好些。
页: [1] 2
查看完整版本: STC8H8K64U,为什么我的灯不亮,这个程序有什么问题吗