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

  • Nguyên văn bởi lion_king Xem bài viết
    em cung su dung code vision de viết lênh cho atmega16 nhung ko hieu tai sao chan PORTC.6 và PORT.7 ko điều khiển đựoc giống như bạn thocdt vay.mong các bác giai thích hộ em voi!
    Bỏ chọn fuse JTAGEN
    Attached Files
    Last edited by kimhuynguyen; 12-06-2008, 17:12.
    More friends more foods

    Comment


    • Cứ bảo là IC không tốt, em vẫn mua hàng chợ trời kia, mua chắc cũng đến hàng trăm con rồi, về cắm vào mạch là chạy, không đến nỗi chân cẳng chết đứ đừ.....
      Cho dù chúng không phải hàng tốt, nhưng khi sản xuất ra chắc chắn chúng đã phải qua kiểm tra nghiêm ngặt rồi! Ừ, thôi thì datasheet ghi nạp được 100.000 lần, con avr mua về nạp được bằng 10% số đó, đã tốt lắm rồi...Cũng không đến nỗi lắp vào mạch là nhiễu tùm lum, không chạy được.
      Chuyện chết chân cẳng AVR, hay nhiễu AVR , trước hết, xem lại lập trình, rồi xem lại mạch, đọc lại datasheet.

      Comment


      • Tôi gặp phải trường hợp mua con mới tinh. nạp chương trình không được, Bó tay. Lấy con khác nạp chương trình vẫn bình thường, mạch nạp của tôi tốt. Như vậy mới tinh vẫn có con chết. Chắc tại hàng lởm. C828 thay vào mạch không hoạt động, rút ra đo tĩnh vẫn tốt. Thay bằng C828 mua đợt trước thì hoạt động bình thường. Báo hại test mạch lòi mắt. Bây giờ test mạch còn phải xét xem hàng tốt hay không.

        Comment


        • Cho Em Hỏi Cái: Mới Bắt đầu Học Avr Thì Nên Bắt đầu Với Con Nào? Và Mạch Nạp Nào Tốt Cho Con đó Ah?
          SỰ HỌC LÀ MÃI MÃI......!!!!

          Comment


          • Nguyên văn bởi tallht Xem bài viết
            Cho Em Hỏi Cái: Mới Bắt đầu Học Avr Thì Nên Bắt đầu Với Con Nào? Và Mạch Nạp Nào Tốt Cho Con đó Ah?
            Bạn có thể bắt đầu với các con như: atmega8515, atmega16, atmega8535. Con 8515 chân cẳng giống họ 8051 nhưng lại không có ADC.
            Mạch nạp thì dùng loại kết nối song song với PC. Mạch này cực đơn giản: chỉ có 1 DB25 đực + 4 con trở 330ôm + 1 đế + 1 nguồn 5V.
            Mạch nạp có ở trang: qsl.net/ba1fb
            Phần mềm nạp thì dùng ispprog --> dùng với mạch nạp trên cũng được rất nhiều loại AVR.
            Nếu cần thì liên hệ, tôi gửi cho.

            email:mahaco@fpt.vn

            Comment


            • Các bác cho em hỏi về bộ nhớ EEPROM của ATMEGA16 với!
              em dọc trong sách có cái In_system Programable Flash EEPROM (16K)và Byte Addressable EEPROM (512 bytes) ! Hai cái nay khac nhau thế nào nhỉ?

              Dùng lệnh gì để lưu dữ liệu vào Rom và RAM nhỉ ?

              Comment


              • Chào các bạn.Mình cũng mớii học avr. Đang gặp khó khăn về timer, các bác có thể giúp em về cái này được chứ?

                Comment


                • tiện tể em hỏi luôn chế độ định thời PWM của cái timer0 dùng để tạo xung thì đầu ra dc lấy bằng cách gì nhỉ!

                  Comment


                  • mỗi bộ PWM tích hợp trên chíp có một chân đầu ra PWM riêng. Tên nó là OCRx, trong đó x là bộ nào, thí dụ ở trường hợp của bạn là OCR0.

                    Comment


                    • bạn có thể nói rõ hơn về tạo một hàm delay trong timer0 ko?

                      Comment


                      • Có bác nào làm về điều khiển led ma trận 2 màu hay RGB thì cho em hỏi về giá của các
                        loại led ma trận sau: ma trận led 2 màu 8x8 hay 16x16
                        ma trận RGB 8x8 hay 16x16
                        Nếu có địa chỉ mua giá rẻ thì càng tốt (ở Hà Nội nhé!)
                        Nếu có tài liệu về cách điều khiển màu sắc hiển thị thì post attachments hộ em nhé!
                        Thanks!

                        Comment


                        • led 8x8 thi khoảng 21k, cậu làm về delay cùng timer dc ko? chỉ tui với

                          Comment


                          • Cái 21k chắc là ma trận đơn sắc thôi bạn ạ! Mình cần led đa sắc cơ! Led đơn sắc chắc chỉ để làm bài tập lớn thôi! Năm sau mình phải làm đồ án tốt nghiệp mà bây giờ chưa biết
                            gì cả! Trước chỉ làm bài tập lớn về 8051 thôi dùng ASM (làm cái đếm giờ led 7đoạn)! Bây học AVR lại học C nên thấy hơi lạ! Mới đọc dc có mấy hôm chỉ tìm hiểu chung về ngắt và định thời thôi! Đến cách viết code sao cho chuẩn mình cũng chưa biết nên chưa thử dc cái gì! Nếu bạn biết thì chỉ cho mình nhé!

                            Comment


                            • ma trận đơn sắc 8x8 là 17 nghìn, ma trận hai màu còn...rẻ hơn à. Nhà Mai Khanh ở cuối chợ trời ấy. Mình đã lâu kô ra chợ, kô biết giá cả LK có tăng theo giá xăng không nhỉ?

                              Comment


                              • Các bác cho em hỏi về bộ nhớ EEPROM của ATMEGA16 với!
                                em dọc trong sách có cái In_system Programable Flash EEPROM (16K)và Byte Addressable EEPROM (512 bytes) ! Hai cái nay khac nhau thế nào nhỉ?

                                Dùng lệnh gì để lưu dữ liệu vào Rom và RAM nhỉ ?
                                Bộ nhớ Flash để lưu trữ chương trình, RAM để lưu dữ liệu, còn EEPROM ..đứng giữa, lưu trữ thông tin cài đặt hoặc dữ liệu thu thập trong quá trình hoạt động mà không bị xóa khi tắt nguồn. Các sản phẩm hoàn chỉnh mới cần nhiều đến EEPROM, ví dụ bạn làm một mạch khóa mã hóa có pasword là 1234 gì đó thì thông tin này nên ghi vào EEPROM để thay đổi dễ dàng mà không bị xóa đột ngột.

                                Cách dùng EEPROM khá đơn giản với C và Codvision, bạn chỉ việc khai báo 1 biến với tiền tố eeprom đứng đầu, sau đó truy cập như một biến bình thường, tuy nhiên chỉ nên đọc hoặc ghi nó thôi, nếu đem nó ra cộng trừ nhân chia có lẽ không được hoặc nếu được thì sẽ tốn nhiều chu kỳ máy vì thời gian ghi một byte lên eeprom cũng khá cao so với một chu kỳ máy. Nếu dùng ASM thì bạn tham khảo tập lệnh AVR, mình không biết!

                                Nguyên văn trong Codevision help:
                                Accessing the AVR internal EEPROM is accomplished using global variables, preceded by the keyword eeprom.

                                Example:

                                /* The value 1 is stored in the EEPROM during chip programming */
                                eeprom int alfa=1;
                                eeprom char beta;
                                eeprom long array1[5];
                                /* The string is stored in the EEPROM during chip programming */
                                eeprom char string[]="Hello";
                                void main(void) {
                                int i;

                                /* Pointer to EEPROM */
                                int eeprom *ptr_to_eeprom;

                                /* Write directly the value 0x55 to the EEPROM */
                                alfa=0x55;

                                /* or indirectly by using a pointer */

                                ptr_to_eeprom=&alfa;

                                *ptr_to_eeprom=0x55;

                                /* Read directly the value from the EEPROM */
                                i=alfa;
                                /* or indirectly by using a pointer */
                                i=*ptr_to_eeprom;
                                }

                                Pointers to the EEPROM always use 16 bits.


                                Còn ROM thì cũng có thể khai báo biến ROM bằng cách tương tự
                                flash int i;
                                tuy nhiên đây là hằng số, chỉ đọc chứ không ghi được.
                                Đẹp từng kilomét

                                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