|
优酷视频链接:https://v.youku.com/v_show/id_XNTEwODE0ODg4NA==.html
//功能:采用if-else-if 语句实现模拟汽车左右转向灯控制程序
#include <reg51.h>
#define uchar unsinged char //#define uchar unsigned char
sbit leftlight=P1^0; //定义P1^0引脚位名称为leftlight
sbit rightlight=P1^1; //定义P1^0引脚位名称为rightlight
sbit leftbutton=P1^6; //定义P3^0引脚位名称为leftbutton
sbit rightbutton=P1^7; //定义P3^1引脚位名称为rightbutton
sbit sheng=P1^2;
void delay(void) //延时 1 秒子程序
{ unsigned char i,j,k;
for(i=5;i>0;i--)
for(j=200;j>0;j--)
for(k=248;k>0;k--);
}
void main(void) //主函数
{
leftlight=1; //左转向灯熄灭状态
rightlight=1; //右转向灯熄灭状态
sheng=0;
while (1) // while循环语句,由于条件一直为真,该语句为无限循环
{
if (leftbutton==0&&rightbutton==0)//)// 如果左转向按键和右转向按键都为1,则全灭
{
leftlight=0; //左转向灯熄灭状态
rightlight=0; //右转向灯熄灭状态
sheng=1;
delay(); //延时
}
else if(leftbutton==00&&rightbutton==1)//()//如果只有左转向按键为0,则左转向灯亮
{
leftlight=0; //左转向灯熄灭状态
sheng=1;
rightlight=1; //右转向灯熄灭状态
delay(); //延时
}
else if(leftbutton==1&&rightbutton==0)//如果只有右转向按键为0,则右转向灯亮
{
leftlight=1; //左转向灯熄灭状态
rightlight=0; //右转向灯点亮状态
sheng=1;
delay(); //延时
}
else
{
leftlight=1; //左转向灯点亮状态
rightlight=1; //右转向灯点亮状?
sheng=0;
delay(); //延时
}
leftlight=1; //左、右转向灯熄灭状态,形成闪烁状态
rightlight=1;
sheng=0;
delay();
}
}学习通视频链接:https://mooc1-api.chaoxing.com/p ... 68453187&appId=1000
|
评分
-
查看全部评分
|