Tải bản đầy đủ (.doc) (44 trang)

Bộ thực hành lập trình vi điều khiển AVR

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.68 MB, 44 trang )

Bộ thực hành lập trình vi điều khiển AVR

LỜI MỞ ĐẦU
A.
Giới thiệu về công ty
Công ty thiết bị Điện – Tự động hóa (TDP - Electric) là một công ty trực thuộc
tập đoàn Tiến Đại Phát, với đội ngũ nhân viên chuyên viên kỹ thuật có trình độ,
sáng tạo, giàu kinh nghiệm và một mạng lưới nhà cung cấp nổi tiếng trên toàn Thế
giới về mọi lĩnh vực. TDP – Electric cam kết sẽ mang đến cho khách hàng những
sản phẩm và dịch vụ tốt nhất, đáp ứng đầy đủ mọi nhu cầu của khách hàng. Đặc
biệt, TDP – E chuyên tư vấn, sản xuất các thiết bị Giáo dục cho các trường Đại học,
Cao đẳng, Trung cấp nghề.
Sản phẩm của chúng tôi được sử dụng trong trường học nói chung, trong các/
trường dạy nghề, các viện nghiên cứu chuyên môn giáo dục và đào tạo đại học.
Một phương thức sản xuất hiện đại và có phạm vi lớn với sự kết hợp của hệ
thống quản lý chất lượng cao theo tiêu chuẩn ISO 9001 : 2008 đảm bảo chất lượng
phù hợp kéo dài tuổi thọ của các sản phẩm của chúng tôi.
TDP – E đảm bảo rằng sẽ tư vấn giải pháp Công nghệ cho đối tác, tư vấn xây
dựng phòng thí nghiệm một cách hợp lý nhất trong các lĩnh vực: Điện Công
Nghiệp, Kỹ thuật lắp đặt và Điều khiển công nghiệp, Đo lường Điện, Vận hành máy
điện, Kỹ thuật máy lạnh và điều hòa không khí....
B. Giới thiệu về module thực hành
Kỹ thuật vi điều khiển với tốc độ phát triển nhanh đã và đang mang đến những
thay đổi to lớn trong khoa học và công nghệ cũng như trong đời sống hàng ngày.
Ngày nay, các thiết bị máy móc ngày càng trở nên thông minh hơn, các công việc
được thực hiện với hiệu quả cao hơn, đó cũng là nhờ một phần vi điều khiển.
Kỹ thuật vi điều khiển là kỹ thuật của tương lai, là chìa khóa đi vào công nghệ
hiện đại. Đối với sinh viên chuyên ngành điện tử, đây là một lĩnh vực hứa hẹn và
mở ra nhiều triển vọng. Để góp phần tạo nền tảng ban đầu cho việc học tập, tìm
hiểu kỹ thuật vi điều khiển, chúng tôi xin cung cấp một mô hình cơ bản để học tập
và thực hành vi điều khiển.


Trong quá trình thực hiện, chúng tôi không thể tránh khỏi những thiếu sót. Rất
mong nhận được sự góp ý, phê bình của bạn đọc.
Chúng tôi xin trân thành cảm ơn!

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page


Bộ thực hành lập trình vi điều khiển AVR

MỤC LỤC

LỜI MỞ ĐẦU....................................................................................................................1
A. Giới thiệu về công ty.................................................................................................1
B.Giới thiệu về module thực hành.................................................................................1
MỤC LỤC..........................................................................................................................2
I. TỔNG QUAN VỀ MÔ HÌNH THÍ NGHIỆM................................................................3
1.1 Mục tiêu thực hiện mô hình.....................................................................................3
1.2 Mô hình có thể thực hiện được những bài thực hành sau:.......................................3
1.4 Chức năng các khối trên mô hình thí nghiệm..........................................................4
1.5 Lưu ý quy trình thực hiện các bài thực hành............................................................5
II. HƯỚNG DẪN SỬ DỤNG PHẦN MỀM......................................................................6
2.1 Phần mềm KeilC......................................................................................................6
Bạn có thể viết code của mình vào giữa hai dấu ngoặc { .......... }.................................8
2.2 Phần mềm nạp Khazama..........................................................................................9
III. CÁC BÀI TẬP THỰC HÀNH VỚI MODUL ỨNG DỤNG......................................9
3.1 Thực hành hiển thị led đơn.......................................................................................9
3.2 Thực hành hiển thị led 7 đoạn................................................................................12
3.3 Thực hành hiển thị LCD 16x2................................................................................14

3.4 Thực hành hiển thị led matrix................................................................................15
3.5 Thực hành nhận biết phím đơn...............................................................................17
3.6 Thực hành nhận biết phím ma trận 4x4..................................................................18
3.7 Thực hành xử lý ngắt ngoài INT............................................................................20
3.8 Thực hành với bộ Timer/Counter...........................................................................22
3.9 Thực hành giao tiếp ADC......................................................................................24
3.10 Thực hành giao tiếp DAC....................................................................................26
3.11 Thực hành điều khiển động cơ một chiều............................................................28
3.12 Thực hành điều khiển động cơ bước....................................................................30
3.13 Thực hành giao tiếp với RAM..............................................................................32
3.14 Thực hành giao tiếp với ROM..............................................................................34
3.15 Thực hành giao tiếp IC thời gian thực DS1307....................................................36
3.16 Thực hành hiển thị GLCD 128x64.......................................................................38
3.17 Thực hành giao tiếp với máy tính qua cổng COM/RS232...................................40
TÀI LIỆU THAM KHẢO................................................................................................42

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page


Bộ thực hành lập trình vi điều khiển AVR

I. TỔNG QUAN VỀ MÔ HÌNH THÍ NGHIỆM
1.1 Mục tiêu thực hiện mô hình
Học xong bài học này học viên có năng lực:
- Phân tích được nguyên lý và khả năng làm việc của modul.
- Khảo sát được hoạt động của các modul.
- Lắp ráp và khảo sát các mạch, mô hình, dây truyền sản xuất thực tế.
- Kiểm tra khắc phục được sự cố trong quá trình khảo sát.

1.2 Mô hình có thể thực hiện được những bài thực hành sau:
- Bài thực hành số 1: Thực hành hiển thị led đơn.
- Bài thực hành số 2: Thực hành hiển thị led 7 đoạn.
- Bài thực hành số 3: Thực hành hiển thị LCD 16x2.
- Bài thực hành số 4: Thực hành hiển thị led matrix.
- Bài thực hành số 5: Thực hành nhận biết phím đơn.
- Bài thực hành số 6: Thực hành nhận biết phím matrix 4x4.
- Bài thực hành số 7: Thực hành xử lý ngắt ngoài INT.
- Bài thực hành số 8: Thực hành với bộ Timer/Counter.
- Bài thực hành số 9: Thực hành giao tiếp ADC.
- Bài thực hành số 10: Thực hành giao tiếp DAC.
- Bài thực hành số 11: Thực hành điều khiển động cơ DC.
- Bài thực hành số 12: Thực hành điều khiển động cơ bước.
- Bài thực hành số 13: Thực hành giao tiếp với RAM.
- Bài thực hành số 14: Thực hành giao tiếp với ROM.
- Bài thực hành số 15: Thực hành giao tiếp với IC thời gian thực DS1307.
- Bài thực hành số 16: Thực hành hiển thị màn hình GLCD 128x64.
- Bài thực hành số 17: Thực hành giao tiếp máy tính qua cổng RS232.
Mô hình thí nghiệm bao gồm các khối sau:

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page


Bộ thực hành lập trình vi điều khiển AVR

Tổng quan về mô hình thực hành vi điều khiển.
1.4 Chức năng các khối trên mô hình thí nghiệm
TT

Tên khối
Chức năng khối
1 LED 7 SEG
- Có 4 Led bảy thanh dùng để hiển thị số và ký tự.
- Cọc nối “Scan” quét cột .
2

LCD 16x2

- Cọc “Data” quét dữ liệu hàng .
- Có 1 LCD dùng để hiển thị ký tự, số hiêu.
- Cọc nối “control LCD ” hiển thị dữ liệu 8 bit hoặc 4bit.

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

LED
SIGNED
LED

MATRIX
PHÍM
MATRIX
RTC DS1307

RAM
NGOÀI

- Có 16 Led đơn dùng để hiển thị, có 2 cổng điều khiển.
- Có cọc nối dữ liệu.
- Có 2 led matrix 8x8 dùng để hiển thị chữ.
- Có cọc nối dữ liệu và điều khiển.
- Bàn phím 4x4 dùng để giao tiếp bàn phím hexa.
- Có cọc nối dữ liệu
- Giao tiếp I2C, đọc thời gian thực.
- Có cọc nối điều khiển
- Thực hiện giao tiếp bộ nhớ Ram ngoài.

PHÍM ĐƠN
ANALOG

- Có cọc nối dữ liệu, địa chỉ và điều khiển.
- Có 8 phím đơn và cọc nối dữ liệu.
- Dùng để đọc và tính toán giá trị điện áp.

DAC0808

- Có cọc kết nối dữ liệu
- Chuyển đổi số sang tương tự.


STEP
MOTOR

- Có cọc kết nối dữ liệu
- Khối tải là động cơ bước.

DC MOTOR

- Có cọc nối điều khiển.
- Khối tải là động cơ DC.

ROM

- Có cọc nối điều khiển.
- Giao tiếp với bộ nhớ ROM ngoài theo chuẩn I2C.

UART

- Có cọc nối để giao tiếp.
- Giao tiếp UART với máy tính, hoặc giữa các VĐK với
nhau.

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page


Bộ thực hành lập trình vi điều khiển AVR

- Có cọc nối để giao tiếp.

1.5 Lưu ý quy trình thực hiện các bài thực hành
1.5.1 Quy trình thực hiện
a. Cấp nguồn.
Sử dụng nguồn điện 220V AC/DC qua dây nguồn, nếu nguồn cấp đúng, đèn
LED báo nguồn sẽ sáng, các linh kiện không bị nóng, ngược lại bạn đã cấp không
đúng nguồn; cần ngắt nguồn ngay lập tức và kiểm tra lại nguồn.
b. Cắm IC nạp.
IC cần được cắm đúng chiều chân như trên đế. Nguồn cấp cho có thế được
cấp hoặc không tùy thuộc vào răm cấp nguồn từ mạch nạp.
c. Lắp cable dữ liệu.
- Cắm cáp usb của mạch nạp vào máy tính.
-

Nạp chương trình cho IC Vi Điều Khiển.

d. Vận hành.
Mô đun cho phép bạn sử dụng VĐK để ghép nối và điều khiển nhiều board
mở rộng (Được thiết kế tương thích và có khả năng ghép nối với Mô đun này). Quy
trình vận hành khối :
-

Lắp ghép Board mở rộng vào đúng Slot .

-

Kiểm tra chế độ làm việc thiết lập cho Vi Điều Khiển.

-

Lắp IC vào khay cắm (không cần nếu như sử dụng mạch nạp isp).


- Cấp điện cho Mô đune: Chương trình trong Vi Điều Khiển sẽ tự động
chạy nếu bạn sử dụng Mạch Reset tự động trên board. Nếu không sử dụng mạch
này bạn cần nhấn nút Reset để khởi động Vi Điều Khiển. Trong trường hợp điện
nguồn đã được cấp từ trước. (không khuyến khích cách vận hành này), bạn cần
nhấn nút Reset sau mỗi lần lắp IC (có thể reset ngay trên phân mềm nạp).
1.5.2 Lưu ý
-Ngắt điện khi tháo lắp IC
-Tránh chạm vào chân IC hoặc làm cong, gãy chân IC.
-Thiết bị phải được đặt trên mặt phẳng, vững chắc, tránh những va đập cơ học.
-Nguồn cấp cho thiết bị là nguồn xoay chiều 1 fa 220V.
-Trước khi cấp nguồn, đo kiểm tra nguồn đủ điện áp 220V mới cấp.
-Cần có thói quen kiểm tra an toàn trước khi dùng thiết bị (thử rò điện ở vỏ, xem
dây dẫn phích cắm có đảm bảo cách điện không…)
-Nếu thấy đường dây bị trầy, phích cắm bị hỏng, bọ hở… phải sửa chữa ngay hoặc
thay thế mới.
-Không sử dụng thiết bị nếu phích cắm, dây điện nguồn hoặc chính thiết bị có dấu
hiệu hư hỏng nhìn thấy được hoặc nếu thiết bị đã bị rơi.
Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page


Bộ thực hành lập trình vi điều khiển AVR

-Không thay thế dây chảy cầu chì bằng dây điện.
-Thao tác xong phải ngắt nguồn vào thiết bị.
Các module thực hành phải được gá đúng chiều, chặt trẽ, thực hành xong phải xếp
lại ngăn lắp vào trong tủ đựng.
-Có kế hoạch vệ sinh, bảo dưỡng cho các thiết bị trong mô hình.


II. HƯỚNG DẪN SỬ DỤNG PHẦN MỀM
Hiện nay, song song với việc sản xuất chíp Vi điều khiển, các hãng lớn trên thế
giới cũng đưa ra thị trường các phần mềm lập trình, biên dịch và mô phỏng chương
trình cho Vi điều khiển.
2.1 Phần mềm KeilC
Khởi động phần mềm MikroC PRO for Pic: Vào Start >> Programs >>
Mikroelektronika >> MikroC PRO for PIC hoặc double click vào shortcut trên màn
hình\Desktop.
- Sau khi khởi động phần mềm, giao diện sẽ xuất hiện như sau:

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page


Bộ thực hành lập trình vi điều khiển AVR

Ban đầu phần mềm sẽ load một ví dụ có sẵn trong thư mục cài đặt, ta có thể tắt
project này bằng cách click vào Tab menu Project >> Close Project.
- Tạo một project mới cho việc lập trình: Vào lại Tab menu Project >> New Project.

Sau khi nhấp chọn để tạo project mới cửa sổ sau sẽ xuất hiện:

Đây là cửa sổ thiết lập các thông số project
+ Ở ô đầu tiên Project Name: các bạn đặt tên cho project của mình (tùy ý), chẳng hạn đặt
tên là " Vi du 1".
+ Ở ô Project Folder: chọn đường dẫn để lưu project, để kiểm soát dữ liệu cho công việc
các bạn nên tạo một folder mới cho mỗi project.
+ Ô Device Name: chọn dòng vi điều khiển, nếu bạn sử dụng ATMEGA 8 để lập trình

thì tìm đúng tên của nó là " ATMEGA 8" trong hộp combo box khi ấn nút xổ xuống.
+ Device clock: chọn tần số hoạt động cho vi điều khiển, tần số này chính là tần số thạch
anh sử dụng cho vi điều khiển.
Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page


Bộ thực hành lập trình vi điều khiển AVR
Cuối cùng nhấn Next để chuyển qua bước tiếp theo. Khi đó cửa sổ sau xuất hiện:

Trong bước này, các bạn để trong và tiếp tục nhấn Next sẽ đến bước sau:

Trong cửa sổ này, bạn stick vào nút có dòng chữ " Include None (Advaned)" rồi
nhấn nút Next. Trong bước cuối cùng bạn cứ để mặc định và nhấn nút Finish khi đó
cửa sổ lập trình sẽ xuất hiện, sẵn sàng cho bạn viết code.

Bạn có thể viết code của mình vào giữa hai dấu ngoặc { .......... }
Sau đó bạn nhấp vào nút Build hoặc nhấn tổ hợp phím Ctrl + F9 để tạo file hex.

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page


Bộ thực hành lập trình vi điều khiển AVR

2.2 Phần mềm nạp Khazama
Sau khi đã có file hex do phần mềm viết code tạo ra ta tiến hành nạp chương trình
vào chip.

Bước 1: kết nối mạch nạp với chíp và máy tính.
Bước 2: mở phần mềm nạp Khazama.

III. CÁC BÀI TẬP THỰC HÀNH VỚI MODUL ỨNG DỤNG
Ghi chú: phần mềm code và file hex được cấp trong đĩa CD đính kèm.
3.1 Thực hành hiển thị led đơn.
a) Sơ đồ nguyên lý

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page


Bộ thực hành lập trình vi điều khiển AVR
D1
5V

1

1

VCC

D2

R1
470

1N4001


GND

1
U1
T0 RB0
T1 RB1
INT2 RB2
RB3
CS RB4
SDO RB5
SDI RB6
SCK RB7

1
2
3
4
5
6
7
8

RX RD0
TX RD1
INT0 RD2
INT1 RD3
PWM2
RD4
PWM_DC RD5
ROLE1 RD6

ROLE2 RD7

14
15
16
17
18
19
20
21

RST

9

MOSI
MISO
SCK

VCC

R2
10K

S1

Y1

1


RESET
C3

RST

104

PD0 (RXD)
PD1 (TXD)
PD2 (INT0)
PD3 (INT1)
PD4 (OC1B)
PD5 (OC1A)
PD6 (ICP)
PD7 (OC2)

12
13

2

11.0592Mhz
C4
22p

GND

PB0 (XCK/T0)
PB1 (T1)
PB2 (AIN0/INT2)

PB3 (AIN1/OC0)
PB4 (SS)
PB5 (MOSI)
PB6 (MISO)
PB7 (SCK)

PA0 (ADC0)
PA1 (ADC1)
PA2 (ADC2)
PA3 (ADC3)
PA4 (ADC4)
PA5 (ADC5)
PA6 (ADC6)
PA7 (ADC7)
PC0 (SCL)
PC1 (SDA)
PC2 (TCK)
PC3 (TMS)
PC4 (TDO)
PC5 (TDI)
PC6 (TOSC1)
PC7 (TOSC2)

RESET

VCC
AVCC
AREF

XTAL2

XTAL1

GND
GND

40
39
38
37
36
35
34
33

RA0
RA1
RA2
RA3
RA4
RA5
RA6
RA7

22
23
24
25
26
27
28

29

RC0 SCL
RC1 SDA
RC2
RC3
RC4
RC5
RAM_WE
RC6
RAM_OE
RC7
RAM_ALE
VCC

10
30
32

L1
100uH
C1
104

31
11

C2
104


GND

ATmega16-16PC
C5
22p

GND

MOSI
RST
SCK
MISO

P1
1
3
5
7
9

VCC
2
4
6
8
10

RC0
RC1
RC2

RC3
RC4

NAP ISP
RA0
RA1
RA2
RA3
RA4

RB0
RB1
RB2
RB3
RB4

ROLE1
ROLE2
PWM_DC
PWM2

GND

P6
1
2
3
4
5


RA5
RA6
RA7

6
7
8
9
10

PORTA
P11
1
2
3
4
5

RB5
RB6
RB7

6
7
8
9
10

RD0
RD1

RD2
RD3
RD4

RE0
RE1
RE2

PORTB
P14
1
2
3
4
5

6
7
8
9
10

SCK
SDI
SDO
CS

P2
1
2

3
4
5

RC5
RC6
RC7

6
7
8
9
10

PORTC
P7
1
2
3
4
5

1
2
3
4
5

RD5
RD6

RD7

6
7
8
9
10

PORTD
P12
6
7
8
9
10

2
4
6
8

1
2
3
4
5

6
7
8

9
10

VCC
RA0
RA1
RA2
RA3
RA4
RA5
RA6
RA7

I2C

1
2
3
4
5

6
7
8
9
10

VCC

UART

P13

T0

1
2
3
4
5

RB0
RB1
RB2
RB3
RB4
RB5
RB6
RB7

T1

6
7
8
9
10

TIMER
P16


SCK
SDI
SDO
CS

INT0
INT1
INT2

SPI

MOTOR DC

P3

P8

RX
TX

RE0 RAM_WE
RE1 RAM_OE
RE2 RAM_ALE

CONTROL RAM
P15
1
3
5
7


SCL
SDA

1
2
3
4
5

P4

VCC

1
2
3
4
5
6
7
8
9
P9

10K

VCC

1

2
3
4
5
6
7
8
9

RD0
RD1
RD2
RD3
RD4
RD5
RD6
RD7

10K

6
7
8
9
10

P5
1
2
3

4
5
6
7
8
9

RC0
RC1
RC2
RC3
RC4
RC5
RC6
RC7

10K
P10
1
2
3
4
5
6
7
8
9
10K

INTERRUP


MODULE MCU AVR

Sơ đồ nguyên lý mạch CPU 89xx.

LED10
D_LED1

R36

D_LED9

GND

470R

R37

LED12
R38

D_LED5
D_LED4
D_LED3
D_LED2
D_LED1

LED14
D_LED3


D_LED10 R39
470R

GND

470R

R40

GND

470R

D_LED13
D_LED12
D_LED11
D_LED10
D_LED9

D_LED2

D_LED11 R41
470R

LED16
R42

R44

GND


470R

P13
DATA

6
7
8
9
10

6
7
8
9
10

D_LED8
D_LED7
D_LED6

LED18
D_LED5

1
2
3
4
5


1
2
3
4
5

P12
DATA

D_LED12 R43
470R

GND

470R

D_LED16
D_LED15
D_LED14

D_LED4

D_LED13 R45
470R

LED20
D_LED6

R46

470R

GND

D_LED14 R47
470R

GND

D_LED15 R49
470R

GND

D_LED16 R51
470R

LED22
D_LED7

R48
470R
LED24

D_LED8

R50
470R

LED11

VCC

470R
LED13

VCC

LED15
VCC

LED17
VCC

LED19
VCC

LED21
VCC

LED23
VCC

LED25
VCC

MODULE LED SINGLE
Sơ đồ nguyên lý Mô đune LED đơn.
Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 10



Bộ thực hành lập trình vi điều khiển AVR

b) Nguyên lý hoạt động
Mạch gồm 16 led đơn, các led nối chung đường nguồn. Vi điều khiển
thực hiện xuất dữ liệu vào các chân led điều khiển led sáng dần tắt dần.
c) Sơ đồ kết nối bài tập trên mô hình

