BASIC4MCU | 질문게시판 | 답변 : ATmega128 Fast WPM 질문입니다..
페이지 정보
작성자 master 작성일2019-05-02 10:47 조회4,299회 댓글1건본문
문제 내용입니다 -------------------------------------------------------------------
Q. 타이머/카운터 1을 10비트 분해능의 Fast PWM 모드로 설정하고,
내부 클럭을 8분주시켜 Duty 비가 35%인 구형파를 만들어서
OC1B 핀으로 정상 출력하고자 한다. 필요한 레지스터 값을 설정하시오.
1. WGM 모드 및 해당 핀의 출력 모드 설정
2. 클럭 속도 설정
3. 듀티 비율에 따른 OCRnx 도출 및 설정
4. TCCRnx 설정
5. DDRx , ASSR , TIMSK 설정
6. 16진수 변환
--------------------------------------------------------------------
인데요..
타이머 1 10bit fast pwm Mode // COM1x=2 Bottom(0x00)~OCR2구간 Set(5V), OCR2~TOP구간 Clear(0V)
TCCR1A=0x83; TCCR1B=0x0A; // 주기=16000000/ 8/1024=1953.125Hz=512us0C1B핀 정상 출력이니 TCCR1A=0x23;까지는 이해했습니다.
질문입니다. 10비트=0~1023, Duty 값 35%이므로, (1024 * 0.35 ) -1 = 358.4 -1 = 357
여기까지는 맞습니다.
358.4 를 반올림하면 358이고 OCR1B 레지스터는 1작은 수인 357을 설정하면 되겠습니다.
OC1B=3가 맞나요? 풀이가 헛갈립니다.. 또 1번 질문부터 밑에 질문에 대한 자문좀 부탁드리겠습니다..OCR1B=357;
DDRB=0x40;
TIMSK는 인터럽트를 사용하지 않는다면 설정하지 않으면 되고
357=0x0165;
댓글 1
조회수 4,299ppillo님의 댓글
ppillo 작성일진심으로 감사드립니다 ^-^ 복받으실꺼에요 ㅠㅠ