Báo cáo đề tài vi điều khiển AVR

45 820 0
Báo cáo đề tài vi điều khiển AVR

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Báo cáo đề tài vi điều khiển AVR

BÁO CÁO ĐỀ TÀI VI ĐIỀU KHIỂN AVR Nhóm av GVHD: ThS Lê Hoài Nghĩa NỘI DUNG • Tổng quan vi điều khiển AVR • Kiến trúc vi điều khiển AVR – Atmega16 • Giới thiệu PWM AVR điều khiển động DC • Các công cụ lập trình AVR &1.Tổng quan vi điều khiển AVR • AVR hãng Atmel chế tạo ra, họ VĐK 8bit theo công nghệ với tính mạnh tích hợp trong chip • AVR ổn định nhiều so với dòng VĐK 8051 • Tính họ AVR : - Giao diện SPI đồng bộ, giao tiếp I2C, USART - Các lối vào Bộ Timer/Counter 8bit 16bit lập trình - Tích hợp biến đổi ADC 10bit - Có sẵn kênh băm xung PWM - Bộ nhớ EEPROM Lịch sử phát triển AVR • • • Ban đầu AVR MCU (Micro Controller Unit) phát triển phòng ASIC (Application Specific IC) Trondheim Nauy, nơi mà người sáng lập Atmel Nauy làm việc sinh viên Và biết đến với tên µRISC (Micro RISC) Khi công nghệ bán cho Atmel, cấu trúc bên AVR phát triển xa Alf Vegard Atmel Nauy, công ty Atmel thành lập thành viên AVR viết tắt Advanced Virtual RISC, viết tắt cho người sáng lập: Alf and Vegard [RISC], Atmel nói AVR chẳng viết tắt Một sản phẩm AVR AT90S8515, có đóng gói DIP 40 chân giống 8051 vậy, bao gồm phức hợp địa thành phần bên data bus Điều khác biệt chân RESET (8051 RESET tích cực mức cao, AVR lại tích cực mức thấp), ngoại trừ điểm này, ngỏ giống Ưu MCU AVR • Kết nối phần cứng cho AVR đơn giản với linh kiện thông dụng điện trở, tụ điện, thạch anh Dòng điều khiển Port lớn không cần dùng điện trở kéo • Thiết kế mạch nạp cho AVR đơn giản giao tiếp qua cổng LPT, COM, USB Hỗ trợ ISP lập trình trực tiếp mạch • Hỗ trợ lập trình ngôn ngữ ASM, C với nhiều công cụ hỗ trợ CodeVision, AVR Studio Phân loại AVR a tinyAVRs : - 1-8 kB nhớ chương trình - 8-32 chân -Hạn chế thiết bị ngoại vi b.megaAVRs: - 4-256 kB nhớ chương trình -28-100 chân - Mở rộng tập lệnh -Nhiều thiết bị ngoại vi c XmegaAVRs: - 16-256 kB nhớ chương trình -44-100 chân - Mở rộng thiết bị DMA, "Event System", hỗ trợ mã hóa -Mở rộng thiết bị ngoại vi với DACs d Application specific AVRs: -megaAVRs với thành phần đặc biệt sản phẩm khác AVR LCD controller, USB controlller, PWN, CAN, v.v The New 32-Bit AVRs: Năm 2006 Atmel tung VDK mới, 32 bit, kiến trúc AVR32 Chúng bao gồm tập lệnh SIMD DSP, với thành phần xử lý audio video Dòng VDK 32 bit dự định cạnh tranh với VDK ARM Các tập lệnh giống với nhân RISC khác, không tương thích với dòng AVR trước nhân ARM khác Một số AVR phổ biến – – – – – – – – – – – – – – – – – – – – – – AT90S1200 AT90S2313 AT90S2323 and AT90S2343 AT90S2333 and AT90S4433 AT90S4414 and AT90S8515 AT90S4434 and AT90S8535 AT90C8534 ATtiny10, ATtiny11 and ATtiny12 ATtiny15 ATtiny22 ATtiny26 ATtiny28 ATmega8/8515/8535 ATmega16 ATmega161 ATmega162 ATmega163 ATmega169 ATmega32 ATmega323 ATmega103 ATmega64/128/2560/2561 &2 Kiến trúc vi điều khiển AVR Atmega16 • AVR có cấu trúc Harvard, đường truyền cho nhớ liệu (data memory bus) đường truyền cho nhớ chương trình (program memory bus) tách riêng Data memory bus có bit kết nối với hầu hết thiết bị ngoại vi, với register file Trong program memory bus có độ rộng 16 bits phục vụ cho instruction registers Sơ đồ chân Sơ đồ khối Code PWM chế độ Pharse Correct • Sử dụng kênh OC1A, O1CB: – Step1: OC1A, OC1B output: • DDRD=0x30=0b001100000; • PORTD=0x00; – Step2: PWM Mode Pharse Correct • TCCR1A=0xF1=0b11110001; – Step3: Select clock source • TCCR1B=0x8B; – Step4: set OCRL=0x00, OCRH=0x00; – Step5: bắt đầu PWM Một số mạch điều khiển động DC PWM • Mạch cầu H: Một số mạch điều khiển động DC PWM(tt) • Mạch Fet Role Một số mạch điều khiển động DC PWM(tt) • Mạch IC 298: &4.Các công cụ lập trình AVR • Thiết kế phần cứng • Lập trình điều khiển Thiết kế phần cứng • Thiết kế nguồn 5V cho AVR – Đây bước khởi đầu quan trọng cần thiết, nguồn ổn định cho AVR dù có làm mạch nạp đúng, cấu hình chương trình nạp,… AVR làm việc không tốt Dẫn đến việc chương trình nạp không đọc AVR – Sau sơ đồ nguồn 5V: Thiết kế phần cứng(tt) • Sơ đồ mạch nạp qua cổng LPT Thiết kế phần cứng(tt) Sơ đồ mạch nạp qua cổng LPT dùng IC đệm 74HC244 Thiết kế phần cứng(tt) • Mạch nạp qua cổng USB AVR 910 Thiết kế phần cứng(tt) • KẾT NỐI MẠCH NẠP VỚI AVR Lập trình điều khiển • Công cụ lập trình: – AVR Studio – CodeVision Lập trình Input-Output • Cấu trúc chân AVR phân biệt rõ chức (vào ra) trạng thái (0 1) từ ta có kiểu vào cho chân avr.Khác với 89 có trạng thái (0 1) Đặc biệt nguồn từ chân AVR đủ khoẻ để điều khiển Led trực tiếp (mA) 89 vài uA Để điều khiển chân có ghi ->PORTx :giá trị chân (0 – 1) truy cập tới bit PORTx.n ->DDRx : ghi trạng thái chân , vào Giá trị vào Lập trình Input-Output • • • Thanh ghi DDRx – Đây ghi bit (ta đọc ghi bit ghi này) có tác dụng điều khiển hướng cổng PORTx (tức cổng hay cổng vào) Nếu bit ghi set bit tương ứng PORTx định nghĩa cổng Ngược lại bit không set bit tương ứng PORTx định nghĩa cổng vào Thanh ghi PORTx – Đây ghi bit (các bit đọc ghi được) ghi liệu cổng Px trường hợp cổng định nghĩa cổng ta ghi bit lên ghi chân tương ứng port có mức logic Trong trường hợp mà cổng định nghĩa cổng vào ghi lại mang liệu điều khiển cổng Cụ thể bit ghi set (đưa lên mức 1) điện trở kéo lên (pull-up) chân tương ứng port kích hoạt Ngược lại trạng thái hi-Z Thanh ghi sau khởi động Vi điều khiểnsẽ có giá trị 0x00 Thanh ghi PINx – Đây ghi bit chứa liệu vào PORTx (trong trường hợp PORTx thiết lập cổng vào) đọc mà ghi vào Lập trình Input-Output • Để đọc liệu từ ta phải thực bước sau: – Đưa liệu ghi điều khiển DDRxn để đặt cho PORTx (hoặc bit n port) đầu vào (xóa ghi DDRx bit) – Sau kích hoạt điện trở pull-up cách set ghi PORTx ( bit) – Cuối đọc liệu từ địa PINxn (trong x: cổng n bit) • Để đưa liệu từ vi điều khiển cổng có bước hoàn toàn tương tự – Ban đầu ta phải định nghĩa cổng cách set bit tương ứng cổng đó….và sau ghi liệu bit tương ứng ghi PORTx Thanks so much…… [...]... Một số mạch điều khiển động cơ DC bằng PWM • Mạch cầu H: Một số mạch điều khiển động cơ DC bằng PWM(tt) • Mạch 1 Fet 1 Role Một số mạch điều khiển động cơ DC bằng PWM(tt) • Mạch IC 298: &4.Các công cụ lập trình AVR • Thiết kế phần cứng • Lập trình điều khiển Thiết kế phần cứng • Thiết kế nguồn 5V cho AVR – Đây là bước khởi đầu quan trọng và cần thiết, vì nếu không có bộ nguồn ổn định cho con AVR thì dù... lệnh đang thực thi được quyết định bởi một bộ đếm chương trình – PC (Program counter) Hầu hết các instruction đều được thực thi trong 1 chu kỳ xung clock &3 Giới thiệu PWM AVR điều khiển động cơ DC • PWM là cụm từ Pulse Witdth Modulation là một kỹ thuật dùng để điều khiển động cơ DC bằng cách điều chỉnh độ rộng của xung Khoảng thời gian mà xung ở mức logic cao sẽ ứng với thời gian có dòng điện qua động... trình được vi t sau địa chỉ đó Memorry(tt) • Bộ nhớ dữ liệu SRAM Memorry • Đâ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 và bộ nhớ này gồm các phần sau: – Phần 1: là phần đầu tiên trong bộ nhớ dữ liệu bao gồm 32 thanh General Purpose Rgegister – GPR Tất cả các thanh ghi này đều là các thanh ghi 8 bits Tất cả các chip trong họ AVR đều bao... điện qua động cơ và ngược lại PWM sử dụng kỹ thuật đóng mở nguồn cung cấp cho động cơ với những khoảng thời gian giãn cách khác nhau từ đó điều khiển được tốc độ của động cơ Cấu tạo động cơ DC • Động cơ một chiều được ứng dụng rộng rãi trong rất nhiều lĩnh vực điều khiển tự động Cấu tạo của động cơ một chiều gồm có Stato và Roto • Stato thường làm bằng nam châm vĩnh cửu hoặc nam châm điện ở những động... cho AVR – Đây là bước khởi đầu quan trọng và cần thiết, vì nếu không có bộ nguồn ổn định cho con AVR thì dù có làm mạch nạp đúng, cấu hình đúng các chương trình nạp,… AVR vẫn làm vi c không tốt Dẫn đến vi c chương trình nạp không đọc được AVR – Sau đây là sơ đồ nguồn 5V: ... nhớ chương trình Flash • Bộ nhớ Flash 16KB của ATmega16 dùng để lưu trữ chương trình với độ rộng 16 bit Do các lệnh của AVR có độ dài 16 hoặc 32 bit nên bộ nhớ Flash được sắp xếp theo kiểu 8KX16 Bộ nhớ chương trình chỉ gồm 1 phần là Application Flash Section nhưng trong các chip AVR mới chúng ta có thêm phần Boot Flash section Boot Section Thực chất, application section bao gồm 2 phần: phần chứa các... sánh đảo thì các giá trị là ngược lại.Với hoạt động hai sườn xung này thì chế độ này không tạo ra được tần số nhỏ như chế độ một sườn xung Nhưng do tính cân đối của hai sườn xung thì nó tốt hơn cho điều khiển động cơ PWM Timer 1 – 16 bit • Step 1: pin PWM là output bằng cách set giá trị trong thanh ghi DDRn.X • Step 2: chọn chế độ PWM bằng cách set thanh ghi TCCR1A • Step 3: chọn xung clock bằng cách... Trong chế độ đảo ,đầu ra đảo sẽ được set lên 1 khi sự so sánh giữa thanh ghi ORC và giá trị trong Timer bằng nhau và sẽ bị xoá khi giá trị đạt Bottom.Trong cả hai trường hơp này tần số của chế đô Fast PWM đều gấp đôi so với chế độ phase correct PWM sử dụng hai sườn dốc Các chế độ định thời(tt) • Chế độ Phase correct PWM: Chế độ này hoạt động dựa trên hai sườn lên xuống.Bộ đếm sẽ đếm liên tục từ giá trị... ADC chuyển đổi tương tự số Port A thiết kế với điện trở nội treo lên ở mức cao Là port xuất nhập thông thường 8 bit Các chân khác: » VCC, AVCC, AREF, XTAL1, XTAL2, RESET CPU CPU (tt) • ALU: – ALU làm vi c trực tiếp với các thanh ghi chức năng chung Các phép toán được thực hiện trong một chu kỳ xung clock Hoạt động của ALU được chia làm 3 loại: đại số, logic và theo bit • Thanh ghi trạng thái: – Đây... từ R0 đến R15 và phần 2 là các thanh ghi R16 đến R31 – Phần 2: là phần nằm ngay sau SFR bao gồm 64 thanh ghi IO hay còn gọi là vùng nhớ IO Vùng nhớ I/O là cửa ngõ giao tiếp giữa CPU và thiết bị ngoại vi Vùng nhớ I/O có thể được truy cập như SRAM hay như các thanh ghi I/O Nếu sử dụng instruction truy xuất SRAM để truy xuất vùng nhớ này thì địa chỉ của chúng được tính từ 0x0020 đến 0x005F Nhưng nếu truy

Ngày đăng: 13/08/2016, 20:37

Từ khóa liên quan

Mục lục

  • BÁO CÁO ĐỀ TÀI VI ĐIỀU KHIỂN AVR

  • NỘI DUNG

  • &1.Tổng quan về vi điều khiển AVR

  • Lịch sử phát triển AVR

  • Ưu thế của MCU AVR

  • Phân loại AVR

  • Một số AVR phổ biến

  • &2. Kiến trúc vi điều khiển AVR Atmega16

  • Sơ đồ chân

  • Sơ đồ khối

  • Các Port xuất nhập

  • CPU

  • CPU (tt)

  • CPU(tt)

  • Slide 15

  • Memorry

  • Memorry(tt)

  • Memorry

  • Slide 19

  • Quá trình thực thi lệnh

Tài liệu cùng người dùng

Tài liệu liên quan