회원가입 ID/PW 찾기

마이크로프로세서 HOTpwm 생성에관하여

あさひ2008.03.13 00:1103.13조회 수 1913댓글 13이 게시물을

AA

pwm 질문입니다
타이머 /카운터는  원하는시간 만큼 제어하고 lcd쓰고 다합니다
근데 문제는 pwm.........이건 모르겠습니다
책을 정독했는데도.......
ctc모드 일반모드 패스트pwm  상보정 pwm .......
pwm을 이용해서 led밝기 를 제어 해볼려 합니다
듀티비도 변조를 하면서 ....근데 문제는 레지스터를 모르겠습니다
비교일치모드? 캡쳐?
당최.....무슨말인지 모르겠습니다
한수가르쳐 주십시오

댓글 13
  • No Profile
    글쓴이 あさひ 08.03.13 01:45 댓글 좋아요 0 싫어요 0
    ctc 모드는 알아 냈습니다 음하하하하하하 시간 주기로 테스트 해보갰습니닼ㅋ
    나머지 2가지 ....
  • No Profile
    ㅡㅡ; 이번주 주말에 동영상으로 올려드리겠습니다. ㅋㅋㅋ

    흑...술부터 깨고요 오늘은...아흥~ㅋㅋㅋ
  • No Profile
    헉 술먹고 말실수를 했네요.....ㅡㅡ; 앗....취소취소ㅠㅠ

    pwm을 이용해서 led밝기 를 제어 해볼려 합니다
    듀티비도 변조를 하면서 ....근데 문제는 레지스터를 모르겠습니다


    ctc모드(비교매치모드)이건 일반모드(오버플로어모드)이건, 폴링방식에 의한거든  펄스폭을 변조하면 pwm이 됩니다.

    하지만 이렇게 하면 귀찮으니 avr에서 기능으로 pwm타이머를 만들어 놓은것이지요. pwm을 사용하기 편하기 위해서요..

    상보정,패스트 머 이런것들은 pwm을 사용하는 용도에 따라서 스펙을 약간 다르게 설정한거구요.



  • No Profile
    글쓴이 あさひ 08.03.15 00:46 댓글 좋아요 0 싫어요 0
    아크마님 고맙습니다 ......
    사랑해요~
  • No Profile
    글쓴이 あさひ 08.03.15 21:21 댓글 좋아요 0 싫어요 0

    #include<avr/io.h>
    #include<avr/interrupt.h>

    int int_cmd;

    void PORT_init(void)
    {
      DDRB=0xFF;
      PORTB=0xFF;
    }

    SIGNAL(TIMER0_COMP_vect)
    {
     int_cmd++;
     if(int_cmd==250){
       int_cmd=0;
       PORTB=0x00;
       }
     
    }

    void PWM_init(void)
    {
      OCR0=250;
      TCNT0=0x00;
      TIMSK=0x02;
      TCCR0=0x04;
     
      sei();

    }
    int main(void)
    {
      PORT_init();
      PWM_init();
     
      while(1){  

       }
    }
     
    될란가하고 대충 짜봤는데  안됩니다 ㅡㅡ  눈물날꺼 같아요
    쫌 도아줘요 ...............

  • No Profile
    글쓴이 あさひ 08.03.15 21:26 댓글 좋아요 0 싫어요 0
    그리구 타이머 카운터 1,3을 써서pwm만들면 정해진 포트로 출력이 나오잔아요
    포트 번호는 몇번인지 모르겠습니다만 ...3개의 출력이나온다고 하는데 동시에 똑같은 파형이 나오는지요...
    pwm 무진장 어렵군요
  • No Profile
    대충짜면 안됩니다. 레지스터를 꼭 확인해서 정해진걸 고르셔야 하구요

    포트 번호는 데이터쉬트  avr그림 보시면 OCRA, OCRB, OCRC에서 선택된곳으로 나옵니다.

    헌데 님 같은 경우는 사용할 포트를 설정을 안하셨고 OCRA를 사용하신다면 OCRA레지스터 설정을 해야됩니다.

    PWM모드로 사용하신 경우에는 입출력 포트로 사용하는것이 아니라 자동으로 PWM파형이 나오게 되므로 포트는 관계가 없습니다.


    GCC컴파일러를 사용하는거 같아 윤덕용 교수님 책에 나온 PWM소스를 올려봅니다.


     TCCR3A = 0x22;                                // Fast PWM mode(14), output OC3B
      TCCR3B = 0x19;                                // Fpwm = 16MHz/1/(1+1599) = 10kHz
      TCCR3C = 0x00;
      ICR3H = (1599 >> 8);
      ICR3L = 1599 & 0xFF;
      OCR3BH = 0x00;
      OCR3BL = 0x00;
      TCNT3H = 0x00;
      TCNT3L = 0x00;


      sei();

    위 소스가 PWM ORC1B를 사용하는 레지스터 설정이고

     OCR3B = 값; 을 설정함으로써 폭을 조절할수 있게 되겠네요.~~~


    이외에도 여러가지 방법이 있으나 중요한것은 레지스터를 꼼꼼히 확인하고 원하는 레지스터를 설정하는것입니다.
  • No Profile
    글쓴이 あさひ 08.03.15 21:49 댓글 좋아요 0 싫어요 0
    전 타이머0 비교일치를 사용했습니다..
    레지스터도 맞는것 같은데요..
    안되는군요 .... 이걸 넘어가야 타이머카운터 1,3 패스트 pwm을해보는데...
    갑갑합니다
  • No Profile

    아 pwm사용하기전에 타이머 0번 비교모드를 먼저 하시는거군요.
    레지스터는 제가 찾아봐야하니 패스고요. 일단 쓰는 레지스터는 맞는걸로 보이고 정확한 세팅값은 데이터쉬트 보시고요.

    아래 소스가 조금 문제인듯합니다. High Low 신호가 나가야는데 이건 계속 포트에 0(Low)신호만 쏴주고 있습니다. 

    온오프 되도록 소스를 고치세요...250이 넘으면 PORB=0xff , 500이 넘으면  0x00 머 이런식으로요^^

     if(int_cmd==250){
       int_cmd=0;
       PORTB=0x00;
       }


    ps : int_cmd  =0 란 추가시켜주시고요.

  • No Profile
    글쓴이 あさひ 08.03.15 23:56 댓글 좋아요 0 싫어요 0

    역시 아크마님 됩니다 하하하하 .
    하이 정해야 하는군요

  • No Profile

    님도 오늘은 감축드립니다.. 전 오늘 너무 피곤해서 이제 자야겠습니다.. 즐거운 주말 보내십시오

  • No Profile
    아크마님 짱!
  • No Profile

    제게 필요했던건데 감사 ㅎㅎ

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

