#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit k1=P3^0;
sbit k2=P3^1;
sbit k3=P3^2;
sbit k4=P3^3;
sbit led1=P1^0;
sbit led2=P1^1;
uint cdTime=0;
uchar mode=1;
bit flag=1;
void delay(uint t)
{
while(t--);
}
void keyscan()
{
if(k1==0)
{
delay(1000);
if(k1==0)
{
led1=led2=1;
mode=1;
while(k1==0);
}
}
if(k2==0)
{
delay(1000);
if(k2==0)
{
led1=led2=1;
mode=2;
while(k2==0);
}
}
if(k3==0)
{
delay(1000);
if(k3==0)
{
led1=led2=1;
mode=3;
while(k3==0);
}
}
if(k4==0)
{
delay(1000);
if(k4==0)
{
if(mode==1&&cdTime==0)
{
led1=0;
cdTime=100;
TR0=1;
}
if(mode==2)
{
led1=~led1;
}
if(mode==3)
{
flag=~flag;
led1=flag;
led2=~flag;
}
while(k4==0);
}
}
}
void main()
{
TMOD=0x01;
TH0=0xd8;
TL0=0xf0;
ET0=1;
EA=1;
TR0=0;
while(1)
{
keyscan();
}
}
void Timer0() interrupt 1
{
TH0=0xd8;
TL0=0xf0;
if(cdTime>0)
{
cdTime--;
}
else
{
led1=1;
TR0=0;
}
}
这个程序是k1-3是3个模式开关分,别代表不懂的功能,现在我不想要这3个开关了!想用一根线直接连他的引脚,让它一直保持高电平状态,当我把线接接到k1是是模式一状态,接到k2是模式2,k3是模式3!想问问怎么改!!谢谢大佬!!
#define uchar unsigned char
#define uint unsigned int
sbit k1=P3^0;
sbit k2=P3^1;
sbit k3=P3^2;
sbit k4=P3^3;
sbit led1=P1^0;
sbit led2=P1^1;
uint cdTime=0;
uchar mode=1;
bit flag=1;
void delay(uint t)
{
while(t--);
}
void keyscan()
{
if(k1==0)
{
delay(1000);
if(k1==0)
{
led1=led2=1;
mode=1;
while(k1==0);
}
}
if(k2==0)
{
delay(1000);
if(k2==0)
{
led1=led2=1;
mode=2;
while(k2==0);
}
}
if(k3==0)
{
delay(1000);
if(k3==0)
{
led1=led2=1;
mode=3;
while(k3==0);
}
}
if(k4==0)
{
delay(1000);
if(k4==0)
{
if(mode==1&&cdTime==0)
{
led1=0;
cdTime=100;
TR0=1;
}
if(mode==2)
{
led1=~led1;
}
if(mode==3)
{
flag=~flag;
led1=flag;
led2=~flag;
}
while(k4==0);
}
}
}
void main()
{
TMOD=0x01;
TH0=0xd8;
TL0=0xf0;
ET0=1;
EA=1;
TR0=0;
while(1)
{
keyscan();
}
}
void Timer0() interrupt 1
{
TH0=0xd8;
TL0=0xf0;
if(cdTime>0)
{
cdTime--;
}
else
{
led1=1;
TR0=0;
}
}
这个程序是k1-3是3个模式开关分,别代表不懂的功能,现在我不想要这3个开关了!想用一根线直接连他的引脚,让它一直保持高电平状态,当我把线接接到k1是是模式一状态,接到k2是模式2,k3是模式3!想问问怎么改!!谢谢大佬!!