//程序名:led_turn.c
//功能:汽车左右转向灯程序
#include <REGX51.H> //包含头文件REGX51.H
sbit LEDL1=P0^0; //定义P0.0引脚位名称为LEDL1,左前转向灯
sbit LEDL2=P0^1; //定义P0.1引脚位名称为LEDL2,左后转向灯
sbit LEDR1=P0^2; //定义P0.2引脚位名称为LEDR1,右前转向灯
sbit LEDR2=P0^3; //定义P0.3引脚位名称为LEDR2,右后转向灯
sbit S1=P1^0; //定义P1.0引脚位名称为S1,S1为0,左转向灯闪烁
sbit S2=P1^1; //定义P1.1引脚位名称为S2,S2为0,右转向灯闪烁
//函数名:delay
//函数功能:实现软件延时
//形式参数:无符号整型变量i
//返回值:无
void delay(unsigned int i)
{
while(i--); //i次空操作
}
void main() //主函数
{
while(1) //无限循环
{
P1=0xff;
LEDL1=S1; //读取S1引脚的控制状态并赋值给左转向灯LEDL1
LEDL2=S1; //读取S1引脚的控制状态并赋值给左转向灯LEDL2
LEDR1=S2; //读取S2引脚的控制状态并赋值给右转向灯LEDR1
LEDR2=S2; //读取S2引脚的控制状态并赋值给右转向灯LEDR2
delay(20000); //软件延时
LEDL1=1; //将LEDL1引脚置1,熄灭LEDL1
LEDL2=1; //将LEDL2引脚置1,熄灭LEDL2
LEDR1=1; //将LEDR1引脚置1,熄灭LEDR1
LEDR2=1; //将LEDR2引脚置1,熄灭LEDR2
delay(20000); //软件延时
}
}

没有码甲
- 粉丝: 205
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


