BASIC4MCU | 질문게시판 | 답변 : 마이크로프로세서
페이지 정보
작성자 master 작성일2019-02-08 09:21 조회1,909회 댓글1건본문
위 링크 글의 설정 예 참고하시고요
Q1).
타이머/카운터 1을 9비트 분해능의 Fast PWM 모드로 설정하고,
내부 클럭을 64분주시켜 Duty 비가 70%인 구형파를 만들어서
OC1C 핀으로 정상 출력하고자 한다. 필요한 레지스터 값을 설정하시오.
A1).
TCCR1A=0x82; TCCR1B=0x0B; //주기=16000000/ 64/512=488.28125Hz=2.048ms
64분주는 이 설정으로 하면 되겠습니다.
9비트 분해능 512*70%=358.4=358
(0부터 시작하므로) 1작은 수인 357을 설정합니다. (0~357 = 358)
위 설정은 OC1A 출력인데 OC1C 출력하려면
TCCR1A=0x0A; TCCR1B=0x0B; //주기=16000000/ 64/512=488.28125Hz=2.048ms
DDRB=0x80;OCR1C=357;
Q2).
타이머/카운터 3을 10비트 분해능의 Fast PWM 모드로 설정하고,
내부 클럭을 256분주시켜 Duty 비가 40%인 구형파를 만들어서OC3B 핀으로 정상 출력하고자 한다. 필요한 레지스터 값을 설정하시오.A2).
TCCR1A=0x83; TCCR1B=0x0C; //주기=16000000/ 256/1024=61.03515625Hz=16.384ms
1024*40%=409.6
반올림하면 410에 가까우므로
OCR3B=409;
TCCR1A=0x23; TCCR1B=0x0C; //주기=16000000/ 256/1024=61.03515625Hz=16.384ms
DDRE=0x10;
댓글 1
조회수 1,909벅바님의 댓글
벅바 작성일감사합니다! 새해 복 많이 받으시고 좋은 하루 보내세요.!