Các loại vi điều khiển AVR - Atmega32 & ATmega8

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





ATmega32 - Vi điều khiển AVR 8 bit

Các bộ vi điều khiển AVR dựa trên kiến ​​trúc RISC tiên tiến. ATmega32 là vi điều khiển CMOS 8-bit công suất thấp dựa trên kiến ​​trúc RISC nâng cao AVR. AVR có thể thực hiện 1 triệu lệnh mỗi giây nếu tần số chu kỳ là 1MHz.

40 pin DIP Ảnh của ATmega32

40 pin DIP Ảnh của ATmega32



Các tính năng chính:


  • 32 x 8 thanh ghi mục đích làm việc chung.
  • 32K byte trong bộ nhớ chương trình flash tự lập trình của hệ thống
  • 2K byte SRAM nội bộ
  • 1024 byte EEPROM
  • Có sẵn trong DIP 40 chân, 44 đạo trình QTFP, 44-pad QFN / MLF
  • 32 dòng I / O có thể lập trình
  • 8 kênh, 10 bit ADC
  • Hai bộ định thời / bộ đếm 8 bit với các bộ đếm trước riêng biệt và các chế độ so sánh
  • Một bộ đếm thời gian / bộ đếm 16 bit với bộ đếm trước riêng biệt, chế độ so sánh và chế độ chụp.
  • 4 kênh PWM
  • Trong lập trình hệ thống bằng chương trình khởi động trên chip
  • Bộ đếm thời gian chó đồng hồ có thể lập trình với bộ dao động trên chip riêng biệt.
  • USART nối tiếp có thể lập trình
  • Giao diện nối tiếp SPI chính / phụ

Các tính năng đặc biệt của vi điều khiển:

  • Sáu chế độ ngủ: Chờ, giảm tiếng ồn ADC, tiết kiệm điện, tắt nguồn, chờ và chế độ chờ mở rộng.
  • Bộ dao động RC hiệu chỉnh bên trong
  • Nguồn ngắt bên ngoài và bên trong
  • Bật nguồn đặt lại và phát hiện màu nâu có thể lập trình.
DIP 40 chân của ATmega32

DIP 40 chân của ATmega32



Tất cả 32 thanh ghi được kết nối trực tiếp với Đơn vị Logic Số học (ALU), cho phép truy cập hai thanh ghi độc lập trong một lệnh duy nhất được thực thi trong một chu kỳ đồng hồ.

Việc tắt nguồn giúp lưu nội dung thanh ghi nhưng đóng băng bộ dao động. Tất cả các chức năng khác của chip sẽ bị vô hiệu hóa cho đến khi phát sinh ngắt bên ngoài tiếp theo. Bộ hẹn giờ không đồng bộ cho phép người dùng duy trì bộ hẹn giờ ở chế độ tiết kiệm điện trong khi phần còn lại của thiết bị đang ngủ.

Chế độ giảm nhiễu ADC dừng CPU và tất cả các mô-đun I / O ngoại trừ ADC và bộ định thời không đồng bộ. Ở chế độ chờ, ngoại trừ bộ dao động tinh thể, phần còn lại của thiết bị đang ở chế độ ngủ. Cả bộ dao động chính và bộ định thời không đồng bộ tiếp tục chạy ở chế độ chờ mở rộng.

ATmega32 là một bộ vi điều khiển mạnh mẽ vì đèn flash tự lập trình trong hệ thống trên một chip nguyên khối, cung cấp giải pháp linh hoạt và hiệu quả về chi phí cho nhiều ứng dụng điều khiển nhúng.


44-pad TQFP / MLF

44-pad TQFP / MLF

Mô tả ghim:

VCC: Cung cấp điện áp kỹ thuật số

GND: Đất

Cổng A (PA7-PA0): Cổng này đóng vai trò là đầu vào tương tự cho bộ chuyển đổi A / D. Nó cũng hoạt động như một cổng I / O hai chiều 8 bit nếu bộ chuyển đổi A / D không được sử dụng.

