tailieunhanh - Tổng quan về VĐK AVR
AVR do hãng Atmel chế tạo ra, là họ VĐK 8bit theo công nghệ mới với những tính năng rất mạnh được tích hợp trong trong chip. AVR ổn định hơn rất nhiều so với dòng VĐK 8051. Tính năng mới của họ AVR: - Giao diện SPI đồng bộ, giao tiếp I2C, USART. - Các lối vào ra lập trình được. - Tích hợp bộ biến đổi ADC 10 bit | Sơ lược về kiến trúc VĐK AVR do hãng Atmel chế tạo ra, là họ VĐK 8bit theo công nghệ mới với những tính năng rất mạnh được tích hợp trong trong chip. AVR ổn định hơn rất nhiều so với dòng VĐK 8051 Tính năng mới của họ AVR : Giao diện SPI đồng bộ, giao tiếp I2C, USART. Các lối vào ra lập trình được. Tích hợp bộ biến đổi ADC 10bit. Có sẵn các kênh băm xung PWM. Bộ Timer/Counter 8bit và 16bit rất mạnh. Bộ định thời Watchdog. Bộ nhớ EEPROM. Cấu trúc bộ nhớ Cũng như mọi vi điều khiển khác AVR có cấu trúc Harvard tức là có bộ nhớ và đường bus riêng cho bộ nhớ chương trình và bộ nhớ dữ liệu. Bộ nhớ dữ liệu AVR có 32 thanh ghi chức năng chung và chúng được liên kết trực tiếp với ALU đây là điểm khác biệt của AVR và tạo cho nó một tốc độ xử lý cực cao. Các thanh ghi được đặt tên từ R0 tới R31. Và đặc biệt cặp 6 thanh ghi cuối (từ R6 tới R31) từng đôi một tao thành các thanh ghi 16 bit sử dụng làm con trỏ trỏ tới bộ nhớ chương trình và dữ liệu. Chúng lần lượt có tên là X, Y, Z. Bộ nhớ chương trình Bộ nhớ chương trình có địa chỉ từ 0000H tới 0010H được dành cho bảng véc tơ ngắt. Các dòng VĐK AVR Atmega 88. Atmega 16. Atmega 128. Atmega8. Attiny 2113. v v vv Giới thiệu VĐK Atmega 16 Atmega 16 có đầy đủ tính năng của họ AVR, có giá thành phù hợp khi nghiên cứu và ứng dụng. Tính năng: Bộ nhớ 16K(Flash) – 512 byte EEPROM – 1 K. Đống vỏ 40 chân, trong đó có 32 chân vào ra dữ liệu. Giao tiếp SPI, I2C, USART. 8 kênh ADC 10bit, 1 bộ so sánh analog. 4 kênh PWM. 2 bộ Timer/Counter 8bit, 1 bộ Timer/Counter 16bit. 1 bộ định thời Watchdog. Mô tả các chân Vcc và Gnd là 2 chân cấp nguồn cho VĐK. Reset là chân khởi động lại mọi hoạt động của hệ thống. XTAL1 và XTAL2 là các chân tạo bộ dao động ngoài cho VĐK. Chân Vref thường nối lên 5V, nhưng khi sử dụng ADC thì chân này được sử dụng làm điện áp so đó chân này phải được cấp 1 điện áp cố định. Các chân AVCC thường được nối lên VCC nhưng khi sử dụng ADC thì các chân này được nối qua 1 cuộn cảm lên VCC với mục đích ổn định điện áp cho bộ biến đổi. Các PORTA, PORTB, PORTC, PORTD đều 8 bit có trở kéo lên trong vừa có thể làm đầu ra, vừa làm đầu vào. Lập trình cổng vào ra dùng CodeVision Bài này ta sử dụng phần mềm thông dụng CodeVision để lập trình cổng vào ra cho Atmega16 bằng cách tác động vào thanh ghi PORTxx và DDRxx. DDRxx : để điều khiển các hướng dữ liệu các chân của cổng. Khi DDRxx=0 thì dùng làm cổng vào, ngược lại, khi DDRxx=1 thì dùng làm cổng ra. PORTxx: truy cập tại các địa chỉ xuất nhập của PORTx Trong bài này chúng ta xây dựng chương trình đầu tiên, ct này sẽ làm nhấp nháy led. Ta phải sử dụng hàm delay_ms() trong thư viện “” để tạo trễ trong chương trình. Do đó ta phải chèn thư viện này vào. Các bạn thêm dòng #include vào ngay sau dòng #include . Để nhấp nháy led, ta đưa vào cổng I/O một biến Temp dạng unsigned char có giá trị tăng dần từ 0 đến 255. Do đó ta thêm dòng unsigned char temp; vào ngay dòng dưới. Chương trình chính Sáng Led Trễ 1 giây Tắt Led Trễ 1 giây While(1) Thoát Sơ đồ thuật toán Sơ đồ thuật toán while (1) { // Place your code here PORTA=temp; PORTB=temp; PORTC=temp; PORTD=temp; delay_ms(1000); temp++; }; CODE CODE Chương trình không có lỗi. Nhấp OK. Để nạp chương trình các bạn cần cấu hình cho mạch nạp. Vào menu : Setting-> Programmer đươc cửa sổ sau: Chọn các mục như hình vẽ . Chọn trên menu: Project -> Configure được cửa sổ như sau: Trong Tab After Make các bạn đánh dấu vào Program the Chip và nhấp OK. Nhấn tổ hợp phím Shift + F9 được như hình bên. Cắm Jum mạch nạp vào. Click vao Program. Đợi nạp xong nhổ jump nạp ra ấn Reset sẽ thấy led chạy.
đang nạp các trang xem trước