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

đồ án môn học môn học hệ thống nhúng

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 (769.57 KB, 38 trang )

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP

KHOA ĐIỆN TỬ
BỘ MÔN: KỸ THUẬT MÁY TÍNH

ĐỒ ÁN MƠN HỌC
MƠN HỌC

HỆ THỐNG NHÚNG
Nhóm sinh viên

: Nguyễn Thị Hòa
Nguyễn Văn Hợp
Tống Quang Long
Lớp
: K43DDK .
Giáo viên hướng dẫn : Nguyễn Văn Huy

Thái Nguyên – 2011


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

Nhận xét của giáo viên hướng dẫn
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................


Thái Nguyên, Ngày Tháng

Năm 2011

Giáo Viên hướng dẫn

(Ký ghi rõ họ tên)

Nhận xét của giáo viên chấm
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................

Thái Nguyên, Ngày Tháng

Năm 2011

Giáo Viên hướng dẫn

(Ký ghi rõ họ tên)

MỤC LỤC
3.1 Thiết kế phần cứng ....................................................................................30
3.2 Thiết kế phần mềm.....................................................................................30
Bộ mơn Kỹ thuật máy tính

2



ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

TÀI LIỆU THAM KHẢO................................................................................37

LỜI NÓI ĐẦU
Ngày nay, việc ứng dụng cho các hệ thống nhúng ngày càng trở nên phổ
biến: từ những ứng dụng đơn giản như điều khiển một chốt đèn giao thông định
thời, đếm sản phẩm trong một dây chuyền sản xuất, điều khiển tốc độ động cơ
điện một chiều, thiết kế một biển quảng cáo dùng Led ma trận, một đồng hồ thời
gian thực….đến các ứng dụng phức tạp như hệ thống điều khiển robot, bộ kiểm
soát trong nhà máy hoặc hệ thống kiểm soát các máy năng lượng hạt nhân. Các
hệ thống tự động trước đây sử dụng nhiều công nghệ khác nhau như các hệ
thống tự động hoạt động bằng nguyên lý khí nén, thủy lực, rơle cơ điện, mạch
điện tử số, các thiết bị máy móc tự động bằng các cam chốt cơ khí... các thiết bị,
hệ thống này có chức năng xử lý và mức độ tự động thấp so với các hệ thống tự
động hiện đại được xây dựng trên nền tảng của các hệ thống nhúng.
Với mong muốn giới thiệu ứng dụng cơ bản của hệ thống nhúng trong đời
sống hiện đại, nhóm chúng em đưa ra mơ hình thiết kế hệ thống điều khiển đèn
thơng minh dùng cho các phịng họp.
Trong q trình thực hiện đồ án mơn học, nhóm chúng em cố gắng thiết kế
sao cho mơ hình là đơn giản nhất, ổn định nhất; tuy nhiên do vấn đề thời gian và
kinh nghiệm nên mơ hình vẫn cịn gặp phải những vấn đề chưa thể khắc phục
được.

Trân trọng và chân thành cảm ơn!
Nhóm thực hiện đề tài:
Bộ mơn Kỹ thuật máy tính


3


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy
Nguyễn Thị Hòa
Nguyễn Văn Hợp
Tống Quang Long

CHUƠNG 1: PHÂN TÍCH BÀI TỐN
1.1. Khảo sát và phân tích bài tốn
Hiện nay hầu hết việc giám sát và điều khiển chiếu sáng trong các phịng
cơng cộng được điều khiển bằng tay thơng qua đóng mở các công tắc, các
aptomat, cầu dao.... Điều này khá thuận lợi và đơn giản vì ta có thể bật tắt đèn
theo nhu cầu sử dụng. Tuy nhiên, do là phịng cơng cộng nên việc bật tắt đèn hầu
như do người trực khu nhà đó làm. Vì thế họ khơng biết được chính xác khi nào
thì có người tới và khi nào thì mọi người đã ra hết khỏi phịng hoặc họ biết
nhưng vì phải quản lý nhiều phịng nên họ vẫn cứ để điện đến hết ca trực, điều
này gây lãng phí điện rất lớn, đặc biệt trong hồn cảnh nước ta đang thiếu điện
một cách trầm trọng như hiện nay.
Trên thị trường hiện nay đã có một số thiết bị bật tắt đèn thông minh, như
SmartLight do Hàn Quốc sản xuất: Được tích hợp sensor cảm ứng hồng ngoại
thân nhiệt, đèn sẽ tự động được bật khi có người đi vào vùng cảm ứng và tắt khi
khơng có người.

Bộ mơn Kỹ thuật máy tính

4



ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy
Hình 1.1: Đèn thơng minh Smartlight

