汽车灯光控制器C语言源程序(基于80C51单片机)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序实现控制汽车左转向灯、右转向灯、倒车灯和故障报警灯#include
#include
#include
sbit leftSwitch=P3^0;
sbit rightSwitch=P3^1;
sbit backSwitch=P3^2;
sbit errSwitch=P3^3;
sbit leftLed=P2^0;
sbit rightLed=P2^1;
sbit backLed=P0^0;
sbit errLed=P1^0;
#define TURN_ON_leftLed leftLed=0
#define TURN_OFF_leftLed leftLed=1
#define TURN_ON_rightLed leftLed=0
#define TURN_OFF_rightLed leftLed=1
#define TURN_ON_backLed leftLed=0
#define TURN_OFF_backLed leftLed=1
#define TURN_ON_errLed leftLed=0
#define TURN_OFF_errLed leftLed=1
#define uint unsigned int
void delay(uint); //声明延时函数
void delay(uint xms) //延时函数
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
/************主程序*****************/
void main (void)
{
while(1)
{
while(!leftSwitch)
{
TURN_ON_leftLed;delay(200);
TURN_OFF_leftLed;delay(200);
}
while(!rightSwitch)
{
TURN_ON_rightLed; delay(200);
TURN_OFF_rightLed; delay(200);
}
while(!backSwitch)
{
TURN_ON_backLed; delay(300);
}
TURN_OFF_backLed;
while(!errSwitch)
{
TURN_ON_errLed; delay(300);
TURN_OFF_errLed; delay(100);
}
}
}