2011년9월23일_ARM_AT91SAM7S256 PWM제어기를 사용하여 LED의 밝기를 조절하자.
● pwm.c PWM초기화와 실행 중 듀티비조정
● main.c 하이퍼터미널로 방향키 입력받아 LED에 연결된 PWM출력 듀티비조정하여 LED밝기 조정
//소스설명추가
문제점은 PWM_CUPD3레지스터의 값을 100에서 0으로 바꾸고 다시 증가시키면 LED가 최대로 밝아진다.
PWM_CUPD3레지스터의 값을 계속 증가시키면 LED의 밝기는 어두워지고,
레지스터의 값이 800인 최대값이 되었다가 다시 감소하면 정상동작으로 돌아온다. (감소하면 LED의 밝기 어두워짐)
이 문제가 발생하는 원인이 무엇인지 알지 못 하여 임시적으로 PWM_CUPD3레지스터의 값이 0이 되지 못 하게 막았다.
듀티비를 점점 올려서 찍은 사진..LED의 밝기가 점점 밝아진다.
디지털은 1과 0 (ON과 OFF)밖에 할 수 없으나 PWM을 사용하면 이렇게 중간값처럼 보이게 할 수 있다.
참조(Reference) |
'내장형하드웨어 > 일일보고서' 카테고리의 다른 글
2011년9월22일_ARM_AT91SAM7S256 내장PWM제어기(PWMC)의 기초이론 (0) | 2011.09.26 |
---|---|
2011년9월23일_winAPI_에디트, 리스트박스, 콤보박스, (0) | 2011.09.26 |
2011년9월22일_winAPI_Label과 비슷한 static컨트롤 (0) | 2011.09.22 |
2011년9월20일_ARM_AT91SAM7S256 MCU 내장ADC를 사용하여 CdS(광센서)와 써미스터(온도센서)의 아날로그출력을 디지털값을 바꾸어 PC로 전송하고 CLCD에도 표시하자. (+ SAR ADC이론) (0) | 2011.09.21 |
2011년9월19일_winAPI_컨트롤, 버튼 컨트롤예제 (0) | 2011.09.19 |