Danh mục

Thực hành vi điều khiển AVR - Bài 1

Số trang: 3      Loại file: pdf      Dung lượng: 250.70 KB      Lượt xem: 21      Lượt tải: 0    
Thư viện của tui

Phí lưu trữ: miễn phí Tải xuống file đầy đủ (3 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Input and output – AVRĐặc tính: Dưới đây là 3 loại AVR thong dụng nhất, tuỳ vào mục đích sử dụng bạn có thể chọn loại AVR khác nhau. Cộng dụng cơ bản là như nhau, khác nhau chủ yếu là số chân vào ra và cách bố trí chức năng.
Nội dung trích xuất từ tài liệu:
Thực hành vi điều khiển AVR - Bài 1Bài 1: Input and output – AVRĐặc tính: Dưới đây là 3 loại AVR thong dụng nhất, tuỳ vào mục đích sử dụng bạn có thểchọn loại AVR khác nhau.Cộng dụng cơ bản là như nhau, khác nhau chủ yếu là số chân vào ra và cách bố trí chứcnăng.ATmega 8: (or 88) Gồm 28 pin và 23 chân I/OATmega 16: Gồm 40 pin và 32 chân I/OATmega 128: Gồm 64 pin và 53 chân I/OGiới thiệuCấu trúc chân của AVR có thể phân biệt rõ chức năng (vào ra) trạng thái (0 1) từ đó ta có4 kiểu vào ra cho một chân của avr.Khác với 89 là chỉ có 2 trạng thái duy nhất (0 1) . Đặcbiệt nguồn từ chân của AVR đủ khoẻ để điều khiển Led trực tiếp (mA) còn 89 chỉ là vàiuA .Để điều khiển các chân này chúng ta có 2 thanh ghi->PORTx :giá trị tại từng chân (0 – 1) có thể truy cập tới từng bit PORTx.n->DDRx : thanh ghi chỉ trạng thái của từng chân , vào hoặc là ra .Ví dụ : Dùng nút ấn điều khiển đèn led bật tắt .Sơ đô mạch:Ta có PortD.0 sẽ là chân ra đèn led , cần có giá trị 1 thì đèn sang và 0 thì đèn tắt . PortD.1sẽ là chân nhận phím bấm ,khi bấm sẽ nhận về avr mức 0 còn bình thường ta để ở trạngthái pull (treo cao trở có logic là 1).#include#define led PORTD.0 //khi dinh nghia chan rat a luon ghi la PORTx.x chân vàoluon kí hiệu là PINx.x#define nutbam PIND.1void main(void){// Port D initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=Out// State7=T State6=T State5=T State4=T State3=T State2=T State1=P State0=0PORTD=0x02; // 0b00000010 Giá trị chân D.1 là 1(treo trở 5V pullup) còn cáccổng khác đều có giá trị là 0.DDRD=0x01; // 0b00000001 D.0 là cổng ra , còn các cổng khác là cổng vàowhile (1) { if(!nutbam ) led=!led ; //mỗi khi ấn nút led sẽ đảo trạng thái. }}

Tài liệu được xem nhiều: