1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

3 369 1
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3
Dung lượng 250,7 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bà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ủ

Trang 1

Bà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ức năng

ATmega 8: (or 88) Gồm 28 pin và 23 chân I/O

ATmega 16: Gồm 40 pin và 32 chân I/O

ATmega 128: Gồm 64 pin và 53 chân I/O

Giới thiệu

Trang 2

Cấ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) Đặc

biệ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ài

uA

Để đ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:

Trang 3

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.1

sẽ 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ạng thá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ào luon kí hiệu là PINx.x

#define nutbam PIND.1

void 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=0

PORTD=0x02; // 0b00000010 Giá trị chân D.1 là 1(treo trở 5V pullup) còn các cổ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ào while (1)

{

if(!nutbam ) led=!led ; //mỗi khi ấn nút led sẽ đảo trạng thái

}

}

Ngày đăng: 23/07/2014, 02:20

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w