Sơ đồ kết nối hiển thị led đơn.
d) Trình tự thao tác
Bước 1: Kết nối PORTA và PORTB với modul led đơn.
Bước 2: Kết nối mạch nạp và nạp chương trình cho chíp.
(File hex ở folder: sw-led don/led don.hex)
e) Kết quả khảo sát
Hai hàng led nhấp nháy thay phiên nhau.
Bài tập cho sinh viên:
Bài tập 1: Viết chương trình điều khiển led sáng dần, tắt dần từ hai đầu vào.
Bài tập 2: Viết chương trình tạo các hiệu ứng nháy led.

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 11


Bộ thực hành lập trình vi điều khiển AVR

3.2 Thực hành hiển thị led 7 đoạn.
a) Sơ đồ nguyên lý


Q1
A1015

LED2 R22 100

LED1
LED2
LED3
LED4

L1

P7
1
2
3
4
5

Q2
A1015

3

LED3 R23 100

1
Q3
A1015


3

2

3
2

LED1 R21 100

LED4 R24 100

L2

Q4
A1015

3
2

1

EN 3

1

VCC LED

2

2


1

1

VCC

L3

L4

DATA
STR
CLK

6
7
8
9
10

CONTROL
U6
VDD
CLK
STR

11
12
10

13

VCC LED

GND
DATA

14
8

GND

SFTCLK QA
LCHCLK QB
QC
RST
QD
OE
QE
QF
QG
QH
SDI

SDO

VCC LED
16
15
1

2
3
4
5
6
7
9

LED9

P8
1
2
3
4
5
6
7
8

16
15
14
13
12
11
10
9

A

B
C
D
E
F
G
DOT

R25
R26
R27
R28
R29
R30
R31
R32

100
100
100
100
100
100
100
100
L1
L2
L3
L4


SWITCH

GND
74HC595

1
2
3
4
5

a
b
c
d
e
f
g
dot
Led 1
Led 2
Led 3
Led 4

LED4

LED3

LED2


LED1

LED7

P6
A
B
C
D
E

11
7
4
2
1
10
5
3
6
8
9
12

6
7
8
9
10


F
G
DOT

DATA

MODULE LED 7 SEGMENT

Sơ đồ nguyên lý Module hiển thị Led 7 thanh.
b) Nguyên lý hoạt động
Mạch gồm 4 led 7 đoạn, các led nối chung đường dữ liệu. Vi điều khiển thực
hiện xuất dữ liệu vào các chân dữ liệu của led, và quét cấp nguồn cho từng led
thông qua transistor thuận.
c) Sơ đồ kết nối bài tập trên mô hình

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 12


Bộ thực hành lập trình vi điều khiển AVR

Sơ đồ kết nối hiển thị led 7 thanh.
d) Trình tự thao tác
Bước 1: Nối DATAvào PORTB.
Bước 2: Nối phần CONTROL vào PORTB.
Bước 3: Gạt switch cấp nguồn cho led.
Bước 4: Kết nối mạch nạp và nạp chương trình cho chíp.
(File hex ở folder: sw-led 7/led7.hex)
e) Kết quả khảo sát

Trên led 7 sẽ hiển thị các số 0000-9999.
Bài tập cho sinh viên:
Bài tập 1: Viết chương trình hiển thị giá trị điện áp lên led 7.
Bài tập 2: Viết chương trình hiển thị thời gian thực lên led 7.

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 13


Bộ thực hành lập trình vi điều khiển AVR

3.3 Thực hành hiển thị LCD 16x2.
a) Sơ đồ nguyên lý

1

VCC
LCD1

VLCD

2

TIEN DAI PHAT
LCD 16 x 2

C5
104


A
15
D7
D6 14
D5 13
12
D4 11
D3 10
D2
D1 9
D0 78
EN
RW 56
RS 4
VEE 3
GND 1
K
16
VLCD
1

GND

P4

VLCD
VCC

2


LCD_D0
LCD_D1
LCD_D2
LCD_D3
LCD_D4

1
2
3
4
5

6
7
8
9
10

LCD_D5
LCD_D6
LCD_D7

DATA LCD
R20
47R/1W

P5
LCD_RS
LCD_RW
LCD_EN


2

LCD_D7
LCD_D6
LCD_D5
LCD_D4
LCD_D3
LCD_D2
LCD_D1
LCD_D0

3

LCD_EN
LCD_RW
LCD_RS

VR2
10K

VLCD

EN 2

1
2
3
4
5


6
7
8
9
10

CONTROL LCD

MODULE LCD 16 X 2
Sơ đồ nguyên lý Modul LCD.
b) Nguyên lý hoạt động
Vi điều khiển thực hiện ghi lệnh và dữ liệu vào LCD để hiển thị thông tin.
c) Sơ đồ kết nối bài tập trên mô hình

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 14


Bộ thực hành lập trình vi điều khiển AVR

Sơ đồ kết nối hiển thị LCD 16x2.
d) Trình tự thao tác
Bước 1: Kết nối CONTROL vào PORTA.
Bước 2: Kết nối DATA vào PORTB.
Bước 3: Gạt switch cấp nguồn LCD.
Bước 4: Kết nối mạch nạp và nạp chương trình cho chíp.
(File hex ở folder: sw-lcd16x2 /lcd 16x2.hex)
e) Kết quả khảo sát

Trên LCD hiển thị thông tin cần ghi ra.
Bài tập cho sinh viên:
Bài tập 1: Viết chương trình đọc thời gian thực hiển thị LCD.
Bài tập 2: Viết chương trình đọc giá trị ADC hiển thị LCD.

