회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
692 마이크로프로세서 HOTAVR로 인터넷 접속 및 데이타 전송2 바다거북 1003 2010.08.29
691 마이크로프로세서 HOT인터럽트가 왜 발생을 안할까요?2 윤서파파 2956 2010.08.27
690 Software & IDEs HOTbin파일에관한 질문드립니다.1 왕초보틱 962 2010.08.26
689 마이크로프로세서 HOT홈 오토매이션 만들어보신분..3 온니무 1131 2010.08.25
688 마이크로프로세서 HOT8051도 회사취직 하면 많이 쓰나요??10 온니무 1168 2010.08.25
687 펌웨어 & 코딩언어 HOT학부생인데요 가장 자신있는 프로그램이 어떤거 있으신가요? c언어인분도 계세요?4 온니무 876 2010.08.25
686 마이크로프로세서 HOTavr에서 cmos카메라의 사용방법이 궁금합니다(회로첨부)1 응캬아 1963 2010.08.24
685 마이크로프로세서 HOTATmega128에 엔코더 다신 분 계신가요?6 봉만이 3079 2010.08.24
마이크로프로세서 HOT부저음을 내고 싶습니다..ㅎㅎ;;2 후아푸 2111 2010.08.23
683 마이크로프로세서 HOT선풍기 모터의 RPM을 어떻게 하면 알 수 있을까요?8 Glory 3727 2010.08.22
682 펌웨어 & 코딩언어 HOTC/C++로 영상처리를 하고 싶습니다.5 Glory 2981 2010.08.22
681 마이크로프로세서 HOTinterrupt에서 변수값을 바꿔도 main에서는 안 변해요...5 도리형 1221 2010.08.16
680 마이크로프로세서 HOTatmega128에 타이머용 외부오실레이터(32.768KHz) 부착문의입니다.1 준성87 1448 2010.08.16
679 펌웨어 & 코딩언어 HOTC 언어2 연희야 1098 2010.08.10
678 마이크로프로세서 HOTATmega128에서 5상 스텝핑모터구현시 진동과 소음문제??1 디지랜드 1631 2010.08.10
677 마이크로프로세서 HOT서보 제어 전원관련 질문이요 제발 도와주세요ㅜ2 JMX 1331 2010.08.09
676 마이크로프로세서 HOT도와주세용 (__farflash ) 사용법 중에.서2 1002 1177 2010.08.06
675 Software & IDEs HOT[matlab] 사용했던 변수 저장에 관하여 키핀 983 2010.08.05
674 마이크로프로세서 HOT서보 모터 질문입니다! 도와주세요1 박종호 1206 2010.08.02
673 마이크로프로세서 HOTRC 서보모터 구동 관련2 야슬이 1394 2010.08.01
Prev 1 ... 19 20 21 22 23 24 25 26 27 28 ... 58 Next
  • 해놓은 약속은 미지불의 부채이다.
    - R.W.서비스
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.