那位大哥帮忙看一下这个单片机程序??

[复制链接]
查看11 | 回复1 | 2010-5-23 23:58:39 | 显示全部楼层 |阅读模式
是按键在两秒内按两下才驱动led灯!
#include
#define uint unsigned int
#define uchar unsigned char
uchar t1,miao,key,i;
sbit d1=P1^0;
sbit s1=P3^2;
void init();
void delay()
{
uint x;
for(x=600;x>0;x--)

;
}
void main()
{

init();
while(1)
{
if(s1==0)

{

key=1;

delay();

if(s1==0)

{

while(!s1)

i++;


if(miao<=2)

{

if(i==2)

{

d1=~d1;

miao=0;

}

else

key=0;

miao=0;

t1=0;

i=0;

}

}
}


}
}
void init()//初始化函数
{

key=0;
d1=0;

miao=0;
TMOD=0x01;
TH0=(65536-50000)/256;//初值
TL0=(65536-50000)%256;
EA=1;//开总中断;
ET0=1;//开定时器0中断
TR0=1;
}
void timer0() interrupt 1
{

TR0=0;

if(key==1)
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;

t1++;

if(t1==20)

miao++;
}
TR0=1;
}
哪位可不可以给个程序参考一下??

回复

使用道具 举报

千问 | 2010-5-23 23:58:39 | 显示全部楼层
你的这段中的i是干什么用的啊为什么在外部加1在内部清零呢?if(s1==0)
{
key=1;
delay();
if(s1==0)
{
while(!s1)
i++;
if(miao<=2)
{
if(i==2)
{
d1=~d1;
miao=0;
}
else
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行