Giới thiệu tổng quan về Atmega16, tim hiểu vi điều khiển Atmega16 là gì, kiến trúc, sơ đồ chân, chức năng các chân, các ứng dụng, datasheet và nhiều thông tin hữu ích khác
Bộ vi điều khiển đóng một vai trò quan trọng trong sự phát triển của các hệ thống nhúng. Nó được sử dụng khi tự động hóa là một phần không thể thiếu của hệ thống. Trong bài viết này, Điện Tử Tương Lai sẽ giới thiệu về Atmega16. Nó là vi điều khiển 8-bit công suất thấp 40 chân được phát triển bằng công nghệ CMOS và dựa trên kiến trúc AVR. Đây là vi điều khiển AVR được sử dụng phổ biến nhất thuộc họ Atmel Mega. Bạn phải cũng phải xem qua vi điều khiển có tên Atmega328 cũng thuộc họ mega. Các bộ vi điều khiển khác thuộc danh mục AVR là Atmega 8 và Atmega 32. Tất cả các vi điều khiển này thực hiện các tác vụ tương tự, tuy nhiên chúng chỉ khác nhau về kích thước bộ nhớ và giá. Chúng ta sẽ tìm hiểu về từng bộ điều khiển. và mọi thứ liên quan đến bộ điều khiển này, vì vậy bạn không cần phải tìm kiếm đâu xa mà sẽ có tất cả thông tin ở Điện Tử Tương Lai. Hãy đi sâu và khám phá atmega16 là gì, các tính năng chính của nó, sơ đồ chân và mọi thứ bạn cần biết.
Giới thiệu ATmega16
Atmega16 là bộ vi điều khiển công suất thấp 40 chân được phát triển bằng công nghệ CMOS.
CMOS là một công nghệ tiên tiến được sử dụng chủ yếu để phát triển các mạch tích hợp. Nó có mức tiêu thụ điện năng thấp và khả năng chống nhiễu cao.
Atmega16 là bộ điều khiển 8-bit dựa trên kiến trúc RISC (Reduced Instruction Set Computing) tiên tiến AVR. AVR là dòng vi điều khiển được Atmel phát triển vào năm 1996.
Nó là một máy tính chip đơn đi kèm với CPU, ROM, RAM, EEPROM, bộ định thời, bộ đếm, ADC và bốn cổng 8-bit được gọi là PORTA, PORTB, PORTC, PORTD trong đó mỗi cổng bao gồm 8 chân I / O.
Atmega16 có các thanh ghi tích hợp được sử dụng để tạo kết nối giữa CPU và các thiết bị ngoại vi bên ngoài. CPU không có kết nối trực tiếp với các thiết bị bên ngoài. Nó có thể nhận đầu vào bằng cách đọc thanh ghi và đưa ra đầu ra bằng cách ghi thanh ghi.
Atmega16 đi kèm với hai bộ định thời 8 bit và một bộ định thời 16 bit. Tất cả các bộ định thời này có thể được sử dụng làm bộ đếm khi chúng được tối ưu hóa để đếm tín hiệu bên ngoài.
Hầu hết các thiết bị ngoại vi cần thiết để chạy các chức năng tự động đều được tích hợp trong thiết bị này như ADC (bộ chuyển đổi analog sang kỹ thuật số), bộ so sánh tương tự, USART, SPI, giúp tiết kiệm hơn so với bộ vi xử lý yêu cầu thiết bị ngoại vi bên ngoài thực hiện các chức năng khác nhau.
Atmega16 đi kèm với 1KB RAM tĩnh là một bộ nhớ dễ bay hơi, tức là lưu trữ thông tin trong thời gian ngắn và phụ thuộc nhiều vào nguồn điện liên tục. Trong khi đó 16KB bộ nhớ flash, còn được gọi là ROM, cũng được tích hợp trong thiết bị với bản chất không bay hơi và có thể lưu trữ thông tin trong thời gian dài và không bị mất bất kỳ thông tin nào khi nguồn điện bị ngắt.
Atmega16 hoạt động trên tần số tối đa 16MHz, các lệnh được thực hiện trong một chu kỳ máy.
Kiến trúc của Atmega16
Kiến trúc của Atmega16 dựa trên Kiến trúc Harvard và đi kèm với các bus và bộ nhớ riêng biệt. Các lệnh được lưu trữ trong bộ nhớ chương trình.
CPU giống như bộ não của vi điều khiển giúp thực hiện một số lệnh. Nó có thể xử lý các ngắt, thực hiện các phép tính và điều khiển các thiết bị ngoại vi với sự trợ giúp của các thanh ghi. Atmega16 đi kèm với hai bus gọi là bus hướng dẫn và bus dữ liệu. CPU đọc lệnh trong bus hướng dẫn trong khi bus dữ liệu được sử dụng để đọc hoặc ghi dữ liệu tương ứng. CPU chủ yếu bao gồm bộ đếm chương trình, các thanh ghi mục đích chung, stack pointer, thanh ghi lệnh và bộ giải mã lệnh.
Chương trình điều khiển được lưu trữ trong ROM, còn được gọi là bộ nhớ flash lập trình không bay hơi. Bộ nhớ flash có độ phân giải ít nhất 10.000 chu kỳ ghi / xóa. Bộ nhớ flash chủ yếu được chia thành hai phần được gọi là phần flash ứng dụng và phần flash booth. Chương trình của bộ điều khiển được lưu trữ trong phần flash ứng dụng. Trong khi phần flash booth được tối ưu hóa để hoạt động trực tiếp khi bộ điều khiển được bật nguồn.
SRAM (bộ nhớ truy cập ngẫu nhiên tĩnh) được sử dụng để lưu trữ thông tin tạm thời và đi kèm với các thanh ghi 8-bit, giống như một RAM máy tính thông thường được sử dụng để cung cấp dữ liệu thông qua thời gian chạy.
EEPROM (Bộ nhớ chỉ đọc có thể xóa bằng điện tử) là bộ nhớ không thay đổi được sử dụng như một bộ lưu trữ thời gian dài. Nó không liên quan đến việc thực thi chương trình chính. Nó được sử dụng để lưu trữ cấu hình của hệ thống và các thông số thiết bị tiếp tục hoạt động trong thiết lập lại bộ xử lý ứng dụng. EEPROM đi kèm với chu kỳ ghi giới hạn lên đến 100.000 trong khi chu kỳ đọc là không giới hạn. Trong khi sử dụng EEPROM, hãy viết các lệnh tối thiểu theo yêu cầu, để bạn có thể nhận được lợi ích từ bộ nhớ này trong thời gian dài hơn.
Ngắt được sử dụng cho trường hợp khẩn cấp đặt chức năng chính ở trạng thái chờ và thực hiện các lệnh cần thiết tại thời điểm đó. Khi ngắt được gọi và thực thi, mã sẽ chuyển trở lại chương trình chính.
Module I / O kỹ thuật số được sử dụng để thiết lập giao tiếp kỹ thuật số giữa bộ điều khiển và các thiết bị bên ngoài. Trong khi module I / O analog được sử dụng để truyền thông tin analog. Bộ so sánh analog và ADC thuộc loại module I / O analog.
Bộ định thời được sử dụng để tính toán tín hiệu bên trong bộ điều khiển. Atmega16 đi kèm với hai bộ định thời 8 bit và một bộ định thời 16 bit. Tất cả bộ định thời này hoạt động như một bộ đếm khi chúng được tối ưu hóa cho các tín hiệu bên ngoài.
Watchdog timer là một bổ sung đáng chú ý trong bộ điều khiển này được sử dụng để tạo ngắt và đặt lại bộ định thời. Nó đi kèm với nguồn CLK riêng biệt 128kHz.
Atmega16 đi kèm với các đơn vị USART và SPI được sử dụng để phát triển giao tiếp nối tiếp với các thiết bị bên ngoài.
Sơ đồ chân Atmega16
Atmega16 được ưa thích hơn các bộ vi điều khiển khác như Atmel 8051 vì nó có khả năng thực thi các lệnh nhanh hơn nhiều và bao gồm bộ xử lý RISC đã được sửa đổi.
Nó có một flash tích hợp đi kèm với các tính năng của một bộ nạp khởi động. Nó có ADC, SPI, PWM và EEPROM 10-bit được tích hợp sẵn.
Mô tả chân của Atmega16
Atmega16 có 40 chân, mỗi chân được sử dụng để thực hiện một nhiệm vụ cụ thể, có tổng cộng 32 chân I / O và bốn cổng, mỗi cổng bao gồm 8 chân I / O.
PORTA = 8 chân (Chân 33-40)
PORTB = 8 chân (Chân 1-8)
PORTC = 8 chân (Chân 22-29)
PORTD = 8 chân (Chân 14-21)
Sau đây là các chức năng chính liên quan đến các chân.
PORTA: Các chân từ 33 đến 40 thuộc PORTA. Nó hoạt động giống như đầu vào analog cho bộ chuyển đổi A / D. Tuy nhiên, trong trường hợp không có bộ chuyển đổi A / D, PORTA được sử dụng làm cổng I / O hai chiều 8 bit. Nó đi kèm với điện trở kéo bên trong.
PORTB: Các chân từ 1 đến 8 thuộc về PORTB. Đây là các chân hai chiều I / O. Cổng này cũng bao gồm các điện trở kéo lên bên trong.
PORTC: PORTC là cổng I / O hai chiều bao gồm 8 chân. Chân từ 22 đến 29 thuộc về cổng này, tương tự như các cổng khác, nó đi kèm với điện trở kéo bên trong.
PORTD: Chân từ 14 đến 21 thuộc về cổng này. Đây là cổng hai chiều trong đó mỗi chân có thể được sử dụng làm chân đầu vào hoặc đầu ra. Tuy nhiên, có các tính năng bổ sung liên quan đến cổng này như ngắt, giao tiếp nối tiếp, bộ hẹn giờ và PWM.
Reset: Chân 9 là chân reset mức thấp đang hoạt động. Xung mức thấp dài hơn độ dài xung tối thiểu sẽ tạo ra reset. Các xung ngắn không có khả năng tạo ra reset.
VCC: Chân 10 là chân cấp nguồn cho bộ điều khiển này. Nguồn điện của cần phải có 5 V để đặt bộ điều khiển này trong điều kiện đang chạy.
GND: Chân 11 là chân nối đất.
AREF: Chân 32 là chân tham chiếu tương tự chủ yếu được sử dụng cho bộ chuyển đổi A / D .
AVCC: Chân 30 là AVCC là chân điện áp cung cấp cho PORTA và ADC. Nó được kết nối với VCC thông qua bộ lọc thông thấp khi có ADC. Tuy nhiên, trong trường hợp không có ADC, AVCC được kết nối bên ngoài với VCC.
Chân 12 & 13: Một bộ dao động tinh thể được kết nối với các chân này. Atmega16 hoạt động ở tần số bên trong 1MHZ; bộ dao động được thêm vào để tạo ra xung clock và tần số cao.
Các ứng dụng
Bộ điều khiển AVR đi kèm với một loạt các ứng dụng cần tự động hóa. Sau đây là các ứng dụng chính của Atmega16.
Thiết bị y tế
Tự động hóa nhà
Những hệ thống nhúng
Project Arduino
Được sử dụng trong ô tô và tự động hóa công nghiệp
Thiết bị gia dụng và hệ thống an ninh
Thiết bị kiểm soát nhiệt độ và áp suất
Hotline: 0979 466 469