C51单片机
回帖(1)
2021-10-14 11:48:24
实验内容:
单片机P1口控制转向灯实验:
有51单片机,三个开关(K0,K1,K2),两组LED灯,要求打开K0是,两组灯同时闪烁,此时,K1,K2无效;打开K1时,组1的LED慢闪烁,打开K2时,组2的LED慢闪烁.
流程图:
实现程序:
#include
***it K0 = P1^0;
***it K1 = P1^1;
***it K2 = P1^2;
***it L = P1^6;
***it R = P1^7;
void delay(unsigned int i)
{
while(i--);
}
void main(viod)
{
while(1)
{
if(K0==0)
delay(100);
if(K0==0)
{
L=0,R=0;
delay(10000);
L=1,R=1;
delay(10000);
}
else
{
if(K1==1&&K2==0)
delay(100);
if(K1==1&&K2==0)
{
R=0;
delay(10000);
R=1;
delay(10000);
}
if(K1==0&&K2==1)
delay(100);
if(K1==0&&K2==1)
{
L=0;
delay(10000);
L=1;
delay(10000);
}
}
}
}
实验内容:
单片机P1口控制转向灯实验:
有51单片机,三个开关(K0,K1,K2),两组LED灯,要求打开K0是,两组灯同时闪烁,此时,K1,K2无效;打开K1时,组1的LED慢闪烁,打开K2时,组2的LED慢闪烁.
流程图:
实现程序:
#include
***it K0 = P1^0;
***it K1 = P1^1;
***it K2 = P1^2;
***it L = P1^6;
***it R = P1^7;
void delay(unsigned int i)
{
while(i--);
}
void main(viod)
{
while(1)
{
if(K0==0)
delay(100);
if(K0==0)
{
L=0,R=0;
delay(10000);
L=1,R=1;
delay(10000);
}
else
{
if(K1==1&&K2==0)
delay(100);
if(K1==1&&K2==0)
{
R=0;
delay(10000);
R=1;
delay(10000);
}
if(K1==0&&K2==1)
delay(100);
if(K1==0&&K2==1)
{
L=0;
delay(10000);
L=1;
delay(10000);
}
}
}
}
举报
更多回帖