질문게시판 > 답변 : 8051 사거리 신호등 질문합니다.

TODAY775 TOTAL340,638
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 질문게시판 | 답변 : 8051 사거리 신호등 질문합니다.

페이지 정보

작성자 master 작성일2018-12-06 22:39 조회29회 댓글0건

본문

	

 

// 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,jfor(i=1;i<=ms;i++)for(j=1;j<=125;j++);  
}
//
void main(void){
  signed char i,t;
  while(1){
    CAR_EN=0xe7CAR_WS=0xeeHUMAN=0x0edelay(10000);
    CAR_EN=0xedCAR_WS=0xeeHUMAN=0x0fdelay(2000);
    CAR_EN=0x7eCAR_WS=0xeeHUMAN=0x0ddelay(10000);
    CAR_EN=0xdeCAR_WS=0xeeHUMAN=0x0fdelay(2000);
    CAR_EN=0xeeCAR_WS=0xe7HUMAN=0x0bdelay(10000);
    CAR_EN=0xeeCAR_WS=0xedHUMAN=0x0fdelay(2000);
    CAR_EN=0xeeCAR_WS=0x7eHUMAN=0x07delay(10000);
    CAR_EN=0xeeCAR_WS=0xdeHUMAN=0x0fdelay(2000);
  }
}

LED 하나 하나 모두 선언해서 구동하면 좋겠지만 이 정도로 만들고

여기에 보행자 등만 점멸하도록 추가하면 되겠죠

delay(10000); 

이 딜레이 대신 보행자 등을 점멸시키면 되겠습니다.

 

 

// 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,jfor(i=1;i<=ms;i++)for(j=1;j<=125;j++);
}
//
void main(void){
  signed char i,t;
  while(1){
    CAR_EN=0xe7CAR_WS=0xeefor(i=0;i<10;i++){ HUMAN=0x0edelay(500); HUMAN=0x0fdelay(500); }  
    CAR_EN=0xedCAR_WS=0xeeHUMAN=0x0fdelay(2000);
    CAR_EN=0x7eCAR_WS=0xeefor(i=0;i<10;i++){ HUMAN=0x0ddelay(500); HUMAN=0x0fdelay(500); }
    CAR_EN=0xdeCAR_WS=0xeeHUMAN=0x0fdelay(2000);
    CAR_EN=0xeeCAR_WS=0xe7for(i=0;i<10;i++){ HUMAN=0x0bdelay(500); HUMAN=0x0fdelay(500); }
    CAR_EN=0xeeCAR_WS=0xedHUMAN=0x0fdelay(2000);
    CAR_EN=0xeeCAR_WS=0x7efor(i=0;i<10;i++){ HUMAN=0x07delay(500); HUMAN=0x0fdelay(500); }
    CAR_EN=0xeeCAR_WS=0xdeHUMAN=0x0fdelay(2000);
  }
}

 

 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 0

조회수 29

등록된 댓글이 없습니다.

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
게시물 검색

Privacy Policy
MCU BASIC ⓒ 2017
모바일버전으로보기