1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hướng dẫn thực hành AVR

81 363 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 81
Dung lượng 1,1 MB

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

Nội dung

Là họ vi điều khiển 8 bit của Atmel.Tất cả các vi điều khiển AVR sử dụng chung tập lệnh và cấu trúc CPU kiểu Hardward.Có 32 thanh ghi đa dụng 8 bit.Hầu hết các lệnh thực hiện trong 1 clock.Được thiết kế làm việc hiệu quả với các chương trình C.

Trang 1

HƯỚNG DẪN THỰC HÀNH TRÊN KIT

VI ĐIỀU KHIỂN AVR

Phạm Thế Duy ptduy@yahoo.com

Trang 2

GIỚI THIÊÊU VỀ VI ĐIỀU

KHIỂN AVR

Trang 3

AVR Microcontroller

• Là họ vi điều khiển 8 bit của Atmel.

• Tất cả các vi điều khiển AVR sử dụng chung tập lệnh và cấu trúc CPU kiểu Hardward.

• Có 32 thanh ghi đa dụng 8 bit.

• Hầu hết các lệnh thực hiện trong 1 clock.

• Được thiết kế làm việc hiệu quả với các chương trình C.

Trang 4

LÀM VIỆC HIỆU QUẢ VỚI

NGÔN NGỮ C

• Xem đoạn mã lệnh C sau:

int max(int *array)

Trang 5

KẾT QUẢ THỬ NGHIỆM CỦA

Trang 7

• AVR nhỏ nhất là ATTiny11 với 1KB flash ROM, 0

byte RAM và 6 I/O.

Trang 8

• Họ FPGA với lõi AVR.

• AVR hỗ trợ giao tiếp USB:AT43USB355 …

• AVR hỗ trợ truyền vô tuyến:AT86RF401 …

• AVR hỗ trợ BUS mạng công nghiệp CAN.

Trang 9

AVR Microcontroller

Trang 10

CẤU TRÚC AT90S8535

• Giới thiệu chung về vi điều khiển.

• Vi điều khiển AVR.

• Vi điều khiển AVR AT90S8535.

Trang 12

ADC UART

SPI

AT90S8535

AVR AT90S8535

Trang 13

AVR AT90S8535

ADC

• 8 kênh ngõ vào multiplex

• Các chế độ biến đổi 8 hoặc 10 bit

• Độ chính xác ± LSB

• Thời gian biến đổi 65 - 260µsec

• Có hai chế độ biến đổi Free run và single

• Có ngắt báo kết thúc quá trình biến đổi

• Có chế độ ngủ chống nhiễu

Trang 14

AVR AT90S8535

UART

Trang 17

• Chức năng PWM 10, 9 or 8-Bit

Trang 19

Timer0 Timer1

• Chỉnh Time-Out 47ms - 6s.

• Reset bằng lệnh “WDR”.

AVR AT90S8535

Trang 20

Timer0 Timer1

• Tự động xoá cờ ngắt

• Tự động cấm các chương trình ngắt bên trong.

Trang 21

Timer0 Timer1

ADC UART

SPI D

8 Bit RISC MCU

Trang 22

• Điều khiển điện trở Pull-Up

• Điều khiển 3 trạng thái cho

từng ngõ vào ra.

• Mỗi cổng có 03 thanh ghi:

AVR AT90S8535

Trang 23

CÁC VẤN ĐỀ CHÍNH TRONG CÁC

BÀI THỰC HÀNH

• Cổng giao tiếp song song.

• Cổng giao tiếp nối tiếp.

• BôÊ định thời.

• ADC.

• Ngắt.

Trang 24

CÁC BƯỚC THỰC HIÊÊN BÀI

THỰC HÀNH

• Thiết kế phần cứng trên Protues.

• Viết chương trình trên CodeVision AVR.

• Chạy thử hêÊ thống trên Protues.

• Hỏi đáp trên lớp.

• NôÊp chương trình protues đã chạy trên phòng thực hành.

• Chạy thử nghiêÊm trên KIT của phòng thực hành.

• Viết báo cáo thực hành

• Thi trắc nghiêÊm thực hành.

Trang 25

MẠCH ĐIÊÊN PHẦN CỨNG KIT AVR

• Mạch vi điều khiển.

• Mạch lâÊp trình cho vi điều khiển.

• Mạch nguồn cung cấp.

• Mạch công tắc đơn.

• Mạch phím nhấn và công tắc đơn.

• Mạch hiển thị LED 7 đoạn.

• Mạch hiển thị LCD.

• Mạch biến trở cấp tín hiêÊu tương tự.

• Mạch tạo tín hiêÊu tương tự.

• Mạch đo nhiêÊt đôÊ.

Trang 26

MẠCH VI ĐIỀU KHIỂN

A5

C1 A2

C2

D5

B1

A3 A0

D4

C2 miso A2

J6

1 2 3 4 5 6 7 8

D5

J2

1 2 3 4 5 6 7 8

mos i

C7 C0

B2 A7

D2

VCC

D3

VR1 Res is tor Va r

A0

B1

C5

A6 A4

11 13

12

32 31 30

40 39 38 37 36 35 34 33

1 2 3 4 5 6 7 8 22 23 24 25 26 27 28 29 14 15 16 17 18 19 20

VCC RESET GND XTAL1 XTAL2 AREF AGND AVCC

PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)

PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 PD0 (RXD) PD1 (TXD) PD2 PD3 PD4 PD5 PD6

C3

J5

1 2 3 4 5 6 7 8

C0

s ck

C6 B0

D0

U4 TL431

D6

A1

C6

B4 B0

VCC_12

B3

C5 A6

J7

1 2 3 4 5 6 7

B2

mosi

A5 A4

R5 330K

Trang 27

KẾT NỐI LẬP TRÌNH VI ĐIỀU KHIỂN QUA CỔNG MÁY IN

RST

R6 100K

U8

2 4 6 8

1

18 16 14 12 11

13 15 17

9 7 5 3 19

A1 A2 A3 A4

1OE

Y1 Y2 Y3 Y4 A5

A6 A7 A8

Y5 Y6 Y7 Y8 2OE

P6 P1

P7 P2 P3

J1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Trang 28

MẠCH NẠP QUA USB

Trang 29

MẠCH NẠP AVR QUA CỔNG USB

Trang 30

MẠCH NGUỒN CUNG CẤP

D2

DIODE J22

J21

CONGTAC

1 2 3

D3 Power On

220uF

C11 104 R38 3R0

Trang 31

L1

RL6 RL4

RL9

Trang 32

MẠCH CÔNG TẮC ĐƠN

S5

SW1

R1 R

SW1

S3

Trang 33

RESISTOR SIP 9

3 4 5 6 7 8 9

S2

KR4

J10

1 2 3 4 5

SW_18

S7 S2

SW_13

KR4

KR1 S5

Trang 34

MẠCH HIỂN THỊ LED 7 ĐOẠN

CA2

Le 2 Lc1

Q3 PNP BCE

CA f g

R37

R R33

CA f g

R34

R

Ldp2 Lc2

Lb2

R46

R

J31 CON4A

1 3

2 4

J20 CON8

Ld1 Lf1

R

Trang 35

Lc3

C

Lb1 C

Led7A-4

LED7A1

e d

CAc

dp

b a CA f g Led7A-3

LED7A1

e d

CAc

dp

b a CA f g

B

F

Ldp3 Lf3

D

DP

La 1

Q3 C1815

CAc

dp

b a CA f g

CA3

Q5 C1815

L7A2

D C

CAc

dp

b a CA f g

CA1

Ld4 Lb2

Trang 36

MẠCH HIỂN THỊ LCD

DB4

J16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

DB1

RS

J17

1 2 3 4 5 6 7 8

J35

CON3

1 2 3

RD/WR

VCC VCC

DB7

DB3 DB5

DB0

DB2 DB6

A Ba ckLight

DB3 E

R16 LCD POT

RS VEE

