검색어 입력폼

전자회로실험및설계 : 8051 MCU의 PWM 제어로 LED 밝기 제어

저작시기 2010.04 |등록일 2011.12.28 워드파일MS 워드 (docx) | 7페이지 | 가격 800원

소개글

PWM(Pulse Width Modulation)을 이용하여 LED 밝기 제어

LED 8개 중 절반은 밝게, 나머지 반은 흐리게 점등시키기
LED 8개의 밝기를 서로 다르게 하고 차례대로 밝기 차이가 나도록 점등시키기

목차

없음

본문내용

즉, 한 주기의 평균 값이 Duty cycle과 High상태 값의 곱과 같다고 할 수 있다.
본 실험에는 PWM을 이용하여 MCU의 출력 값을 조절하였다. LED가 LED 보드의 5V 전원과 연결되어 있어, 다른 크기의 전압을 인가하여 LED의 밝기를 조절할 수 없다. 그러나 MCU의 Port 출력 값으로 LED에 흐르는 5V 전원을 ON, OFF할 수 있기 때문에 PWM을 사용하여 Port 출력 값의 Duty cycle을 조절하면 LED의 밝기를 조절할 수 있다.
Port의 출력 값으로 5V 전원을 ON, OFF하면 전원의 High를 5V, Low를 0V로 볼 수 있다. Low가0V이므로 Duty cycle은 앞서 살펴본 것처럼 한 주기의 평균 값에 High 값을 나눈 것과 같다. 소스 코드는 while(1) 내부를 반복하므로 while(1) 내부의 처음부터 끝까지를 신호의 한 주기로 볼 수 있다. Port 출력 값은 0 또는 1을 가지며, 0을 출력하면 LED가 점등되므로 한 주기 동안 Port 출력이 0일 때의 비율이 Duty cycle을 결정한다.
for 문을 사용하여 딜레이 함수를 만들고, for 문 전과 후에 Port 출력 값을 변경시키면 딜레이 되는 시간만큼 for 문 전의 출력 값이 유지되므로 Duty cycle을 만들 수 있다.
1) LED 8개 중 절반은 밝게, 나머지 반은 흐리게 점등시키기
8개의 LED 중 4개는 밝게 하고 나머지 4개는 흐리게 만들기 위해서, 우선 4개는 밝게 하기 위해 출력 값으로 0을 주고, 1을 출력시키지 말아야 한다. 남은 4개는 Duty cycle을 100% 이하로 맞추면 LED가 흐리게 점등된다. while(1)의 처음부터 끝을 한 주기로 본다면, MCU의 처리 속도가 매우 빠르므로, 딜레이를 주지 않는 이상 소스 코드의 line을 처리하는 속도가 매우 빨라 주기가 0에 가깝게 된다.

참고 자료

없음
다운로드 맨위로