标题: Arduino交通灯仿真 [打印本页]

作者: wrlsohu    时间: 2018-6-29 15:33
标题: Arduino交通灯仿真
用ATMEGA328P单片机最小系统仿真
程序如下:

int Led0 = 2; //Red1
int Led1 = 3; //Green1
int Led2 = 4; //Yellow1
int Led3 = 5; //Red2
int Led4 = 6; //Green2
int Led5 = 7; //Yellow2
void setup() {
unsigned char i;
  for(i = 2; i < 8; i++)
   pinMode(i, OUTPUT);  //循环设置Ledi为输出
digitalWrite(i, LOW);   //熄灭Ledi
}
void Styl1(void) {
digitalWrite(Led5, LOW);    // 熄灭LED5(Yellow2)
digitalWrite(Led0, LOW);    // 熄灭LED0(Red1)
digitalWrite(Led1, HIGH);   //点亮LED1(Green1)
digitalWrite(Led3, HIGH);   //点亮LED3(Red2)
delay(50000);    //延时50
}
void Styl2(void) {
unsigned char i;
  for(i = 0; i < 6; i++) {
   digitalWrite(Led1, LOW);    // 熄灭LED1(Green1)
   delay(500);              //等待500毫秒
   digitalWrite(Led1, HIGH);   //点亮LED1(Green1)
   delay(500);              //等待500毫秒
  }
}
void Styl3(void) {
digitalWrite(Led1, LOW);    // 熄灭LED1(Green1)
digitalWrite(Led2, HIGH);   //点亮LED2(Yellow1)
delay(5000);    //延时5
}
void Styl4(void) {
digitalWrite(Led2, LOW);    // 熄灭LED2(Yellow1)
digitalWrite(Led3, LOW);    // 熄灭LED3(Red2)
digitalWrite(Led0, HIGH);   //点亮LED0(Red1)
digitalWrite(Led4, HIGH);   //点亮LED4(Green2)
delay(50000);    //延时50
}
void Styl5(void) {
unsigned char j;
  for(j = 0; j < 6; j++) {
   digitalWrite(Led4, LOW);    // 熄灭LED4(Green2)
   delay(500);              //等待500毫秒
   digitalWrite(Led4, HIGH);   //点亮LED4(Green2)
   delay(500);            //等待500毫秒
  }
}
void Styl6(void) {
digitalWrite(Led4, LOW);    // 熄灭LED4(Green2)
digitalWrite(Led5, HIGH);   //点亮LED5(Yellow2)
delay(5000);    //延时5
}
void loop() {
Styl1();
Styl2();
Styl3();
Styl4();
Styl5();
Styl6();
}







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1