Cổng B (PB7-PB0) & Cổng D (PD7-PD0): Nó là một cổng I / O hai chiều 8 bit. Bộ đệm đầu ra của nó có đặc tính truyền động đối xứng với cả khả năng chìm và nguồn cao. Là đầu vào, chúng được kéo cực kỳ thấp nếu kích hoạt điện trở kéo lên. Nó cũng phục vụ các tính năng chức năng đặc biệt khác nhau của ATmega32.

Cổng C (PC7-PC0): Nó là một cổng I / O hai chiều 8 bit. Nếu giao diện JTAG được bật, các điện trở kéo lên trên các chân PC5 (TDI), PC3 (TMS) và PC2 (TCK) sẽ được kích hoạt.

Giao diện JTAG sử dụng cổng C của ATmega32

Giao diện JTAG sử dụng cổng C của ATmega32

Cài lại: Nó là một đầu vào.

XTAL1: Nó là một đầu vào cho bộ khuếch đại dao động đảo và đầu vào cho mạch điều hành xung nhịp bên trong.

XTAL2: Nó là một đầu ra từ bộ khuếch đại dao động đảo.

AVCC: Nó là chân cấp điện áp cho cổng A và bộ chuyển đổi A / D. Nó phải được kết nối với VCC.

VÙNG: AREF là chân tham chiếu tương tự cho bộ chuyển đổi A / D.

Kỷ niệm ATmega32:

Nó có hai không gian bộ nhớ chính là bộ nhớ dữ liệu và không gian bộ nhớ chương trình. Ngoài ra nó còn có bộ nhớ EEPROM để lưu trữ dữ liệu.

Trong bộ nhớ chương trình Flash có thể lập trình hệ thống:

ATmega32 chứa 32Kbyte trên chip trong bộ nhớ flash có thể lập trình lại hệ thống để lưu trữ chương trình. Flash được tổ chức dưới dạng 16k X 16 và bộ nhớ của nó được chia thành hai phần Phần chương trình khởi động và phần chương trình ứng dụng.

Sơ đồ mạch lập trình ISP

Sơ đồ mạch lập trình ISP

Bộ nhớ dữ liệu SRAM:

Tệp Đăng ký, bộ nhớ I / O và SRAM dữ liệu bên trong được xử lý bởi 2144 vị trí bộ nhớ dữ liệu thấp hơn. 96 vị trí đầu tiên giải quyết tệp Đăng ký và bộ nhớ I / O, và dữ liệu nội bộ SRAM được giải quyết bởi 2048 vị trí tiếp theo. Trực tiếp, gián tiếp với dịch chuyển, gián tiếp, gián tiếp với giảm trước và trực tiếp với giảm sau là 5 chế độ định địa chỉ khác nhau cho vùng bao phủ bộ nhớ dữ liệu. 32 thanh ghi mục đích chung, 64 thanh ghi I / O và 2048 byte dữ liệu nội bộ SRAM có thể truy cập được bằng cách sử dụng các chế độ định địa chỉ này.

Sơ đồ khối của ATmega32

Sơ đồ khối của ATmega32

Bộ nhớ dữ liệu EEPROM:

Nó chứa 1024 byte bộ nhớ EEPROM dữ liệu. Nó có thể được truy cập như một không gian dữ liệu riêng biệt trong đó các byte đơn lẻ có thể được đọc và ghi.

Bộ nhớ I / O:

Tất cả I / Os và thiết bị ngoại vi được đặt trong không gian I / O. Các vị trí I / O được truy cập bằng lệnh IN và OUT, chuyển dữ liệu giữa 32 thanh ghi đa năng và không gian I / O. Thanh ghi I / O có địa chỉ 00-1F có thể truy cập trực tiếp bit bằng cách sử dụng các lệnh SBI và CBI.

ATmega8

Giới thiệu

Nó là một vi điều khiển CMOS 8 bit được xây dựng từ họ AVR (được phát triển bởi Atmel Corporation vào năm 1996) và được xây dựng trên kiến ​​trúc RSIC (Máy tính Bộ hướng dẫn giảm). Ưu điểm cơ bản của nó là nó không chứa bất kỳ bộ tích lũy nào và kết quả của bất kỳ hoạt động nào có thể được lưu trữ trong bất kỳ thanh ghi nào, được định nghĩa bởi lệnh.

Ngành kiến ​​trúc

Ngành kiến ​​trúc

