회원가입 ID/PW 찾기
AA
안녕하세요.
AVR128 교육용 보드에 달려있는 부저로 멜로디 음를 내려고 합니다.
PFC PWM 타이머를 이용해서 음을 만들려고 시험삼아 먼저 피아노로 라 음에 해당하는
소리가 지속적으로 나오게 하려고 하는데 안돼네요.

제가 가지고 있는 보드는 클럭이 14.7456MHz이고 부저는 PORTG.4에 연결되어있습니다.
제가 짠 소스는 이렇습니다.

#include <mega128.h>

long Play_Key = 0;
bit flag = 0;

void init(void)
{
DDRB = 0xFF;
PORTB = 0xFF; // PORTB 출력 LOW ,핀의 출력 설정

TCCR3A = 0x41;                         //16비트, PFC PWM 모드, 비교일치에서 OCnA 출력을 토글
TCCR3B = 0x12;                         //분주비 8
TCCR3C = 0x00;
TIMSK = 0x10;
ETIMSK = 0x10;

OCR3AH = (Play_Key & 0xff00) >> 8;
OCR3AL = (Play_Key & 0x00ff);
}

interrupt [TIM3_COMPA] void int_timer3_comp(void)
{
flag = ~(flag);
}

void main(void)
{
sei();                          // SREG |= 0x80;
init();
Play_Key = 2095;          // PFC PWM 공식에 라음 주파수를 대입해 계산한 OCR값입니다.

while(1)
{
if(flag == 1)
{
PORTG = 0x10;
PORTB = 0x00;
}
else
{
PORTG = 0x00;
PORTB = 0xff;
}
}
}

타이머가 제대로 작동하는지 볼려고 PORTB에 해당하는 LED를 넣었는데 불이 들어오는걸 봐서는..
타이머 문제는 아닌것 같고.. 어떤 부분이 잘못됐는지.. 처음 접근부터가 잘못됐는지 모르겠습니다..
C언어를 처음 접한게 3개월 전 입니다.;;;; 전공이 기계공이라 전자회로쪽으로도 문외한이구요..
소스 문제일 가능성이 거의 100%인데..ㅋ;; 아무리 책이나 인터넷 뒤져봐도 모르겠습니다...ㅜㅜ..
부저음 내는 소스 저렇게 하면 안돼나요? 도와주세요~~
댓글 2
  • No Profile
    그냥 간단히 살펴보니 타이머3에 의해 출력핀을 계속 토글하는 것으로 되어있네요
    토글하는 주파수가 "라"음에 해당한다면 계속해서 나올것입니다.
  • No Profile
    pwm을 이용하여 주파수를 가변 시켜야 음이 바뀌겠지요... 타이머를 이용하여 일정한 시간마다 출력 주파수를 가변해 보시면 확인이 가능할듯 합니다.

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
3124 Allegro & OrCAD HOT좋은 책 소개 부탁그립니다. 미스메이커 1321 2010.08.27
3123 자유주제 HOT실시간 광고?;;4 사티로스 3523 2010.08.26
3122 자유주제 HOT흠 정회원되기 힘드네요 ㅠ6 강경식 14587 2010.08.26
3121 드론/로봇/라인트레이서 HOTMB 라인마스우 SENSOR CON20 질문요 ~1 천년동안 1172 2010.08.26
3120 Software & IDEs HOTbin파일에관한 질문드립니다.1 왕초보틱 962 2010.08.26
3119 자유주제 HOT고군분투에 적힌글 답변 win7이 설치안될때 이야기2 부끄럽꾸로 2953 2010.08.26
3118 자유주제 HOT가입 한시간만에 100납 채우기 성공17 부끄럽꾸로 4713 2010.08.26
3117 마이크로프로세서 HOT홈 오토매이션 만들어보신분..3 온니무 1131 2010.08.25
3116 마이크로프로세서 HOT8051도 회사취직 하면 많이 쓰나요??10 온니무 1168 2010.08.25
3115 펌웨어 & 코딩언어 HOT학부생인데요 가장 자신있는 프로그램이 어떤거 있으신가요? c언어인분도 계세요?4 온니무 876 2010.08.25
3114 전기전자 아무거나 HOT광센서와 모터연결쪽 관련 공부할려면 머부터해야하나요..3 온니무 901 2010.08.25
3113 자유주제 HOT복학 3일차 어깨가 매일 아파요ㅠㅠ4 온니무 3392 2010.08.25
3112 자유주제 HOT납확인 방법?6 abba291 3708 2010.08.25
3111 자유주제 HOTPCB 패턴폭 10A 정도 흘려야 하는데 크기가 어느정도 되어야 하는지 ?2 당당 7377 2010.08.25
3110 마이크로프로세서 HOTavr에서 cmos카메라의 사용방법이 궁금합니다(회로첨부)1 응캬아 1964 2010.08.24
3109 마이크로프로세서 HOTATmega128에 엔코더 다신 분 계신가요?6 봉만이 3079 2010.08.24
3108 자유주제 HOT자산의 납 확인 어디서 하나요?4 봉만이 4376 2010.08.24
마이크로프로세서 HOT부저음을 내고 싶습니다..ㅎㅎ;;2 후아푸 2111 2010.08.23
3106 마이크로프로세서 HOT선풍기 모터의 RPM을 어떻게 하면 알 수 있을까요?8 Glory 3728 2010.08.22
3105 펌웨어 & 코딩언어 HOTC/C++로 영상처리를 하고 싶습니다.5 Glory 2981 2010.08.22
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.