Thông báo

Collapse
No announcement yet.

Cùng Duyphi bắt đầu học lập trình AVR

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

  • #16
    Giá mạch nạp avr910 khoảng bao nhiêu k vậy anh?
    Anh có thể cho anh em phần mềm biên dịch và tài liệu hướng dẫn sử dụng trước khi dùng không nhỉ?
    Rất muốn tìm hiểu.Thanks.....

    Comment


    • #17
      DuyPhi quả là tốt bụng
      mình cũng xin góp một chút ít tài liệu cho các bạn mới làm quen với AVR
      đầu tiên là trình biên dịch hay phần mền lập trình

      AVR studio 4


      http://www.4shared.com/file/60021059...udio4b528.html
      http://www.4shared.com/file/60026988...dio413SP1.html
      http://www.4shared.com/file/60023647...dio413SP2.html
      đầu tiên cài aStudio4b528
      tiếp theo cài AVRStudio413SP1
      và cài AVRStudio413SP2

      CodeVisionAVR C Compiler

      http://www.4shared.com/file/60023769...nAVR_1246.html
      cài xong nhớ update License Professional.dat
      Và mạch nạp dùng cổng USB

      chạy trên cả hai phần mền
      có sơ đổ, mạch in, file hex, hướng dẫn cài đặt trong file nap.rar

      chúc các ban thành công
      Attached Files
      Last edited by dangdung; 23-08-2008, 10:24.
      Điện thoại:
      email:

      Comment


      • #18
        Thêm 1 hướng dẫn cho codevision.
        Mình dùng mạch nạp stk500_usb và kít atmega128 do mình thiết kế.
        b1: mở code vision lên.

        b2:check radio button project.

        b3: chon chip atmega128 va thach anh 8mhz.

        b4: chon tab lcd chon portA. Line 16.

        b5: file -> generate,....va lưu soure file ,file project,...

        b6: chon setting ->progammer->stk500, com3.

        b7: project-> configure.


        b8: viết code.

        b9: sau khi viết song chọn. project->make. nếu ko có lỗi bấm ok. mach sẽ tự động nạp chương trình sau khi nap song sẽ chạy chương trinh trên kit.


        kết quả trên kit.
        kit phát triển các loại:
        Đã có LPC2103 kit, AT91SAM7S kit và J_Link V.7.

        Comment


        • #19
          Vâng! xin thay mặt anh em, xin chân thành cảm ơn anh Dũng Và anh Huy AKC.
          DUYPhi sẽ biên tại file của anh DŨNG một tí và bỗ sung thêm một số thông tin khác về mạch nạp USB-AVR rồi chúng ta sẽ gát chúng lại để chuyển sang đề tài khác.
          Thưa anh Dũng, Phi mượn tạm 2 file của anh đi đặt mạch nhé. Chắc đặt 20 PBC để cho các anh em khác dùng chung luôn. Nếu không có gì bất tiện thì đầu tuần tới Phi sẽ đi đặt.
          Thân ái!

          Comment


          • #20
            cái mạch nạp NPLab đẹp quá. mà lại rẻ nữa. mình đang sử dụng mạch của TMe xài cũng ổn định lắm, nếu không mình sẽ sử dụng mạch này. mình cũng đang tập làm quen với AVR, có nhiều cái còn chưa hiểu rỏ lắm, đúng lúc luồng này của bác Duyphi mở ra. hy vọng chúng ta sẽ trao đổi nhiều hơn để cùng nhau phát triển. nói nhỏ nhé bác Duyphi là thần tượng của mình đó
            mình đang chuẩn bị học cách giao tiếp USB, bác có thể giải thích giúp mình vài điều này được không? mình định viết trên PC phần mềm giao tiếp với AVR qua cổng USB nhưng chưa biết làm thế nào, có phải là mình cài COM ảo rồi sử dụng giống như COM bình thường không? còn phần mạch AVR thì phải viết phần mềm truyền nhận thế nào? mình chưa roe lắm, mong các cao thu chỉ giúp.
            hãy cố gắng dù vướn phải thất bại!!!!!!!!

            Comment


            • #21
              Cám ơn anh Chip đã quan tâm đến chuyên mục này!
              Như đã nói DuyPhi cũng bắt đầu với AVR trong lúc này là: Từ Bit 0, do đó chúng ta sẽ ko có gì ngại khi đưa ra những vấn đề mà chúng ta còn khúc mắc, mỗi người biết đến đâu thì chia xẻ cho nhau đến đó vậy!
              AVR tốc độ xử lý cực cao do đó đủ để thực hiện một số công việc mà trước một số họ vdk khác không làm được, AVR ngày nay không dùng COM ảo như trước đây nữa, vì thực sự nó vẫn là giao thức RS232. Thay vào đó AVR sẽ thực hiện việc điều khiển vào gtiep với PC thông qua chuẩn USB trực tiếp, trên VB nếu muốn lập trình thao tác được với AVR qua cổng USB trực tiếp thì chúng ta cần thông qua 1 file hỗ trợ gtiep qua USB là thư viện liên kết động: *.dll. Việt lập trình file dll cần có 1 kiến thức tương đối tốt và chuyên môn hơn về lập trình ứng dụng trên máy tính, chúng ta sẽ không nên đi sâu vào file này, do đó chúng ta sẽ dùng tạm file này bởi 1 số người tốt bụng, hi hi... anh nên vào mạng và search 1 cái là có cái file này, sau đó hãy nhúng nó vào chtrinh của mình có thể là VB, VC++.....
              Đó là những hiểu biết chút ít của DuyPhi trong mấy ngày qua khi tiếp cận với AVR.
              Thú thật chuyện điều khiển AVR thông qua USB thật sự là Phi tôi thích thú vô cùng, thấy mấy cái chuyện đơn giản như sau: PC SẼ ĐIỀU KHIỂN 8 CON LED TẮT CHỚP THÔNG QUA AVR- GTIEP QUA CỔNG USB, Chỉ đơn giản vậy thôi mà gần cả tháng nay vẫn chưa thể hiểu và nắm bắt hết được, hi hi hi...
              Đúng thật là khi bắt đầu thì dù là 1 chuyện đơn giản cũng ko hề giản đơn.- Lê Duy Phi

              Comment


              • #22
                stack là cái luôn phải bắt đầu sau reset, rồi thanh ghi....phần cấu trúc AVR bạn có định kê luôn không. ( dài lắm nhưng có thể tóm trong mấy phần thường xuyên hoạt động trong dòng đi của một lệnh : I/O -ALU - Register - flash memory)
                I/O thì đã có phần của Vnarmy làm rồi.
                Last edited by avr; 23-08-2008, 23:32.

                Comment


                • #23
                  Nguyên văn bởi chipmickey Xem bài viết
                  cái mạch nạp NPLab đẹp quá. mà lại rẻ nữa. mình đang sử dụng mạch của TMe xài cũng ổn định lắm, nếu không mình sẽ sử dụng mạch này. mình cũng đang tập làm quen với AVR, có nhiều cái còn chưa hiểu rỏ lắm, đúng lúc luồng này của bác Duyphi mở ra. hy vọng chúng ta sẽ trao đổi nhiều hơn để cùng nhau phát triển. nói nhỏ nhé bác Duyphi là thần tượng của mình đó
                  mình đang chuẩn bị học cách giao tiếp USB, bác có thể giải thích giúp mình vài điều này được không? mình định viết trên PC phần mềm giao tiếp với AVR qua cổng USB nhưng chưa biết làm thế nào, có phải là mình cài COM ảo rồi sử dụng giống như COM bình thường không? còn phần mạch AVR thì phải viết phần mềm truyền nhận thế nào? mình chưa roe lắm, mong các cao thu chỉ giúp.
                  Để sử dụng giao tiếp USB với AVR cách đơn giản nhất là bác sử dụng Com ảo, sau khi cài đặt cho nó thì sử dụng như COM bình thường ...
                  để sử dụng COM ảo bác có thể sử dụng mạch chuyển từ USB -> sang USART em gửi dưới file đính kèm!
                  Attached Files

                  Comment


                  • #24
                    Nguyên văn bởi bk_exp Xem bài viết
                    Để sử dụng giao tiếp USB với AVR cách đơn giản nhất là bác sử dụng Com ảo, sau khi cài đặt cho nó thì sử dụng như COM bình thường ...
                    để sử dụng COM ảo bác có thể sử dụng mạch chuyển từ USB -> sang USART em gửi dưới file đính kèm!
                    cảm ơn bác trước nhé. như vậy thì theo cách này chúng ta có thể giao tiếp với USB thông qua 2 ngõ in out bất kỳ của VDK phải không? giao thức truyền nhận thế nào? driver nữa chứ, mình chưa rỏ lắm. trên VB mình chỉ cần out ra port như cổng COM thật phải ko? có cần khai báo gì thêm ko? xin bác chỉ giúp.
                    hãy cố gắng dù vướn phải thất bại!!!!!!!!

                    Comment


                    • #25
                      Ơ, bác Duy Phi ơi, không bắt đầu chương trình đi nào? Lập trình Assembly với AVR bằng AVRstudio cơ mà ? Em nóng lòng lắm rồi đấy.
                      Mạch nạp hoặc giao tiếp gì gì đó thì đã có cả vài mục bàn luận đến mấy chục trang rồi.

                      Comment


                      • #26
                        bác DuyPhi ơi, em đợi bài viết học lập trình bằng ASM mà sao lâu quá trời. Sao chúng ta ko bắt đầu đi.

                        Comment


                        • #27
                          Một kinh nghiệm nhỏ khi bắt đầu bằng một project LED chớp tắt, khi lập trình và nạp cho AVR , các bạn nhớ set FUSE cho AVR để AVR chạy với thạch anh ngoài ( bits SUT, CKSEL và CKOPT ), tùy thuộc vào thạch anh bên ngoài => có các set FUSE khác nhau ( xem trong datasheet ).

                          Comment


                          • #28
                            Cảm ơn các bạn đã nhiệt tình giúp đỡ mọi người làm quen với vi điêu khiển.
                            Theo tôi để mọi người có thể nắm bắt nhanh và dễ hiểu nhất đó là các ví dụ cụ thể, từ dễ đến khó. Các anh em không nên đưa ra bài viết hay những câu hỏi lan man... Vì vậy rất mong anh em trên diễn đàn đưa ra các ví dụ cụ thể thay vì nói "suông" để các bạn mới làm quen dễ hiểu nhất, có thể thực hành được ngay.
                            Để bắt đầu mình xin được đóng góp một số ví dụ mà hầu như ai mới làm quen VĐK đều làm qua. Ví dụ đơn giản nhất là làm cho cả 8 led nối vào PORTA sáng nhấp nháy.

                            #include <mega16.h>
                            #include <delay.h>

                            void main(void)
                            {
                            // Input/Output Ports initialization
                            // Port A initialization
                            // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
                            // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
                            PORTA=0xFF; //PORTA xuất ra mức 1 (5V)
                            DDRA=0xFF; //Chiều của PORT là chiều xuất dữ liệu ra.
                            while (1)
                            {
                            PORTA = ~PORTA; //đảo tất cả các bit của PORTA, tạo hiệu ứng sáng nhấp nháy
                            delay_ms(500); // trễ 500ms để ta cảm nhận được led sáng nhấp nháy

                            };
                            }
                            n
                            ĐT: 0986 492 489

                            Tham khảo:

                            Comment


                            • #29
                              Một ví dụ nữa là làm led sang từ phải qua trái và tắt dần từ trái qua phải.

                              //cac led noi vao PORTA, cuc duong cua led noi vao tro 330R va noi len VCC
                              //doan code nay lam led sang tu phai qua trai va tat dan tu trai qua phai

                              #include <mega16.h>
                              #include <delay.h>

                              void main(void)
                              {
                              unsigned char i,data;
                              PORTA=0xFF; //port A co tro keo ben trong
                              DDRA=0xFF; //Huong cua du lieu = xuat du lieu ra
                              while (1)
                              {
                              data = 0xFF; //tat tat ca cac led
                              for(i= 0;i<=7;i++) // lap lai 8 lan tuong ung 8 den led sang lan luot
                              {
                              data <<=1; // dich sang trai 1 bit de den sang tang dan len
                              PORTA = data; // xuat du lieu ra dieu khien den
                              delay_ms(500); // led sang lan luot cac nhau 500ms
                              }
                              data = 0xFF; // tat cac led
                              for(i = 0;i<=7;i++) // lap lai 8 lan, led tat lan luot cho den het
                              {
                              data >>= 1; // dich bit sang phai 1 bit
                              PORTA = ~data; // dao du lieu tu trang thai sang thanh tat va xuat ra dieu khien den
                              delay_ms(500);
                              }
                              };
                              }
                              Attached Files
                              n
                              ĐT: 0986 492 489

                              Tham khảo:

                              Comment


                              • #30
                                Ơ, lập trình bằng assembly... Thôi cũng được bởi dù sao bác Phi cũng bỏ luồng này rồi, mình tự nghiên cứu vậy
                                Bác lập dùng trình dịch C nào thế?
                                Một ví dụ nữa là làm led sang từ phải qua trái và tắt dần từ trái qua phải.
                                Bác có thể làm cho một led chạy lần lượt từ trái qua phải rồi từ phải qua trái ( không phải là sáng dần và tắt dần)??
                                Bác cho em hỏi ý nghĩa của lệnh này như thế nào:
                                Lưu ý là SPE và MSTR, SPR0 là các bit của một thanh ghi thuộc thanh ghi SPCR của AVR và bit SPIF thuộc thanh ghi SPSR.
                                Trong Assembly:
                                ldi r17,(1<<SPE)|(1<<MSTR)|(1<<SPR0)
                                out SPCR, R17
                                và Trong C:
                                while(!(SPSR & (1<<SPIF)) ôi, cái lệnh while ấy thật là khó hiểu.

                                SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0);
                                Last edited by mrcuongcon; 26-08-2008, 18:02.

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X