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

Nghiên cứu thiết kế chế tạo hệ thống quản lý điện ứng dụng trong các trường học

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 (2.35 MB, 80 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-----------------------------

BÙI VĂN LƯỢNG

NGHIÊN CỨU THIẾT KẾ CHẾ TẠO HỆ THỐNG QUẢN
LÝ ĐIỆN ỨNG DỤNG TRONG CÁC TRƯỜNG HỌC

LUẬN VĂN THẠC SỸ KỸ THUẬT
KỸ THUẬT ĐIỆN TỬ

HÀ NỘI - 2015


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-----------------------------

BÙI VĂN LƯỢNG

Nghiên Cứu - Thiết Kế - Chế Tạo Hệ Thống Quản Lý Điện
Ứng Dụng Trong Các Trường Học

Chuyên ngành: Kỹ thuật điện tử

LUẬN VĂN THẠC SỸ KỸ THUẬT
KỸ THUẬT ĐIỆN TỬ
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. NGUYỄN PHAN KIÊN


HÀ NỘI - 2015


Lời cam đoan

LỜI C

ĐO N

T i l Bùi Văn Lượng h c vi n cao h c chuy n ng nh k thuật điện tử
i h c B ch Khoa H Nội xin cam đoan luận văn n y được thực hiện một
c ch nghi m t c trung thực tu n th đ ng c c quy định c a Nh nư c v c c
quy t c chung c a quốc tế v nghi n c u khoa h c k thuật Nếu c

ất k vi

ph m n o t i xin ho n to n chịu tr ch nhiệm
Hà Nội ng y th ng 03 năm 2015
H c viên thực hiện

BÙI VĂN LƯỢNG

i


Mục lục

MỤC LỤC
L I


M O N ............................................................................................... i

MỤC LỤC ..........................................................................................................ii
MỞ ẦU ............................................................................................................ 1
hương 1 TÌM HIỂU YÊU CẦU THỰC TẾ ................................................... 3
1.1.Lựa Ch n Giải Pháp ................................................................................. 4
1.1.1.V Mặt Công Nghệ ........................................................................... 4
1.1.2.V Mặt Thiết Kế................................................................................ 4
1.1.3.Các Yêu Cầu ..................................................................................... 5
1.1.4. M i Trường Làm Việc C a Hệ Thống. ........................................... 6
1.2.Lựa Ch n Phần C ng ............................................................................... 7
1.2.1.Vi i u Khiển PIC16F877A ............................................................. 7
1.2.4. Khối Kết Nối Máy Tính – Sử Dụng Cổng OM được đi u khiển
thông qua RS232. ..................................................................................... 19
1.2.5.Khối ộng Lực – ULN2803. .......................................................... 26
hương 2 THIẾT KẾ HỆ THỐNG................................................................. 27
2.1.Mô Hình Hệ Thống. ............................................................................... 27
2 2 M Hình hương Trình ......................................................................... 28
2 3 Sơ ồ Khối M ch i u Khiển ............................................................... 29
2.4.Thuật To n hương Trình Tr nM y h Và Máy Tr m ...................... 30
2.5.Thuật To n hương Trình Tr n M ch i u Khiển. .............................. 32
hương 3 THIẾT KẾ CHI TIẾT. ................................................................... 34
3.1.Khối Nguồn ............................................................................................ 34
3.2.Khối i u Khiển Trung Tâm ................................................................. 35
3.3.Khối Thiết Bị Ngo i Vi (Cảm Biến, Nút Bấm, Hiển Thị) ..................... 37
3.3.1. Khối Nút Bấm ................................................................................ 37
3.3.2. Khối Hiển Thị ................................................................................ 38
3.3.3. Khối Cảm Biến ............................................................................... 38
3.4.Khối M ch ộng Lực ............................................................................ 41
ii



Mục lục

3.5.Khối Kết Nối Máy Tính ......................................................................... 42
3 6 hương Trình h y Trên Máy Tr m (ClientApp). ............................... 43
3.6.1. Kết Nối ClientApp V i M ch i u Khiển. ................................... 43
3.6.2. Kết Nối ClientApp V i ServerApp ................................................ 45
3 7 hương Trình h y Trên Máy Ch (ServerApp). ................................. 47
hương 4 CHẠY THỬ

ÁNH GIÁ NÂNG ẤP. ...................................... 50

4.1.Ch y Thử ................................................................................................ 50
42
421

nh Gi ............................................................................................... 51
t ược. ........................................................................................... 51

4.2.2. Cần Cải Thiện. ................................................................................... 51
4.3. Nâng Cấp, Cải Tiến Hệ Thống.............................................................. 51
4 3 1 Hư ng cải thiện chất lượng c a hệ thống. ..................................... 51
4 3 2 Hư ng cải thiện ch c năng c a hệ thống. ...................................... 57
hương 5 KẾT LUẬN VÀ KIẾN NGHỊ. ...................................................... 59
TÀI LIỆU THAM KHẢO. ............................................................................... 60
PHỤ LỤC ......................................................................................................... 61

iii



Danh mục các ký hiệu, các chữ viết t t

DANH MỤC C C
PIC

HI U C C CH

Programmable Integrated Circuit

VIẾT TẮT

Vi m ch có khả năng lập

() trình được.
LED

Light Emitting Diode

Diode phát quang.

COM

Communication

Nối tiếp.

IC

Integrated circuit


Vi m ch.

INT

Interrupt

Ng t.

ClientApp

Client Application

hương trình tr n m y
tr m.
hương trình tr n m y

ServerApp Server Application

ch .
ịa chỉ m ng.

IP

Internet Protocol

TCP

Transmission Control Protocol


Giao th c đi u khiển
truy n vận.

PIR

Passive InfraRed Senser

Bộ cảm biến thụ động
dùng nguồn kích thích là
tia hồng ngo i.

PCB

Printed Circuit Board

Bảng m ch in.

GSM

Global System for Mobile
Communications

Hệ thống thông tin di động

Senser

iv

toàn cầu.



Danh mục các hình vẽ đồ thị

DANH MỤC CÁC HÌNH VẼ ĐỒ THỊ
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình

Hình
Hình
Hình
Hình
Hình
Hình

1: Sơ ồ Chân PIC 16F877A ................................................................... 7
2: Sơ ồ Khối Ch c Năng a PIC16F877A ......................................... 8
3: Sơ ồ Khối Vi i u Khiển PIC16F877A ......................................... 10
4: Bộ Nh RAM C a PIC16F877A ....................................................... 13
5: M ch T o Parity Chẵn, Khi Tín Hiệu ng ..................................... 24
6: M ch T o Parity Chẵn, Khi Tín Hiệu Sai .......................................... 24
7: IC ULN 2803 ..................................................................................... 26
8: Mô Hình Hệ Thống ............................................................................ 27
9: Mô Hình Chương Trình ..................................................................... 28
10: Sơ ồ Khối M ch i u Khiển ......................................................... 29
11: Thuật Toán Chương Trình Trên Máy Ch Và Máy Tr m ............... 31
12: Thuật Toán Chương Trình Trên M ch i u Khiển ......................... 32
13: Khối Nguồn ...................................................................................... 34
14: Khối i u Khiển Trung Tâm ........................................................... 36
15: Khối Nút Bấm .................................................................................. 37
16: Khối Hiển Thị .................................................................................. 38
17: Khối Thu .......................................................................................... 40
18: Khối M ch ộng Lực ...................................................................... 41
19: Khối Kết Nối Máy Tính ................................................................... 42
20: ClientApp Khi Khởi T o.................................................................. 43
21: ClientApp Khi Kết Nối COM .......................................................... 44
22: ClientApp Khi Kết Nối ServerApp .................................................. 45
23: ServerApp Yêu Cầu "ONLIGHT" ................................................... 46

24: ServerApp Yêu Cầu "OFF LIGHT"................................................. 46
25: ServerApp Khi Khởi T o ................................................................. 47
26: ServerApp Khi Kết Nối ClientApp .................................................. 48
27: Nhi u ClentApp Yêu cầu ServerApp ............................................... 49
28: Module PIR Trên Thị Trường .......................................................... 53
29: Thông Tin Lens C a PIR module .................................................... 54
30: Module GSM Trên Thị Trường ....................................................... 56
31:
Xuất Cải Thiện Hệ Thống .......................................................... 57
32: Mục Tiêu Sau Khi Cải Thiện Hệ Thống .......................................... 58

v


Mở đầu

MỞ ĐẦU
Hiện nay, sản lượng điện dùng trong chiếu sáng ở nư c ta chiếm
khoảng 35% tổng điện năng ti u thụ (trên thế gi i tỷ lệ này chỉ chiếm 1617%). Nguyên nhân là do việc thiết kế, l p đặt thiết bị chiếu sáng còn tiêu tốn
năng lượng, bên c nh đ

việc sử dụng điện trong chiếu sáng còn rất lãng phí.

Việc sử dụng điện thông minh nói chung, trong chiếu s ng n i ri ng đã l vấn
đ cấp thiết.
Ngày nay, việc ng dụng hệ thống nhúng vào các hệ thống đi u khiển
ngày càng trở nên phổ biến: từ những ng dụng đơn giản, quy mô nhỏ như
đi u khiển chốt đèn giao th ng đi u khiển các hệ thống đi u khiển trên ô tô,
đi u khiển độ sáng tối c a hệ thống chiếu sáng đến những ng dụng ph c t p
như hệ thống đi u khiển robot, bộ kiểm soát trong các nhà máy, hay quan

tr ng hơn là 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ư 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ố...phần
nhi u nghiêng v cơ khí chính x c c c hệ thống ấy c ưu điểm v độ b n bỉ,
chính x c nhưng l i gặp nhi u kh khăn v tính linh ho t, khả năng n ng cấp
hay tích hợp. Ngày nay, hầu hết các hệ thống đi u khiển, tự động hiện đ i đ u
được xây dựng trên n n tảng c a các hệ thống nhúng, hệ thống có những ưu
điểm rõ rệt: chính xác, b n bỉ, tính linh ho t cao, khả năng n ng cấp, tích hợp
cao.
ặt vấn đ v giải quyết thực tr ng sử dụng điện t i c c trường h c,
công sở văn phòng đang c tính lãng phí cao g y thất thu và lãng phí hàng
trăm tỉ đồng mỗi năm Em thực hiện luận văn:“Nghiên cứu – Thiết Kế - Chế
Tạo hệ thống quản lý điện ứng dụng trong các trường học“. Hệ thống tập
trung tự động hóa hệ thống chiếu sáng, thiết lập m i trường đi u khiển hệ
thống điện từ xa, thực hiện đi u khiển tập trung, qua đ giảm thiểu tối đa lãng

1


Mở đầu

phí phụ thuộc vào ý th c người sử dụng. Hệ thống mang tính ng dụng cao,
không tập trung vào yếu tố cập nhật công nghệ. Mục đích ho n thiện hệ thống
đơn giản cho người sử dụng (không yêu cầu quá cao trình độ người dụng), giá
thành thấp nhất (sản xuất đ i tr ) độ ổn định cao (sử dụng tốt trong nhà
trường, bệnh viện).

2



hương 1: Tìm hiểu yêu cầu thực tế

Chương 1. TÌM HIỂU YÊU CẦU THỰC TẾ
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 Việc làm này phụ thuộc nhi u vào
ý th c c a người sử dụng, nhi u khi bị bỏ qua, g y lãng phí điện rất l n đặc
biệt trong hoàn cảnh nư c ta đang thiếu điện một cách trầm tr ng như hiện
nay. Từ hoàn cảnh thực tế đ

xuất hiện nhu cầu tự động h a v đi u khiển từ

xa việc đ ng ng t hệ thống điện.
Trên thị trường hiện nay đã c những sản phẩm bật t t đèn th ng minh
hư ng t i mục đích tiết kiệm điện trong chiếu s ng 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. Thiết bị này tích hợp luôn
bộ đi u khiển v i đèn trong một 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


ng đèn theo y u cầu.

 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ệ 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.
Trong c c trường h c phòng đi u trị c a bệnh viện, khi m lưu lượng
người không l n và có thể kiểm so t được việc đếm người qua cửa thì ta hoàn
toàn có thể áp dụng hệ thống đèn th ng minh sử dụng Vi đi u khiển được lập
3


hương 1: Tìm hiểu yêu cầu thực tế

trình để bật đèn khi c người và t t khi kh ng c người, hoặc thực hiện bật t t
ở chế độ đi u khiển qua máy tính

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, giảm thiểu thời gian cho quá trình quản lý… đồ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.

1.1.Lựa Chọn Giải Pháp
1.1.1.Về Mặt Công Nghệ
Qua phân tích ở tr n 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 c: đ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, kết hợp v i việc đi u khiển từ xa qua quy trình
đi u khiển tập trung. 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 ật thì vẫn bật đèn chưa ậ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 qu trình l m việc hệ thống luôn
hiển thị số người còn đang ở trong phòng để tiện cho việc kiểm tra, theo dõi.
Bên c nh đ

việc đi u khiển còn có thể được thực hiện qua m y tính dư i

client và trên server, hoặc thực hiện bật t t bằng công t c trực tiếp trên m ch
đi u khiển.
1.1.2.Về Mặt 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. Nguyên t c ho t động được mô phỏng dựa trên việc
đ ng mở cửa t i c c văn phòng l m việc hiện đ i hiện nay, thực hiện
việc quẹt thẻ ra vào hoặc dùng dấu vân tay để đ ng mở cửa. Trên m ch
sẽ thực hiện khối senser này tách riêng ra khỏi m ch chính, mục đích
tiện cho việc thay thế và nâng cấp. V cơ ản trư c hết sẽ dùng 2 cặp
module thu phát hồng ngo i để mô phỏng cho module quẹt thẻ ra vào
(module led thu tương đương module nhận tín hiệu từ thẻ từ, module
led ph t tương đương module thẻ từ). Khi thực hiện nâng cấp m ch, có

4


hương 1: Tìm hiểu yêu cầu thực tế

thể thay thế module thu phát hồng ngo i bằng module đ c thẻ từ có mã
h a c nh n người dùng, cao hơn c thể sử dụng senser phát hiện
chuyển động hoặc camera và thuật to n để nhận d ng người ra vào, qua

đ n ng cao tính chuy n nghiệp c a hệ thống.
 Bộ xử lý trung tâm dùng vi đi u khiển PIC 16F877A: Vi xử lý trung
tâm được lập trình (dùng ngôn ngữ C để lập trình) để xử lý đi u khiển
hoàn toàn ho t động c a m ch. Pic nhận tín hiệu vào từ 2 bộ Led hồng
ngo i, từ bàn phím, từ khối giao tiếp máy tính (cổng COM), tính toán,
xử lý theo thuật to n được lập trình sẵn để đưa ra lệnh đ ng mở hệ
thống điện và hiển thị số người hiện đang trong phòng.
 Khối hiển thị dùng Led 7 thanh: lấy tín hiệu ra từ bộ xử lý trung tâm
sau đ hiển thị số người trong phòng.
 Khối động lực dùng role 5V Role được đi u khiển trực tiếp bằng IC
chuyên dụng ULN2803, IC sẽ nhận tín hiệu đi u khiển từ khối đi u
khiển trung t m để thực hiện đ ng mở role qua đ nguồn điện sẽ được
đ ng mở tương ng.
 Thiết kế chương trình đi u khiển trên cả máy ch (server application)
và máy tr m (client application). Thực hiện đi u khiển tập trung qua
server. Mô hình lựa ch n l m hình đi u khiển hình sao, v i khả năng
đi u khiển độc lập cho nhi u client.
1.1.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 c.
Vi thế cấu hình cơ ản mà hệ thống phải đi u khiển như sau:
 Số lượng người trong phòng tối đa kh ng qu 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.


người đi v o thì ậ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. Tín hiệu đi u kiển
bằng tay c độ ưu ti n cao nhất.
5



hương 1: Tìm hiểu yêu cầu thực tế

 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.
 Khả năng đi u khiển nguồn điện t i các phòng có khoảng cách xa
(>20m). Việc truy n tải tín hiệu thực hiện qua dây dẫn (vì hệ thống
được thực hiện trong m i trường bệnh viện v trường h c để đảm bảo
s c khỏe cho người sử dụng nên không thực hiện truy n tải tín hiệu qua
wifi)
1.1.4. Môi Trường Làm Việc Của Hệ Thống.
 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à 100 đến 400C.
 Hệ thống cấp điện liên tục cho m ch.

6


hương 1: Tìm hiểu yêu cầu thực tế

1.2.Lựa Chọn Phần Cứng
1.2.1.Vi Điều Khiển PIC16F877A
1.2.1.1.Sơ đồ chân vi điều khiển PIC 16F877A

Hình 1: Sơ Đồ Chân PIC 16F877A

7



hương 1: Tìm hiểu yêu cầu thực tế

Hình 2: Sơ Đồ Khối Chức Năng Của PIC16F877A
1.2.1.2.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 it

ộ 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.
8


hương 1: Tìm hiểu yêu cầu thực tế

 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 it đị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 ngoài.
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 ảo mật mã chương trình
thể ho t động v i nhi u d ng Oscillator khác nhau.

9

hế độ Sleep. Có


hương 1: Tìm hiểu yêu cầu thực tế

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

Hình 3: Sơ Đồ Khối Vi Điều Khiển PIC16F877A
1.2.1.4. 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= 14 it) v được phân thành nhi u trang
(từ page 0 đến page 3). Như vậy bộ nh chương trình có khả năng ch a được