SmartLight phù hợp với mọi nhu cầu chiếu sáng thơng minh của bạn tại sân
cổng, phịng khách, phịng ngủ, phòng vệ sinh, cầu thang, văn phòng... giúp bạn
bật tắt đèn hoàn toàn tự động, mang lại sự an toàn, tiện nghi và tiết kiệm điện...
Tuy nhiên thiết bị này tích hợp ln bộ điều khiển với đèn trong 1 sản phẩm. Do
đó giá thành cao và khơng thích hợp cho các phịng cần lượng chiếu sáng lớn,
khơng thay đổi được loại bóng đèn theo yêu cầu.
Hệ thống giám sát điều khiển chiếu sáng sử dụng camera kết nối với máy
tính để kiểm sốt số người trong phịng, qua đó phát lệnh đóng mở các cơng tắc
tơ bật tắt bóng đèn.

Hình 1.2: Hệ thống camera giám sát
Hệ thống này giúp việc bật tắt đèn ở nơi lắp đặt một cách chính xác, tự động
hoặc bán tự động. Tuy nhiên do sử dụng máy tính nên giá thành của hệ thống rất
cao, mặt khác không giải quyết được vấn đề tiết kiệm điện. Vì thế nó thường chỉ
Bộ mơn Kỹ thuật máy tính

5


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy


được sử dụng ở những tịa nhà cơng nghệ cao, những khu vực cần điều chỉnh
chiếu sáng khơng phải vì mục đích tiết kiệm điện năng.
Hệ thống bật tắt đèn tự động sử dụng các IC số và mạch Logic cho phép ta
dựa vào lượng người vào ra để đóng ngắt các cơng tắc một cách tự động.

Hình 1.3: Hệ thống bật tắt đèn thơng minh dùng IC số
Hệ thống này có cấu tạo đơn giản, rẻ, khơng phải lập trình mà chỉ dựa vào các
mạch Logic… nhưng tính linh động khơng cao, khó chỉnh định khi điều kiện làm
việc thay đổi, ít có khả năng nâng cấp mở rộng hệ thống.
Với những phòng họp công cộng, khi mà lưu lượng người không lớn và có
thể kiểm sốt được việc đếm người qua cửa thì ta hồn tồn có thể áp dụng hệ
thống đèn thơng minh sử dụng Vi điều khiển được lập trình để bật đèn khi có
người và tắt khi khơng có người. Điều này vừa tiện lợi cho mọi người: ứng dụng
cơng nghệ tự động hóa vào cuộc sống con người, đảm bảo đủ ánh sáng trong quá
trình làm việc, người quản lý thì đỡ tốn thời gian… đồng thời góp phần giải
quyết vấn đề tiết kiệm điện năng trong thời kỳ mà nhu cầu điện tiêu thụ đã vượt
quá khả năng cung cấp của các nhà máy điện hiện nay.

Bộ mơn Kỹ thuật máy tính

6


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

1.2. Lựa chọn giải pháp
1.2.1 Giải pháp cơng nghệ
Qua phân tích ở trên, nhóm chúng em đưa ra giải pháp xây dựng hệ thống

điều khiển đèn thơng minh cho các phịng họp: điều khiển bật tắt đèn qua việc
kiểm soát lượng người ra vào phịng. Thu nhận tín hiệu rồi xử lý tín hiệu, khi có
người vào phịng, nếu đèn đang bật thì vẫn bật, đèn chưa bật thì bật đèn lên; khi
mọi người ra hết khỏi phịng thì tắt đèn đi. Trong q trình làm việc hệ thống
ln hiển thị số người cịn đang ở trong phòng để tiện cho việc kiểm tra, theo
dõi.
1.2.2 Giải pháp thiết kế
• Để phát hiện người ra ta dùng 2 bộ thu phát hồng ngoại mắc gần nhau đặt
ở cửa ra vào.
• Xử lý, điều khiển dùng vi điều khiển Pic: lập trình để Pic nhận tín hiệu
vào từ 2 bộ Led hồng ngoại, tính tốn xử lý để đưa ra lệnh bật tắt đèn.
• Để hiển thị ta dùng Led 7 thanh: lấy tín hiệu ra từ Pic để thơng báo xem
trong phịng có bao nhiêu người
• Điều khiển tắt/mở bóng đèn nhờ transistor cấp dịng cho rơ le.
1.2.3 Các yêu cầu
• Hệ thống điều khiển đèn thơng minh này áp dụng cho các phịng họp:





Số lượng người trong phịng tối đa khơng q 99 người.
Phịng chỉ có một cửa ra vào.
Ở một thời điểm chỉ có 1 người qua cửa.
Cửa cao 2.5m, rộng 2m.

• Có người đi vào thì bật đèn và đi ra hết thì tắt đèn.
• Hệ thống có 2 chế độ làm việc tự động và bằng tay.
• Làm việc với điện áp 220V/50Hz.
• Sensor và cơng nghệ tùy chọn.

• Có khả năng nâng cấp, cải tiến.
1.2.4 Giới hạn hạn định
• Làm việc cả ban ngày lẫn ban đêm.
Bộ môn Kỹ thuật máy tính

7


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

• Thu nhận tín hiệu liên tục khi có người ra vào.
• Nhiệt độ mơi trường: trong nhà 100C đến 400C.
• Hệ thống cấp điện mới từ đầu.
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
2.1. Sơ đồ tổng quát
Hệ thống điều khiển đèn thông minh gồm có 5 khối chính.

Khối nguồn

Khối
cảm
biến

Khối
xử


Khối

chấp
hành
Khối
hiển
thị

Hình 2.1: Sơ đồ tổng qt hệ thống bật tắt đèn thơng minh
• Khối Nguồn: Cung cấp nguồn cho hệ thống.
• Khối Cảm biến: Sử dụng sensor hồng ngoại dùng để thu nhận tín hiệu
người vào ra phịng, đưa tín hiệu thu được vào chân Pic để xử lý. Để nhận
biết người đi vào hay đi ra ta dùng 2 bộ thu phát hồng ngoại mắc gần
nhau.
• Khối Xử lý: Dùng VDK Pic 16F877A để lấy tín hiệu từ cảm biến, tính
tốn, lưu trữ và đưa ra khối hiển thị và khối chấp hành.

Bộ môn Kỹ thuật máy tính

8


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

• Khối Hiển thị: Lấy tín hiệu ra từ chân Pic để hiển thị số lượng người hiện
đang ở trong phòng trên Led 7 thanh.Khối Chấp hành: Nhận tín hiệu từ
khối xử lý để thực hiện đóng cắt tiếp điểm mạch động lực.

2.2. Sơ đồ Callgraph
Chương trình

điều khiển
chính

Module
Xử lý
Cảm biến

Cảm biến

Module
Xử lý
Chương
trình
Chấp hành

Hiển thị

Hình 2.2: Sơ đồ Callgraph của hệ thống bật tắt đèn thông minh
2.3. Sơ đồ đặc tả

Bộ môn Kỹ thuật máy tính

9


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

Hiển thị

Số
người

Bật đèn
Có người
Người ra

Phân lượng
người
trong
phịng

Khơng người

Tắt đèn

Người vào

Hình 2.3: Sơ đồ đặc tả của hệ thống bật tắt đèn thông minh
2.4. Các module trong hệ thống
2.4.1. Module khối nguồn
Module này tạo ra điện áp một chiều từ nguồn xoay chiều 220V để cung
cấp cho các linh kiện trong hệ thống. Sử dụng biến áp để biến điện áp xoay chiều
220V thành điện áp xoay chiều 12V, dùng chỉnh lưu từ 12V xoay chiều sang
12V một chiều, dùng IC 7805 ổn áp để lấy ra điện áp ổn định 5V ở ngõ ra.
12V

-

+


4

1
C 1
C

B ie n a p

IN

7805

O U T
G N D

1

U 4

3

V c c -5 V
C 2
C

2

1
2


3

220V~

D io t c a u

2

L1

J2

Hình 2.4.: Module nguồn cấp
2.4.2. Module cảm biến

Bộ môn Kỹ thuật máy tính

10


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

Bộ phận cảm biến của hệ thống sử dụng mạch thu phát hồng ngoại. Led
phát hồng ngoại nối với nguồn 1 chiều qua điện trở R1, R2: phát ra ánh sáng
hồng ngoại truyền tới Led thu. Led thu hồng ngoại có 3 chân: chân 3 và 1 nối với
nguồn qua R3, R4 và đất, chân 2 lấy tín hiệu ra đưa vào chân Vi xử lý. Ở trạng
thái bình thường, tín hiệu hồng ngoại truyền từ khối phát được Led thu thu nhận,

trên đầu ra 2 tín hiệu ở mức cao (mức 1); khi có người đi cắt qua khiến Led thu
mất tín hiệu, đầu ra 2 cho tín hiệu ở mức thấp (mức 0). Để có thể phân biệt được
là người đi vào hay đi ra ta mắc 2 bộ Thu- Phát song song và đặt cạnh nhau. Tín
hiệu thu được từ đầu ra của 2 Led thu được đưa vào 2 chân Vi xử lý để thực hiện
q trình tính tốn, kiểm tra, lưu trữ…
V c c -5 V
V c c -5 V

R 2

R 4

R 1

R 3
U 1
3

LED TH U 1
VSS VC C

D 1
LED PH AT 1

2

TH 1

1


O U T

LED TH U 2

O U T

2

TH 2

1

D 2
LED PH AT 2

VSS VC C

3

U 2

Module phát

Module thu

Hình 2.5: Module thu phát hồng ngoại
2.4.3. Module điều khiển trung tâm
Khối điều khiển trung tâm dùng vi điều khiển Pic 16F877A. Khi có tín
hiệu ngắt từ bộ thu hồng ngoại qua các chân RB4 và RB5 của cổng B thi Vi điều
khiển sẽ kích hoạt ngắt cổng B từ RB4>>RB7, qua thuật toán đã nạp Pic thực

Bộ mơn Kỹ thuật máy tính

11


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

hiện chương trình điều khiển đưa tới các cổng A, C, D tín hiệu để điều khiển
khối hiển thị (Led 7 thanh) và khối chấp hành (module động lực).
Bộ tạo dao động dùng thạch anh 20M cung cấp ngồn dao động cho Pic
Bộ Reset cấp nguồn 5V và xác lập trạng thái ban đầu cho Pic.
V c c -5 V

R 5
R ES
V1
C 3

C 5

BT

T13
Y 1
Z TB

C 4


T14

T13
T14

13
14

Vout

2
3
4
5
6
7
8
9
10

V1

1

11
12
31
32

PVN 1

O S C 1 /C L K IN
O S C 2 /C L K O U T
R
R
R
R
R
R

A
A
A
A
A
A

R E
R E
R E
M C

R B 0 /IN T
R B1
R B2
R B 3 /P G M
R B4
R B5
R B 6 /P G C
R B 7 /P G D


0
1
2
3
4
5

/A N 0
/A N 1
/A N 2 /V R E F -/C V R E F
/A N 3 /V R E F +
/T 0 C K I/C 1 O U T
/A N 4 /S S * /C 2 O U T
R C 0 /T 1 O S O /T 1 C K I
0 /R D * /A N 5
R C 1 /T 1 O S I/C C P 2
1 /W R */A N 6
R C 2 /C C P 1
2 /C S */A N 7
R C 3 /S C K /S C L
R C 4 /S D I/S D A
L R */V P P
R C 5 /S D O
R C 6 /T X/C K
R C 7 /R X/D T

VD D
VSS
VSS
VD D


P IC 1 6 F 8 7 7 A

R
R
R
R
R
R
R
R

D
D
D
D
D
D
D
D

0 /P
1 /P
2 /P
3 /P
4 /P
5 /P
6 /P
7 /P


S
S
S
S
S
S
S
S

P
P
P
P
P
P
P
P

0
1
2
3
4
5
6
7

3
3
3

3
3
3
3
4

3
4
5
6
7
8
9
0

1
1
1
1
2
2
2
2

5
6
7
8
3
4

5
6

S
S
S
S
S
S
S

1
2
2
2
2
2
2
3

9
0
1
2
7
8
9
0

L1

L2

TH 1
TH 2

1
2
3
4
5
6
7

Hình 2.6: Module điều khiển trung tâm
2.4.4. Module tương tác điều khiển (hiển thị)
Bộ môn Kỹ thuật máy tính

12


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

Để tiện cho việc kiểm tra theo dõi số người hiện đang ở trong phòng, ta sử
dụng 2 Led 7 thanh mắc chung Anot với số người hiển thị tối đa là 99 người. Tín
hiệu điều khiển từ Vi xử lý đưa ra cổng C để bật tắt các thanh Led từ 1 đến
7( tích cực ở mức dương) tương ứng với các con số từ 0 đến 9 cần hiển thị. Để
hiển thị cả hai Led ta dùng thuật toán quét Led với tín hiệu đưa ra từ cổng D
quyết định Led 1 hay Led 2 được bật.


9
10
L1
L2

S
S
S
S
S
S
S

1
2
3
4
5
6
7
8

L1
L2

M P X 2 -C A

1
2

3
4
5
6
7

A
B
C
D
E
F
G
D P

7SEG 1

Hình 2.7 : Module hiển thị
2.4.5.
Module chấp hành.
Bộ phận chấp hành có Role nối với thiết bị điện. Vi xử lý sau khi xử lý tín
hiệu sẽ gửi lệnh điều khiển để đóng mở Transistor cấp nguồn cho cuộn dây của
Role (dòng hoặc áp). Đèn điện được nối với nguồn 220V xoay chiều qua tiếp
điểm của Role, khi Role tác động thì đèn bật lên và ngược lại đèn tắt khi Role
thôi tác động. Để đảm bảo cho hệ thống có thể làm việc ở cả hai chế độ bằng tay
và tự động ta dùng công tắc 3 vị trí: ở vị trí 1 là chế độ làm việc tự động, cịn vị
trí 2 và 3 tương ứng với tắt/ bật đèn.

Bộ mơn Kỹ thuật máy tính


13


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

1
2

J1
220V~

V c c -5 V

SW 1
D 3

DEN

Q 1
N PN
R 4
R ES

3

R ES

LS1

R ELAY
5

R 3

4

Vout

2
1

D io t

Hình 2.8 : Module chấp hành của hệ thống bật tắt đèn thông minh
2.5.Lựa chọn linh kiện.
2.5.1.
Vi điều khiển PIC16F877A
a. Sơ đồ chân vi điều khiển PIC 16F877A

Bộ môn Kỹ thuật máy tính

14


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy
Hình 2.9: Sơ đồ chân PIC 16F877A


