找回密码
 立即注册
查看: 802|回复: 15

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

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-13 19:41:18

12

主题

80

回帖

168

积分

注册会员

积分
168
发表于 2024-10-26 01:08:46 来自手机 | 显示全部楼层 |阅读模式
#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:}
Screenshot_2024-10-25-10-00-21-041_com.tencent.mtt.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:508
  • 最近打卡:2025-06-28 10:05:05
已绑定手机
已实名认证

113

主题

2423

回帖

6159

积分

版主

积分
6159
发表于 2024-10-26 05:26:22 | 显示全部楼层
想让led亮,需要给p40一个低电平打开三极管供电,不然是不会亮的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:578
  • 最近打卡:2025-06-30 07:53:30
已绑定手机

50

主题

1827

回帖

3208

积分

论坛元老

积分
3208
发表于 2024-10-26 08:09:10 | 显示全部楼层
1、延时太短,实际运行时会看不见现象,可以单步仿真试试;
2、如果只是执行一次,建议设置标志位或者把此部分放到while前
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:258
  • 最近打卡:2025-07-01 00:14:24
已绑定手机

25

主题

353

回帖

458

积分

中级会员

积分
458
发表于 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次你也看不出来。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:292
  • 最近打卡:2025-06-30 11:32:22

22

主题

282

回帖

1153

积分

金牌会员

积分
1153
发表于 2024-10-26 08:18:48 来自手机 | 显示全部楼层
编译器没有警告?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:258
  • 最近打卡:2025-07-01 00:14:24
已绑定手机

25

主题

353

回帖

458

积分

中级会员

积分
458
发表于 2024-10-26 08:21:22 | 显示全部楼层
邮*** 发表于 2024-10-26 08:18
编译器没有警告?

他就是给出代码,估计没给全
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-13 19:41:18

12

主题

80

回帖

168

积分

注册会员

积分
168
发表于 2024-10-26 13:04:55 来自手机 | 显示全部楼层
王昱顺 发表于 2024-10-26 05:26
想让led亮,需要给p40一个低电平打开三极管供电,不然是不会亮的

上面给了呀

点评

抱歉,没看到那句代码。 想要生成延时函数,可以使用stc-isp工具中的延时函数生成器。 [attachimg]61368[/attachimg] 然后,通过延时后取反LED端口输出即可。 例如: P60 = ~P60; Delay1000ms();  详情 回复 发表于 2024-10-26 13:50
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-13 19:41:18

12

主题

80

回帖

168

积分

注册会员

积分
168
发表于 2024-10-26 13:06:32 来自手机 | 显示全部楼层
angalp 发表于 2024-10-26 08:18
#include

sbit LED=P6^0;

这个延时还没学到,我正在学c{:5_270:}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-13 19:41:18

12

主题

80

回帖

168

积分

注册会员

积分
168
发表于 2024-10-26 13:06:59 来自手机 | 显示全部楼层
angalp 发表于 2024-10-26 08:21
他就是给出代码,估计没给全

嗯嗯
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-13 19:41:18

12

主题

80

回帖

168

积分

注册会员

积分
168
发表于 2024-10-26 13:07:34 来自手机 | 显示全部楼层
邮箱 发表于 2024-10-26 08:18
编译器没有警告?

给了一部分
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-7-1 02:46 , Processed in 0.197442 second(s), 109 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表