10


hương 1: Tìm hiểu yêu cầu thực tế

8*1024 =8192 lệnh (vì một lệnh sau khi mã hóa sẽ c dung lượng 1 word (14
ể mã h a được địa chỉ c a 8k word bộ nh chương trình


bit).

bộ đếm

chương trình c dung lượng 13 it (P <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 ao gồm bộ nh stack sẽ được đ cập cụ thể trong phần
sau.
Bộ nh
nhi u

dữ liệu c a PIC là bộ nh

ank

EEPROM được chia ra làm

ối v i PIC16F877A bộ nh dữ liệu được chia ra làm 4 bank.

Mỗi ank 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 ank

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 ộ 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

LL được thực

hiện hay khi một ng t xảy ra l m chương trình ị rẽ nhánh, giá trị c a bộ đếm
chương trình P

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 iế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
11


hương 1: Tìm hiểu yêu cầu thực tế

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.
1.2.2. 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
qu 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 đ
khiển được tích hợp sẵn

do vi đi u

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 đ
Trong vi đi u khiển PIC16F877A có 5 cổng:


Cổng A gồm 6 chân: RA0, RA1.. RA5



Cổng B gồm 8 chân: RB0, RB1,..RB7



Cổng C gồm 8 chân: RC0, RC1, ..RC7




Cổng D gồm 8 chân: RD0, RD1,..RD7



Cổng E gồm 3 chân: RE0, RE1, RE2

Mỗi cổng thực chất được quản lý bởi các thanh ghi PORTA, PORTB, PORTC,
PORTD, PORTE nằm trong bộ nh RAM c a vi đi u khiển. Xem hình sau:

12


hương 1: Tìm hiểu yêu cầu thực tế

Hình 4: Bộ Nhớ RAM Của PIC16F877A
a. Port A
Port A (RPA) bao gồm 6 I/O pin

y l c c ch n “hai chi u” ( idirectional

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 TRIS

(đị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” it đi u khiển tương ng v i ch n đ trong thanh
ghi TRIS 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”
TRIS
đ Port

it đi u khiển tương

ng v i ch n đ

trong thanh ghi

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
còn l ngõ ra c a bộ ADC, bộ so sánh, ngõ vào analog ngõ vào xung
13


hương 1: Tìm hiểu yêu cầu thực tế

clock c a Timer0 và ngõ vào c a bộ giao tiếp MSSP (Master Synchronous
Serial Port).
c thanh ghi SFR li n quan đến Port A bao gồm:
 Port

(địa chỉ 05h) : ch a giá trị các pin trong

 Port

TRIS (địa chỉ 85h) : đi u khiển xuất nhập.




M ON (địa chỉ 9 h)

: thanh ghi đi u khiển bộ so sánh.



VR ON (địa chỉ 9Dh)

: thanh ghi đi u khiển bộ so s nh điện áp.



D ON1 (địa chỉ 9Fh)

: thanh ghi đi u khiển bộ ADC.

Thanh ghi PORTA phản ánh tr ng thái c a các chân cổng nghĩa l muốn tín
hiệu đầu ra c a các chân cổng như thế nào ta chỉ việc đưa gi trị vào các bit
tương ng tr n thanh ghi PORT
ũng như khi đ c giá trị c a thanh ghi
PORTA ta sẽ biết được tr ng thái c a các chân cổng A.
Ví dụ:
Muốn RA0 ở m c logic 1 (m c 5V), RA1 ở m c logic 0 (m c 0V), RA2 ở
m c logic 1, RA3 ở m c logic 0, RA4 ở m c logic 1, RA5 ở m c logic 1, ta
chỉ việc gán giá trị 000110101 cho thanh ghi PORTA.
X

X

1


1

0

RA5

RA4

RA3

1
RA2

0

1

RA1

RA0

X: không quan tâm.
b. Port B
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 quá 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 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
14


hương 1: Tìm hiểu yêu cầu thực tế

 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
c. 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ò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 thanh ghi đi u khiển li n quan đến Port C:
 Port

(địa chỉ 07h) : ch a giá trị các pin trong

 Port

TRIS (địa chỉ 87h) : đi u khiển xuất nhập.

d.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 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.
e.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 thanh ghi li n quan đến Port E bao gồm:
 Port E : ch a giá trị các chân trong PortE.

15


hương 1: Tìm hiểu yêu cầu thực tế

 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 PSP


D ON1: thanh ghi đi u khiển khối ADC.

Tính đa chức năng của một chân trên vi điều khiển:
Nhìn v o sơ đồ chân c a vi đi u khiển, ta có thể thấy một số chân c a vi đi u
khiển có tên gồm nhi u phần v i dấu g ch chéo. Ví dụ: RA0/AN0,
RC7/RX/DT, RC6/TX/CK
y chính l tính đa ch c năng c a một ch n tr n vi đi u khiển hay còn
g i là sự dồn kênh.
Ý nghĩa c a nó là:

Bình thường nếu kh ng được c i đặt thì tất cả các chân trên 5 cổng A, B,
C, D, E là các chân vào ra số I/O.
Nếu trong chương trình ta c c i đặt một ch c năng n o đ như RS232
ADC hoặc PWM v v thì c c ch n tương ng v i ch c năng đó sẽ ho t động
theo ch c năng đ Khi đ ch n n y sẽ kh ng được dùng làm chân vào ra số
như ình thường nữa.
Ví dụ: ình thường chân RA0/ANO là chân vào ra số RA0, nếu ch c
năng D v i kênh vào tín hiệu analog l k nh 0 được c i đặt khi đ ch n
RA0 /AN0 sẽ là chân vào c a bộ ADC, t c là ho t động theo ch c năng N0
Tương tự như vậy khi c i đặt giao tiếp v i thiết bị ngo i vi theo chuẩn
RS232, chân vào ra số RC7/RX/DT sẽ ho t động như đầu vào dữ liệu RS232
t c là ch c năng RX c a chân này.
Cài đặt vào/ra cho các chân vào ra số trên các cổng:
Các chân vào/ra số tr n vi đi u khiển PIC phải được c i đặt là chân vào
hoặc chân ra thì m i ho t động đ ng ch c năng Việc một chân trên cổng X
(X= B E) được qui định l đầu ra hay đầu vào phụ thuộc v o it tương ng
trên thanh ghi TRISX (X=A,B,..E) là 0 hay 1.
Ví dụ: Muốn 4 chân thấp (bit thấp) trên cổng B (RB0-RB3) là chân vào,
4 chân cao (bit cao) trên cổng B (RB4-RB7) là chân ra thì giá trị các bit trên
thanh ghi TRISB sẽ là:

16


hương 1: Tìm hiểu yêu cầu thực tế

0

0


0

0

1

1

1

1

Gợi ý dễ nh là:
ể chân RB.m (m=0-7) l đầu ra, t c Output thì giá trị TRISB.m là 0
L đầu vào, t c Input thì giá trị TRISB.m là 1
Tương tự như vậy đối v i các chân trên các cổng còn l i
1.2.3.Ngắt (Interrupt).
PI 16F877 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 it đi u khiển
và cờ ng t riêng. Các cờ ng t vẫn được set ì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 it GIE v c c it đ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 để thoát khỏi chương trình ng t và quay trở

v chương trình chính đồng thời it 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.

17


hương 1: Tìm hiểu yêu cầu thực tế

Cần chú ý là trong quá 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.
a.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
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.
b.Ngắt do sự thay đổt trạng thái các PIN trong Port B.
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>).

18


×