b. Một vài thông số về vi điều khiển PIC 16F877A
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ
dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tốc độ hoạt
động tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns. Bộ nhớ chương
trình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM
với dung lượng 256x8 byte. Số PORT I/O là 5 với 33 pin I/O. Các đặc tính ngoại
vi bao gồm các khối chức năng sau:
• Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit.
• Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa
vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep.
• Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler. Hai bộ Capture/so sánh/điều
chế độ rộng xung.
• Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C. Chuẩn
giao tiếp nối tiếp USART với 9 bit địa chỉ.
• Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển RD, WR, CS
bên ngồi.
• Các đặc tính Analog: 8 kênh chuyển đổi ADC 10 bit. Hai bộ so sánh.
• Bộ nhớ flash với khả năng ghi xóa được 100.000 lần. Bộ nhớ EEPROM với khả
năng ghi xóa được 1.000.000 lần. Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40
năm. Khả năng tự nạp chương trình với sự điều khiển của phần mềm. Nạp được
chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming) thông
qua 2 chân. Watchdog Timer với bộ dao động trong. Chức năng bảo mật mã
chương trình. Chế độ Sleep. Có thể hoạt động với nhiều dạng Oscillator khác
nhau.

Bộ môn Kỹ thuật máy tính

15



ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

c. Sơ đồ khối vi điều khiển PIC 16F877A

Hình 2.10 : Sơ đồ khối vi điều khiển PIC16F877A
d. Tổ chức bộ nhớ
Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương
trình (program memory) và bộ nhớ dữ liệu (data memory) .
Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash ,
dung lượng bộ nhớ 8k word (1 word= 14bit) và được phân thành nhiều trang (từ
Bộ môn Kỹ thuật máy tính

16


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

page 0 đến page 3) .Như vậy bộ nhớ chương trinh có khả năng chứa được
8*1024 =8192 lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng 1 word (14
bit). Để mã hóa được địa chỉ của 8k word bộ nhớ chương trình , bộ đếm chương
trình có dung lượng 13 bit (PC<12:0>) . Khi vi điều khiển reset , bộ đếm chương
trình sẽ chỉ đến địa chỉ 0000h (reset vector). Khi có ngắt xảy ra , bộ đếm chương
trình sẽ chỉ đến địa chỉ 0004h (interrupt vector). Bộ nhớ chương trình không bao
gồm bộ nhớ stack sẽ được đề cập cụ thể trong phần sau.
Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm
nhiều bank. Đối với PIC16F877A bộ nhớ dữ liệu được chia ra làm 4 bank.

Mỗi bank có dung lượng 128 byte, bao gồm các thanh ghi có chức năng đặc biệt
SFG (Special Function Register) nằm ở các vùng địa chỉ thấp và các thanh ghi
mục đích chung GPR (General Purpose Pegister) nằm ở vùng địa chỉ còn lại
trong bank. Các thanh ghi SFR thường xuyên được sử dụng (ví dụ như thanh ghi
STATUS) sẽ được đặt ở tất cà các bank của bộ nhớ dữ liệu giúp thuận tiện trong
quá trình truy xuất và làm giảm bớt lệnh của chương trình.
Stack khơng nằm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà là một
vùng nhớ đặc biệt không cho phép đọc hay ghi. Khi lệnh CALL được thực hiện
hay khi một ngắt xảy ra làm chương trình bị rẽ nhánh, giá trị của bộ đếm chương
trình PC tự động được vi điều khiển cất vào trong stack. Khi một trong các lệnh
RETURN, RETLW hat RETFIE được thực thi, giá trị PC sẽ tự động được lấy ra
từ trong stack, vi điều khiển sẽ thực hiện tiếp chương trình theo đúng qui trình
định trước.
Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng chứa được
8 địa chỉ và hoạt động theo cơ chế xoay vòng. Nghĩa là giá trị cất vào bộ nhớ
Stack lần thứ 9 sẽ ghi đè lên giá trị cất vào Stack lần đầu tiên và giá trị cất vào
bộ nhớ Stack lần thứ 10 sẽ ghi đè lên giá trị 6 cất vào Stack lần thứ 2. Cần chú ý
là khơng có cờ hiệu nào cho biết trạng thái stack, do đó ta khơng biết được khi
nào stack tràn. Bên cạnh đó tập lệnh của vi điều khiển dịng PIC cũng khơng có
lệnh POP hay PUSH, các thao tác với bộ nhớ stack sẽ hoàn toàn được điều khiển
bởi CPU.

Bộ mơn Kỹ thuật máy tính

17


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy


e. Các cổng xuất nhập của PIC16F877A
Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng để
tương tác với thế giới bên ngoài. Sự tương tác này rất đa dạng và thơng qua q
trình tương tác đó, chức năng của vi điều khiển được thể hiện một cách rõ ràng.
Một cổng xuất nhập của vi điều khiển bao gồm nhiều chân (I/O pin), tùy
theo cách bố trí và chức năng của vi điều khiển mà số lượng cổng xuất nhập và
số lượng chân trong mỗi cổng có thể khác nhau. Bên cạnh đó, do vi điều khiển
được tích hợp sẵn bên trong các đặc tính giao tiếp ngoại vi nên bên cạnh chức
năng là cổng xuất nhập thông thường, một số chân xuất nhập cịn có thêm các
chức năng khác để thể hiện sự tác động của các đặc tính ngoại vi nêu trên đối
với thế giới bên ngoài. Chức năng của từng chân xuất nhập trong mỗi cổng hoàn
toàn có thể được xác lập và điều khiển được thơng qua các thanh ghi SFR liên
quan đến chân xuất nhập đó.
 Port A
Port A (RPA) bao gồm 6 I/O pin. Đây là các chân “hai chiều”
(bidirectional pin), nghĩa là có thể xuất và nhập được. Chức năng I/O này được
điều khiển bởi thanh ghi TRISA (địa chỉ 85h). Muốn xác lập chức năng của một
chân trong PortA là input, ta “set” bit điều khiển tương ứng với chân đó trong
thanh ghi TRISA và ngược lại, muốn xác lập chức năng của một chân trong Port
A là output, ta “clear” bit điều khiển tương ứng với chân đó trong thanh ghi
TRISA. Thao tác này hoàn toàn tương tự đối với các PORT cịn lại. Bên cạnh đó
Port A cịn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào analog ngõ vào xung
clock của Timer0 và ngõ vào của bộ giao tiếp MSSP (Master Synchronous
Serial Port).
Các thanh ghi SFR liên quan đến Port A bao gồm:
Port A (địa chỉ 05h)
: chứa giá trị các pin trong
Port A. TRISA (địa chỉ 85h) : điều khiển xuất nhập.
CMCON (địa chỉ 9Ch)

: thanh ghi điều khiển bộ so sánh.
CVRCON (địa chỉ 9Dh)
: thanh ghi điều khiển bộ so sánh điện áp.
ADCON1 (địa chỉ 9Fh)
: thanh ghi điều khiển bộ ADC.
 Port B
Bộ môn Kỹ thuật máy tính

18


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

Port B (RPB) gồm 8 pin I/O. Thanh ghi điều khiển xuất nhập tương ứng
là TRISB. Bên cạnh đó một số chân của Port B cịn đươc sử dụng trong q
trình nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau. Port B
còn liên quan đến ngắt ngoại vi và bộ Timer0. Port B cịn được tích hợp chức
năng điện trở kéo lên được điều khiển bởi chương trình.
Các thanh ghi SFR liên quan đến Port B bao gồm:
Port B (địa chỉ 06h,106h)
: chứa giá trị các pin trong
Port B TRISB (địa chỉ 86h,186h) : điều khiển xuất nhập
OPTION_REG(địa chỉ 81h,181h): điều khiển ngắt ngoại vi và bộ Timer0
 Port C
PortC (RPC) gồm 8 pin I/O. Thanh ghi điều khiển xuất nhập tương ứng là
TRISC. Bên cạnh đó Port C còn chứa các chân chức năng của bộ so sánh, bộ
Timer1, bộ PWM và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART.
Các thanh ghi điều khiển liên quan đến Port C:

Port C (địa chỉ 07h)
: chứa giá trị các pin trong
Port C TRISC (địa chỉ 87h) : điều khiển xuất nhập.
 Port D
Port D (RPD) gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng
là TRISD. Port D còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel
Slave Port).
Các thanh ghi liên quan đến Port D bao gồm:
Thanh ghi Port D : chứa giá trị các pin trong Port D.
Thanh ghi TRISD : điều khiển xuất nhập.
Thanh ghi TRISE : điều khiển xuất nhập Port E và chuẩn giao tiếp PSP.
 Port E
Port E (RPE) gồm 3 chân I/O. Thanh ghi điều khiển xuất nhập tương ứng
là TRISE. Các chân của PortE có ngõ vào analog. Bên cạnh đó Port E cịn là các
chân điều khiển của chuẩn giao tiếp PSP.
Các thanh ghi liên quan đến Port E bao gồm:
Port E : chứa giá trị các chân trong PortE.
TRISE : điều khiển xuất nhập và xác lập các thông số cho chuẩn giao tiếp
Bộ mơn Kỹ thuật máy tính

19


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

PSP
ADCON1: thanh ghi điều khiển khối ADC.
f. Ngắt (Interrupt)

