Danh mục

Cùng học AVR - AVR2 cấu trúc AVR

Số trang: 0      Loại file: pdf      Dung lượng: 453.49 KB      Lượt xem: 17      Lượt tải: 0    
Hoai.2512

Phí lưu trữ: miễn phí Tải xuống file đầy đủ (0 trang) 0
Xem trước 10 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài này tiếp tục bài đầu tiên trong loạt bài isi thiệu về AVR, nếu sau bài 1 bạn đã phần nào biết cách lập trình cho AVR bằng...
Nội dung trích xuất từ tài liệu:
Cùng học AVR - AVR2 cấu trúc AVRAUTO.NLU CÙNG HỌC AVR AVR2 – CẤU TRÚC AVR Thoả thuận: tài liệu này thuộc quyền sở hữu của tác giả, bạn có thể tự do tham khảo tài liệu nhưng không được phép sử dụng để in thành sách báo, đăng lên các diễn đàn hay website, nhưng bạn có thể dùng đường link http://www.dieukhientudong.net để hướng tới tài liệu. Liên hệ tác giả qua email: thanhtam.h@gmail.com. Bạn sẽ đi đến đâu.I. Bài này tiếp tục bài đầu tiên trong loạt bài giới thiệu về AVR, nếu sau bài 1 bạn đã phần nàobiết cách lập trình cho AVR bằng AVRStudio thì trong bài này, chúng ta sẽ tìm hiểu kỹ hơn vềcấu trúc của AVR. Sau bài này, bạn sẽ: Hiểu được cấu trúc AVR, cấu trúc bộ nhớ và cách thức hoạt động của chip. - Hiểu về Stack và cách hoạt động. - Biết được một số instruction cơ bản truy xuất bộ nhớ. - Học các instruction rẽ nhánh và vòng lặp. - Chương trình con (Subroutine) và Macro. - Cải tiến ví dụ trong bài 1. - Viết 1 ví dụ minh họa cách sử dụng bộ nhớ và vòng lặp. - Tồ chức của AVR.II. AVR có cấu trúc Harvard, trong đó đường truyền cho bộ nhớ dữ liệu (data memory bus) vàđường truyền cho bộ nhớ chương trình (program memory bus) được tách riêng. Data memory buschỉ có 8 bit và được kết nối với hầu hết các thiết bị ngoại vi, với register file. Trong khi đóprogram memory bus có độ rộng 16 bits và chỉ phục vụ cho instruction registers. Hình 1 mô tả cấutrúc bộ nhớ của AVR. Bộ nhớ chương trình (Program memory): Là bộ nhớ Flash lập trình được, trong các chipAVR cũ (như AT90S1200 hay AT()2313…) bộ nhớ chương trình chỉ gồm 1 phần là ApplicationFlash Section nhưng trong các chip AVR mới chúng ta có thêm phần Boot Flash setion. Bootsection sẽ được khảo sát trong các phần sau, trong bài này khi nói về bộ nhớ chương trình, chúngta tự hiểu là Application section. Thực chất, application section bao gồm 2 phần: phần chứa cácinstruction (mã lệnh cho hoạt động của chip) và phần chứa các vector ngắt (interrupt vectors). Cácvector ngắt nằm ở phần đầu của application section (từ địa chỉ 0x0000) và dài đến bao nhiêu tùythuộc vào loại chip. Phần chứa instruction nằm liền sau đó, chương trình viết cho chip phải đượcload vào phần này. Xem lại phần đầu của ví dụ trong bài 1: .ORG 0x000 RJMP BATDAU .ORG 0x020 BATDAU: Trong ví dụ này, ngay sau khi set vị trí 0x000 bằng chỉ thị (DIRECTIVE) .ORG 0x000chúng ta dùng instruction RJMP để nhảy đến vị trí 0x020, như thế phần bộ nhớ chương trình từ0x00 đến 0x01F không được sử dụng (vì trong ví dụ này chúng ta không sử dụng các vectorFor more details and questions, contact me: thanhtam.h@gmail.comAUTO.NLUngắt). Chương trình chính được bắt đầu từ địa chỉ 0x020, con số 0x020 là do người lập trình chọn,thật ra các vector ngắt của chip ATMEGA8 chỉ kéo dài đến địa chỉ 0x012, vì vậy chương trìnhchính có thể được bắt đầu từ bất cứ vị trí nào sau đó. Để biết độ dài các vector ngắt của từng chipbạn hãy tham khảo datasheet của chip đó. Vì chức năng chính của bộ nhớ chương trình là chứa instruction, chúng ta không có nhiều cơhội tác động lên bộ nhớ này khi lập trình cho chip, vì thế đối với người lập trình AVR, bộ nhớ này“không quá quan trọng”. Tất cả các thanh ghi quan trọng cần khảo sát nằm trong bộ nhớ dữ liệucủa chip. Hình 1. Cấu trúc bộ nhớ của AVR. Bộ nhớ dữ liệu (data memory): Đây là phần chứa các thanh ghi quan trọng nhất của chip,việc lập trình cho chip phần lớn là truy cập bộ nhớ này. Bộ nhớ dữ liệu trên các chip AVR có độlớn khác nhau tùy theo mỗi chip, tuy nhiên về cơ bản phần bộ nhớ này được chia thành 5 phần: Phần 1: là phần đầu tiên trong bộ nhớ dữ liệu, như mô tả tronh hình 2, phần này bao gồm 32thanh ghi có tên gọi là register file (RF), hay General Purpose Rgegister – GPR, hoặc đơn giản làcác Thanh ghi. Tất cả các thanh ghi này đều là các thanh ghi 8 bits như trong hình 2. Hình 2. Thanh ghi 8 bits. Tất cả các chip trong họ AVR đều bao gồm 32 thanh ghi Register File có địa chỉ tuyệt đối từ0x0000 đến 0x001F. Mỗi thanh ghi có thể chứa giá trị dương từ 0 đến 255 hoặc các giá trị có dấutừ -128 đến 127 hoặc mã ASCII của một ký tự nào đó…Các thanh ghi này được đặt tên theo thứFor more details and questions, contact me: thanhtam.h@gmail.comAUTO.NLUtự là R0 đến R31. Chúng được chia thành 2 phần, phần 1 bao gồm các thanh ghi từ R0 đến R15 vàphần 2 là các thanh ghi R16 đến R31. Các thanh ghi này có các đặc điểm sau: - Được truy cập trực tiếp trong các instruction . - Các toán tử, phép toán thực hiện trên các thanh ghi này chỉ cần 1 chu kỳ xung cl ...

Tài liệu được xem nhiều: