Thông báo

Collapse
No announcement yet.

AVR cho người mới bắt đầu

Collapse
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #46
    Nguyên văn bởi Big_Chick Xem bài viết
    Cho mình hỏi cái,mình định nạp chuơng trình cho con ATmega8515L,mạch nạp mình làm rồi,sử dụng chương trình ISP Programmer để nạp.Khi nạp thì khg được,máy thông báo:"DEVICE SIGNATURE DID NOT MATCH".Ai giải thích giùm mình với.
    Bạn chọn sai device trong chương trình rồi , VD: trong ISP programmer bạn chọn là ATmega16 nhung mà bạn dang dùng với Mega8515 nên không nạp được(Signture của hai loại này khác nhau ). Trong muc device bạn chọn lại là ATmega8515 là nạp được thôi !

    Nguyên văn bởi Big_Chick Xem bài viết
    P/S:sử dụng AVR mega8515L thì nên chọn thạch anh loại nào thế.
    Thạch anh nào cũng được chỉ cần nhỏ hơn hoặc bằng 8MHz

    NVT2
    Tín đồ AVR giáo.

    Comment


    • #47
      Nguyên văn bởi binhmuc Xem bài viết
      + dùng vi điều khiển ATMEGA 32 để thực hiện thuật toán
      mình chưa biết về AVR và cũng chưa biết phải bắt đầu từ đâu.các bạn có thẻ bảo mình nên bắt đầu như thế nào không ?
      cảm ơn nhiều lắm
      Để bắt đầu AVR, bạn cần những thứ sau
      - Chip AVR (atmega32)
      - Mach nạp cho AVR (mạch nạp ISP, dễ kiếm dễ làm)
      - Chương trình dịch (CodevisionAVR, lập trình với ngôn ngữ C, dễ hiểu)

      Tiếp theo học cách sử dụng chương trình dịch để :
      - lập một project mới (chọn loại chip, chọn giá trị clock, etc)
      - soạn code
      - kiểm tra lỗi của code
      - biên dịch thử và nạp vào chip

      Các bước này nghe có vẻ nhiểu nhưng thao tác chỉ mất vài phút. Vậy nên tôi khuyên những bạn mới bắt đầu AVR (thậm chí bắt đầu làm việc với VĐK) tìm hiểu về chương trình dịch trên để làm việc với AVR.

      Jindo_vn

      Comment


      • #48
        Các bác có biết thay đổi thế nào trong thanh ghi để sử dụng được PORTC.6 Và PORTC.7 của Atmega16 như một Port vào ra không? em thay con Atmega16 sang con Atmega8535 mà không sử dụng được hai chân này. Cảm ơn nhiều!
        Last edited by minhhieu; 01-05-2007, 21:09.
        n
        ĐT: 0986 492 489

        Tham khảo:

        Comment


        • #49
          Nguyên văn bởi minhhieu Xem bài viết
          Các bác có biết thay đổi thế nào trong thanh ghi để sử dụng được PORTC.6 Và PORTC.7 của Atmega16 như một Port vào ra không? em thay con Atmega16 sang con Atmega8535 mà không sử dụng được hai chân này. Cảm ơn nhiều!
          Bác phải disable JTAG đi. Hình như trong PonyProg nó là bit JTAGEN thì phải

          Comment


          • #50
            minh gửi một ví dụ nhỏ về chuyển đổi ADC cho các bạn mới học AVR tham khảo. vi dụ viết bằng codevisionavr. minh không biết cách up file lên diễn đàn. bạn nào biết chỉ cho mình mình sẽ up lên một số tài liệu.




            /*================================================= ================================================== ===
            VI DU CHUYEN DOI ADC DUNG ATMEGA8535
            ================================================== ================================================== ====*/


            #include <mega8535.h> //Khai bao thu vien mega8535
            #include <stdio.h> //su dung ham sprintf
            //khai bao cong PORTC giao tiep LCD
            #asm
            .equ __lcd_port=0x15 ; cong PORTC giao tiep voi LCD
            #endasm
            /* DAU NOI PORTC TOI LCD

            ATmega8535 LCD 16x2 Hoac 20x2 4 bit
            PORTC.0 --> RS
            PORTC.1 --> RW
            PORTC.2 --> EN
            PORTC.4 --> D4
            PORTC.5 --> D5
            PORTC.6 --> D6
            PORTC.7 --> D7
            */

            #include <lcd.h> // khai bao thu vien LCD
            char buf[20]; //bo dem du lieu cho LCD
            unsigned long int data1; //gan du lieu chuyen doi ADC
            unsigned int data11,data12;// dung de tach du lieu
            interrupt [ADC_INT] void adc_isr(void) //ngat ADC
            {

            data1=ADCW; // lay du lieu tu bo chuyen doi( du lieu la 10 bit)
            //chuyen doi sang dang dien ap "Vol"
            data1=(data1*10000*5)/1024;// 5/1024 -> he so chuyen doi : dien ap dua vao 5V tuong ung voi du lieu dua ra
            // tu bo chuyen doi ADC la 1024 (0x400)
            // He so chuyen doi se thay doi tuy thuoc vao dien ap so sanh AREF (Pin32)
            // o day toi dung 5 V lam dien ap so sanh
            // *10000 lay chinh xac sau dau phay "," 4 chu so

            // den day data1 co dang " a,bcde "
            // De hien thi ra LCD can tach ra cac con so rieng le
            //dau tien tach so a roi lan luot la b , c, d, e

            data11=data1/10000; // tach con so a
            data12=data1%10000; // tach lay so bcde

            //------------------------------------------xuat ra LCD-------------------------------------------------
            lcd_gotoxy(0,0); // ve dau dong thu 1 cua LCD
            //chuyen doi, dua vao bo dem buf[];

            sprintf(buf,"Dien ap: %d,%d%d%d%dV ", data11, //so a
            data12/1000, //tach lay so b
            ( data12%1000)/100, //tach lay so c
            ((data12%1000)%100)/10, //tach lay so d
            ((data12%1000)%100)%10); //tach lay so e
            lcd_puts(buf); // dua du lieu trong bo dem bur[] ra LCD
            // Ket thuc mot chuyen doi bit ADSCA se = 0
            ADCSRA |=0x40; // bat dau mot chuyen doi ADC moi, khong co lenh nay bo chuyen doi se khong
            // chuyen doi cho den khi nao thiet lap bit ADSCA = 1

            }

            void main(void)
            {

            lcd_init(20); //khoi tao LCD
            lcd_gotoxy(0,1);//dua con tro LCD toi dau dong thu 2
            lcd_putsf("Hieu test ADC");// cho hien dong chu

            ADCSRA=0x8E; //1000 1110 cho phep su dung ADC, cho phep dung ngat ADC, chon tan so cho ADC = XTAL/64
            ADMUX=0; //chon PORTA.0 la tin hieu tuong tu can chuyen doi
            ADCSRA |=0x40; //0100 0000 bat dau chuyen doi (ADSCA = 1)
            #asm ("sei") //cho phep ngat

            while(1) // khong lam gi ca , viec hien thi duoc lam trong ham ngat ADC o tren
            {
            ;
            }


            }
            Last edited by minhhieu; 06-05-2007, 21:10.
            n
            ĐT: 0986 492 489

            Tham khảo:

            Comment


            • #51
              các bác vào trang này xem thử có nhiều ví dụ hay đấy.http://www.mikroe.com/en/
              http://www.fotech.org/forum/index.ph...pe=post&id=347
              vào trang này đăng ký một tài khoản sau đó tìm các bài của anh yesme@ hoặc search 8051
              http://www.fotech.org/forum/
              Last edited by minhhieu; 13-05-2007, 04:47.
              n
              ĐT: 0986 492 489

              Tham khảo:

              Comment


              • #52
                có bác nào kết nối con atmg16 theo kiểu song song 20 pin chưa cho em sơ đồ với em bị sai fuse cho kiểu nối tiếp hoài.chỉ luôn đặt fuse chạy cái thạch anh 16 mê luôn thankslucky.
                linh kiện máy ép nhựa : điện , thủy lực secon-hand

                Comment


                • #53
                  Chao các bác. Các bác cho e hoi tí:
                  Chương tring CodevisionAVR cua e, ko hieu sao no ko dich duoc ra file .hex, nap truoc tiep bang trinh nap thi dc. Nhung e muon nap bang PonyProg2000 thi ko thay file .hex dau de nạp. Hay no dich ra dau do ma e ko biet. Bac no biet bao gium e voi.
                  Thanks!

                  Cac bac cuu e voi
                  Em nay cho con ATMega16, phan mem OK
                  kho noi khi rut day may in LPT(day dung de nap) ra thi phan cung ko thay chay nua va khi cam lai day do thi no lai chay. Các bác trả lởi giúp em.
                  Thanks!
                  Last edited by sphinx; 25-02-2008, 01:16. Lý do: Lọc chủ đề

                  Comment


                  • #54
                    Nguyên văn bởi mhai_nguyen
                    Cac bac cuu e voi
                    Em nay cho con ATMega16, phan mem OK
                    kho noi khi rut day may in LPT(day dung de nap) ra thi phan cung ko thay chay nua va khi cam lai day do thi no lai chay. Các bác trả lởi giúp em.
                    Thanks!
                    Bạn thử xem lại phần cấp điện. Mình đoán là dây đất (GND) của mạch ko tiếp xúc tốt.

                    Comment


                    • #55
                      Nguyên văn bởi mhai_nguyen Xem bài viết
                      Chao các bác. Các bác cho e hoi tí:
                      Chương tring CodevisionAVR cua e, ko hieu sao no ko dich duoc ra file .hex, nap truoc tiep bang trinh nap thi dc. Nhung e muon nap bang PonyProg2000 thi ko thay file .hex dau de nạp. Hay no dich ra dau do ma e ko biet. Bac no biet bao gium e voi.
                      Thanks!
                      Anh cho em hỏi: CodevisionAVR là gì vậy, mà tại sao AVR lại cần CodevisionAVR vậy anh?

                      Comment


                      • #56
                        @duyphi:
                        CodeVisionAVR là một trình dịch C dành cho AVR.
                        Để lập trình cho AVR thì bạn có thể dùng 1 trong những trình dịch phổ biến:
                        - trình dịch ASM: là AVRstudio của chính Atmel cung cấp - miễn phí
                        - trình dịch C: khá nhiều, như CodeVisionAVR, WinAVR, IAR, ICCV7 (ImageCraft) ...
                        (trong đó thì có WinAVR là miễn phí, mã nguồn mở)

                        Comment


                        • #57
                          Nguyên văn bởi thechinhcdt
                          Em nghĩ k phải PIC hay AVR ai khó hiểu hơn ai, chỉ có điều hiện tại PIC đang được cộng đồng hỗ trợ lớn và có bài bản hơn. cứ nhìn sang box PIC và picvietnam cũng thấy phần nào.. cao thủ AVR trên diễn đàn k thiếu nhưng vẫn chưa thấy tutorial hoàn chỉnh, liên kết giúp đỡ các thành viên mới cũng chưa hiệu quả lắm nên.. dễ làm "mất lửa" nhiều bạn mới tìm hiểu AVR. mong box thảo luận sôi nổi hơn.
                          Sự thực là một số đồng chí hơi lười, tiếng Anh thì kém (mà cái đấy là hậu quả của bệnh lười). Nên toàn phải đợi tutorial bằng tiếng Việt. Chứ nếu các đồng chí vào trang của nhà sx Atmel.com, xem cái Application Notes của nó (http://www.atmel.com/dyn/products/ap...?family_id=607) thì đầy đủ hết. Chỉ sợ không có sức mà làm thôi.
                          Mách nhỏ nhé tiếng Anh kỹ thuật thì chỉ cần dịch bằng Evtrans là được 70% roài kết hợp thêm tí kiến thức cộng với tí suy luận là OK.
                          Vậy còn chờ gì nữa.
                          AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
                          Xem thêm tại Online Store ---> Click here
                          Mob: 0982.083.106

                          Comment


                          • #58
                            anh nói chí phải ! vào đó thì có đủ hết. nếu vậy thì mình có luồng cho người mới bắt đầu làm gì nữa hả anh, nếu ai cũng giỏi tiếng Anh thì..hay quá. muốn học pic thì vào microchip.com, học avr thì cứ AVRfreaks mà thẳng tiến, PLC thì cứ plc.net...v.v thế là xong. anh đừng giận nhé vì với tụi em giai đoạn đầu tìm hiểu bao giờ cũng gặp khó khăn nên tài liệu tiếng việt dĩ nhiên dễ tiếp cận hơn, có căn bản trước rồi sau đó muốn phát triển hơn thì đọc thêm tài liệu tiếng Anh cũng k sao. chẳng hạn như picvietnam đa phần soạn ra tut phần căn bản, em chỉ lấy ví dụ chứ chẳng phải so bì gì đâu nhá ! có gì sai sót thì anh góp ý giúp
                            a, cái thằng Evtrans í, thà k xài còn hơn chứ mỗi lần bí đem nó ra dịch thử càng thấy..rối trí, còn rảnh rỗi xem nó dịch có khi cũng..buồn cười lắm

                            Comment


                            • #59
                              Nếu đã là người thực sự cầu thị thì dịch vài trang tiếng Anh để học thì cũng không có vấn đề gì lớn. Vừa để tăng khả năng tiếng Anh vừa tăng thêm kiến thức. Thực sự bây giờ đang là giai đoạn SV nếu một vài trang tiếng Anh mà không đọc được thì sau này e rằng khó có khả năng phát triển.
                              Một khi bạn đã nghiên cứu về một vấn đề nào đó thực sự thì câu hỏi của bạn sẽ hay hơn. Điều này giúp người trả lời hứng thú. Còn nếu như bạn chưa nghiên cứu qua vấn đề mà đã đưa ra câu hỏi thì đa phần là những câu hỏi lung tung, không rõ vấn đề, không rõ nghĩa hoặc là một vấn đề khó hơn lên trời. Điều này dẫn tới người trả lời cũng bị cụt hứng.
                              Bạn hoàn toàn có thể đợi tutor 100% bằng tiếng Việt trước rồi mới bắt đầu. Nhưng tôi nghĩ đó không phải là cách hiệu quả trong thời đại ngày nay. Thực sự có rất nhiều tài liệu về vi xử lý của Tống Văn On, Ngô Diên Tập, Nguyễn Tăng Cường ... Nhưng tôi luôn chọn cách tiếp cận bằng cách đọc tài liệu tiếng Anh. Bởi vì các tài liệu biên dịch bằng tiếng Việt có rất nhiều lỗi buồn cười. Đọc các tài liệu đó nhiều khi tôi ước nó viết bằng tiếng Anh còn hơn.
                              Vài dòng vớ vỉn mong các bạn đừng cười.
                              Chúc các bạn nghiên cứu AVR tốt.
                              AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
                              Xem thêm tại Online Store ---> Click here
                              Mob: 0982.083.106

                              Comment


                              • #60
                                Xin loi tat ca nhe, neu cau hoi do qua!!! Hoi: su khac nhau giua AT90S8535 va ATmega8535. Hien tren thi truong ban loai nao vay?

                                Nguoi ta noi: " Biet thi thua thot, khong biet thi dua cot ma nghe ". Toi day dang dua cot ma nghe...

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X