找回密码
 立即注册
楼主: 爱吃西红柿

关于延时程序的问题

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:403
  • 最近打卡:2025-05-02 11:18:12

0

主题

170

回帖

959

积分

高级会员

积分
959
发表于 2024-3-22 15:39:04 | 显示全部楼层
Delay 500 ms耗费太多时间和CPU资源
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:519
  • 最近打卡:2025-05-02 07:55:51
已绑定手机

46

主题

1694

回帖

2544

积分

金牌会员

积分
2544
发表于 2024-3-22 15:46:01 | 显示全部楼层
如果按键按下,此数据是不是一直在开关?
截图202403221545363193.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2025-04-23 15:28:46

19

主题

65

回帖

223

积分

等待验证会员

积分
223
发表于 2024-3-22 16:19:06 | 显示全部楼层
本帖最后由 55337575 于 2024-3-22 16:27 编辑

void timer0_isr() interrupt 1                //10毫秒中断一次
{
        static unsigned char count=0;
        
        if(++count==50)
        {
                count=0;
                if(flag1)
                {
                        flag1=0;
                        keyPadData[0]&=~0x01;
                }
        }
}

void SendPadData()
{
        static char iskey=0;
;
;
;

        if(!(P13 & 0x01))
        {
               
                if(iskey==0)
                {
                        iskey=1;                //有键按下
                        flag1=1;
                        keyPadData[0] |= 0x01;
                }
        }
        else
        {
                if(iskey==1)
                {
                        iskey=0;                //键抬起
                        flag1=1;
                        keyPadData[0] |= 0x01;
                }
        }
}

试试这样应该可以。实际上灯闪烁500ms有点长

点评

谢谢大哥,有点眉目了  发表于 2024-3-22 17:42
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 15:41 , Processed in 0.141452 second(s), 62 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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