답변 : 8051 사거리 신호등 질문합니다.
페이지 정보
작성자 master 작성일18-12-06 22:39 조회3,645회 댓글0건본문
// MCU BASIC: https://www.basic4mcu.com
// DateTime : 2018-12-06 오후 10:41:03
// by Ok-Hyun Park
//
//교통신호는 시계방향으로 북 동 남 서
// east | north
//P1= G G Y R | G G Y R
//P1=1.7 1.6 1.5 1.4 | 1.3 1.2 1.1 1.0
//
// west | south
//P3= G G Y R | G G Y R
//P3=3.7 3.6 3.5 3.4 | 3.3 3.2 3.1 3.0
//
//보행자신호는 시계방향으로 동 남 서 북
//P2=w_m s_m e_m n_m
//P2=2.3 2.2 2.1 2.0
//
#include <reg51.h>
//
#define CAR_EN P1
#define CAR_WS P3
#define HUMAN P2
//
//
void delay(unsigned int ms){
unsigned int i,j; for(i=1;i<=ms;i++)for(j=1;j<=125;j++);
}
//
void main(void){
signed char i,t;
while(1){
CAR_EN=0xe7; CAR_WS=0xee; HUMAN=0x0e; delay(10000);
CAR_EN=0xed; CAR_WS=0xee; HUMAN=0x0f; delay(2000);
CAR_EN=0x7e; CAR_WS=0xee; HUMAN=0x0d; delay(10000);
CAR_EN=0xde; CAR_WS=0xee; HUMAN=0x0f; delay(2000);
CAR_EN=0xee; CAR_WS=0xe7; HUMAN=0x0b; delay(10000);
CAR_EN=0xee; CAR_WS=0xed; HUMAN=0x0f; delay(2000);
CAR_EN=0xee; CAR_WS=0x7e; HUMAN=0x07; delay(10000);
CAR_EN=0xee; CAR_WS=0xde; HUMAN=0x0f; delay(2000);
}
}
LED 하나 하나 모두 선언해서 구동하면 좋겠지만 이 정도로 만들고
여기에 보행자 등만 점멸하도록 추가하면 되겠죠
delay(10000);
이 딜레이 대신 보행자 등을 점멸시키면 되겠습니다.
// MCU BASIC: https://www.basic4mcu.com
// DateTime : 2018-12-06 오후 10:45:12
// by Ok-Hyun Park
//
#include <reg51.h>
//
#define CAR_EN P1
#define CAR_WS P3
#define HUMAN P2
//
void delay(unsigned int ms){
unsigned int i,j; for(i=1;i<=ms;i++)for(j=1;j<=125;j++);
}
//
void main(void){
signed char i,t;
while(1){
CAR_EN=0xe7; CAR_WS=0xee; for(i=0;i<10;i++){ HUMAN=0x0e; delay(500); HUMAN=0x0f; delay(500); }
CAR_EN=0xed; CAR_WS=0xee; HUMAN=0x0f; delay(2000);
CAR_EN=0x7e; CAR_WS=0xee; for(i=0;i<10;i++){ HUMAN=0x0d; delay(500); HUMAN=0x0f; delay(500); }
CAR_EN=0xde; CAR_WS=0xee; HUMAN=0x0f; delay(2000);
CAR_EN=0xee; CAR_WS=0xe7; for(i=0;i<10;i++){ HUMAN=0x0b; delay(500); HUMAN=0x0f; delay(500); }
CAR_EN=0xee; CAR_WS=0xed; HUMAN=0x0f; delay(2000);
CAR_EN=0xee; CAR_WS=0x7e; for(i=0;i<10;i++){ HUMAN=0x07; delay(500); HUMAN=0x0f; delay(500); }
CAR_EN=0xee; CAR_WS=0xde; HUMAN=0x0f; delay(2000);
}
}
댓글 : 0
조회수 : 3,645
등록된 댓글이 없습니다.