Bài viết này dành cho người mới bắt đầu học các kiến thức cơ bản về vi điều khiển AVR Atmega32A. Hướng dẫn này bao gồm một số phần quan trọng quan trọng của chip Atmega32A, mà lập trình viên phải biết trước khi lập trình chip AVR. Mô tả được cung cấp nhằm giúp người đọc biết chip vật lý cùng với kiến trúc nội bộ. Nếu người đọc đủ tò mò muốn biết chi tiết từng điểm. Trong trường hợp đó, chúng tôi khuyên bạn nên đi qua biểu dữ liệu.
Trọng tâm ở đây là tính năng và khi chúng ta nói AVR trong bài này, nó có nghĩa là AVR 8-bit bởi vì trong những ngày gần đây, các chip AVR phát triển lên tới 32-bit AVR và AVR với FPGA. Tôi muốn rất cụ thể với AVR 8-bit. Hãy lấy một ví dụ về vi điều khiển ATmega32A là chip AVR 8 bit và 40 bit . Nếu bạn nhìn vào hình ảnh được đưa ra dưới đây, người ta có thể nói con chip này trông giống như bất kỳ IC nào trong nhà của bạn chứa tiện ích điện tử, chúng tôi cũng sẽ tìm thấy mỗi pin có số cụ thể và chức năng khung được đề cập dưới dạng viết tắt. Tuy nhiên, bạn có thể nhận ra một số tên như GND (mặt đất) và VCC (Power Supply). Đừng lo lắng nếu nó có vẻ mới ngay từ cái nhìn đầu tiên. Phần sau của bài đăng này, chúng tôi sẽ xem xét chi tiết về từng mã pin.
QUAN TRỌNG
Như đã đề cập trước đó rằng IC có 40 chân và mỗi pin có số và tên cụ thể liên kết với nó. Trên IC có một notch và bên cạnh này notch có dấu chấm nhỏ và pin gần nhất để dấu chấm này đại diện cho số pin # 1 do đó từ đó bạn có thể bắt đầu đánh số (Nếu trong trường hợp bạn muốn mô tả chi tiết về mỗi pin sau đó tôi khuyên bạn nên đọc datasheet ATmega32A ).
AVR là kiến trúc vi điều khiển chip đơn RISC 8 bit đã được sửa đổi. Chương trình và dữ liệu được lưu trữ trong hệ thống bộ nhớ vật lý riêng biệt xuất hiện trong các không gian địa chỉ khác nhau nhưng nó có khả năng đọc mục dữ liệu từ bộ nhớ chương trình bằng cách sử dụng lệnh đặc biệt. Nó gần như không thể thảo luận về phần cá nhân nhưng nếu bạn nhìn vào tổng quan về thiết bị cơ bản, Trong bài viết này chúng ta sẽ xem xét megaAVR ,
GIA ĐÌNH CƠ BẢN
- Tiny AVR - dòng AT nhỏ
- megaAVR - loạt ATmega *
- XMEGA - dòng ATxmega
THIẾT BỊ KIẾN TRÚC
Flash, EEPROM và SRAM đều được tích hợp trên chip đơn. AVR không cần bộ nhớ ngoài trong hầu hết các ứng dụng. Một số thiết bị có tùy chọn bus song song bên ngoài để cho phép thêm bộ nhớ dữ liệu bổ sung hoặc bộ nhớ được ánh xạ
BỘ NHỚ
Hướng dẫn chương trình được lưu trữ trong bộ nhớ flash không bay hơi. Kích thước của bộ nhớ chương trình thường được chỉ định trong việc đặt tên thiết bị, ví dụ ATmega32A có 32KB flash.
Bộ nhớ dữ liệu nội bộ
Không gian địa chỉ dữ liệu bao gồm tệp đăng ký, thanh ghi I / O và SRAM
ĐĂNG KÝ NỘI BỘ
AVR có 32 thanh ghi byte đơn và được phân loại là thiết bị RISC 8 bit
I / O ĐĂNG KÝ TRONG AVR
Mỗi cổng bao gồm ba thanh ghi: DDRx, PORTx, PINx
- DDRx - Đăng ký hướng dữ liệu
- PORTx - Đăng ký cổng đầu ra, chỉ được sử dụng cho đầu ra
- PINx - Đăng ký đầu vào, chỉ được sử dụng để nhập
EEPROM
Bộ vi điều khiển AVR có EEPROM bên trong để lưu trữ dữ liệu vĩnh viễn như bộ nhớ flash EEPROM có thể duy trì nội dung của nó khi bị mất điện. Trong hầu hết các bộ nhớ EEPROM nội bộ AVR không được ánh xạ vào không gian bộ nhớ địa chỉ MCUs. Nó chỉ có thể được truy cập theo cùng một cách như thiết bị ngoại vi bên ngoài đang sử dụng con trỏ đăng ký và đọc / ghi lệnh mà làm cho EEPROM truy cập chậm hơn nhiều so với bộ nhớ RAM nội bộ khác.
THỰC HIỆN CHƯƠNG TRÌNH
Atmel của AVR có hai giai đoạn, thiết kế đường ống cấp đơn. Điều này có nghĩa là lệnh máy tiếp theo được tìm nạp khi lệnh hiện tại đang thực hiện. Hầu hết các lệnh chỉ mất một hoặc hai chu kỳ đồng hồ, điều này làm cho AVR tương đối nhanh hơn các bộ vi điều khiển 8 bit khác.
Không có nhận xét nào:
Đăng nhận xét