王云可 发表于 2024-10-26 01:08:46

新手想做一个p6.0灯只亮5次

#include<>

int main()
{
   P4M0=0X00;
   P4M1=0X00;
   P6M0=0X00;
   P6M1=0X00;
    while(1)
    {
      P40=0;
            for(i=0;i<5;i++)
                {
                for(j=0;j<1;j++)
                  {
                        if(j=0)
                            p60=0;
                        else
                            break
                  }
                }
      break      
    }
    return 0;
}{:5_353:}

王昱顺 发表于 2024-10-26 05:26:22

想让led亮,需要给p40一个低电平打开三极管供电,不然是不会亮的

jwd 发表于 2024-10-26 08:09:10

1、延时太短,实际运行时会看不见现象,可以单步仿真试试;
2、如果只是执行一次,建议设置标志位或者把此部分放到while前

angalp 发表于 2024-10-26 08:18:20

本帖最后由 angalp 于 2024-10-26 08:22 编辑

#include<STC8H.H>

sbit LED=P6^0;
sbit SW=P4^0;
int main()
{
   P4M0=0X00;
   P4M1=0X00;
   P6M0=0X00;
   P6M1=0X00;
   
   LED=1;//初始化灯灭

   SW=0;//打开总开关

   for(i=0;i<10;i++) //循环10次,5次亮 5次灭
                {
       delay_ms(500);//延时500毫秒
                         LED=!LED;//P60亮灭
    }
    LED=1;//关灯

    while(1);
}

中间需要加延时,要不然亮了5次你也看不出来。

邮箱 发表于 2024-10-26 08:18:48

编译器没有警告?

angalp 发表于 2024-10-26 08:21:22

邮箱 发表于 2024-10-26 08:18
编译器没有警告?

他就是给出代码,估计没给全

王云可 发表于 2024-10-26 13:04:55

王昱顺 发表于 2024-10-26 05:26
想让led亮,需要给p40一个低电平打开三极管供电,不然是不会亮的

上面给了呀

王云可 发表于 2024-10-26 13:06:32

angalp 发表于 2024-10-26 08:18
#include

sbit LED=P6^0;


这个延时还没学到,我正在学c{:5_270:}

王云可 发表于 2024-10-26 13:06:59

angalp 发表于 2024-10-26 08:21
他就是给出代码,估计没给全

嗯嗯

王云可 发表于 2024-10-26 13:07:34

邮箱 发表于 2024-10-26 08:18
编译器没有警告?

给了一部分
页: [1] 2
查看完整版本: 新手想做一个p6.0灯只亮5次