3.4 Thực hành hiển thị led matrix.
a) Sơ đồ nguyên lý

VCC MT
CC1
CC2
CC3
CC4
CC5

P2
1
2
3
4
5

6
7
8
9
10

CC6
CC7

CC8

CC1

R1

VCC MT

Q1
A1015

1K

CC2

R2
1K

H1

SCAN

VCC MT

Q2
A1015

CC3

R3


Q3
A1015

1K

H2

VCC MT

CC4

R4

Q4
A1015

1K

H3

VCC MT

CC5

R5
1K

H4


VCC MT

Q5
A1015

CC6

R6

Q6
A1015

1K

H5

VCC MT

R7

CC7

1K

H6

Q7
A1015

VCC MT


CC8

R8

Q8
A1015

1K

H7

H8

P1
6
7
8
9
10

1
2
3
4
5

CLK
STR
DATA


VCC MT VCC MT VCC MT VCC MT

DATA
VCC

C1
104
D1
1N4007

GND

C2
104
GND

C3
104
GND

C4
104

U1

VCC MT
U3
VDD
CLK

STR

11
12
10

VCC MT

13

GND

DATA

14
8

GND

SFTCLK QA
LCHCLK QB
QC
RST
QD
QE
OE
QF
QG
QH
SDI


SDO

VCC MT
GND

10
13

DATA1 14
8
GND

U4
VDD
CLK
STR

11
12
10

VCC MT

13

GND

9


14
8

MC74HC595

GND

VDD
11
12

C1
C2
C3
C4
C5
C6
C7
C8

GND

U7
CLK
STR

VCC MT
16
15
1

2
3
4
5
6
7

SFTCLK QA
LCHCLK QB
QC
RST
QD
QE
OE
QF
QG
QH
SDI

SDO

VCC MT
16
15
1
2
3
4
5
6

7

C17
C18
C19
C20
C21
C22
C23
C24

SFTCLK QA
LCHCLK QB
QC
RST
QD
QE
OE
QF
QG
QH
SDI

SDO

11
12
10

VCC MT


13

GND

9

14
8
GND

15
1
2
3
4
5
6
7

C9
C10
C11
C12
C13
C14
C15
C16

H1

H2
H3
H4
H5
H6
H7
H8

9
14
8
12
1
7
2
5

R1
R2
R3
R4
R5
R6
R7
R8

C1
C2
C3
C4

C5
C6
C7
C8

13
3
4
10
6
11
15
16

C1
C2
C3
C4
C5
C6
C7
C8

H1
H2
H3
H4
H5
H6
H7

H8

9
14
8
12
1
7
2
5

R1
R2
R3
R4
R5
R6
R7
R8

C1
C2
C3
C4
C5
C6
C7
C8

13

3
4
10
6
11
15
16

C9
C10
C11
C12
C13
C14
C15
C16

13
3
4
10
6
11
15
16

C25
C26
C27
C28

C29
C30
C31
C32

9 DATA1

MC74HC595

VDD
CLK
STR

VCC MT
16

MT8X8 R-ACHUNG

MT8X8 R-ACHUNG

U5

U6

GND

U8

GND
MC74HC595


U2

GND

SFTCLK QA
LCHCLK QB
QC
RST
QD
QE
OE
QF
QG
QH
SDI

SDO

VCC MT
16
15
1
2
3
4
5
6
7


C25
C26
C27
C28
C29
C30
C31
C32

H1
H2
H3
H4
H5
H6
H7
H8

9
14
8
12
1
7
2
5

R1
R2
R3

R4
R5
R6
R7
R8

C1
C2
C3
C4
C5
C6
C7
C8

13
3
4
10
6
11
15
16

C17
C18
C19
C20
C21
C22

C23
C24

H1
H2
H3
H4
H5
H6
H7
H8

9
14
8
12
1
7
2
5

R1
R2
R3
R4
R5
R6
R7
R8


C1
C2
C3
C4
C5
C6
C7
C8

9

GND
MC74HC595
MT8X8 R-ACHUNG

MT8X8 R-ACHUNG

MODULE LED MATRIX

Sơ đồ nguyên lý Led ma trận 8x8.
b) Nguyên lý hoạt động

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 15


Bộ thực hành lập trình vi điều khiển AVR

Vi điều khiển xuất dữ liệu vào hàng và quét cấp nguồn cho các cột của led.

c) Sơ đồ kết nối bài tập trên mô hình

Sơ đồ kết nối hiển thị led ma trận 8x8.
d) Trình tự thao tác
Bước 1: Kết nối COTROL với PORTC.
Bước 2: Kết nối DATA với PORTB.
Bước 3: Gạt switch cấp nguồn.
Bước 4: Kết nối mạch nạp và nạp chương trình cho chíp.
(File hex ở folder: sw-ledmatrix-vali /led matrix.hex)
e) Kết quả khảo sát
Trên led matrix chạy chữ từ A-Z.
Bài tập cho sinh viên:
Bài tập 1: Viết chương trình chạy một dòng chữ bất kỳ.
Bài tập 2: Viết chương trình cài đặt chữ hiện thị thông qua máy tính.

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 16


Bộ thực hành lập trình vi điều khiển AVR

3.5 Thực hành nhận biết phím đơn.
a) Sơ đồ nguyên lý

GND

GND

GND


SW1

R4
470R

CLK
RST
4

GND

1

11

LED1
Q

2

D1

D2 9

SW2

D SET

Q


470R

Q

