标题:
想改个单片机开关控制程序!萌新不太懂!
[打印本页]
作者:
1319227694
时间:
2019-6-22 20:06
标题:
想改个单片机开关控制程序!萌新不太懂!
这个程序是k1-3是3个模式开关分,分别代表不懂的功能,现在我不想要这3个开关了!想用一根线直接连他的引脚,让它一直保持高电平状态,当我把线接接到k1是是模式一状态,接到k2是模式2,k3是模式3! k4是执行这些模式的开关!想问问怎么改!!谢谢大佬!!
单片机源程序如下:
#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;
}
}
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1