PIC16F877A có đến 15 nguồn tạo ra hoạt động ngắt được điều khiển
bởi thanh ghi INTCON (bit GIE). Bên cạnh đó mỗi ngắt cịn có một bit
điều khiển và cờ ngắt riêng. Các cờ ngắt vẫn được set bình thường khi
thỏa mãn điều kiện ngắt xảy ra bất chấp trạng thái của bit GIE, tuy nhiên
hoạt động ngắt vẫn phụ thuộc vào bit GIE và các bit điều khiển khác. Bit
điều khiển ngắt RB0/INT và TMR0 nằm trong thanh ghi INTCON, thanh
ghi này còn chứa bit cho phép các ngắt ngoại vi PEIE. Bit điều khiển các
ngắt nằm trong thanh ghi PIE1 và PIE2. Cờ ngắt của các ngắt nằm trong
thanh ghi PIR1 và PIR2.
Trong một thời điểm chỉ có một chương trình ngắt được thực thi, chương
trình ngắt được kết thúc bằng lệnh RETFIE. Khi chương trình ngắt được thực
thi, bit GIE tự động được xóa, địa chỉ lệnh tiếp theo của chương trình chính
được cất vào trong bộ nhớ Stack và bộ đếm chương trình sẽ chỉ đến địa chỉ
0004h. Lệnh RETFIE được dùng để thốt khỏi chương trình ngắt và quay trở về
chương trình chính, đồng thời bit GIE cũng sẽ được set để cho phép các ngắt
hoạt động trở lại. Các cờ hiệu được dùng để kiểm tra ngắt nào đang xảy ra và
phải được xóa bằng chương trình trước khi cho phép ngắt tiếp tục hoạt động trở
lại để ta có thể phát hiện được thời điểm tiếp theo mà ngắt xảy ra.
Đối với các ngắt ngoại vi như ngắt từ chân INT hay ngắt từ sự thay đổi
trạng thái các pin của PORTB (PORTB Interrupt on change), việc xác định ngắt
nào xảy ra cần 3 hoặc 4 chu kì lệnh tùy thuộc vào thời điểm xảy ra ngắt.
Cần chú ý là trong q trình thực thi ngắt, chỉ có giá trị của bộ đếm
chương trình được cất vào trong Stack, trong khi một số thanh ghi quan trọng sẽ
không được cất và có thể bị thay đổi giá trị trong quá trình thực thi chương trình
ngắt. Điều này nên được xử lý bằng chương trình để tránh hiện tượng trên xảy
ra.
 Ngắt INT
Ngắt này dựa trên sự thay đổi trạng thái của pin RB0/INT. Cạnh tác động
Bộ môn Kỹ thuật máy tính


20


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

gây ra ngắt có thể là cạnh lên hay cạnh xuống và được điều khiển bởi bit
INTEDG (thanh ghi OPTION_ REG <6>). Khi có cạnh tác động thích hợp xuất
hiện tại pin RB0/INT, cờ ngắt INTF được set bất chấp trạng thái các bit điều
khiển GIE và PEIE. Ngắt này có khả năng đánh thức vi điều khiển từ chế độ
sleep nếu bit cho phép ngắt được set trước khi lệnh SLEEP được thực thi.
 Ngắt do sự thay đổt trạng thái các PIN trong Port B
Các pin PORTB<7:4> được dùng cho ngắt này và được điều khiển bởi bit
RBIE (thanh ghi INTCON<4>). Cờ ngắt của ngắt này là bit RBIF
(INTCON<0>).
2.5.2.
Led Hồng Ngoại
a. Led phát
Diode quang thường được chế tạo bằng gecmani và silic . Hình 4 trình
bày cấu tạo của diode quang chế tạo bằng silic .dùng làm bộ chỉ thị tia lân cận
bức xạ hồng ngoại.

Hình 2.11: Cấu tạo diode hồng ngoại
Nguyên lý
+
P
N

R

t

P
N

R
t

Hình 2.12: Ngun lý làm việc của diode quang
Bộ mơn Kỹ thuật máy tính

21


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

Led hồng ngoại có thể làm việc ở hai chế độ: chế độ biến đổi quang điện
và chế độ nguồn quang điện.
Nguyên lý trong chế độ biến đổi quang điện: Lớp p được mắc vào cực âm
của nguồn điện, lớp n mắc vào cực dương. Phân cực ngược nên khi chưa chiếu
sang chỉ có dòng điện nhỏ bé chạy qua ứng với dòng điện ngược (cịn gọi là
dịng điện tối). Khi có quang thơng dòng điện qua mối nối p-n tăng lên gọi là
dòng điện sáng.
Nguyên lý làm việc của diode trong chế độ nguồn phát quang điện( pin
mặt trời): Khi quang thông , các điện tích trên mối nối p-n được giải phóng tạo ra
sức điện động trên 2 cực của diode, do đó làm xuất hiện dịng điện chảy trong
mạch. Trị số sức điện động xuất hiện trong nguồn phát quang điện phụ thuộc vào
loại nguồn phát và trị số của quang thơng.

b. Led thu
Cấu tạo

Hình 2.13: Cấu tạo led thu
Ngun lý
Giả sử điều kiện phân cực cho IC đã hoàn chỉnh ,khi IC nhận tín hiệu điều
khiển từ diode phát quang, mạch khuếch đại OP-amp của của IC sẽ biến đổi
dòng điện thu được từ diode ra điện áp( điện áp này đươc khuếch đại). Tín hiệu
điện áp được đưa đến Smith triger để tạo xung vng, xung này có nhiệm vụ
kích transistor ngõ ra hoạt động, lúc đó ngõ ra ở chân số 2 của IC ở mức thấp, tín

Bộ mơn Kỹ thuật máy tính

22


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

hiệu ngõ ra tác động ở mức 0, có thể được dùng đẻ điều khiển gián tiếp một tải
nào đó. Khi ngăn ánh sáng chiếu vào thì ngược lại khơng hoạt động dẫn dịng.
2.5.3.
Led 7 đoạn
a. Các khái niệm cơ bản
Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó cho người sử
dụng với thông số chỉ là các dãy số đơn thuần, thường người ta sử dụng “ Led 7
đoạn ”. Led 7 đoạn được sử dụng khi các thơng số khơng địi hỏi q phức tạp,
chỉ cần hiển thị số là đủ, chẳng hạn Led 7 đoạn được sử dụng để hiển thị nhiệt độ
phòng, trong các đồng hồ trong các đồng hồ treo tường bằng điện tử, hiển thị số