DB0

Trang 37

V5 VR4

VR7 VR5

V7

VCC

V6 V2

V4

Trang 38

1 2

Trang 39

MẠCH ĐO NHIỆT ĐỘ

R13

R J11

1 2 3

R10

R

VCC

J9 CON4A

Q1 PNP BCE

Trang 40

MẠCH GIAO TIẾP CÔNG

2

D9 DIODE

J12

CON3

1 2 3

18 17 16 15 14 13 12 11

COM

IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8

OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8

J13

CON9

1 2 3 4 5 6 7 8 9

J15

CON8

1 2 3 4 5 6 7 8

VCC-12

VCC-12

Trang 41

MẠCH GIAO TIẾP NỐI TIẾP

C4 0.1uF

2 6

12

9

11 10

13 8 14 7

C1+

C2+

R1IN R2IN T1OUT T2OUT

RxD VCC

D1

U3

75176

1 2

7 6 3

4

R RE B A DE D

R3 470

J4

485Port

1 2 3 4 5 6

U5

75176

1 2

7 6 3

4

R RE B A DE D

RxD

VCC

VCC

R2 120 R1

470

Trang 42

GIỚI THIÊÊU VỀ CodeVision

AVR

Đọc file: LaptrinhC.doc

Trang 43

CÁC BÀI THỰC HÀNH

• Bài 1: Điều khiển công tắc đơn và LED đơn.

• Bài 2: Điều khiển hiển thị trên LED 7 đoạn.

• Bài 3: Điều khiển bàn phím ma trâÊn hiển thị lên LED

07 đoạn.

• Bài 4: Điều khiển hiển thị chữ trên LCD.

• Bài 5: Đọc ADC hiển thị lên LCD.

• Bài 6: Đo nhiêÊt đôÊ bằng Analog Compare hiển thị trên LED 7 đoạn.

• Bài 7: Tạo xung bằng DAC.

• Bài 8: Giao tiếp nối tiếp hai KIT vi điều khiển.

• Bài 9: Thực hiêÊn đồng hồ điêÊn tử trên KIT vi điều

khiển.

Trang 44

BÀI SỐ 1: ĐIỀU KHIỂN CÔNG

TẮC ĐƠN VÀ LED ĐƠN

1 Mục đích: Sử dụng cổng vào ra song song

điều khiển các thiết bị vào ra cơ bản.

2 Yêu cầu thực hiêÊn:

1 Thực hiêÊn chương trình điều khiển các LED đơn

chớp tắt

2 Thực hiêÊn chương trình kiểm tra 8 công tắc đơn

Tương ứng với 1 công tắc ở mức 1, 8 LED sẽ sáng theo môÊt kiểu định trước:

Trang 45

BÀI SỐ 1: ĐIỀU KHIỂN CÔNG

TẮC ĐƠN VÀ LED ĐƠN

• Công tắc 1: 1 LED sáng đuổi qua lại.

• Công tắc 2: 8 LED sáng dần sau đó tắt dần.

• Công tắc 3: 8 LED sáng từ hai bên vào sau đó tắt từ hai bên vào.

• Công tắc 4: 1 LED sáng chạy từ trái qua phải sau đó dừng lại sáng ở LED bên phải cho đến khi 8 LED

cùng sáng.

• Công tắc 5: 8 LED chớp tắt.

• Công tắc 6: các LED sáng tắt xen kẽ và ngược lại.

• Công tắc 7: 4 LED sáng 4 LED tắt và ngược lại.

Trang 46

BÀI SỐ 1: ĐIỀU KHIỂN CÔNG TẮC ĐƠN

VÀ LED ĐƠN

• Hướng dẫn thực hiêÊn phần cứng:

– Kết nối môÊt cổng tới LED đơn: PORTA

– Kết nối môÊt cổng tới công tắc đơn: PORTB

• Hướng dẫn lâÊp trình:

– Cổng kết nối tới LED phải được khởi đôÊng là OUT bằng cách gán thanh ghi định hướng DDRx=FFh (DDRA=FFh)

