Thông báo

Collapse
No announcement yet.

????avr

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

  • ????avr

    một đoạn code để tìm hiểu 3 thanh ghi trong mỗi port của AVR. chỗ dấu? là chưa rõ lắm.


    LDI r16, 0b00000010
    OUT DDRB, R16 ; XÁC ĐỊNH BIT 1 CỦA PORT B LÀ OUT . GHI “1”LOGIC VÀO DDRB Ở BIT NÀO THÌ BIT ĐÓ TƯƠNG ỨNG LÀ CHO PHÉP OUT DATA.
    LDI r16, 0b00000000 ; NẠP VÀO THANH GHI 16 CÁC BIT 0
    OUT PORTB, R16 ; LÀM CHO BIT 1 CỦA PORTB THÀNH BIT 0.
    LDI R16, 0b00000010
    OUT PORTB, r16 ; LÀM CHO BIT 1 CỦA PORTB THÀNH BIT 1.
    LDI R16, 0b00000000
    OUT DDRB, R16 ; LÀM CHO PORT B LÀ IN
    LDI R16, 0b11111111
    OUT PORTB, R16 ; CHO PHÉP R-PULL UP ???Ở PINB QUA CỔNG NAND. TRỞ KHÁNG VÀO CỦA PORTB KHÔNG LỚN LẮM NHƯNG KHỎI CẦN TẠO R PULL UP BÊN NGOÀI TỪ NGUỒN TÍN HIỆU.
    IN R16, PINB ; ĐỌC TÍN HIỆU TỪ PINB VÀ GHI VÀO R16.

    Từ sơ đồ thì khi 1bit (hoặc 8bit) của DDRB (ngõ Q) out =1 > NAND out=0 > ngắt Fet và cho phép Latch của pinB. Lúc này portB sẵn sang out qua Latch với R-pull up .
    Khi 1bit (x8 bit) của DDRB(Q) = 0 > NAND phụ thuộc vào PORTB out, nhưng latch pinB đã bị ngắt > pinB chỉ có thể là IN . Cho PORTB xuất bit1 (cho phép R-pull up qua một cơ cấu phần cứng nào đó chưa rõ) thì pin B thành IN với trở kháng vào không lớn lắm ( có R-pull up) , từ đây tín hiệu pinB qua đường dưới 2 đệm đảo (giữ đúng tín hiệu) và khi đó chân read pin cũng phải được cho phép để nhâp tín hiệu từ bên ngoài vào DATA BUS .
    Attached Files

  • #2
    trong avr mỗi loaị có một cấu tạo về ngắt khác nhau. có loại 3 ngắt có loại 13 ngắt, khi lập trình cần jump qua các vùng nhớ nhày .
    và avr thấy khi code cần làm vài thao tác cùng lúc:
    - xem datasheet.
    -xem intruction set summary
    -xem register set summary
    -xem AVR - Ngô diên Tập

    trong 32 thanh ghi đa dụng được chia làm 2 phần 0>16 và 16>31. chỗ mốc 16 này có điểm gì đặc biệt ? ai có kinh nghiệm gì hơn thì chỉ nhe.

    Comment


    • #3
      bây giờ khi cấp điện hay reset, mình cần một chân out có một xung f. một chân kác có xung 1000f dùng vòng lặp inner/ outer và timer 16bit thì làm thế nào?

      Comment


      • #4
        ............
        Attached Files
        chỉ llac bang tel

        Comment


        • #5
          sử dụng avrstudio

          Để dễ hình dung về vi điều khiển thì tôi ví dụ: trong suốt 3 ngày bạn cần làm một công việc là bật sang một bong đèn trong 1s rồi tắt đi, sau 1 giây lại bật lên, cứ thé lặp lại bằng một công tắc gắn nối tiếp với đèn . có thể thấy là một người khó long làm được điều đó , nhưng thay vào vị trí công tắc kia và cả người thao tác bật /tắt bằng một trong số nhiều loại IC vi điều khiển có tên là AVR sau khi đã được lập trình nhờ máy tính, phần mềm avrstudio, bo mạch nạp gắn ic này thì nó sẽ bật/tắt (đóng/ngắt dòng điện qua bóng đèn) một cách đều đặn theo từng giây, rất trung thành với mục tiêu đã lập trình , bạn có thể làm việc khác và sau 3 ngày thì ra ngắt điện và lấy toàn bộ chúng về. ( hoặc lập trình cho nó tự ngưng hoạt động sau 3 ngày nhờ them một số phụ kiện khác). khoẻ re!!!

          Sau khi cài đặt xong avrstudio rồi sau đó là driver avrusb-pro theo hướng dẫn trong gói sản phẩm thì cắm board nạp vào cổng USB sẵn sàng.( các đèn nguồn trên board nạp sẽ sang)
          Click vào icon avrstudio để mở phần mềm này. chọn new project > next > chọn trình avrsimulate (mô phỏng) và loại avr cần sử dụng > đặt tên trong 2 hàng o trống > chọn ổ đĩa lưu bên dưới > next > trong giao diện mới này có một bảng trống để ghi code cho chương trình (tốt hơn là soạn thảo CT = word rồi copy vào ô này).
          tiếp đến là phần biên dịch và chạy:
          nhấn F7 hoặc click vào icon assembler rồi assembler and run ( dò chuột lên các biểu tượng nổi trên thanh công cụ của giao diện avr studio sẽ xuất hiện dòng chữ ghi chức năng của các icon). nếu hiện lên các thong báo ở ô trống bên dưới trong bảng giao diện sử dụng của avrstudio là đa số màu xanh lá, 0 erro, 0 warning thì ok.
          Click chuột vào tool > avr program > bảng giao diện nhỏ:
          Hang trên cùng ta chọn browse > chọn file . hex trong thư mục chứa tập tin đang chạy.
          Hang dưới nhấn vào program để nạp CT cho IC avr đã gắn sẵn trên board nạp. nếu sau đó hiện lên dòng chữ thong báo trên đỉnh của hang thứ 2 này là verify flash programming…..ok thì đã nạp thành công và đèn báo bắt đầu nạp/ đang nạp (đỏ, vàng) sẽ sang/ chớp. đồng thời dòng thứ 2 sẽ xuất hiện cột ô vuông chạy dài để thong báo quá trình đang nạp. ( tuy nhiên khi ct quá đơn giản lại không thấy dấu hiệu này hay vì lí do gì cũng chưa rõ ???? nhưng CT vẫn được nạp xong) . khi đó đèn led nối với một trong các port của IC đã chọn trong khi viết code sẽ chớp tắt như công dụng của CT thử). Sau đó nhấn advance để xem các thong số khác, nếu xuất hiện đầy đủ thì tốt và hình cuối cùng là các file cần thiết nằm trong một folder của một CT hoàn tất .

          đến đây gỡ bo nạp ra khỏi cổng USB và cấp cho bo mạch bằng nguồn 5V khác để thử lại IC , tắt PC, bật TV xem Euro cho đến sang thì khi quay lại led vẫn chớp tắt đều đặn. ok, thật vui vẻ.!! ( nếu có góp ý gì hay thì càng vui hơn)

          giới thiệu qua một ví dụ nhỏ về cách dung anrstudio để nạp ic như thế nào, xem phần hình ảnh để biết them chi tiết.
          editor : 0902989240
          thử xem nếu tôi thay việc bật/tắt led bằng việc đóng/mở nút ok của tel khi đã gọi vào một số nào đó chọn trước thì chỉ có đường tắt máy rồi báo tổng đài đến túm tôi thôi
          chỉ llac bang tel

          Comment


          • #6
            hình ảnh.......
            Attached Files
            chỉ llac bang tel

            Comment


            • #7
              ,.,.m.....
              Attached Files
              chỉ llac bang tel

              Comment


              • #8
                ...................
                Attached Files
                chỉ llac bang tel

                Comment


                • #9
                  ..............
                  Attached Files
                  chỉ llac bang tel

                  Comment


                  • #10
                    đây là phần mềm về bài toán đơn giản tạo xung bằng AVR ( chủ yếu là biết cách tạo xung tùy ý). xin nghe những góp ý hay.
                    cần xem liên tục từng phần trong datasheet của VDK đang dùng khi viết ct ( vd atmega16)

                    http://www.alldatasheet.com/view.jsp...hword=ATMEGA16
                    Attached Files
                    Last edited by 10jqk; 25-06-2008, 18:13.
                    chỉ llac bang tel

                    Comment


                    • #11
                      phân tích code

                      mấy anh xem thử mấy đoạn code sau cho avr là để làm gì? để sau đó tôi có thể phân tích về stack/timer sâu hơn
                      Attached Files
                      Last edited by 10jqk; 13-07-2008, 15:22.
                      chỉ llac bang tel

                      Comment


                      • #12
                        còn thêm mấy lưu đồ này nữa là như thế nào? tôi muốn tham khảo mọi ý kiến.

                        http://www.youtube.com/watch?v=6T4EI...eature=related
                        Attached Files
                        Last edited by 10jqk; 13-07-2008, 15:21.
                        chỉ llac bang tel

                        Comment


                        • #13
                          sơ sơ về phần cứng cho avr board - atmega8.
                          http://www.youtube.com/watch?v=zvhm1...eature=related
                          Last edited by avr; 25-08-2008, 04:29.

                          Comment


                          • #14
                            led và hiển thị

                            bắt đầu nên xem cấu tạo các chân của led 88 và lcd 16x2 . từ 1 con sẽ dẫn ra cách ghép nhiều con thành con lớn dễ dàng. tất cả các hàng là mã hình và cột được quét bởi ghi dịch. khi ghép nhiều con, mỗi led8x8 đều sáng đồng thời ở mọi thời điểm nên tất cả các hàng được nối chung và lên 1, các cột của các led ghép song song với nhau. vậy mỗi led 88 chỉ có 1 cáp ra là data ( mã hình) và một cáp cột chung với led khác.
                            Attached Files

                            Comment


                            • #15
                              nguồn

                              nguồn đơn giản trước bộ ổn áp DC cho mạch nhỏ.

                              .......................!!!
                              http://www.youtube.com/watch?v=1YXvNuzqkfw
                              Attached Files

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X