회원가입 ID/PW 찾기
AA

저는 졸업논문으로 리모컨을 만들려구합니다. 수신부와 발신부 전부 다요ㅋㅋㅋ 근데 문제는 몇개월째 매달려잇네요;;
암튼.. 제가 펄스를 ir led를 통해서 전송 시킬려구 pwm을 건들려구 합니다

근데 맘대로 안되네요
일단 눈으로 확인 할 수 있도록 주기를 2초로 주고 싶어서 코딩을 해봤습니다.
계속 LED가 켜져잇네요;;좀 꺼주고 싶은데..
주기 계산법이 잘 못 되있는거같은데..전 잘 모르겟어요;;

그리구 적외선 통신할때 PWM을 굳이 써야하나요??좀 더 간단한 방법은 없을까요??
아!! 그리구 timer0를 가지고 만들고 싶어요;;;   pwm 파형을요;;
또!! ir 리모컨 좀더 쉽게 만들수 있는 방법은 없을까요??


#include <mega128.h>
#include <delay.h>

unsigned int led=0;

interrupt [TIM0_OVF] void timer0_ovf_isr(void)     // 인터럽트 벡터
{
   
    TCNT0=131;     //주기를 2초로 하고 싶어서;; f=16Mhz / { 8*256 *15625 (=125*125) }=0.5hz
    led++;
    if(led>=125)      // 1초 동안 led on
        PORTB.4=1;
 
    else if(led==250)  // 1초후에 led off
    {   
         PORTB.4=0;
         led=0;
    }
 }

void timer0_init()  // timer0 초기화
{
    TCCR0=0x6a;    // 분주비 8 , fast pwm , top에서 set
    OCR0=128;       // duty 비  50:50
    TCNT0=131;
    TIMSK=3;
}

void init();

void main(void)
{
    init();
    timer0_init();
    while (1)
      {
      }
}

void init()
{
PORTB=0x00;
DDRB=0xff;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 16000.000 kHz
// Mode: Fast PWM top=FFh
// OC0 output: Disconnected
ASSR=0x00;
TCCR0=0x49;
TCNT0=0x00;
OCR0=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x01;
ETIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// Global enable interrupts
#asm("sei")
}

128
댓글 4
  • No Profile
    흠 통신 할때 pwm 필수로 사용해야 된다는말은 처음 들어봅니다.

    그리고 주기 계산 틀렷구요

    atmega128 데이터 시트에 나옵니다만

    그리고 레지스터 설정 부분인데요

    처음 초기 설정값과는 다르게 init 함수에 레지스터를 설정하셨네요 ..

    pwm 같은데 타이머가 동작 할까요?

    좀 더 고민하시고 공부하셔서 질문하시는게.....

  • WOW님께
    No Profile
    글쓴이 128 10.10.29 18:45 댓글 좋아요 0 싫어요 0
    init() 함수에 레지스터는 제가 설정한게 아니고 타이머0를 사용한다고 지정했을때
    자동적으로 설정된거라서 그냥 놔둔건데 이것도 바꾸어야하나요??
    avr 지식이 많이 없다보니 자꾸 짧은 질문만 하게 됩니다;;

    그리구 댓글 감사합니다^^
  • No Profile

    통신은 PPM 신호 아니였나요? 잘 확인해 보심이 좋을듯... 그리고 만약 PPM 신호라면 PWM 이 아니라 TIMER 로 하셔야 합니다.^^


     

  • 밍크코트님께
    No Profile
    글쓴이 128 10.10.29 18:45 댓글 좋아요 0 싫어요 0

    댓글 감사합니다
    ppm도 해볼께요 ㅎㅎ얼른 avr을 능수능란하게 쓰는 날이 왓음 좋겟군요ㅠㅠ

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

search
번호 분류 제목 글쓴이 조회 수 날짜
2524 마이크로프로세서 HOTPWM 으로 DC 모터를 제어할때 문의 사항2 이씨죽고잡기 2050 2010.10.07
2523 Allegro & OrCAD HOT4층 PCB 제작 어렵나요?6 헨슨 2420 2010.10.07
2522 자유주제 HOT다들..납땜할때19 꽃다운청춘 6033 2010.10.07
마이크로프로세서 HOTpwm제어!! 부탁드립니다^^;;4 128 1882 2010.10.07
2520 자유주제 HOT타이머카운터를 이용한 시계1 효자동호랭이 9617 2010.10.07
2519 자유주제 HOTisp 다운로드.. fuzebit 설정..하는방법..3 효자동호랭이 4093 2010.10.07
2518 전기전자 아무거나 HOT샐런-키 저역통과 필터 는 왜 쓰는거죠? 브이프 1287 2010.10.07
2517 ECAD Simulation HOTorcad 파형 볼때 counter.olb에 있는 라이브러리에 대해서요..1 노뜨라인 1733 2010.10.08
2516 마이크로프로세서 HOT어떤 좋은 MCU를 써야할까요?3 letsgokcs 890 2010.10.08
2515 자유주제 HOT쉬운c누드c보고있는데3 동동궁궁 4552 2010.10.08
2514 자유주제 HOTPADS 공부해야해서 죽겠네요;;2 뒹굴곰 4355 2010.10.08
2513 자유주제 HOT정회원 어떻게 해야돼죠..?18 궁금해 6031 2010.10.08
2512 자유주제 HOTeeeee29 궁금해 1775 2010.10.08
2511 자유주제 HOT이제 정말 가을이 왔네요~4 스타일피쉬 4945 2010.10.11
2510 개발용역 HOT자동차 밧데리 충전기 개발1 C1 6571 2010.10.11
2509 마이크로프로세서 HOTkeil 컴파일러에서 delay함수 만드는 법 문의드립니다.4 히쟈 3377 2010.10.11
2508 자유주제 HOTatmega128 초보인데 넘 어렵네요 ㅠ11 봉봉뿡짝 10486 2010.10.11
2507 마이크로프로세서 HOT인터럽트 관련 아이디어좀...3 가랑 1154 2010.10.11
2506 자유주제 HOTaa건전지로 휴대용usb충전기 만들어야하는데..1 호랑이어흥 8010 2010.10.11
2505 전기전자 아무거나 HOT혹시 strong pullup과 weak pullup의 차이점 알고 계신분 있나요??2 히쟈 1822 2010.10.12
  • 아버지가 자식들을 위해서 할 수 있는 가장 중요한 일은 그들의 어머니를 사랑하는 것이다.
    - 헤즈버그
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.