– Cổng kết nối tới công tắc phải được khởi đôÊng là IN bằng cách gán thanh ghi định hướng DDRx=00h (DDRB=00h)

– NhâÊp dữ liêÊu từ PORTB sau đó chọn kểu sáng tương ứng bằng cấu trúc lâÊp trình “Switch case”

Trang 47

C1 A2

C2

D5

B1

A3 A0

D4

C2 miso A2

J6

1 2 3 4 5 6 7 8

C3

D4

C7 C3 33pF

D1 D2 D5

J2

1 2 3 4 5 6 7 8

mosi

C7 C0

B2 A7

D2

VCC

D3 VR1

D1

sck

A7

A3 rst

40 39 38 37 36 35 34 33

1 2 3 4 5 6 7 8 22 23 24 25 26 27 28 29 14 15 16 17 18

VCC RESET

PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)

PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 PD0 (RXD) PD1 (TXD) PD2 PD3 PD4

C3

J5

1 2 3 4 5 6 7 8

C0 sck

C6 B0

D0 U4

TL431

miso C2 33pF

A1

C6

B4 B0

VCC_12

B3

C5 A6

J7

1 2 3 4 5

B2 mosi

A5 A4 R5 330K

DA8

L5

RL5

L8 L8 L6

DA1

L7

L5 L4

DA3

L1

RL6 RL4

RL9

S5

SW1

R1 R

SW1

SW

CON8

1 3 5 7

SW1

S3

BUS 8

BUS 8 MẠCH KẾT NỐI PHẦN CỨNG

Trang 48

PB0/T0/XCK 1

PB1/T1 2 PB2/AIN0/INT2 3

PB3/AIN1/OC0 4

PB4/SS 5 PB5/MOSI 6

PB6/MISO 7

PB7/SCK 8

RESET 9

Trang 49

BÀI SỐ 2: HIỂN THỊ TRÊN LED 7 ĐOẠN

1 Mục đích: Sử dụng cổng vào ra song song

hiển thị các số trên LED 7 đoạn.

2 Yêu cầu thực hiêÊn:

1 Thực hiêÊn chương trình hiển thị các số từ 1 đến 4

lên 4 LED 7 đoạn

2 Thực hiêÊn chương trình hiển thị các số từ 0 đến 9

chạy tuần tự từ phải qua trái

Trang 50

• Hướng dẫn thực hiêÊn phần cứng:

– Kết nối môÊt cổng tới ngõ vào dữ liêÊu của các LED: PORTC– Kết nối môÊt cổng tới ngõ vào chọn LED: PORTD

• Hướng dẫn lâÊp trình:

– Các cổng đều khởi đôÊng OUT

– Muốn đèn LED nào sáng cấp dữ liêÊu số tương ứng sau đó cấp bit chọn bằng 1 Như vâÊy tại môÊt thời điểm chỉ có môÊt LED sáng Nhưng nếu chương trình thực hiêÊn nhanh sẽ thấy tất cả các LED đều sáng

– Để số này không lem sang LED kế bên cần xoá toàn bôÊ các LED trước khi hiển thị số kế tiếp

– Giải thuâÊt sẽ là: cấp dữ liêÊu – chọn LED sáng – tắt tất cả các LED – cấp dữ liêÊu khác – chọn LED kế tiếp

– Để các LED chạy cần có biến cung cấp dữ liêÊu cho các LED

BÀI SỐ 2: HIỂN THỊ TRÊN LED 7 ĐOẠN

Trang 51

File mô phỏng tại D:\Baigiangvixuly\slidetiengviet\led7doan

Trang 52

Lc3

C

Lb1 C

Led7A-4

LED7A1

e d

CAc

dp

b a CA f g Led7A-3

LED7A1

e d

CAc

dp

b a CA f g

B

F

Ldp3 Lf3

D

Q3 C1815

CAc

dp

b a CA f g

CA3

Q5 C1815

L7A2

D C

Lg4 B

CAc

dp

b a CA f g

CA2 Ldp2