SW5

R9
10K

R11
470R

CLK
RST
4

GND

1

11

LED5
Q

2

D5


D6 9

SW6

4013

U3B
Q

13 SW6

R7
10K

R12
470R
SW4

LED6
Q

D4 9
11

CLK
12 D6

4013

U2B


D SET

Q

13 SW4

470R

RST

4013

LED4
Q

12 D4

4013
GND

GND

GND

GND

GND

GND


R10

CLK

GND

GND

GND

3

D SET

Q

1

SW7

R14
10K

R15
470R

CLK

4


RST

11

LED7
Q

2 D7

D8 9

SW8
GND

U4B

D SET

Q

4013

13 SW8

R16
470R

CLK
RST

10

D7 5

U4A

8

VCC
6

VCC

GND

2 D3

GND

D SET

RST

GND

LED3
Q

GND


10

Q

SW3 R6
470R

VCC

8

6

U3A

D SET

1

GND

GND

10

SW5

SW7

RST


GND

4013

VCC

3

Q

CLK

GND

GND

R13
10K

SW3

U2A

D SET

GND

VCC


D5 5

D3 5
3

LED2
12 D2

GND
GND

R8
10K

R3
10K

R5

CLK
RST

GND

4013

13 SW2

6


Q

4

SW1

D SET

U1B

8

3

VCC

R2
10K

8

D1 5

U1A

10

R1
10K


VCC
6

VCC

LED8
Q

12 D8

P1
1
2
3
4
5

6
7
8
9
10

SW6
SW7
SW8

BUTTON

4013


GND
GND

SW1
SW2
SW3
SW4
SW5

GND
GND

MODULE BUTTON

Sơ đồ nguyên lý Mô đune phím đơn.
b) Nguyên lý hoạt động
Vi điều khiển quét nhận biết phím bấm và hiển thị trên led đơn.
c) Sơ đồ kết nối bài tập trên mô hình

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 17


Bộ thực hành lập trình vi điều khiển AVR

Sơ đồ kết nối nhận biết phím đơn.
d) Trình tự thao tác
Bước 1: Kết nối BUTTON với PORTB.

Bước 2: Kết nối led đơn với PORTA.
Bước 3: Kết nối mạch nạp và nạp chương trình cho chíp.
(File hex ở folder: sw-phim don-vali/phim+led don.hex)
e) Kết quả khảo sát
Khi bấm các phím sẽ có 1 led sáng.
Bài tập cho sinh viên:
Bài tập 1: Viết chương trình tạo hiệu ứng nháy led theo từng phím bấm.
Bài tập 2: Viết chương trình cài đặt dùng phím bấm.

3.6 Thực hành nhận biết phím ma trận 4x4.
a) Sơ đồ nguyên lý
Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 18


Bộ thực hành lập trình vi điều khiển AVR

SW1
1

SW2
2

1

SW3

SW4


3
2

4
3

VCC
/

A
P3

SW5

SW6

SW7

4

5

6

A
SW8
*

B


B

SW9

SW10

SW11

SW12

7

8

9

-

SW13

SW14

SW15

SW16

ON/C

0


=

+

P1
1
2
3
4
5
6
7
8
9

1
2
3
4
A
B
C
D

10K x 8

GND
C

C


1
2
3
4
A

P2
1
2
3
4
5

6
7
8
9
10

B
C
D

D

MODULE KEY MATRIX
Sơ đồ nguyên lý phím ma trận 4x4.
b) Nguyên lý hoạt động
Vi điều khiển thực hiện quét các phím và nhận biết phím nào đã được bấm.

c) Sơ đồ kết nối bài tập trên mô hình

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 19


Bộ thực hành lập trình vi điều khiển AVR

Sơ đồ kết nối nhận biết phím ma trận 4x4.
d) Trình tự thao tác
Bước 1: Kết nối CONTROL LCD vào PORTA.
Bước 2: Kết nối DATA LCD vào PORTB.
Bước 3: Kết nối KEYBOARD vào PORTC.
Bước 4: Gạt switch cấp nguồn.
Bước 6: Kết nối mạch nạp và nạp chương trình cho chíp.
(File hex ở folder: sw-key matrix 4x4-vali/key matrix.hex)
e) Kết quả khảo sát
Khi bấm các phím, trên màn hình LCD sẽ hiện lên: “phím vừa bấm: 0-F”, led
đơn hiển thị theo phím bấm.
Bài tập cho sinh viên:
Bài tập 1: Viết chương trình tạo hiệu ứng nháy led theo từng phím bấm.
Bài tập 2: Viết chương trình tính toán cộng, trừ, nhân, chia.

3.7 Thực hành xử lý ngắt ngoài INT.
a) Sơ đồ nguyên lý
VCC I2C
D1
VCC


R1
470R

VCC I2C
1N4007

VCC I2C
D2
5mm
INT1

R2
1K
VCC I2C

R3

1

330R

U2

2

Q1
C1815

3
4


SENSOR
GND

P3
GND

GND

1
2
3
4
5

INT1
INT2

VCC I2C
R8
470R

6
7
8
9
10

Header 5X2A


VCC I2C
D4
5mm
INT2

R9
1K
VCC I2C

R10

1

330R

U4

2

3

Q2
C1815

4
SENSOR

GND

GND


GND

MODULE SENSOR
Sơ đồ nguyên lý modul sensor.
b) Nguyên lý hoạt động
Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 20


Bộ thực hành lập trình vi điều khiển AVR

Thực hiện nhận biết sự tác động vào cảm biến thông qua chân ngắt của vi
điều khiển.
c) Sơ đồ kết nối bài tập trên mô hình