lượng sản phẩm được kiểm tra sau một cơng đoạn nào đó ….
b. Sơ đồ vị trí các Led :
Các điện trở 330Ω là các điện trở bên ngồi được kết nối để giới hạn dịng
điện qua Led nếu Led 7 đoạn được nối với nguồn 5V.

Hình 2.14: Sơ đồ chân 7 SEG-COM-ANODE và hình ảnh minh họa
c. Kết nối với Vi điều khiển:
Ngõ nhận tín hiệu điều khiển của Led 7 đoạn có 8 đường, vì vậy có thể
dùng 1 Port nào đó của Vi điều khiển để điều khiển Led 7 đoạn. Như vậy Led 7
đoạn nhận một dữ liệu 8 bit từ Vi điều khiển để điều khiển hoạt động sáng tắt
của từng Led đơn trong nó, dữ liệu được xuất ra điều khiển Led 7 đoạn thường
Bộ mơn Kỹ thuật máy tính

23


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

được gọi là "mã hiển thị Led 7 đoạn". Có hai kiểu mã hiển thị Led 7 đoạn: mã
dành cho Led 7 đoạn có Anode(cực +) chung và mã dành cho Led 7 đoạn có
Cathode(cực -) chung. Chẳng hạn, để hiện thị số 1 cần làm cho các Led ở vị trí b
và c sáng, nếu sử dụng Led 7 đoạn có Anode chung thì phải đặt vào hai chân b
và c điện áp là 0V(mức 0) các chân còn lại được đặt điện áp là 5V(mức 1), nếu
sử dụng Led 7 đoạn có Cathode chung thì điện áp(hay mức logic) hồn tồn
ngược lại, tức là phải đặt vào chân b và c điện áp là 5V(mức 1).
Phần cứng được kết nối với 1 Port bất kì của Vi điều khiển, để thuận tiện
cho việc xử lí về sau phần cứng nên được kết nối như sau: Px.0 nối với chân a,
Px.1 nối với chân b, lần lượt theo thứ tự cho đến Px.7 nối với chân h.

2.5.4.
Transistor
a. Định nghĩa
Transistor được hình thành từ ba lớp bán dẫn ghép với nhau hình thành hai
mối tiếp giáp P-N ,nếu ghép theo thứ tự PNP ta được Transistor thuận , nếu ghép
theo thứ tự NPN ta được Transistor ngược. về phương diện cấu tạo Transistor
tương đương với hai Diode đấu ngược chiều nhau. Cấu trúc này được gọi là
Bipolar Junction Transitor (BJT) vì dịng điện chạy trong cấu trúc này bao gồm
cả hai loại điện tích âm và dương (Bipolar nghĩa là hai cực tính). Ba lớp bán dẫn
được nối ra thành ba cực, lớp giữa gọi là cực gốc ký hiệu là B (Base), lớp bán
dẫn B rất mỏng và có nồng độ tạp chất thấp. Hai lớp bán dẫn bên ngoài được nối
ra thành cực phát (Emitter) viết tắt là E, và cực thu hay cực góp (Collector) viết
tắt là C, vùng bán dẫn E và C có cùng loại bán dẫn (loại N hay P ) nhưng có kích
thước và nồng độ tạp chất khác nhau nên khơng hốn vị cho nhau được.

Hình 2.15: Hình ảnh transistor
Bộ mơn Kỹ thuật máy tính

24


ĐAMH Hệ thống nhúng

GVHD Nguyễn Văn Huy

b. Nguyên tắc hoạt động của Transitor:
Trong chế độ tuyến tính hay cịn gọi là chế độ khuyếch đại, Transitor là
phần tử khuyếch đại dòng điện với dòng Ic bằng β lần dòng bazo (dịng điều
khiển ) Trong đó β là hệ số khuyếch đại dòng điện : IC = β.IB
2.5.5.


Tụ điện
Tụ điện là linh kiện điện tử thụ động được sử dụng rất rộng rãi trong các
mạch điện tử, chúng được sử dụng trong các mạch lọc nguồn, lọc nhiễu, mạch
truyền tín hiệu xoay chiều, mạch tạo dao động.

Hình 2.16: Một số loại tụ điện
2.5.6.

Rơle
Rơle là một công tắc điều khiển từ xa đơn giản, nó dùng một dịng nhỏ để
điều khiển một dịng lớn vì vậy nó được dùng để bảo vệ công tắc nên cũng được
xem là một thiết bị bảo vệ. Một rơle điển hình điều khiển mạch và cả điều khiển
nguồn. Kết cấu rơle gồm có một lõi sắt ,một cuộn từ và một tiếp điểm.

Hình 2.17: Cấu tạo một Rơ le đơn giản và hình ảnh Role 5V
Bộ mơn Kỹ thuật máy tính

25


×