CA1

Ld4 Lb2

Trang 53

PB0/T0/XCK 1

PB1/T1 2 PB2/AIN0/INT2 3

PB3/AIN1/OC0 4

PB4/SS 5 PB5/MOSI 6

PB6/MISO 7

PB7/SCK 8

RESET 9

Trang 54

BÀI SỐ 3: ĐIỀU KHIỂN ĐỌC BÀN PHÍM MA

TRÂÂN HIỂN THỊ MÃ PHÍM TRÊN LED 7 ĐOẠN

1 Mục đích: Thực hiêÊn giải thuâÊt quét bàn phím

ma trâÊn.

2 Yêu cầu thực hiêÊn:

1 Thực hiêÊn chương trình đọc mã bàn phím hiển thị

lên 1 LED 7 đoạn

2 Thực hiêÊn chương trình đọc mã bàn phím ma trâÊn

hiêÊn thị lên 4 LED 7 đoạn, khi môÊt phím mới được nhấn, mã phím cũ sẽ chuyển qua LED bên trái môÊt vị trí, để mã phím mới hiêÊn lên trên LED bên phải

Trang 55

• Hướng dẫn thực hiêÊn phần cứng:

– Kết nối bôÊ hiển thị LED 7 đoạn tới các cổng AVR như trong bài 2: PORTC và PORTD

– Kết nối môÊt cổng tới bàn phím ma trâÊn: PORTA

• Hướng dẫn lâÊp trình:

– Các cổng PORTC và PORTD khởi đôÊng OUT như bài 2

– Cổng A khởi đôÊng các bit cao OUT để cấp dữ liêÊu quét hàng, các bít thấp IN để nhâÊn dữ liêÊu từ côÊt

– Để nhâÊn được phím nhấn lần lượt cấp mức 0 ra các hàng,

và đọc dữ liêÊu từ các côÊt vào Gọi vị trí bit 0 ở mã hàng là

x, vị trí bit 0 ở mã côÊt là y thì mã phím nhấn sẽ tính bằng:

BÀI SỐ 3: ĐIỀU KHIỂN ĐỌC BÀN PHÍM MA

TRÂÂN HIỂN THỊ MÃ PHÍM TRÊN LED 7 ĐOẠN

Trang 56

Nguyên tắc quét bàn phím ma trâÊn

0 1 1 1

Trang 58

BÀI SỐ 3: ĐIỀU KHIỂN ĐỌC BÀN PHÍM MA

TRÂÂN HIỂN THỊ MÃ PHÍM TRÊN LED 7 ĐOẠN

• Để các số hiển thị đẩy từ trái qua phải cần khai báo 4 biến chứa mã hiển thị Khi có môÊt số mới nhâÊp từ bàn phím giá trị mã hiển thị sẽ được chuyển đi môÊt vị trí, và mã mới nhâÊp sẽ được ghi vào biến bên phải, mã hiển thị bên trái sẽ bị mất.

Trang 59

MẠCH KẾT NỐI PHẦN CỨNG

KEY-A

KC3

KEY-5 KEY-0

PORT A

Trang 60

A B C D E F G D S S S S

A B C D E F G DP SL1 SL2 SL3 SL4 PB0/T0/XCK

1 PB1/T1 2 PB2/AIN0/INT2 3

PB3/AIN1/OC0 4

PB4/SS 5 PB5/MOSI 6

PB6/MISO 7

PB7/SCK 8

RESET 9

Trang 61

BÀI SỐ 4: ĐIỀU KHIỂN HIỂN THỊ TRÊN

LCD

1 Mục đích: Tìm hiểu về màn hình LCD và cách

điều khiển hiển thị các ký tụ trên màn hình LCD.

2 Yêu cầu thực hiêÊn:

1 Hiển thị hai dòng chữ trên màn hình LCD

2 Hiển thị dòng chữ trôi trên màn hình LCD

Trang 62

• Hướng dẫn thực hiêÊn phần cứng:

– Kết nối màn hình LCD tới các cổng AVR: PORTC nối tới cổng dữ liêÊu (DB0 – DB7), PORTD cấp các tín hiêÊu E, RS, R/W#.

• Hướng dẫn lâÊp trình:

– Muốn hiển thị ký tự trên màn hình LCD trước hết phải khởi đôÊng nó bằng cách ghi giá trị 38H tới thanh ghi điều khiển của nó Chọn thanh ghi điều khiển bằng cách cấp RS=0, ghi bằng cách cấp R/W = 0 và cho

E lến mức 1 sau đó kéo xuống mức 0.

– Trước khi ghi dữ liêÊu tới hiển thị lên LCD cần kiểm tra trạng thái sẵn sàng của nó bằng cách đọc thanh ghi trạng thái (RS=0, R/W=1 và E = L-H-L) Nếu bit cao nhất của thanh ghi trạng thái bằng 1 thì LCD đã sẵn sàng nhâÊn dữ liêÊu Xem bit cao nhất của từ trạng thái, nếu = 1 thì LCD sẵn sàng.

– Để hiển thị ký tự trên LCD cần ghi mã ASCII của ký tự cần hiển thị tới

nó (RS=1, R/W=0, E = L-H-L, DB7-0=ASCII).

BÀI SỐ 4: ĐIỀU KHIỂN HIỂN THỊ KÝ TỰ TRÊN

MÀN HÌNH LCD.

Trang 63

Các mã lêÊnh lâÊp trình cho LCD

Trang 64

MẠCH KẾT NỐI PHẦN CỨNG

DB4

J16

LCD INTERFACE

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

J35

CON3

1 2 3

RD/WR

VCC VCC

DB7

DB3 DB5

A Ba ckLight

DB3 E

R16

LCD POT

RS VEE

DB0

PORTC

PORTD

Trang 65

PA0/ADC0 40

PA1/ADC1 39

PA2/ADC2 38

PA3/ADC3 37

PA4/ADC4 36

PA5/ADC5 35

PA6/ADC6 34

PB0/XCK/T0 1

PB1/T1 2 PB2/INT2/AIN0 3

PB3/OC0/AIN1 4

PB4/SS 5 PB5/MOSI 6

PB6/MISO 7

PB7/SCK 8

PA7/ADC7 33

RESET 9 XTAL1 13 XTAL2 12

Trang 66

BÀI SỐ 5: ĐIỀU KHIỂN ĐỌC ĐIÊÊN ÁP DC

BẰNG ADC VÀ HIỂN THỊ LÊN LCD

1 Mục đích: Tìm hiểu bôÊ biến đổi tương tự sang

số (ADC – Analogue to Digital Converter) tích hợp trong AVR

2 Yêu cầu thực hiêÊn:

1 Đọc môÊt ngõ vào PORTA.0 và hiển thị giá trị HEXA

trên màn hình LCD

2 Đọc 8 kênh vào ADC và hiển thị giá trị điêÊn áp thực

trên màn hình LCD

Trang 67

• Hướng dẫn thực hiêÊn phần cứng:

– Kết nối màn hình LCD tới các cổng AVR: PORTD nối tới cổng dữ liêÊu (DB0 – DB7), PORTC cấp các tín hiêÊu E, RS, R/W# (Như trong bài số 4).

– Kết nối PORTA tới các biến trở để cung cấp điêÊn áp DC tới các ngõ vào ADC

• Hướng dẫn lâÊp trình:

– Tạo Project mới trong CodeVisionAVR dùng CodeWizard cho phép ADC ở chế đôÊ 8 bit, CodeWizard sẽ tự tạo ra chương trình con đọc ADC và trả về giá trị trong thanh ghi ADCH.

– Giá trị số trong thanh ghi ADCH sẽ tương ứng với giá trị điêÊn áp tương

tự ở ngõ vào PORTA của AVR.

– Cần phải biến đổi dữ liêÊu HEX trong ADCH thành số ASCII để hiển thị lên LCD.

BÀI SỐ 5: ĐIỀU KHIỂN ADC ĐỌC ĐIÊÂN ÁP DC