search
번호 분류 제목 글쓴이 조회 수 날짜
208 마이크로프로세서 HOTeeprom(24c04)에 데이터 전송방법2 대박 1268 2008.05.07
207 마이크로프로세서 HOT인텔사에서 만든8051과 데이터시트와 atmega에서 만든 at80s51 데이터시트와의 차이점이 무엇인가요..4 ddragon 1299 2008.04.27
206 마이크로프로세서 HOT저 센서에 대해서 궁금한게 있는데요..2 행복하면 879 2008.04.16
205 마이크로프로세서 HOT칼씨 사용법 돌격대장 839 2008.04.13
204 마이크로프로세서 HOTADC 변환기에 대해서 궁금한점..7 행복하면 828 2008.04.10
203 마이크로프로세서 HOTAVR로 제품개발하는 회사원입니다. ... 알프 4346 2008.04.10
202 마이크로프로세서 HOTAVR로 라인 트레이서 만들기6 천운란도리 903 2008.04.09
201 마이크로프로세서 HOTAVR로 mp3만들려고 합니다1 날아가는잡쉐 614 2008.04.02
200 마이크로프로세서 HOTlabview로 atmega128과 시리얼통신에 관해서..1 황금시대 4284 2008.03.31
199 마이크로프로세서 HOTok-8051 키트 사용법에 대하여 문의드립니다.3 야간비행 1059 2008.03.28
198 마이크로프로세서 HOT이것좀 봐주세요2 あさひ 660 2008.03.26
197 마이크로프로세서 HOT8051을 labview로..4 황금시대 831 2008.03.21
196 마이크로프로세서 HOT단순한 질문인데요....2 날뽕녀 613 2008.03.18
195 마이크로프로세서 HOT빠른 답변 부탁합니다..8 날뽕녀 601 2008.03.15
마이크로프로세서 HOTpwm 생성에관하여13 あさひ 1913 2008.03.13
193 마이크로프로세서 HOT8음계 측정기 압박 퍼타그래퍼 1593 2008.03.12
192 마이크로프로세서 HOT질문 입니다.. 소스 질문.. ㅋㅋ6 행복하면 682 2008.03.10
191 마이크로프로세서 HOTAVR 컴파일러에 대해...질문요!!5 암흑혜성 727 2008.03.08
190 마이크로프로세서 HOT어려워요 ㅠ3 naemaum4u 879 2008.03.06
189 마이크로프로세서 HOT질문은 아니고..13 naemaum4u 1339 2008.03.05
Prev 1 ... 35 36 37 38 39 40 41 42 43 44 ... 50 Next
  • 일이 뜻대로 되지 않을 때는 나보다 못한 사람을 생각하라. 원망하고 탓하는 마음이 저절로 사라지리라.
    - 홍자성
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.