Thông báo

Collapse
No announcement yet.

bắt đầu học AVR với ATMEGA8

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

  • bắt đầu học AVR với ATMEGA8

    em chào các bác, quanh quẩn mãi bên box 8051 mãi thấy chán nên e muốn chuyển sang con AVR mong các bác giúp đỡ, em mới bắt đầu tìm hiểu từ con ATMEGA8 nhưng chưa cho ra được sản phẩm nào vì vẫn còn nhiều nghi vấn quá.

    trước tiên em có 1 câu hỏi là con ATMEGA8-8PU và ATMEGA8-16PU nó khác nhau ở đâu ạ, em thấy giá nó chênh lệch nhau gần gấp đôi (con 8PU giá 53k,con 16PU giá 90k), vậy PU là cái gì vậy các bác, em hỏi hơi ngu nhưng em đọc tài liệu học chỉ đề cập đến ATMEGA8 mà chả thấy họ nhắc gì tới 8 hay 16PU gì cả.

    em có bắt đầu học với assembly viết trên AVRstudio, sau khi viết xong code led matrix 8x8 và mô phỏng trên PROTEUS thì thấy nó hiển thị số không đúng lắm, khi cho delay chậm lại thì thấy rõ nó xuất mã led rất đúng nhưng cho nhanh hơn thì lại hiển thị không đúng, khó hiểu quá à, không biết code viết sai hay mô phỏng lỗi nữa.

    vấn đề thứ 3 em muốn hỏi là con ATMEGA8 này khi làm mạch thực tế thì có phải mắc thêm những linh kiện gì để con ATMEGA8 hoạt động không, vd như 8051 thì cần có mạch RESET và thạch anh, chân 31 nối Vcc. còn con ATMEGA8 này thì sao ạ, có phải mắc thêm cái gì không, chân reset có phải lắp mạch reset giống 8051 không vậy. đọc tài liệu thì thấy nói con ATMEGA8 này có bộ dao động bên trong 1M không cần phải mắc dao động ngoài thì phải. vậy khi dùng dao đông trong chíp thì có phải khai báo gì không ạ. và nếu em muốn dùng dao động thạch anh ngoài thì sao ạ, phải khai báo thế nào và phải làm thế nào ạ

    cuối cùng em gửi bản mô phỏng lên nhờ các bác xem giúp, nếu em làm thực tế mạch này thì đã ổn chưa ạ, tất cả các cổng not em thay bằng a1015, và các chân nạp theo mạch nạp STK200/300 em xếp như thế có nạp được không ạ.

    em xin cảm ơn các bác!
    file đính kèm ở bên dưới các bác giúp em nhé
    Attached Files

  • #2
    theo mình biết thì 8PU và 16PU là xung nhịp cực đại mà AVR làm việc tối đa mà avr hỗ trợ
    hiện số không đúng theo mình biết thì có thể là bị lem từ hàng quét trước đó
    avr có thể hoạt động ngay cả khi không lắp thêm thạch anh ngoài

    Comment


    • #3
      đọc kỹ datasheet đi bạn, 8L có xung nhịp tối đa 8MHz nhưng hoạt động được ở 2.7V - 5.5V, còn 16 thì từ 4.5 đến 5.5V, mà bi giờ có loại mega8A thay thế cho 2 loại kia rồi đó bạn, và 2 loại kia ko sản xuất nữa thì phải.

      Comment


      • #4
        Muốn dùng thạch anh ngoài hay dao động nội thì cần nạp fuse bit cho avr là được. Có thể xem chi tiết trong datasheet.
        WS:
        Blog:

        Comment


        • #5
          còn câu chốt nữa các bác à, vẫn chưa thấy ai giúp, mạch em thiết kế như thế khi làm mạch thật có chạy không vậy. ở chế độ nạp bình thường thì mạch đó của em có cần phải lắp thêm thạch anh ngoài không vậy

          Comment


          • #6
            Nguyên văn bởi lengo90 Xem bài viết
            còn câu chốt nữa các bác à, vẫn chưa thấy ai giúp, mạch em thiết kế như thế khi làm mạch thật có chạy không vậy. ở chế độ nạp bình thường thì mạch đó của em có cần phải lắp thêm thạch anh ngoài không vậy
            Mình nghĩ là không vấn đề gì, các chân nạp như thế là đúng rồi. Còn có cần thạch anh hay không là do bạn fuse bit. Có thể dùng thạch anh hoặc không dùng tùy bạn. Nhưng nên dùng thạch anh ngoài thì tốt hơn vì dao dộng nội của Avr không được ổn định cho lắm.
            WS:
            Blog:

            Comment


            • #7
              Nguyên văn bởi hungtrinh36 Xem bài viết
              theo mình biết thì 8PU và 16PU là xung nhịp cực đại mà AVR làm việc tối đa mà avr hỗ trợ
              hiện số không đúng theo mình biết thì có thể là bị lem từ hàng quét trước đó
              avr có thể hoạt động ngay cả khi không lắp thêm thạch anh ngoài
              cảm ơn bác, em đã sửa code thì ra là nó bị lem từ hàng trước đó nên mới hiển thị không đúng, bác am hiểu nhiều về asm không giúp đỡ em về phần quay thanh ghi để dịch bít ra con 595 với. giờ em có con ATMEGA8-8PU thì ghép nối thạch anh ngoài tối đa là bao nhiêu vậy

              Comment


              • #8
                Chúc mừng bác đến với AVR. Quả là sự lựa chọn sáng suốt đấy.

                Để làm quen : bác cứ vào Cùng học AVR (AVR tutorial) - Tài liệu AVR tiếng Việt luyện cho xong.

                Bên cạnh đó, bác có thể tham khảo các ứng dụng Arduino ( Cự kì tuyệt vời) .

                Comment


                • #9
                  Nguyên văn bởi lengo90 Xem bài viết
                  cảm ơn bác, em đã sửa code thì ra là nó bị lem từ hàng trước đó nên mới hiển thị không đúng, bác am hiểu nhiều về asm không giúp đỡ em về phần quay thanh ghi để dịch bít ra con 595 với. giờ em có con ATMEGA8-8PU thì ghép nối thạch anh ngoài tối đa là bao nhiêu vậy
                  dùng lệnh dịch bit LSR hoặc LSL
                  email:trangonthuocthom@gmail.com

                  Comment


                  • #10
                    có cái file tập lệnh asm trong máy nhưng không up vào dc.
                    email:trangonthuocthom@gmail.com

                    Comment


                    • #11
                      bác up lên mediafire ấy, em có học trên hocavr.com nhưng thấy tập lệnh cứ thiếu thiếu không đủ lắm, tham khảo mấy code trên mạng thấy nhiều lệnh lạ lắm. cảm ơn bác trước

                      Comment


                      • #12
                        Nguyên văn bởi lengo90 Xem bài viết
                        bác up lên mediafire ấy, em có học trên hocavr.com nhưng thấy tập lệnh cứ thiếu thiếu không đủ lắm, tham khảo mấy code trên mạng thấy nhiều lệnh lạ lắm. cảm ơn bác trước
                        tep lenh va cac thang ghi cua AVR_doc0856.pdf
                        email:trangonthuocthom@gmail.com

                        Comment


                        • #13
                          Nguyên văn bởi lengo90 Xem bài viết
                          bác up lên mediafire ấy, em có học trên hocavr.com nhưng thấy tập lệnh cứ thiếu thiếu không đủ lắm, tham khảo mấy code trên mạng thấy nhiều lệnh lạ lắm. cảm ơn bác trước
                          tep lenh va cac thang ghi cua AVR_doc0856.pdf
                          email:trangonthuocthom@gmail.com

                          Comment


                          • #14
                            avr dieu khien nhiet do

                            em chao cac bac em cung moi hoc avr em lap trinh bang codeavr nhung dang bi loi bac nao giup em sua voi.em xin cam on
                            guimail.rar

                            Comment


                            • #15
                              B bị thiếu hàm read_adc thì phải:
                              unsigned int read_adc(unsigned char adc_input)
                              {
                              ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
                              // Delay needed for the stabilization of the ADC input voltage
                              delay_us(10);
                              // Start the AD conversion
                              ADCSRA|=0x40;
                              // Wait for the AD conversion to complete
                              while ((ADCSRA & 0x10)==0);
                              ADCSRA|=0x10;
                              return ADCW;
                              }
                              WS:
                              Blog:

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X