Thông báo

Collapse
No announcement yet.

Xin giúp nạp Attiny2313

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

  • #16
    Nguyên văn bởi i am stupid Xem bài viết
    em biết sơ sơ thôi. tiếc quá em ở bắc ninh . không gặp mặt để học hỏi được, thôi thì em hỏi online vậy.
    Uh mình sẽ cố hỗ trợ trong tầm khả năng hiểu biết của mình
    Nếu Tương Lai có thể dự đoán trước thì đó hoàn toàn ko phải là Tương Lai mà chỉ là sự Bịa Đặt.
    Bạn có quyền đầu tư cho Tương Lai nhưng chẳng có gì đảm bảo là nó sẽ trở thành Hiện Thực.

    Comment


    • #17
      Nguyên văn bởi Odette Xem bài viết
      Uh mình sẽ cố hỗ trợ trong tầm khả năng hiểu biết của mình
      xem giúp mình cái này với giải thích cho mình những chỗ ?
      http://www.youtube.com/watch?v=CJ6MJx6zdaQ
      /************************************************** ***
      This program was produced by the
      CodeWizardAVR V2.05.0 Professional
      Automatic Program Generator
      © Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
      HP InfoTech, Development Tools for Microcontrollers, C Compilers, In-System Programmers

      Project :
      Version :
      Date : 6/21/2013
      Author : NeVaDa
      Company :
      Comments:


      Chip type : ATmega8
      Program type : Application
      AVR Core Clock frequency: 8.000000 MHz
      Memory model : Small
      External RAM size : 0
      Data Stack size : 256
      ************************************************** ***/

      #include <mega8.h>

      #asm
      .equ __ds1302_port=0x12
      .equ __ds1302_io=1
      .equ __ds1302_sclk=0
      .equ __ds1302_rst=2
      #endasm
      #include <DS1302.h>
      #include <delay.h>

      // Declare your global variables here
      #define DOWN PIND.5
      #define UP PIND.6
      #define SET PIND.7
      #define MODE PIND.3

      #define L1 PORTC.0
      #define L2 PORTC.1
      #define L3 PORTC.2
      #define L4 PORTC.3

      #define L_DATA PORTB
      #define L_SECOND PORTC.4

      #define F_OSC 8000000
      #define TIME_INTERRUPT 5 // ?
      #define PRECALE_1 1 // ?
      #define F_TIMER_1 (F_OSC/PRECALE_1) // ?
      #define NUMBER_PULSE ((F_TIMER_1*TIME_INTERRUPT)/1000) //?
      #define VALUE (65563-NUMBER_PULSE) // ?

      unsigned char led7_data[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 };
      unsigned char index,button,b_nhay,get_t;
      signed char h,m,s;
      unsigned int time;
      bit f_lag;

      interrupt [TIM1_OVF] void timer1_ovf_isr(void)
      {
      // Reinitialize Timer1 value
      TCNT1=VALUE;
      L1=0;
      L2=0;
      L3=0;
      L4=0;
      if(f_lag)
      m=s;
      index++;
      if(index==1)
      {
      if(button==1&b_nhay==1)
      {
      index++;
      index++;
      }
      else
      {
      L_DATA=led7_data[(h/10)];
      L1=1;
      }
      }
      if(index==2)
      {
      L_DATA=led7_data[h%10];
      L2=1;
      }
      if(index==3)
      {
      if(button==2&b_nhay==1)
      {
      index=0;
      }
      else
      {
      L_DATA=led7_data[m/10];
      L3=1;
      }
      }
      if(index==4)
      {
      L_DATA=led7_data[m%10];
      L4=1;
      index=0;
      }
      }


      interrupt [TIM2_OVF] void timer2_ovf_isr(void)
      {
      TCNT2=0x00;;
      time++;
      if(time==6000)
      {
      time=0;
      get_t=1;
      b_nhay++;
      if(b_nhay==2)
      b_nhay=0;
      }

      }

      void fix_time(void)
      {
      if(m==60)
      {
      m=0;
      h++;
      }
      if(h==24)
      h=0;

      if(m==-1)
      {
      m=59;
      h--;
      }
      if(h==-1)
      h=23;
      }

      void keypad (void)
      {
      if(!SET)
      {
      button++;
      //while(!SET);
      }
      if(button>2)
      {
      button=0;
      rtc_set_time(h,m,0);
      }

      if(button==1)
      {
      if(!UP) h++;
      if(!DOWN) h--;
      }
      if(button==2)
      {
      if(!UP) m++;
      if(!DOWN) m--;
      }
      if(!MODE)
      {
      f_lag=!f_lag;

      }
      fix_time();
      delay_ms(100);
      }

      void main(void)
      {
      // Declare your local variables here


      PORTB=0xff;
      DDRB=0xff;

      PORTC=0x3f;
      DDRC=0x3f;



      PORTD=0xEf;
      DDRD=0xEf;

      // Timer/Counter 1 initialization
      // Clock source: System Clock
      // Clock value: 1000.000 kHz
      // Mode: Normal top=0xFFFF
      // OC1A output: Discon.
      // OC1B output: Discon.
      // Noise Canceler: Off
      // Input Capture on Falling Edge
      // Timer1 Overflow Interrupt: On
      // Input Capture Interrupt: Off
      // Compare A Match Interrupt: Off
      // Compare B Match Interrupt: Off
      TCCR1A=0x00;
      TCCR1B=0x01;
      TCNT1H=0x3C;
      TCNT1L=0xAF;
      ICR1H=0x00;
      ICR1L=0x00;
      OCR1AH=0x00;
      OCR1AL=0x00;
      OCR1BH=0x00;
      OCR1BL=0x00;


      // Timer/Counter 2 initialization
      // Clock source: System Clock
      // Clock value: 250.000 kHz
      // Mode: Normal top=0xFF
      // OC2 output: Disconnected
      ASSR=0x00;
      TCCR2=0x01;
      TCNT2=0x00;
      OCR2=0x00;

      // Timer(s)/Counter(s) Interrupt(s) initialization
      TIMSK=0x44; // ?
      time=0;
      index=0;
      get_t=0;

      #asm("sei")
      rtc_init(0,0,0);
      while (1)
      {
      keypad();
      if(button==0)
      {
      if(get_t==1)
      {
      get_t=0;
      rtc_get_time(&h,&m,&s);
      delay_ms(10);
      }
      }

      if(s%2)
      L_SECOND=1;
      else
      L_SECOND=0;
      delay_us(10);
      }
      }
      Attached Files

      Comment


      • #18
        mình đọc ở đâu đó là atiny là dòng chip duy nhất của atmel chỉ chạy với thạch anh nội hay đây là các chíp atiny mới.nếu chíp chỉ chạy với thạch anh nội thì fuse bit khó mà sai được . cắm vào là nạp chẳng cần set fuse bit làm gì (cái này dùng test với thạch anh nội nên làm thử rùi mới fuse bit các giá trị khác)

        Comment


        • #19
          Nguyên văn bởi dtcn_112 Xem bài viết
          mình đọc ở đâu đó là atiny là dòng chip duy nhất của atmel chỉ chạy với thạch anh nội hay đây là các chíp atiny mới.nếu chíp chỉ chạy với thạch anh nội thì fuse bit khó mà sai được . cắm vào là nạp chẳng cần set fuse bit làm gì (cái này dùng test với thạch anh nội nên làm thử rùi mới fuse bit các giá trị khác)
          ban không đọc bác quế dương nói gì à?

          Comment


          • #20
            mình đọc bài anh Dương rùi .nhưng tài liệu về atiny mình không có nhiều .mình không biết nhiều chip atiny lắm nhưng các chíp atmega mình đã dùng và nó có cả chế độ thach anh nội và thạch anh ngoại. còn chíp atiny mình đọc ở đâu đó là nó chỉ có thạch anh nội không có dùng dao động ngoại. trang đó mình không nhớ nữa mình cũng chưa làm mạch thật dùng chíp atiny bao giờ .

            Comment


            • #21
              Nguyên văn bởi dtcn_112 Xem bài viết
              mình đọc bài anh Dương rùi .nhưng tài liệu về atiny mình không có nhiều .mình không biết nhiều chip atiny lắm nhưng các chíp atmega mình đã dùng và nó có cả chế độ thach anh nội và thạch anh ngoại. còn chíp atiny mình đọc ở đâu đó là nó chỉ có thạch anh nội không có dùng dao động ngoại. trang đó mình không nhớ nữa mình cũng chưa làm mạch thật dùng chíp atiny bao giờ .
              rất là mơ hồ không chắc thì thôi đừng nói.

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...
              X