Sơ đồ kết nối sensor.

d) Trình tự thao tác
Bước 1: Kết nối SENSOR với INTERRUP.
Bước 2: Kết nối CONTROL LCD với PORT2.
Bước 3: Kết nối DATA LCD với PORT1.
Bước 4: Gạt switch cấp nguồn .
Bước 5: Kết nối mạch nạp và nạp chương trình cho chíp.
(File hex ở folder: sw-int-8051 /sw-INT.hex)
e) Kết quả khảo sát
Khi tác động vào cảm biến, trên màn LCD sẽ hiển thị biến đếm số lần tác
động.
Bài tập cho sinh viên:

Bài tập 1: Viết chương trình đọc phím bấm sử dụng ngắt.
Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 21


Bộ thực hành lập trình vi điều khiển AVR

Bài tập 2: Viết chương trình đo tần số sử dụng ngắt.

3.8 Thực hành với bộ Timer/Counter.
a) Sơ đồ nguyên lý
VCC

VR1
P2

R19

THR
TRIG
NE555N

6
2

OUT

3


PULSE
R18
330

6
7
8
9
10

PULSE

PULSE

D1

C1
104

P3

1
2
3
4
5

1
3
5


2
4
6

100

DISC

VCC
GND
VCC
CVOLT

7

U5

1
5

R17

4
8

200k
1k

SELECT

GND
C2
1uF
GND

C3
0.1uF

GND

GND

C4
10uF
GND

MODULE FREQUENCY
Sơ đồ nguyên lý modul Frequency.
b) Nguyên lý hoạt động
Thực hiện đo tần số của bộ phát tần số tạo ra sử dụng bộ Timer của vi điều
khiển. Tần số đo được hiển thị lên LCD.
c) Sơ đồ kết nối bài tập trên mô hình

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 22


Bộ thực hành lập trình vi điều khiển AVR


Sơ đồ kết nối Frequency.

d) Trình tự thao tác
Bước 1: Kết nối FREQUENCY với TIMER.
Bước 2: Kết nối DATA LCD với PORT1.
Bước 3: Kết nối CONTROL LCD với PORT2.
Bước 4: Gạt switch cấp nguồn.
Bước 5: Kết nối mạch nạp và nạp chương trình cho chíp.
(File hex ở folder: dotanso+lcd/dotanso+lcd.hex)
e) Kết quả khảo sát
Tần số đo được hiển thị lên màn LCD.
Bài tập cho sinh viên:
Bài tập 1: Viết chương trình tạo thời gian trễ dùng Timer.
Bài tập 2: Viết chương tạo xung tần số 100Hz.

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 23


Bộ thực hành lập trình vi điều khiển AVR

3.9 Thực hành giao tiếp ADC.
a) Sơ đồ nguyên lý

VCC ADC

D2
VCC


VCC ADC
1N4007

ADC_D0
ADC_D1
ADC_D2
ADC_D3
ADC_D4

ADC_RD
ADC_WR
ADC_INT

P2
1
2
3
4
5

6
7
8
9
10

DATA ADC
P3
1
2

3
4
5

6
7
8
9
10

20

ADC_D5
ADC_D6
ADC_D7

ADC_INT

5

ADC_D0
ADC_D1
ADC_D2
ADC_D3
ADC_D4
ADC_D5
ADC_D6
ADC_D7

18

17
16
15
14
13
12
11

C2
104

U1
VCC

CS
RD
WR

INTR
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7

CLK IN
CLKOUT

REF/2
IN+
IN AGND
DGND

1
2
3

ADC_RD
ADC_WR

4
19
9
6
7

C3

R28 10K
IN_ADC

VCC ADC 150p
VR2
20k

8
10


GND

ADC0804
GND
VCC ADC

IN_ADC

VR1
20k

ADC1

VCC ADC
8

CONTROL ADC

GND

P5
6
7
8
9
10

OUT ADC

VCC ADC U3 GND

1
+VS
VO
GND

2

P4
2 ADC2

1
2

3
4

Header 2X2

3

1

U2A
LM358
1

4

1
2

3
4
5

3

ADC1
ADC2

LM35DZ
GND

GND

MODULE ADC
Sơ đồ nguyên lý Mô đun ADC.
b) Nguyên lý hoạt động
Dùng biến trở để thay đổi giá trị điện áp từ 0-5v. ADC0804 sẽ chuyển giá trị
điện áp thành giá trị số từ 0-255, vi điều khiển đọc giá trị này và hiển thị lên LCD.
c) Sơ đồ kết nối bài tập trên mô hình

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 24


Bộ thực hành lập trình vi điều khiển AVR

Sơ đồ kết nối giao tiếp ADC.
d) Trình tự thao tác

Bước 1: Kết nối CONTROL LCD với PORT2.
Bước 2: Kết nối DATA LCD với PORT1.
Bước 3: Kết nối DATA ADC với PORT0, CONTROL ADC với PORT3.
Bước 4: Gạt switch cấp nguồn
Bước 5: Kết nối mạch nạp và nạp chương trình cho chíp.
(File hex ở folder: sw-adc-8051/adc 8051.hex)
Bước 6: Chỉnh biến trở để thay đổi giá trị ADC.
e) Kết quả khảo sát
Trên LCD hiển thị giá trị ADC đọc được.
Bài tập cho sinh viên:
Bài tập 1: Viết chương trình hiển thị giá trị điện áp lên led 7 và led đơn.
Bài tập 2: Viết chương trình đọc giá trị ADC và suất ra DAC.

Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E

Page 25


×