HIỂN THỊ TRÊN MÀN HÌNH LCD.

Trang 68

VCC

V8 V6

V2

V4

PORTA KẾT NỐI MẠCH PHẦN CỨNG

Trang 69

PB0/T0/XCK 1 PB1/T1 2 PB2/AIN0/INT2 3

PB3/AIN1/OC0 4 PB4/SS 5 PB5/MOSI 6 PB6/MISO 7 PB7/SCK 8

RESET 9

XTAL2

12 XTAL113

PD0/RXD 14PD1/TXD 15PD2/INT0 16PD3/INT1 17PD4/OC1B 18PD5/OC1A 19PD6/ICP1 20PD7/OC2 21

PC0/SCL 22PC1/SDA 23PC2/TCK 24PC3/TMS 25PC4/TDO 26PC5/TDI 27PC6/TOSC1 28PC7/TOSC2 29

AREF 32AVCC 30

Trang 70

BÀI SỐ 6: ĐO NHIÊÂT ĐÔÂ VÀ HIỂN THỊ TRÊN LED 7 ĐOẠN DÙNG MẠCH SO SÁNH TƯƠNG

TỰ TÍCH HỢP TRONG AVR

1 Mục đích:

1 Tìm hiểu về ứng dụng của mạch so sánh tương tự

2 Tìm hiểu về IC cảm biến nhiêÊt đôÊ LM335

2 Yêu cầu thực hiêÊn:

1 Đọc thời gian nạp tụ điêÊn hiển thị trên LED 7 đoạn

2 Đổi thời gian nạp tụ thành giá trị điêÊn áp hiển thị

trên LED 7 đoạn

3 Đổi điêÊn áp trên tụ thành giá trị nhiêÊt đôÊ hiển thị

trên LED 7 đoạn

Trang 71

• Hướng dẫn thực hiêÊn phần cứng:

– Kết nối bôÊ hiển thị LED 7 đoạn tới AVR giống như trong bài số 2.

– Cắm các Jumper để kết nối các mạch đo nhiêÊt đôÊ và mạch nạp tụ tới bôÊ so sánh tương tự PINB2 và PINB3 như hình phần cứng.

• Hướng dẫn lâÊp trình:

– Trước hết khởi đôÊng PORTB.3 là ngõ ra và cấp mức 0 tới ngõ ra này tạo trễ môÊt khoảng thời gian để tụ điêÊn xả hết.

– Cho phép mạch so sánh tương tự (Analogue Compare), khi đó PORTB.3 trở thành ngõ vào của mạch Op-Amp bên trong AVR (có tổng trở vào rất lớn), nên tụ điêÊn sẽ được nạp qua transistor.

– Tại thời điểm tụ bắt đầu nạp cho phép Timer hoạt đôÊng, khi điêÊn áp trên tụ bằng với điêÊn áp của mạch LM335 ngõ ra Analogue compare sẽ lên mức 1 Với giá trị bôÊ đếm Timer sẽ biết được thời gian nạp tụ.

– Tuỳ theo giá trị linh kiêÊn trong mạch nạp tụ sẽ tính được điêÊn áp trên tụ.

BÀI SỐ 6: ĐO NHIÊÂT ĐÔÂ VÀ HIỂN THỊ TRÊN LED 7

ĐOẠN DÙNG MẠCH SO SÁNH TƯƠNG TỰ CỦA AVR

Trang 72

KẾT NỐI MẠCH PHẦN CỨNG

R13

R J11

LM335

1 2 3

R10

R

VCC

J9 CON4A

Q1 PNP BCE

VCC

R11

R B2

Trang 73

PB0/T0/XCK 1

PB1/T1 2 PB2/AIN0/INT2 3

PB3/AIN1/OC0 4

PB4/SS 5 PB5/MOSI 6

PB6/MISO 7

PB7/SCK 8

RESET 9

Ngày đăng: 03/11/2014, 18:10

TỪ KHÓA LIÊN QUAN

w