Thông báo

Collapse
No announcement yet.

Cần trợ giúp

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Cần trợ giúp

    em đang định giải mã remote JVC anh nào làm rồi xin giúp em em sài ngắt timer
    em đọc rất kỹ cách giao thức rồi mà chưa hiểu anh nào làm rồi góp ý cho em nhak!
    em xài mega8

  • #2
    Sao không ai trả lời cho mình vậy ta?
    Các cao thủ đâu rồi giúp em coi

    Comment


    • #3
      Ai đã làm qua mạch giải mã remote JVC rồi chỉ em coi!!!
      Sao không ai trợ giúp cho em vậy??

      Comment


      • #4
        Người ta nói không biết phải hỏi
        mà em hỏi hoài sao thấy ai trả lời ít nhất là cho em một lời góp ý gì chứ để em tự kỷ một mình

        Comment


        • #5
          bạn đừng vội mừng mà tôi chỉ cho bạn vài lời góp ý:
          - bạn nên nêu rõ tiêu đề là gì? the subject line.
          - bạn đã làm được phần nào rồi? có làm thì đưa lên diễn đàn phần code, schematic, vân vân..
          - ít ai giúp nếu người đó phải sưu tầm, tìm tài liệu rồi viết code cho bạn rồi đưa lên mạng cho bạn kéo về ngoại trừ bạn mướn người ta làm trả công. nếu ai có sẵn sẵn lòng cho thì khỏi nói. trên diễn đàn này gọi là "đồ ăn sẵn".
          - hỏi người cần ai giúp mình thì nên nói năn lịch sự và đừng "khóc" để mong ai đó giúp
          Mãi đi tìm vàng.

          Comment


          • #6
            cho thêm cái giao thức của JVC : SB-Projects: IR Remote Control, JVC Protocol

            Comment


            • #7
              Cần trợ giúp về cách giải mã remote JVC

              Chào các sư huynh đệ viết thử một bài các sư huynh coi thử tại vì đệ mới nhập môn lên không biết mong các huynh thứ lỗi cho đệ
              Đệ đang định làm giải mã remote JVC rồi điều khiển đồ hồng dùng LED7 SEG nhưng trước mắt thì giải mã đc đã rồi tính tiếp!
              phần cứng trước mắt làm chỉ một mega8 và một IR 3 chân
              còn phần mềm thì các huynh coi thử cho đệ tại chưa có mạch nap lên không biết chạy không?
              biên dịch thì không lỗi rồi
              Attached Files

              Comment


              • #8
                Bạn nào biết chân AREF trong mega8 có chức năng là gì không và nếu có tài liệu TV về mega8 thì càng tốt
                nối lên Vcc thì sao mà nối xuống Mass thì sao?

                Comment


                • #9
                  Sao bạn không chịu đọc datasheet nhỉ? Đó là những cái cơ bản bạn nên đọc trước khi lập trình.
                  AREF là chân điện áp tham chiếu cho biến đổi Analog to Digital.

                  Comment


                  • #10
                    Mình biết rồi nhưng lở post bài lên rồi quên ko xoá

                    Comment


                    • #11
                      có cao thủ nào PRO xin chỉ giúp sao IR ko nhận!!

                      /************************************************** ***
                      This program was produced by the
                      CodeWizardAVR V2.05.7a Evaluation
                      Automatic Program Generator
                      © Copyright 1998-2012 Pavel Haiduc, HP InfoTech s.r.l.
                      HP InfoTech, Development Tools for Microcontrollers, C Compilers, In-System Programmers

                      Project :
                      Version :
                      Date : 4/11/2012
                      Author : Freeware, for evaluation and
                      non-commercial use only
                      Company :
                      Comments:


                      Chip type : ATmega8
                      Program type : Application
                      AVR Core Clock frequency: 1.000000 MHz (thach anh noi)
                      Memory model : Small
                      External RAM size : 0
                      Data Stack size : 256
                      ************************************************** ***/
                      #include <mega8.h>
                      #include <delay.h>
                      unsigned int read_IR (void);
                      void DieuKhien (unsigned char code, unsigned char address);
                      //port
                      void port (void)
                      {
                      PORTB = 255;
                      DDRB = 255;
                      PORTC = 127;
                      DDRC = 127;
                      PORTD = 255;
                      DDRD = 0xDF; //INT0
                      }
                      //Timer0
                      void timer0_init(void)
                      {
                      TCCR0 = 0x04; //khai bao bo chia 256
                      TCNT0 = 0; //reset the timer
                      }
                      //INT0
                      interrupt [EXT_INT0] void ext_int0_isr(void)
                      {
                      unsigned char count, code, address;
                      unsigned int IR_input;


                      TCNT0 = 0;
                      while(!(PIND & 0x04)); //cho IR ON
                      count = TCNT0;

                      if(count < 219) // (9.5 ms long) 1Mhz
                      {
                      delay_ms(20);
                      GICR |= 0x40; //cho phep INT0 hoat dong
                      return;
                      }

                      PORTC &= 0x7D; // led on

                      IR_input = read_IR ();

                      code = (unsigned char) ((IR_input & 0xff00) >> 8); //lay byte cao cua IR
                      address = (unsigned char) (IR_input & 0x00ff);

                      DieuKhien ( code, address );


                      delay_ms(250);
                      PORTC |= 0x7D; // led off
                      }
                      //cho code la 8bit cao con address la 8bit thap
                      unsigned int read_IR (void)
                      {
                      unsigned char pulseCount=0, code = 0, address = 0, timerCount;
                      unsigned int IR_input;
                      while(pulseCount < 8) //8bit address(dia chi)
                      {
                      while(PIND | 0xFB); // IR OFF
                      TCNT0 = 0;
                      while(!(PIND & 0x04)); // cho IR ON
                      pulseCount++;
                      timerCount = TCNT0;
                      if(timerCount > 14)
                      address = address | (1 << (pulseCount-1));
                      else
                      address = address & ~(1 << (pulseCount-1)); //3.2ms
                      }
                      pulseCount = 0;
                      while(pulseCount < 8) //8bit command(ma lenh)
                      {
                      while(PIND | 0xFB); // IR OFF
                      TCNT0 = 0;
                      while(!(PIND & 0x04)); // cho IR ON
                      pulseCount++;
                      timerCount = TCNT0;
                      if(timerCount > 14)
                      code = code | (1 << (pulseCount-1));
                      else
                      code = code & ~(1 << (pulseCount-1));
                      }

                      IR_input = (((unsigned int)code) << 8) | address;
                      return(IR_input);
                      }
                      //DieuKhien
                      void DieuKhien (unsigned char code, unsigned char address)
                      {
                      address = 0xA3;

                      if(code == 21)
                      {
                      PORTC.0=0;
                      }

                      if(code == 22)
                      {
                      PORTC.1=0;
                      }

                      if(code == 23)
                      {
                      PORTC.2=0;
                      }

                      if(code == 24)
                      {
                      PORTC=127; //OFF het led
                      }
                      }

                      void init_devices(void)
                      {

                      #asm("cli"); //xoa bit ngat toan cuc
                      port();
                      timer0_init();

                      MCUCR = 0x02; //Ngat canh xuong tren INTO
                      GICR = 0x40; //bat INT0
                      TIMSK = 0x00; //cho phep hoat dong ngat over timer0
                      #asm("sei"); //cho phep bit ngat toan cuc
                      }

                      void main(void)
                      {
                      init_devices();
                      while(1); //cho den khi nao IR nhan
                      }
                      Last edited by cogaihalan; 12-04-2012, 16:24.

                      Comment

                      Về tác giả

                      Collapse

                      cogaihalan Tìm hiểu thêm về cogaihalan

                      Bài viết mới nhất

                      Collapse

                      Đang tải...
                      X