Ngành kiến ​​trúc

Ký ức

Nó bao gồm 8KB bộ nhớ flash, 1KB SRAM và 512 byte EEPROM. Đèn flash 8K được chia thành 2 phần - phần dưới được sử dụng làm phần flash khởi động và phần trên được sử dụng làm phần flash ứng dụng. SRAM chứa 1K byte cùng với 1120 byte thanh ghi mục đích chung và thanh ghi I / O. 32 vị trí địa chỉ thấp hơn được sử dụng cho 32 thanh ghi 8 bit mục đích chung. 64 địa chỉ tiếp theo được sử dụng cho các thanh ghi I / O. Tất cả các thanh ghi được kết nối trực tiếp với ALU. EEPROM được sử dụng để lưu trữ dữ liệu do người dùng xác định.

Cổng đầu vào / đầu ra

Nó bao gồm 23 dòng I / O với 3 cổng I / O, được đặt tên là B, C và D. Cổng B gồm 8 dòng I / O, cổng C gồm 7 dòng I / O và cổng D gồm 8 dòng I / O các dòng.

Các thanh ghi tương ứng với bất kỳ portX (B, C hoặc D) nào là:

DDRX : Thanh ghi hướng dữ liệu cổng X

PORTX : Thanh ghi dữ liệu cổng X

PINX : Thanh ghi đầu vào cổng X

Bộ hẹn giờ và bộ đếm

Nó bao gồm 3 bộ hẹn giờ với các chế độ có thể so sánh được. Hai trong số đó là 8 bit trong khi cái thứ ba là 16 bit.

Dao động

Nó kết hợp thiết lập lại nội bộ và bộ tạo dao động giúp loại bỏ sự cần thiết của bất kỳ đầu vào bên ngoài nào. Bộ dao động RC bên trong có khả năng tạo xung nhịp bên trong có thể chạy ở bất kỳ tần số nào 1MHz, 2MHz, 4MHz hoặc 8MHz như được lập trình. Nó cũng hỗ trợ bộ dao động bên ngoài với tần số tối đa 16MHz.

Giao tiếp

Nó cung cấp cả sơ đồ truyền dữ liệu đồng bộ và không đồng bộ thông qua USART (Bộ truyền nhận đồng bộ và không đồng bộ đa năng), tức là giao tiếp với modem và các thiết bị nối tiếp khác. Nó cũng hỗ trợ SPI (Giao diện ngoại vi nối tiếp) được sử dụng để giao tiếp giữa các thiết bị dựa trên phương thức chủ-tớ. Một loại giao tiếp khác được hỗ trợ là TWI (Giao diện hai dây). Nó cho phép hoán vị giữa hai thiết bị bất kỳ bằng cách sử dụng 2 dây cùng với kết nối đất chung.

Nó cũng có một mô-đun so sánh tích hợp trong chip để so sánh giữa hai điện áp được kết nối với hai đầu vào của bộ so sánh Analog thông qua các chip bên ngoài.

Nó cũng chứa một ADC 6 kênh, trong đó 4 kênh có độ chính xác 10 bit và 2 kênh có độ chính xác 8 bit.

Đăng kí trạng thái : Nó chứa thông tin về tập lệnh số học đang được thực thi.

Sơ đồ chân ATmega :

Sơ đồ chân ATmega

Sơ đồ chân ATmega

