Tải bản đầy đủ (.pdf) (20 trang)

kt ung dung vdk 1611

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 (197.54 KB, 20 trang )

MÔN HỌC

Ứng dụng Vi điều khiển
(Microcontroller Applications)

By Trần Văn Hùng
Mechatronics Dept

/>Email:

Tài liệu tham khảo
1. Microprofessors and microcpmputers hardware and softwware, Ronaid J.Tocci, Frank J.Ambrosio,
Prentice Hall, 2003
2. Interfacing Sensors To The Pc, Willis J.Tompkin, Jonh G.webster, Prentice Hall, 1998
3. Vi xử lý, Văn Thế Minh, NXB Giáo Dục.
4. Họ vi điều khiển 8051, Tống Văn On.
5. Kỹ thuật Vi điều khiển AVR, Tống Văn On.

1


Nội dung chương trình
n
n
n
n
n
n

Ch01: Các hệ đếm và mã hố
Ch02: Hệ thống vi xử lý


Ch03: Bộ nhớ
Ch04: Họ vi điều khiển AVR
Ch05: Ngơn ngữ lập trình CodevisionAVR
Ch06: Input/Output

Các bài tốn
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

Thiết kế mạch điều khiển ánh sáng theo chương trình định trước
Thiết kế mạch trang trí bằng đèn LED
Thiết kế mạch nhận dạng điểm phục vụ (thêm ít nhất 2IC)
Thiết kế mạch đo lượng mưa
Thiết kế mạch điều khiển nhiệt độ khơng khí
Thiết kế mạch điều khiển nhiệt độ dung dịch
Thiết kế mạch đồng hồ điện tử
Thiết kế mạch tính thời gian cho các môn điền kinh

Thiết kế bảng quang báo
Thiết kế mạch khoá điện tử
Thiết kế mạch điều khiển thiết bị bằng remote
Kết nối bàn phím máy tính với VXL, hiển thị ký tự lên LCD
Thiết kế mạch điều khiển Robot chạy theo qũy đạo (sd motor bước)
Thiết kế mạch điều khiển tốc độ động cơ DC
Thiết kế mạch điều khiển góc quay của mơtơ, ổn tốc cho motor.

2


Chương 1: Các hệ đếm và mã hoá

n
n
n

Các hệ đếm dùng trong máy tính
Các phép tốn số học đối với hệ hai
Mã ASCII

1.1 Các hệ đếm dùng trong máy tính
1.1.1 Hệ mười và hệ hai
n

n

Con người thì quen dùng hệ cơ số mười (hệ mười)
1234,56 = 1.103 + 2.102 + 3.101 + 4.100 + 5.10-1 + 6.10-2
Máy tính thì chỉ làm việc với hệ cơ số hai (hệ hai)

1011,01 = 1.23 + 0.22 + 1.21 + 1.20 + 0.2-1 + 1.2-2 MSB
n

Nibble gồm 4 bit

n

Byte gồm 8 bit

n

Word gồm 16 bit

3

7

15

LSB
0

0

0

1


1.1.1 Chuyển đổi giữa hệ mười và hệ hai

n Đổi hệ hai sang hệ mười
1011,012 = 1.23 + 0.22 + 1.21 + 1.20 + 0.2-1 + 1.2-2 = 11,2510
n

Đổi hệ mười sang hệ hai
4610 = 1011102

46
0

2
23
1

2
11 2
5
1
1

2
2
0

2
1
1

2
0


Hình 1. Một cách đổi hệ mười sang hệ hai

1.1.1 Chuyển đổi giữa hệ mười và hệ hai (tiếp)
n Đổi số thập phân hệ mười sang hệ hai
0,12510 = 0,0012

n

0,125

x

2

=

0 ,250

0,250

x

2

=

0 ,500

0,500


x

2

=

1 ,000

Số BCD (số hệ mười mã hố bằng hệ hai)
Số BCD thích hợp cho các thiế bị đo có hiển thị số ở đầu ra.
123410 = 0001 0002 0003 0004BCD

n

Hệ mười sáu
123410 =

0100 1101 00102 =

4D216

2


1.2 Các phép toán số học đối với hệ hai
1.2.1 Phép cộng
ana(n-1) ... a2a1a0 + bmb(m-1) ... b2b1b0 = ckc(k-1) ... c2c1c0 (hệ cơ số x)
ci


=

(ai + bi + (ai-1 + bi-1)%x )/x

Ví dụ cộng hệ hai

1101 1001
+

0001 1011
1111 0100

1.2.2 Phép trừ và số bù hai
a. Phép trừ
ana(n-1) ... a2a1a0 - bmb(m-1) ... b2b1b0 = ckc(k-1) ... c2c1c0 (hệ cơ số x)
ci

=

(ai – Bi-1) – bi

(nếu (ai – Bi-1) >= bi và Bi = 0)

ci

=

(ai – Bi-1 + x) – bi

(nếu (ai – Bi-1) < bi và Bi = 1)


Ví dụ trừ hệ hai

1101 1001
-

0001 1011
1011 1110

1.2.2 Phép trừ và số bù hai (tiếp)
b. Số bù hai
Ta có thể thay phép trừ bằng phép cộng: cộng số bị trừ với đối số của số trừ.
Để tìm số bù hai của một số A ta làm theo các bước sau:
+ Biểu diễn số A số hệ hai của nó.
+ Tìm số bù một (bù logic) của số đó (đảo bít).
+ Cộng một vào số bù một ở trên để nhận được số bù hai của A.

1.2.3 Phép nhân
Ví dụ nhân 2 số hệ hai có độ dài 4 bít
a
0
0
1
1

b a.b
0 0
1 0
0 0
1 1


Bảng 1. Quy tắc phép nhân

0
00
1 10
1 11

1
1
1
0
0
1
0

1
0
1
0
0

01
01
01
0

1 01

3



1.2.2 Phép chia
b. Chia trực tiếp
Ví dụ: 35/5 = 7

1 00 01 1
0 00
1 00 0
10 1
11 1
10 1
1 01
1 01
0

10 1
01 11

b. Chia gián tiếp
Lấy số bị chia trừ đi số chia, kết quả sẽ là số bị chia của phép toán
tiếp theo, lặp lại đến khi số bị chia nhỏ hơn số chia hoặc bằng 0.

4


Chương 2: Hệ thống vi xử lý
n

Ưu và nhược điểm hệ nhúng


n

Vi xử lý, vi điều khiển

n

Các họ vi điều khiển

n

Ngắt và xử lý ngắt

2.1 Tại sao lại sử dụng hệ nhúng?
2.1.1 Ưu điểm
n
n
n
n
n
n

Khả năng thích nghi cao
Tính linh động
Khả năng thay đổi dễ dàng
Khả năng tái sử dụng tài nguyên (thư viện,…)
Giá thành rẻ
...

2.1.2 Nhược điểm

n
n
n
n

Tốc độ phản ứng chậm
Độ ổn định thấp
Khơng xử lý được gía trị liên tục
...

1


2.2 Vi điều khiển, vi xử lý
Data bus

CPU
GeneralPurpose
Microprocessor

RAM

ROM

I/O
PORT

Timer,
Wdg,
ADC,

DAC,


USB,
UARST,

I2C,…

Address bus

TERMINOLOGY
n
n

n

n

Microcontroller vs. Microprocessor vs. Microcomputer
A microprocessor is a central processing unit on a
single chip.
A microprocessor combined with support circuitry ,
peripheral I/O components and memory (RAM & ROM)
used to be called a “microcomputer.”
A microprocessor where all the components mentioned
above are combined on the same single chip that the
microprocessor is on, is called a microcontroller.

2



2.3 Kiến trúc vi điều khiển
n

Đơn vị sử lý số học (ALU)

n

Bộ nhớ

n

Input

n

Output

n

Đơn vị điều khiển

2.3.1 Đơn vị xử lý số học (ALU)
Thực hiện phép toán và phép logic trên dữ liệu
n Dữ liệu có thể lấy trên bộ nhớ hoặc I/O
n Kết quả có thể được đưa ra ngồi hoặc vào bộ nhớ
(kết quả được lưu lại)

n


General
Purpose
Registrers

ALU

3


2.3.2 Bộ nhớ
Lưu trữ lệnh hay dữ liệu
n Có thể để lưu trữ dữ liệu tạm thời
n Có thể ghi/đọc được bởi bộ điều khiển
n

Program Memory
$000
Program Flash
(4K x 16)

Data Memory
32 Gen. Purpose $0000
Working Resisters $001F
$0020
64 I/O Resisters
$005F
$0060

Data Memory
$000

EEPROM
(512 x 8)
$1FF

Internal SRAM
(512 x 8)
$025F
$FFF

2.3.3 Input
n

Thiết bị cho phép thông tin và dữ liệu vào bên trong
bộ vi điều khiển

n

Ví dụ: ADC, I2C, UART, …

2.3.4 Output
n

Thiết bị chuyển đổi thông tin và dữ liệu từ bộ nhớ ra
thiết bị ngoại vi.

n

Thiết bị ngoại vi: LED, LCD, máy in, …

4



2.3.5 Đơn vị điều khiển
n

Cung cấp xung nhịp và điều khiển tín hiệu

n

Tìm nạp lệnh và dữ liệu

n

Chuyển dữ liệu tới/từ I/O

n

Giải mã lệnh

n

Thực hiện phép tính số học/logic

n

Đáp ứng tín hiệu ngồi (Reset/Ngắt)

2.3.6 Một số họ vi điều khiển
n


Vi điều khiển 8051
n

n

Vi điều khiển AVR
n

n

PIC 8 bít, PIC 16 bít,…

Vi điều khiển MCUs của Philips
n

n

AVR 8 bít, AVR 16 bít,…

Vi điều khiển PIC
n

n

8051, 89Cxx, 89Sxx, 89Dxx,…

P8xCxx,…




5


2.3.6 Các họ vi điều khiển (tiếp – so sánh)
n

Tốc độ xử lý (clock, clock cycle execution)

n

Khả năng tích hợp (ADC, DAC, UART, I2C,…)

n

Dải điện áp hoạt động (Operating Voltages)

n

Công suất đầu ra (DC current per I/O pin)

n

Khả năng chống nhiễu (Noise Reduction)

n

Tập lệnh (Instruction)

n


Công suất IC (Power consumption)

n

...

2.4 Ngắt và xử lý ngắt (Interrupt)
2.4.1 Khái niệm
n

Ngắt là sự dừng thực hiện chương trình chính (CTC) để
thực hiện chương trình con phụ vụ ngắt(ctc)

Main Prog
ISRi
n: IRQi
n + 1:

ISRj

m: IRQj
m + 1:

iret

iret

6



2.4.2 Cấu trúc ngắt
n Xuất

hiện không được báo trước

n Phục

vụ gần giống chương trình con

n Tích

hợp nhiều loại ngắt

n Có

ưu tiên ngắt

2.4.3 Xử lý ngắt
n

Xuất hiện và cho phép ngắt

n

Hoàn thành lệnh hiện tại

n

Lưu trữ địa chỉ lệnh tiếp theo vào ngăn xếp


n

Nạp địa chỉ ISR vào PC

n

Thực hiện ISR

n

Kết thúc ISR là lệnh RETI

n

Khôi phục địa chỉ lệnh tiếp theo trong ngăn xếp,
chương trình tiếp tục thực hiện

7


2.4.4 Phân loại ngắt
n

Ngắt mềm (software interrupt)
Là việc gọi 1 ctc (Subroutine) được xây dựng riêng mà ctc
này cịn có thể được gọi bởi thiết bị ngoại vi

n

Ngắt cứng (hardware interrupt)

Do port phát tín hiệu đến CPU

n

Ngắt trong (internal interrupt)
Trong một số CPU để bẫy/xử lý các sự kiện trong khi thực
hiện

n

Ngoại lệ (exceptions)
Là vấn đề hay điều kiện để CPU dừng cơng việc đang thực
hiện, tìm địa chỉ và thực hiện 1 ctc, được thiết kế để xử lý sự
kiện này.

8


Chương 3: Bộ nhớ
n

Bộ nhớ
nhớ bán dẫ
dẫn

n

Giả
Giải mã đị
địa chỉ

chỉ cho bộ
bộ nhớ
nhớ

n

Phố
Phối ghé
ghép bộ
bộ nhớ
nhớ

n

Mở rộng bộ
bộ nhớ
nhớ

3.1 Bộ
Bộ nhớ
nhớ bán dẫ
dẫn
Các nhó
nhó m tí
tín hiệ
hiệu
n ROM (read only memory)
n RAM (random access memory)
n


Memory
ROM
PROM
EPROM
EEPROM

Read
Only
Memory

Programmable ROM

RAM

Radom
Access
Memory

SRAM

DRAM

Static RAM

Dynamic RAM

Erasable PROM
Electrically EPROM

CACHE

L1, L2, L3

1


3.1.1 Cá
Các nhó
nhóm tí
tín hiệ
hiệu

Address

WR

A0
A1
A2
..
.

D0
D1
D2
..
.

An

Dm


Data

WE
CS

Select IC

OE

RD

Hình 3. Sơ đồ khối của bộ nhớ

a. Nhó
Nhóm tí
tín hiệ
hiệu đị
địa chỉ
chỉ
n

Có tác dụ
dụng chọ
chọn ra mộ
một ô nhớ
nhớ cụ thể
thể

n


Số đườ
đường đị
địa chỉ
chỉ sẽ quyế
quyết đị
định có
có tối đa bao nhiêu ơ
nhớ
nhớ. Ví
Ví dụ có m đườ
đường đị
địa chỉ
chỉ vậy thì
thì tối đa 2m ơ nhớ
nhớ.

b. Nhó
Nhóm tí
tín hiệ
hiệu dữ
dữ liệ
liệu
n

Thườ
Thường là
là đầ
đầu ra củ
của ROM và

và là vào/ra đố
đối vớ
với RAM

n

Các mạ
mạch nhớ
nhớ thườ
thường có
có đầ
đầu và
vào/ra là
là 3 trạ
trạng thá
thái.

n

Số đườ
đường dây dữ
dữ liệ
liệu quyế
quyết đị
định độ
độ dài từ
từ nhớ
nhớ của
mỗi ô nhớ
nhớ.


2


c. Nhó
Nhóm tí
tín hiệ
hiệu chọ
chọn vi mạ
mạch
Chọ
Chọn vi mạ
mạch sẽ
sẽ trao đổ
đổi dữ
dữ liệ
liệu.
n Các tí
tín hiệ
hiệu nà
này thườ
thường đượ
được nố
nối vớ
với đầ
đầu ra củ
của bộ
bộ
giả
giải mã đị

địa chỉ
chỉ.
n Vi mạ
mạch khơng đượ
được chọ
chọn thì
thì bus dữ
dữ liệ
liệu củ
của nó
nó bị
treo (ở
(ở trạ
trạng thá
thái trở
trở khá
kháng cao).
n

d. Nhó
Nhóm tí
tín hiệ
hiệu điề
điều khiể
khiển
Cho phé
phép dữ
dữ liệ
liệu ra bus.
n Bus dữ

dữ liệ
liệu bị
bị treo nế
nếu khơng có
có tín hiệ
hiệu điề
điều khiể
khiển.
n Mạch thườ
thường chỉ
chỉ có một tí
tín hiệ
hiệu điề
điều khiể
khiển đọ
đọc/ghi.
n

3.1.2 ROM
Bộ nhớ
nhớ có nội dung đã ghi sẵ
sẵn chỉ
chỉ để
để đọ
đọc ra
n Chỉ
Chỉ nạp và
vào mộ
một lầ
lần duy nhấ

nhất
n Không bị
bị mất thơng tin khi mấ
mất điệ
điện
n

Address

WR

A0
A1
A2
..
.

D0
D1
D2
..
.

An

Dm

Data

WE

CS

OE

Select IC

RD

Hình 3. Bộ nhớ ROM

3


3.1.3 ROM có
có thể
thể lập trì
trình đượ
được
a. PROM (Programmable ROM)
n
n
n

Thờ
Thời gian truy cậ
cập nhanh 120120-250ns
Chỉ
Chỉ nạp mộ
một lầ
lần duy nhấ

nhất bằ
bằng cá
các đố
đốt chá
cháy cá
các cầ
cầu chì
chì
Điệ
Điện áp khi lậ
lập trì
trình khoả
khoảng 1010-13V
VCC

A0

Address
Bus

Address
decoder

A1

A2

D2

D1


D0

b. EPROM (erasable PROM)
Thờ
Thời gian truy cậ
cập khoả
khoảng 120 – 450 ns
n Điệ
Điện áp lậ
lập trì
trình khoả
khoảng 1010-25V
n Nó có thể
thể đượ
được xố
xố tồ
tồn bộ
bộ bằng tia cự
cực tí
tím.
n Thờ
Thời gian lậ
lập trì
trình cho mộ
một ơ nhớ
nhớ lâu (khoả
(khoảng 50ms)
n


4


c. EEPROM (electrically EPROM)
n

Xoá
Xoá từng đơn vị
vị nhớ
nhớ bằng điệ
điện, khơng cầ
cần tia cự
cực tí
tím.

n

Thờ
Thời gian lậ
lập trì
trình cho mộ
một ô nhớ
nhớ khoả
khoảng 5ms.

d. Flash memory
n

Thời gian truy cập nhanh (khoảng 120ns).


n

Thời gian ghi nhanh 10µs

n

Xóa từng khối nhớ

5


3.1.4 RAM
n
n

Bị mất dữ liệu khi mất điện.
Thời gian truy cập nhanh (có loại 15ns).

Address
input

Input buffers

Decoder
6 line to 64 line

Register 0
Register 1
Register 2
.

.
.
Register 62
Register 63

R/W

CS

Output buffers

Hình 3. Cấu tạo bên trong của 64 x 4 RAM

3.1.4 RAM (tiế
tiếp)
n

n

SRAM (static RAM)
n

Chế tạo đơn giản

n

Dễ dàng bảo trì

n


Thường được sử dụng trong hệ thống có bộ nhớ nhỏ

DRAM (dynamic RAM)
n

Giá thành thấp

n

Địi hỏi mạch phụ trợ

n

Phải làm tươi (refresh) thường xuyên

n

Thường được sử dụng trong hệ thống có bộ nhớ lớn

6



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×