회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
588 마이크로프로세서 HOT보통 개발환경 뭐 쓰시나요..???1 공도리구기 2117 2010.08.30
587 마이크로프로세서 HOTAVR로 인터넷 접속 및 데이타 전송2 바다거북 1003 2010.08.29
586 마이크로프로세서 HOT인터럽트가 왜 발생을 안할까요?2 윤서파파 2956 2010.08.27
585 마이크로프로세서 HOT홈 오토매이션 만들어보신분..3 온니무 1131 2010.08.25
584 마이크로프로세서 HOT8051도 회사취직 하면 많이 쓰나요??10 온니무 1168 2010.08.25
583 마이크로프로세서 HOTavr에서 cmos카메라의 사용방법이 궁금합니다(회로첨부)1 응캬아 1963 2010.08.24
582 마이크로프로세서 HOTATmega128에 엔코더 다신 분 계신가요?6 봉만이 3079 2010.08.24
마이크로프로세서 HOT부저음을 내고 싶습니다..ㅎㅎ;;2 후아푸 2111 2010.08.23
580 마이크로프로세서 HOT선풍기 모터의 RPM을 어떻게 하면 알 수 있을까요?8 Glory 3723 2010.08.22
579 마이크로프로세서 HOTinterrupt에서 변수값을 바꿔도 main에서는 안 변해요...5 도리형 1221 2010.08.16
578 마이크로프로세서 HOTatmega128에 타이머용 외부오실레이터(32.768KHz) 부착문의입니다.1 준성87 1447 2010.08.16
577 마이크로프로세서 HOTATmega128에서 5상 스텝핑모터구현시 진동과 소음문제??1 디지랜드 1630 2010.08.10
576 마이크로프로세서 HOT서보 제어 전원관련 질문이요 제발 도와주세요ㅜ2 JMX 1331 2010.08.09
575 마이크로프로세서 HOT도와주세용 (__farflash ) 사용법 중에.서2 1002 1176 2010.08.06
574 마이크로프로세서 HOT서보 모터 질문입니다! 도와주세요1 박종호 1206 2010.08.02
573 마이크로프로세서 HOTRC 서보모터 구동 관련2 야슬이 1394 2010.08.01
572 마이크로프로세서 HOTAVR은 Dead Band 기능이 없는지요?2 시현아빠 1254 2010.07.30
571 마이크로프로세서 HOTusart통신,,두개 쓰기,,소스좀 봐주세요...ㅠ5 광주공돌이 2117 2010.07.27
570 마이크로프로세서 HOT128 서보 12개 PC 파워서플라이사용에 관한 질문이요2 JMX 1376 2010.07.26
569 마이크로프로세서 HOTpwm 입력2 돌탱 1576 2010.07.25
Prev 1 ... 16 17 18 19 20 21 22 23 24 25 ... 50 Next
  • 사람들의 서약은 빵껍질이다.
    - 셰익스피어
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.