如何结合定时器实现按键按一下灯闪烁一次(我是菜鸟)

[复制链接]
499|2
 楼主| 张さん 发表于 2020-4-20 15:30 | 显示全部楼层 |阅读模式
cnt=0;
按键按下;
cnt++;
if(cnt>3)
{
cnt=0;
}

要求按键每按一次灯闪烁一次,不能的delay(100)
这样子的延时函数,我写不出来,求大神帮忙。。。

最好能用定时器

评论

配置好定时器,然后按键按下s使能time, 计时结束就失能time  发表于 2020-4-20 16:26
xuyaqi 发表于 2020-4-20 17:20 | 显示全部楼层
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uint i;
sbit k1=P3^1;

sbit led7=P2^7;

void time() interrupt 1
{
        TH0=(65536-10000)/256;
        TL0=(65536-10000)%256;
        i++;
}

void init()
{
                TMOD=0X01;
                TH0=(65536-10000)/256;                 //10ms
                TL0=(65536-10000)%256;
                //EA=1;
                ET0=1;
                TR0=1;
}

void main()
{        
        init();
        while(1)
        {
                if(k1==0)
                {
                        led7=0;
                        i=0;
                        EA=1;
                }
                if(i>50)
                {
                        led7=1;
                        EA=0;
                }
               
        }  
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

448

主题

464

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部