Một trong những tính năng quan trọng của ATmega8 là ngoại trừ 5 chân, tất cả các chân khác đều hỗ trợ hai tín hiệu.

  • Các chân 23,24,25,26,27,28 và 1 được sử dụng cho cổng C, trong khi các chân 9,10,14,15,16,17,18,19 được sử dụng cho cổng B và các chân 2,3,4, 5,6,11,12 được sử dụng cho cổng D.
  • Chân 1 cũng là chân Đặt lại và một tín hiệu mức thấp áp dụng trong thời gian dài hơn độ dài xung tối thiểu sẽ tạo ra thiết lập lại.
  • Chân 2 và 3 cũng được sử dụng để giao tiếp nối tiếp cho USART.
  • Các chân 4 và 5 được sử dụng làm ngắt ngoài. Một trong số chúng sẽ kích hoạt khi bit cờ ngắt của thanh ghi trạng thái được đặt và cái còn lại sẽ kích hoạt miễn là điều kiện ngắt chiếm ưu thế.
  • Các chân 9 và 10 được sử dụng làm bộ dao động bên ngoài cũng như bộ tạo dao động bộ đếm thời gian nơi tinh thể được kết nối trực tiếp giữa các chân. Chân 10 được sử dụng cho bộ dao động tinh thể hoặc bộ dao động tinh thể tần số thấp. Nếu bộ dao động RC được hiệu chỉnh bên trong được sử dụng làm nguồn đồng hồ và bộ định thời không đồng bộ được bật, các chân này có thể được sử dụng làm chân bộ dao động bộ định thời.
  • Chân 19 được sử dụng làm đầu ra Master Clock, đầu vào xung nhịp phụ cho kênh SPI.
  • Chân 18 được sử dụng làm đầu vào xung nhịp Master, đầu ra xung nhịp phụ.
  • Chân 17 được sử dụng làm đầu ra dữ liệu Master, đầu vào dữ liệu phụ cho kênh SPI. Nó được sử dụng làm đầu vào khi được kích hoạt bởi phụ và có hai chiều khi được kích hoạt bởi chính. Chân này cũng có thể được sử dụng như một đầu ra đối sánh so sánh đầu ra, phục vụ như một đầu ra bên ngoài cho khớp so sánh bộ đếm thời gian / bộ đếm.
  • Pin16 được sử dụng như một đầu vào chọn phụ. Nó cũng có thể được sử dụng như một khớp so sánh bộ đếm thời gian / bộ đếm1 bằng cách định cấu hình chân PB2 làm đầu ra.
  • Pin15 có thể được sử dụng như một đầu ra bên ngoài cho khớp so sánh bộ đếm thời gian / bộ đếm A.
  • Các chân 23 đến 28 được sử dụng cho các kênh ADC. Chân 27 cũng có thể được sử dụng làm đồng hồ giao diện nối tiếp và chân 28 có thể được sử dụng làm dữ liệu giao diện nối tiếp
  • Chân 13 và 12 được sử dụng làm đầu vào của Bộ so sánh tương tự.
  • Chân 11 và 6 được sử dụng làm nguồn bộ đếm / hẹn giờ.

Chế độ ngủ của vi điều khiển

Bộ vi điều khiển hoạt động ở 6 chế độ nghỉ.

  • Chế độ nhàn rỗi: Nó dừng hoạt động của CPU, nhưng cho phép hoạt động của SPI, USART, ADC, TWI, Timer / Counter và Watchdog và ngắt hệ thống. Nó đạt được bằng cách đặt các bit SM0 đến SM2 của cờ thanh ghi MCU về không.
  • Chế độ giảm tiếng ồn ADC : Nó dừng CPU nhưng cho phép hoạt động của ADC, ngắt bên ngoài, bộ đếm thời gian / bộ đếm2 và cơ quan giám sát.
  • Chế độ tắt nguồn : Nó cho phép ngắt bên ngoài, giao diện nối tiếp 2 dây, cơ quan giám sát trong khi vô hiệu hóa bộ dao động bên ngoài. Nó dừng tất cả các đồng hồ được tạo.
  • Chế độ tiết kiệm năng lượng : Nó được sử dụng khi Timer / Counter được tạo xung nhịp không đồng bộ. Nó tạm dừng tất cả các đồng hồ ngoại trừ clkNHƯ VẬY.
  • Chế độ chờ : Ở chế độ này, bộ dao động được phép hoạt động, tạm dừng tất cả các hoạt động khác.

Ứng dụng liên quan đến Atmega8

Đèn LED nhấp nháy

Các ứng dụng liên quan đến Atmega8

Lược đồ LEd nhấp nháy

Chương trình được viết bằng ngôn ngữ C và lần đầu tiên được biên dịch dưới dạng tệp .c. Công cụ phần mềm ATMEL sẽ chuyển đổi tệp này thành tệp đối tượng ELF nhị phân. Sau đó, nó lại được chuyển đổi thành tệp hex. Sau đó, tệp hex được chuyển đến bộ vi điều khiển bằng chương trình AVR dude.

Tín dụng Hình ảnh: