8051을 이용한 교통신호등 구현
- 최초 등록일
- 2009.05.25
- 최종 저작일
- 2009.05
- 21페이지/ MS 파워포인트
- 가격 6,200원
소개글
89c51을 이용하여 교통신호등의 소스코드분석 입니다.
목차
1. LED 회로
2. LED 점멸
3. 교통신호등 코드 분석
본문내용
LED 회로
AT89S51
P 1.1
P 1.0
P 1.2
P 1.3
P 1.4
P 1.5
P 1.6
P 1.7
Y0 : GREEN
Y1 : YELLOW
Y2 : RED
Y3 : RED
Y4 : GREEN
Y5 : YELLOW
Y6 : RED
Y7 : RED
LED 점멸
LED 점멸 방법 :
P1 포트에 주소를 16진수로 8비트를 입력
( 0 => ON , 1 => OFF )
C언어 프로그램에서 16진수는
0x로 표기
( ex> 0x00 => 00000000
0xaa => 10101010 )
Ex>
Y0 LED 점등시 : 11111110 => Oxfe
Y0, Y4 LED 점등시 : 11101110 => 0xee
2진수
16진수
0000
0
교통 신호등에서 사용되는 LED 분석
교통신호등 코드 분석
#include // I/O가 정의되어있는 헤더파일
void delay (unsigned int i) // 부호가 없는 4byte 정수인 변수i 선언
이때 i는 호출시 넘어온 인자값 저장
{
while(i--); // 시간 지연발생시 while문을 반복
} while문의 특성상 i=0일때 함수종료
void main(void) 반환값 없는 main 함수부
{
unsigned char i; // 부호없는 1byte 정수인 변수i선언
do{ // do while문으로 while문 참 일경우 반복
P1 = 0xbe; // port1에 0xbe 값을 전달 (G1,R2 ON)
for (i=0 ; i<4 ; i++){ // for문을 4번 반복
delay(65000); // delay 함수호출 (65000 인자값전달)
while문 65000번 반복 : 1초 지연됨
}
교통신호등 코드 분석
for (i=0 ; i<4 ; i++){ // for 문 4회 반복
P1 = 0xbf; // port1에 0xbf 값을 전달 (R2 ON)
delay(32500); // 0.5초 지연
P1 = 0xbe; // port1에 0xbe 값을 전달 (G1,R2 ON)
delay (32500); // 0.5초 지연
}
P1 = 0xbd; // port1에 0xbd 값을 전달 (Y1,R2 ON)
delay(65000); // 1초 지연
delay(65000); // 1초 지연
P1 = 0xeb; // port1에 0xeb 값을 전달 (R1,G2 ON)
for (i=0 ; i<4 ; i++){ // for 문 4회 반복
delay(65000); // 1초 지연
참고 자료
없음