Đ Ạ I H Ọ C Q U Ố C G IA H À NỘI
KHOA CÔNG NGHỆ
Huỳnh Vinh Hà
NGHIÊN c ú u ỨNG DỰNG VI ĐIỂU KHIỂN M ICHOCHIP PIC
TRONG ĐO LƯỜNG VÀ ĐIỂU KHlỂN t h ờ i g i a n t h ụ c
Chuyên ngành:
Kỹ thuật vô tuyến điện tử và thông tin liên lạc
M ã số:
2.07.00
LUẬN VĂN THẠC s ĩ
NGƯỜI HƯỚNG DẨNKHOA HỌC
TS. Ngô Diên T ập
Hà Nội - N ăm 2004
N g h iên cứu ứntị dụng vi điểu khiển P ÌC trong do lường & điều khiển
MỤC LỤC
T rang
PHỤ B ÌA
LỜI CA M Đ O A N
1
M Ự C LỤC
2
C Á C KÝ H IỆ U V IẾ T T Ắ T
4
DANH MỤC CÁC BẢNG
5
D A N H M Ụ C C Á C H ÌN H V Ẽ
6
MỚ ĐẦU
9
C h ư ơ n g I T Ổ N G Q U A N V Ề VI Đ l Ề ư K H I E N
11
1.1 T ổ n g q u a n về vi m ạ c h vi đ iể u k h iể n
11
1.2 M ột s ố h ọ vi điều k h iể n p h ổ b iế n
13
C hư ơ ng 2 V í Đ IÊ U K ì ỈIE N m i c r o c h i p
15
2.1 Lịch s ử p h á t triển h ọ vi đ iề u k h iể n M ic r o c h ip P IC
15
2.2 P h â n lo ạ i c á c vi d iề u k h iể n M ic r o c h ip
FIC
16
2.3 L ự a c h ọ n loại vi đ iề u k h iể n đ ể n g h iê n
cứu ứ n g d ụ n g
20
C h ư ơ n g 3 C Ấ U T R Ú C VI Đ I Ề U K I ĩ l Ể N
3.
16F877A
p ic
21
] M ô tả k h á i q u á t về tính n ă n g c ủ a vi đ iề u k h iể n PIC 1 6 F 8 7 7 A
21
3.2 Sơ đồ k h ố i c h ứ c n ă n g v à c á c c h â n v à o ra
22
3.3 T ổ c h ứ c b ộ n h ớ và c á c th a n h g h i c h ứ c
25
n ă n g đ ặ c biệt
3.4 C á c c ổ n g v à o /ra
27
3.5 C á c khối timer
31
3.6 C ổ n g nối tiế p đ ồ n g b ộ I2 C
34
3.7 Bộ thu p h á t k h ô n g đ ồ n g bộ vạn n ă n g U A R T
35
3.8 K h ố i c h u y ể n đổi t ươn li tự /s ố A D C
36
3.9 C á c đ ặ c đ i ể m riê n g v à th iế t lập c ấ u hình P IC
37
C h ư o n g 4 L Ậ P T R Ì NH C H O V I Đ l Ề U K H I E N
42
4.1 C h ư ơ n g trìn h d ịch A s s e m b l e r M P A S M
42
4.2 C h ư ơ n g trìn h d ịch n g ô n n c ữ b ậ c c a o P C W - H
44
4.3 Bộ n ạ p trìn h c h o vi đ iề u k h iể n P IC
48
C h ư ơ n g 5 H Ệ TI IỐNCỈ T H U T H Ậ P s ố L I Ệ U
50
5 . 1 T h iế t k ế h ệ th ố n g v à c á c c h ứ c n ã n e c ủ a hệ th u th ập s ố liệu
5.1.1 C á c c h ứ c n ă n « c ủ a h ệ th ố n g th u th ậ p s ố liệu
2
m ô i trư ờ n g
50
50
Nghiên cứu ứng dụng vi điều khiến P ÌC trong du lnứng & điều khiến
5 .1 .2 Sơ đ ổ khối c ủ a hệ t h ố n g
50
5 .2 L ự a c h ọ n c ả m biến đ o n h iệ t đ ộ
52
5.2.1 C á c loại c á m b iến n h iệ t đ ộ đ iện tử tư ơ n g tự
52
5 .2 .2 C ả m b iế n n h iệ t đ ộ s ố D S 1 8 2 0
53
5.3 L ự a c h ọ n c ả m biến đ ộ ẩ m đ ộ ẩ m tư ơ n g đ ố i
55
5.3.1 K h á i n iệ m đ ộ ẩm tirơng đối
55
5 .3 .2 D ụ n g c ụ đ o đ ộ ẩ m tư ơ n g đ ố i
55
5 .3 .3 C á c c ả m b iến đ ộ ẩm th e o n g u y ê n lý đ iệ n
56
5 .3 .4 M ô đ u n đo đ ộ ẩrn H T M 1 5 0 5
58
5.4 C ả m b i ế n đ o tốc đ ộ g ió
59
5.5 Đ ồ n g h ổ thờ i g ian thự c
60
5 .6 B ộ n h ớ sô liệu 2 4 L C 2 5 6
61
5.7 M ô đ u n h iển thị tinh thể lỏ n g
62
5.8 K ết nối với m á y tính và m ô đ e m
63
5 » N g u ồ n n u ô i v à c á c n ú t đ iều k h iể n
65
Chương 6 PH A N M EM
đ iề u
K H IE N
hệ th ố n g ghi đ o
6.1 C á c k h ố i c h ứ c n ă n g c ủ a c h ư ơ n g trình
67
67
6.1.1 C h ứ c n ă n g đ ịn h thời
67
6 .1 .2 L ấ y v à đặt thời g ia n c h o đ ổ n g h ồ thời g ia n thực
69
6 .1 .3 T h a y đ ổ i k h o ả n g lấy m ẫ u
69
6 .1 .4 Đ ọ c s ố liệu đ o n h iệ t đ ộ từ c á c c ả m b iến
70
6 .1 .5 Đ o và tính g iá trị đ ộ ẩ m tư ơ n g đối
72
6 .1 .6 Đ o và tính tốc đ ộ g ió
73
6 .1 .7 L ư u và đ ọ c s ố liệu
73
6 .1 .8 T h ò n g d ịc h c á c lện h đ iều k h iể n
75
6.2 M ã n g u ồ n c h ư ơ n g trình
77
6.3 L ư u đ ổ c h ư ơ n g trình
77
Chương 7 P H A N
m ềm
g ia o d iệ n đ iề u
k h iể n h ệ
TH ốNG
78
GHI ĐO
7.1 C h ế đ ộ đ ò n g lệnh
78
7.2 C h ư ơ n g trinh D A T A E X P L O E R
80
Chương 8 Đ Ặ C T ÍN H KỸ T H U Ậ T H Ệ T H ố N G T H IÊ T K Ế
83
8 . 1 C á c b ộ p h ậ n tro n g h ệ th ố n g thu th ậ p d ữ liệu
83
8.2 C á c đ ặ c tín h kỹ th u ậ t
84
<
3
N ạhicn cứu ứiiíỊ dụng vi điểu khiến P ỈC trong do lường Á diều khiển
8.3 V í d ụ s ố liệu thu th ậ p
85
NHŨNG K Ế T QU Ả ĐẠ T Đ ư ợ c VÀ BÀN LUẬN
S6
TÀI L IỆ U T H A M K H Ả O
89
Phụ lục I S ơ Đ Ồ N G U Y Ê N L Ý H Ệ T H Ố N G
90
P hụ lục 2 VI M Ạ C H Đ O N H I Ệ T Đ Ộ s ố D S 1 8 2 0
91
Phụ lục 3 D Ụ N G c ụ Đ O T ố c Đ Ộ G I Ó A N E M O M E T
97
Phụ lục 4 B Ộ N Ạ P C H Ư Ơ N G T R Ì N H C H O P IC
99
4
N q ỉiicn cứu
ứng ciụnq vi điều khiển PỈC trong do lường & điểu khiển
CA C KY H IEU V IE T T A T
A DC
A n a lo g D igital C o n v e r te r
ALU
A r ith m e tic L o g ic U nit
BRG
Baud R a te G e n e r a to r
CAN
C o n tr o lle r A r e a N e tw o rk
CPU
C e n tra l P r o c e s s o r Unit
EEPROM
E le ctric a l E r a s a b le R e a d O n ly M e m o r y
GPR
G e n e ra l P u rp o s e R e g is te r
HS
H ig h Speed
I2 C
In te r In te g ra te d C o m m u n ic a ti o n
IC D
In C ircu it D e b u g g e r
IC S P
In C ircu it Serial P r o g r a m m in g
LCD
L iq u id C ry s ta l D isplay
LVP
L o w V o lta g e P r o g r a m m in g
MCRL
M a s t e r C le a r
NRZ
N o n R e tu rn to Z e r o
OTP
O ne T im e P rogram m ing
PIC
P e rip h e ra l I n te rfa c e C o n tr o lle r
PW M
P ulse W id th M o d u la tio n
R ISC
R e d u c e d In s tru c tio n Set C o d e
SFR
Special F u n c tio n R e g is te r
SPI
Serial Port I n te rfa c e
UART
U n iv e rs a l A s y n c h r o n o u s R e c e iv e T r a n s m i tt e r
USB
U n iv e rs a l Serial Bus
u v EPROM
U ltra V io let E E P R O M
WDT
W a tc h D o g T i m e r
N íỊỈiiên cứu ứng dụ n g vi đ iề u kh iển P I C tro n g đu lường & đ iề u khiên
DANH M ỤC CÁ C BẢNG
Bảng
T iê u đ ề
T rang
1
T ó m lượ c c á c h ọ vi d iề u k h i ể n P IC
2
M ô tả c h ứ c
3
Các chức năng chép của cổng c
29
4
D a n h s á c h c á c h à m đ ự n g sẵ n tr o n g P C V /-H
46
5
Các hàm c c h u ẩn c ủ a PC W -H
47
6
Điện trở c ủ a c ả m b iế n H 2 5 K 5 t h e o n h iệ t độ và đ ộ ẩ m
57
7
D a n h s á c h lệ n h v à c ô n g d ụ n g
76
năngc á c
c h â n c ủ a P IC 1 6 P 8 7 7 A
6
19
24
N ghiên cứu ứng dụng vi điều khiên P ỈC trong d o lường & đ iề u khiển
D A N H M Ụ C C Á C H ÌN H V Ẽ
H ìn h
Nội d u n g
T rang
1
S ơ đ ổ k h ố i c ủ a vi đ iề u k h iển c ấ u h ìn h đ ầ y đ ủ
11
2
B ố trí c h â n P IC 1 6 F 8 7 7 A
22
3
Sư đ ổ kh ố i c h ứ c n ă n g c ủ a P IC 1 6 F 8 7 7 A
23
4
T ổ c h ứ c bộ n h ớ
25
5
T ổ c h ứ c c á c th a n h g h i c h ứ c n ă n g SF R
26
6
Cổng A
27
7
C ổ n g R B < 0 :3 > và R B < 4 :7 >
28
8
C ổ n g R C < 0 :2 - 5 :7 > và R C < 3 :4 >
29
9
Cổng D
30
10
Cổng E
30
11
Sơ đ ồ k h ố i T im erO
31
12
Sơ đồ khối T im e rl
32
13
Sơ đổ khối T im er2
33
14
K hối MSSP
34
15
K h ố i tru y ề n k h ô n g đ ồ n g b ộ
35
16
Khối nhận khổng đổng bộ
36
17
K h ố i c h u y ể n đ ổ i tư ơ n g tự s ố A D C
37
18
C á c k h ố i tạo tín hiệu R E S E T
38
19
T ổ h ợ p logic c á c n g u ồ n n g ắ t
39
20
K h ố i c h ứ c n ă n g m ạ c h W atchclog
40
21
M P A S M dịch trực tiếp c h ư ơ n g trìn h th à n h m ã m á y
42
22
M P A S M dịch c h ư ơ n g trình th à n h tệp đ ô i tượnơ
43
23
Sư đ ồ k hối c ủ a h ệ th ố n g thu th ậ p sô liệu m ô i trư ờ n g
51
24
B us l - w ir e v à m ạ c h c ấ p n g u ồ n c h o D S 1820
54
25
 m k ế k h ô -ư ớ t và ẩ m k ế tóc
56
26
Q u a n h ệ đ iện d u n íĩ- đ ộ ẩ m c ủ a c ả m b iến H S 1 101
51
1
N ghiên cứu ứng d ụng vi diều khiển P ỈC tro n ẹ đ o lường
á
đ iều khiển
27
G h é p n ố i H T M 1505 với vi đ iề u k h iể n
58
2K
A n e m o m e t tự c h ế tạ o
59
29
Sơ đ ồ m ạ c h k h ừ ru n g
60
30
G h é p n ố i D S 1 3 0 2 với vi d iều k h iể n
61
31
G h é p nối m ô đ u n h iển thị L C D với vi đ iề u k h iể n
63
32
M ạ c h c h u y ể n đ ổ i m ứ c R S -2 3 2 /T T L
64
33
M ạ c h c u n g c ấ p im u ồ n
65
34
Q u a n h ệ điện á p ra / đ ộ ẩ m c ủ a c ả m b iến H T M 1 5 0 5
72
35
Lưu d ồ c h ư ơ n g trình
78
36
C ử a sổ g ia o d iệ n c h ư ơ n g trình D a t a E x p lo r e r
80
37
C ử a sổ th êm trạ m k ết nối
8]
38
C ử a sổ đặt k h o ả n g lấy m ẫ u
81
39
C ừ a sổ n h ậ p thời g ia n thực
81
40
Bèn tro n g thiết bị ghi đ o
83
41
H ệ t h ố n e thu th ậ p c á c th ô n g s ố m ô i trư ờ n g
84
8
N g h iên cửu ứng d ụ n g vi đ iề u khiển P ỈC trong do lườníỊ & diêu khiển
M Ỏ ĐẦU
Bộ vi xử lý đ ầ u tiê n ra đời n ă m 1971 đ ã m ở ra m ột thời đại m ới t r ô n a c ổ n g
n g h ệ đ iệ n tử và tin h ọ c , c ó ả n h h ư ở n g sâ u sắc đ ế n m ọ i lĩnh vực k h o a h ọ c c ô n g n g h ệ .
C á c hệ th ố n g d ư ợ c th iế t k ế d ự a trên n ề n tả n g c ủ a c á c b ộ vi x ử lý c ó c á c k h ả n ă n g m à
c á c hệ th ố n g d iệ n tử tư ơ n g t ự / s ố th ô n g th ư ờ n g k h ô n g thể th ự c h iện dược.
Với m ụ c tiêu hạn c h ế tối đ a c á c linh kiện n g o à i khi x â y d ự n g m ộ t h ệ th ố n g
c ó sứ d ụ n s vi x ử lý, c á c h ã n g c h ế tạo b á n d ẫ n d ã tích hợp c á c m ạ c h ng o ạ i vi và b ộ vi
x ử lý lên m ộ t c h ip d u y n h ấ l đ ể tạo ra c á c b ộ vi đ iề u k h iển .
N h ữ n g b ộ vi đ iề u k h i ể n m ới nhất c ủ a M I C R O C H I P , M O T O R O L A , A T M E L ,
A V R , ... d ã c h ứ a b ê n t r o n s n h iề u thiết bị n g o ạ i vi n h ư các loại bộ nh ớ , c á c b ộ đ ế m
16 bit, kh ố i A D C p h â n a iả i 10 - 12 bít với n h iề u lối vào, c á c c ổ n g tru y ề n t h ô n g loại
P S P / Ư A R T / l2C/ C A N / U S B , k h ố i đ iề u k h iể n m à n hiển thị tin h th ể lỏ n g , t h ậ m c h í
cá k h ố i đ iéu c h ế /g i ả i đ iề u c h ế dải tần U H F d ù n e c h o k ế t nối k h ô n g dây... G iả i p h á p
này làm c h o việc ứ n g d ụ n g c á c vi đ iề u k h iể n đ ể c h ế tạo c á c h ệ t h ố n g có vi x ử lý
Ihèm th u ậ n lợi. th u g ọ n đ á n g kể kích th ư ớ c m ạ c h đ iệ n và đ ạ t tý s ố h iệu n ă n g /g iá
th à n h c à n e rất c a o .
T r o n g m ộ t s ố lĩn h v ự c sản x u ấ t c ũ n g n h ư đời số n g , việc d o đ ạ c , th eo dõi và
thu thập c á c th ô n g s ố về đ iề u k iện m ô i trư ờ n g n h ư n h iệt đ ộ , đ ộ ẩ m , á p su ấ t, gió...
th e o thời g ian th ự c là m ộ t n h u c ẩ u cầ n thiết. V iệ c x â y d ự n g đ ư ợ c m ột hệ t h ố n g tự
đ ộ n g đ á p ứ n g d ư ợ c c á c y ê u c ầ u trên rất c ó ý n g h ĩ a thự c tiễn.
N h ữ n g hệ t h ố n g tự đ ộ n g th e o d õ i thu th ậ p s ố liệu c ó th ể th ự c h iệ n đư ợ c trên
m á y tính b à n g c á c h lắp th ê m n h ữ n g c a rd m ở r ộ n g d ể slié p n ố i m á y tính với c á c bộ
c á m biến. G iải p h á p n à y c ó ưu đ iể m là k h a i th ác đ ư ợ c k h ả n ă n g đ a n h iệ m c ủ a m á y
tính: m á y tínlì đ ể đ iề u k h iể n việc thu th ậ p s ố liệu đ ồ n g thời d ù n g đ ể x ử lý kết quả.
T u y n h iên tro n g m ộ t s ố c ô n g tác q u a n trắ c cụ th ể, việc s ử d ụ n g c á c hệ t h ố n 2 xây
d ự n g trên c ơ sở m á y tín h tỏ ra c h ư a h ẳ n đ ã phù h ợ p d o hệ th ố n g c ó k íc h th ư ớ c lớn,
k h ô n g hoạt d ộ n c lâu d à i tr o n g đ iề u k iện đ o đ ạ c n g o à i hiện trư ờ n g có d iề u kiện thời
tiết k h á c nghiệt, tại c á c đ ịa đ iể m xa n g u ồ n đ iện lưới ...
M ột hư ớ n g k h á c đ ể x â y d ự n g c ấ c h ệ t h ố n g thu th ập sô liệu là sử d ụ n g b ộ vi
đ iều khiến đ ó n g vai trò là b ộ x ử lý t r u n s tâ m , đ iề u khiển to àn b ộ h o ạ t đ ộ n « c ủ a h ệ
9
N ghiên cứu ÍOIIỊ (lụng vi (Hèn khiên P IC iro n íỊ (lo lườn g & đ iều khiển
th ố n ụ , m á y tín h ( n ế u c ó ) c hỉ đ ư ợ c d ù n g n h ư là m ộ t p h ư ơ n g tiện trợ g i ú p đ é việc g ia o
tiếp c iữ a n c ư ờ i s ử d ụ n c và hệ t h ố n g th êm linh hoại d ễ d à n g hơ n.
T h e o xu h ư ớ n g á p d ụ n g các vi đ iều k h iể n đ ể thiết k ế c á c hệ th ố n g đ o lường
d iề u k h iến tự đ ộ n g , tro n c k h u ô n k h ổ bàn luận vãn n à y tôi tậ p tr u n g n g h iê n cứu, á p
d ụ n g vi đ iề u k h iể n P1C16F8XX c ủ a h ã n g M I C R O C H I P đ ể th iế t k ế c h ế tạ o m ộ t hệ
t h ố n ẹ thu t h ậ p s ố liệu n h iệ t đ ộ đ a đ iể m , đ ộ ẩ m , tốc đ ộ g ió t h e o thời g ian thực p h ụ c
vụ c ô n g tác n g h i ê n cứu, g iá m sát m ôi trường.
C á c m ụ c tiêu được đặt ra tro n g lu ậ n văn n à y là:
-
H iể u rõ ch ứ c n ă n g và làm c h ủ p h ư ơ n g p h á p lập trìn h c h o c á c kh ố i bên
tro n g c ủ a vi đ iều k h iể n P IC 1 6 F 8 7 7 A 2ổ m c á c c ổ n g v à o /ra số, c á c bộ đ ế m ,
c ổ n g tr u y ề n k h ô n g đ ổ n g bộ, khối biến đ ổ i s ố tư ơ n g tự A D C ...
-
X â y d ự n g sơ đ ồ k h ố i tổ n g thể c h o hệ th ố n g .
-
L ự a c h ọ n các vi m ạ c h ph ụ trợ th íc h h ự p n h ư đ ồ n g h ồ thời g ia n thực, bộ
n h ớ E E P R O M , n i ô đ u n h iể n thị L C D v à g h é p nối c h ú n g với vi đ iều k h iể n .
-
L ự a c h ọ n và g h é p nối c á c c ả m b iến đ o n h iệ t độ, đ ộ ẩ m , đ o tốc đ ộ g ió với
hệ t h ố n g thu th ậ p s ố liệu.
-
T h iế t k ế , lắp ráp p h ầ n c ứ n g , viết p h ầ n m ề m đ iều k h i ể n h ệ th ố n g .
-
N ù n g c a o k h ả n ă n g ứ n g d ụ n g c ủ a h ệ th ố n g b ằ n g việc đ ư a ra k h ả n ă n g truy
n h ậ p v à o hệ t h ố n g từ x a th ô n g q u a m ô đ e m .
N íioài ra đ ể h o à n th à n h việc c h ế tạo, lắp ráp, th ử n g h i ệ m h ệ th ố n g , tác giả
c ò n phải x â y d ự n g các c ô n g cụ h ỗ trợ n h ư bộ n ạ p c h ư ơ n g trìn h , c h ế tạo d ụ n g cụ đ o
vận tốc g ió , th iế t k ế c á c b ả n m ạ c h in, lựa c h ọ n b ộ ch ươn 2, trìn h d ịc h p h ụ c vụ việc
lập trình c h o vi đ iề u khiển.
T á c g iả x in bày tô l ò n e biết ơn sâu sắc đ ê u g i á o viên h ư ớ n g dẩn: T iế n sỹ N g ô
Diên T ậ p , g i á n g viên K h o a C ô n g n g h ệ - Đ ạ i học Q u ố c g ia H à nội, ngư ờ i đ ã tận tình
hư ớ ng d ẫ n và đ ư a ra c á c n h ậ n xét vô c ù n g q u í b á u tro n g q u á trìn h tlụrc h iện luận
vãn. T á c íỉiả c ũ n g c h â n th à n h c ả m ơn Ban lãnh đ ạ o v à c á c b ạ n đ ổ n g n g h iệ p tro n g
C ô n g ty L iên D o a n h T h iế t bị V iễ n t h ô n s A N S V nơi tác g iả đ a n g c ô n g tác đ ã tạ o
điều kiện d ể h o à n th à n h b ả n luận văn này.
10
N g h iên cứu ứng dụng vi diều khiển P IC trong đo lường
á
điêu khiển
C h ư ơ n g 1 T Ổ N G Q U A N V Ể VI D IE U K H IR N
1.1 T ổ N G Q U A N V Ể VI M Ạ C H VI Đ íỂ U K H IỂ N
ỉ ỉiện nay việc thiết k ế và c h ế t ạ o ra c á c bộ vi x ử lý p h á t triể n th eo hai h ư ớ n g
c h ín h . H ư ứ n g th ứ n h ấ t là thiết k ế c á c b ộ vi xử lý m ạ n h tốc đ ộ c a o - thực h iệ n h à n g ti
lệnh m ỗ i g iâ y , đ ộ dài từ d ữ liệu lớn 32 h o ặ c 64 bit, tru y n h ậ p k h ô n 2 g ia n b ộ n h ớ đ ế n
h à n c tră m M b y te . C ác b ộ x ử lý n à y đ ư ợ c d ù n s tro n g n liữ n a h ệ t h ố n g cần c ó c ô n g
suất tín h to án c a o n h ư ờ m á y tính c á n h â n , c á c h ệ đ iều k h i ể n t ro n g c ô n g ng h iệp .
H ư ớ n g th ứ hai là thiết k ế , c h ế tạ o các vi đ iề u k h iể n (m icrocontroller), đ ó là m ộ t vi
m ạ c h d ơ n b é n t ro n g c h ứ a m ộ t b ộ vi x ử lý 8 - 1 6 bit x ử lý vài triệu lệ n h /g iâ y và c á c
k h ố i: b ộ nh ớ , b ộ đ ế m , b ộ b iế n đổi tư ơ n g tự số, b ộ so s á n h , c á c c ổ n g tru y ề n thông...
N ói c á c h k h á c , đ ó c h ín h là m ộ t h ệ t h ố n s m á y tín h (computer và microcomputer)
t r o n c m ộ t vi m ạ c h . C ác b ộ vi đ iể u k h i ể n điển hình là M otorola 68H C 11, Intel 8051,
M ic rochip PIC, A T M E L A V R , V. V...
N h â n t ố c h ín h đ ể th ú c đ ẩ y việc n e h iê n cứu c h ế tạo c á c vi m ạ c h vi đ iề u k h iể n
là tính đ a d ụ n g , d ễ d à n g lập trình và giá th à n h thấp. Vi d iều k h i ể n rất h ấ p d ẫ n tro n g
tlúết k ế c á c h ệ t h ố n g đ iề u k h iể n d iện tử vì c ó k ích th ư ớ c n h ỏ , c h ứ c n ă n g đ a d ạ n g , d ễ
d à n g lích h ợ p vào tro n g hệ th ố n g đ ể thực h iện tất c á c á c c h ứ c n ă n g đ iề u k h iển .
Vi điểu khiển
ROM.EEPROM
Program&Data
RAM
CPU
Giao diện
SPW2C.UART
cổng vàoíra
■
:
J
Màn hiển thị
Thiết bị sổ
Ro le
- VI điéu Khiểnkhác
- Máylinh HOST
-Bỏ nhó ngoài
- Cảmbiến tưclng lự
• Oiónáp đo lưùng
Mạch điện tưang tư
• Động cơ oc
Hình 1: Sơ đổ khối của vi điều khiển cấu hình đầy đủ.
I1
N g h iên cứu ứng dụng vi đ iề u kh iển P ỈC tro n g đ o lư ờ n g & đ iể u kh iển
Bộ vi đ iểu k h iể n đ ư ợ c d ù n g r ộ n g rãi tr o n g c á c thiết bị đ iệ n tử: c h ú n g c ó m ậ t
tro n g c á c th iế t bị viễn t h ô n ẹ , m á y văn p h ò n g , th iế t bị uiái trí, đ ổ đ i ệ n tử g ia d ụ n g và
cá tr o n g đ ồ chơ i c h o trẻ e m . C á c thiết bị đ ó n ó i c h u n g đ ề u c ầ n m ộ t c ơ sở đ iểu k h iể n
" th ô n g m in h " , c ó k h a n ã n g tư ơ n g tác với n e ư ờ i s ử d ụ n u .
H ìn h 1 là sơ đ ồ k h ố i c ủ a vi đ iề u k h iê n c ó đ ầ y đ ủ tính n ă n g v à c á c th iế t bị b ê n
nu o à i có thể đ ư ợ c nối với b ộ vi đ iề u k h iể n .
C á c t h à n h p h ầ n c ủ a vi đ iề u k h iể n là C P U , R A M , R O M , c ổ n e v à o /r a số, g ia o
d iệ n tru y ề n th ô n g nối tiếp, b ộ đ ế m thời g ia n , c h u y ể n đ ố i t ư ơ n g tự s ố A / D và s ố
tư ơ ng tự D /A . C P U thự c h iệ n c á c c hỉ thị đ ư ợ c lưu t r o n ơ b ộ n h ớ c h ư ơ n g trìn h R O M
đ ể đ iề u k h i ể n tất c ả c á c t h à n h p h ầ n c ò n lại. R A M đ ư ợ c d ù n g đ ể lưu c á c th iế t lậ p và
c á c b iến đ ư ợ c s ử d ụ n g tr o n g c h ư ơ n g trìn h . R O M d ù n g lưu c h ư ơ n g trìn h v à c á c s ố
liệu c ố định. B ộ n h ớ R O M c ủ a vi đ iể u k h i ể n s a u k h i đ ư ợ c n ạ p trìn h tr ở t h à n h p h ầ n
sụn (firmware). Bộ n h ớ c h ư ơ n g trìn h R O M n à y c ó t h ể là loại R O M m ặ t n ạ ịmasked
R O M ): c h ư ơ n g trìn h d ư ợ c đ ư a v à o n g a y tr o n g q u á trìn h c h ế tạ o vi m ạ c h , loại O T P
R O M c h o p h é p n ạ p c h ư ơ n g trìn h m ộ t lần , c ò n loại E P R O M c ó th ể g h i và x o á n h iề u
lần, c h ú n g đ ư ợ c lập trình bởi n a ười th iế t k ế h ệ th ố n g .
C h ươn ẹ trình c h o vi đ iề u k h iể n là m ộ t tậ p c á c lệnh đ ã d ị c h t h à n h m ã m á y l hườn tỉ đ ư ợ c n ạ p trực tiế p từ m á y rinh v à o b ộ n h ớ R O M b ê n tr o n g vi đ iề u k h iể n
th ô n g q u a m ộ t bộ n ạ p trìn h . M ộ t p h ía b ộ n ạ p trìn h n h ậ n d ữ liệ u từ c ổ n c m á y tín h ,
phía k ia đ ư a d ữ liệu v à o vi đ iề u k h iể n q u a c á c c h â n “ n ạ p t r ì n h ” c ủ a vi m ạ c h , c á c
ch ân n à y lại là c á c c h â n v à o /r a t h ô n g th ư ờ n g s a u k h i vi đ i ề u k h i ể n đ ã đ ư ợ c n ạ p
ch ư ơ n g trìn h .
C á c c ổ n g v à o /ra s ố c h o c á c d ữ liệu nhị p h â n d i c h u y ể n v à o r a q u a c á c c h â n
c ủ a vi m ạ c h . C á c c h â n n à y t ỉù n e đ ể ẹ h é p nối vi đ iề u k h i ể n với c á c th iế t bị v à o /r a s ố
hay g h é p nối với b ộ vi đ iề u k h iể n k h á c đ ể th ự c h iệ n c á c c h ứ c n ă n g k h á c n h a u .
C ổ n g t r u y ề n d ữ liệu n ố i tiếp tạ o k h ả n ă n g g i a o tiếp c ủ a h ệ t h ố n g với c á c h ệ
th ố n e k h á c q u a c á c c h u ẩ n v à g i a o th ứ c b a o g ồ m SPI, I2C , U A R T , C A N ...
K h ố i c h u y ể n đ ổ i A / D c h o p h é p vi đ i ề u k h i ể n c h u y ể n đ ổ i c á c m ứ c đ iệ n á p
urơ nc tự từ lối vào th à n h s ố đ ể c ó th ể x ử lý s ố và lưu trữ. K h ố i D /A tạ o c h o vi đ iề u
khiến c ó th ể đ ư a ra m ứ c đ iệ n á p tư ơ n g tự c h o c á c th iế t bị k h ô n g t ư ơ n s th íc h đ iề u
khiển số.
C á c b ộ đ ế m d ù n g đ ể tạ o ra c á c n h ị p thờ i g i a n c h ín h x á c h o ặ c đ ể đ ế m s ố
lư ợ n 2 x u n g .
12
N ỉịh iên cứu ứng d ụ n g vi dieu khiển P ÌC trong d o lường & điều
1.2 M Ộ T SỐ H Ọ VI Đ I Ề U K H IỂ N P H ổ
khiển
b iế n
Ị . 2.1 M icro ch ip P I C Ỉ2ẨXXX, 16Xxxx, 17Xxxx, IS X x x x
-
Đ ó n g v ò 8 - 18 - 2 8 - 4 0 c h â n , tư ơ n g ứ n g với 5 - 13 - 2 2 - 3 3 c h â n vào/ra.
-
D u n g l ư ợ n g b ộ n h ớ R O M c h ư ơ n e trình 5 1 2 b y te đ ế n 8 k b y te .
-
C ó 25 b y te đ ế n 4 0 0 byte R A M .
-
C ổ kh ố i u A R T ở c á c loại c ấ p tru n g , c ấ p cao.
-
Có I đ ế n 3 tim e r 8 hit, 16 bit.
-
Bộ A D C 8 - 1 0 bit, 6 - 8 k ê n h vào.
-
C ó b ộ n h ớ E E P R O M d u n g lư ợ ng 6 4 - 5 1 2 b y te ở họ F x x x .
-
K h ả n ă n g đ ị n h đ ịa chỉ c h o b ộ n h ớ n g o à i tro n g c á c h ọ c ấ p c a o 17 X x x x .
-
T ầ n s ố x u n g n h ịp từ 4 - 4 0 M H z.
-
T ậ p lện h R ISC .
-
Đ a số n ạ p trìn h t h e o kiểu nối tiếp, th eo g ia o th ứ c ICSP.
1.2.2
-
I N T E L 8051
Đ ó n g vỏ 4 0 c h â n , c ó 32 c h â n vào ra.
D u n « lư ợ n e b ộ n h ớ R O M tuỳ th e o c á c p h â n h ọ , từ 0 đ ế n 2 0 k b y te .
-
Có
-
Có
128 b y t e R A M .
k h ả n ă n g đ ịn h đ ị a chi c h o 64 k b y te b ộ n h ớ ngoài.
C ó khối U A R T.
-
Có
2 h o ặ c 3 t im e r 16 bit.
-
T ầ n s ố x u n g n h ịp 1 2 - 2 4
M H z.
N ạ p trình s o n g s o n g ở c á c phân h ọ c ó b ộ n h ớ c h ư ơ n g trình.
1.2.3 A T M E L A V R A T 9 0 S x x x x
-
Đ ó n g v ỏ 8 - 2 0 - 4 0 c h â n , t ư ơ n s ứ n g với 3 - 1 5 - 3 2 c h â n vào/ra.
-
D u n g lư ợ n g b ộ n h ớ c h ư ơ n g trìn h 5 1 2 b y te - 8 kbyte.
-
C ó 128 b y te đ ế n 5 12 b y te R A M .
-
C ó khối U A R T tr o n g m ộ t s ố loại c ấ p cao.
-
C ó 1 đ ế n 2 tim e r 8 hit, m ộ t s ố loại c ó tim e r 16 bit.
Bộ A D C 10 bit, 6 - 8 k ê n h vào.
-
C ó b ộ n h ớ E E P R O M d u n g lư ợ ng 6 4 - 5 12 byte.
13
Nghiên cứu ứng dụng vi diều khiển PỈC trong đo lường & điều khiển
-
T ấ n s ố x u n g nh ịp 10 M H z .
-
T ậ p lện h RISC .
N ạ p trin h th e o kiểu nối tiếp, th eo a ia o thứ c ICSP.
1.2.3 M O T O R O L A 6 S H C x x
-
Đ ó n g vỏ P L C C 52 , 68 h o ặ c 82 c h â n .
-
38 c h â n v à o ra.
-
K h ô n g c ó h o ặ c tối đ a 2 0 k b y te b ộ n h ớ lệnh.
-
C ó 1 k b y te b ộ n h ớ R A M b é n trong.
-
C ó kh ố i LJART.
-
5 b ộ tim e r 16 bit.
-
Bộ A P C 8 bit, 6 - 8 k ê n h vào.
-
C ó b ộ n h ớ k h ô n g p h ụ th u ộ c n g u ồ n n u ô i E E P R O M 5 1 2 b y te .
-
K h á n ă n g đ ịn h đ ịa c h ỉ đ ế n 16 k b y te c h o b ộ n h ớ n g o à i.
-
T ầ n s ố x u n g n h ịp 8 M H z .
-
N ạ p trìn h s o n g s o n c .
14
N g h iên cứu ứiìiỊ (lụng vi (lien khiển P ỈC tron g do lường & d iề u khiển
Chương 2 VI ĐIỂU KHIỂN M IC RO CH IP
2.1 L Ị C H SỨ P H Á T T R IỂ N H Ọ VI Đ IỂ U K H IỂ N
m ic r o c h ip p ic
N ă m 1965 h ã n g G e n e r a l I n s tr u m e n t th à n h lập Ban Vi đ iệ n lử n h ằ m tập tru n g
n g h iê n cứu c ô n e n g h ệ c h ế tạ o b ộ nhó' k iểu E P R O M và E E P R O M , đ ó là c ác linh
k iện thu hút n h iề u đ ầ u tư c ủ a c á c p h ò n g thí n g h iệ m b á n d ần. T r o n g n h ữ n g n ă m đầu
th ậ p k ỷ 7 0 G e n e r a l I n s tr u m e n t c ũ n g c h ế tạo b ộ vi x ử lý 16 bit C P 1 6 0 0 . Bộ x ử lý trên
k h á tốt n h ư n g c ó y ế u đ iể m là k h ả n ã n g vào ra k h ô n g m ạrih. Đ ổ th íc h ứng b ộ x ử lý
C P 1 6 0 0 tr o n g c á c ứ n g d ụ n g c ầ n có tính n ă n g c a o , n ă m 1975 G e n e r a l In stru m e n t
th iế t kê vi m ạ c h Đ i ề u k h iể n g ia o tiếp n g o ạ i vi (Peripheral Interface Controller) viết
tắt là PIC, đ ó là linh kiện h ỗ trợ c á c c h ứ c n ă n g v à o /ra c h o vi x ử lý. P IC k h ô n g c ầ n c ó
n h iề u c h ứ c n ã n e vì chỉ x ử lý c á c c ô n g việc v à o /ra d o đ ó bộ m ã lện h c ủ a n ó n h ỏ g ọ n .
N h ữ n g vi đ iề u k h iể n PIC đ ầ u tiên c ó đ i ể m y ế u là c h ế tạ o th eo c ô n g n g h ệ n - M O S nên
tiêu th ụ n h iề u n ă n g lượng, b ộ n h ớ c h ư ơ n g trình là loại R O M m ặ t nạ: ch ươn 2 trình
đ iề u k h iể n d ư ợ c “ n ạ p trìn h ” n g a y khi c h ế tạo vi m ạ c h n ê n c h ỉ thích h ợ p c h o các
k h á c h h à n g đ ặ t m u a với s ố lượ ng lớn, đ ể lắp rá p t ro n g sản x u ấ t n h ữ n g sản p h ẩ m
th ư ơ n g m ại cụ thể.
N h ừ n g n ă m đẩu th ậ p kỷ 80 G e n e r a l In s tr u m e n t g ặ p k h ó k h ă n tro n g th ư ơ n g
m ại và phái tổ c h ứ c lại. H ã n g tập tru n g vào c h ế t ạ o c á c linh k iệ n b á n d ẫ n c ô n ẹ su ấ t
lớn - là t h ế m ạ n h c h o tới h iện n a y c ủ a h ãng- G e n e ra l In s tr u m e n t đ ã c h u y ể n n h ư ợ n g
Ban vi đ iệ n tử và n h à m á y tại C h a n d le , b a n « A r iz o n a c h o c á c n h à đ ầ u tư. H ọ lậ p ra
m ộ t c ô n e ty m ớ i, đ ặ t tê n là A r iz o n a M ic r o c h ip T e c h n o lo g y , h iệ n nay là M ic r o c h ip
T e c h n o lo g y Inc.
C h iế n lư ợ c phát triển c ủ a c á c n h à đ ầ u tư là tậ p tru n g v à o vi đ iể u k h iể n và các
bộ n h ớ b á n d ẫ n . C á c vi m ạ c h P IC n - M O S dượ c cải tiến, c h ế tạ o d ự a trên n én tản g
c ố n c n e h ệ m ới C M O S . C á c sản p h ẩ m đ ầu tiên c ủ a M ic r o c h ip đ ư ợ c biết đ ế n và bán
ra với sô lư ự n g lớn là c á c vi đ iề u k h iể n P IC th u ộ c h ọ C M O S P IC 1 6 C 5 x . H ọ 16C 5x
c ó 2 biến thể với kiểu b ộ n h ớ ch ươn a trình là O T P và u v E P R O M . Loại O T P có thể
n ạ p trình m ộ t lần d ù n g c h o sán x u ấ t loạt lớn. Loại u v E P R O M x ó a đư ợ c b ằ n g tia
c ực tím d ù n e khi phát triển, thử n g h iệ m p h ầ n m ề m .
N a m 1983 M ic r o c h ip là h ã n g đ ầ u tiên đ ã tích h ợ p đ ư ợ c b ộ n h ớ c h ư ơ n g trình
k iểu fla sh E F .P R O M vào n h ữ n g vi đ iều k h iể n m ớ i, t ro n g đ ó đ ư ợ c b iế t đ ế n n h iề u nhất
là P I C 1 6 C 8 4 v à P IC 1 6 F 8 4 . Bộ n h ớ c h ươn s trình fla sh tro n g P IC đ ã loại b ỏ vai trò
15
N iịh icn cứ u ứniỊ dụ ng vi điểu khiển P ÌC trong do lường & đ iề u khiển
c ú a c á c vi đ iề u k h i ê n x o á b ằ n g tia cực tím , c ó vỏ b ằ n g g ố m đ á t tiền và c á c đ è n c h iế u
tia c ự c tím .
C á c ư u đ i ể m c ủ a vỉ đ i ề u k h i ể n P I C
Vi đ iề u k h i ể n M ic r o c h ip PIC đ ư ợ c n ạ p trìn h th e o k iể u n ố i tiếp, s ử d ụ n g g ia o
thứ c IC S P (In -C ircu it Serial Programming) là p h ư ơ n g th ứ c n ạ p trìn h đ ồ n g b ộ tu ầ n
tự: c á c d ữ liệu đ ư ợ c n ạ p v à o bộ n h ớ c h ư ơ n g trình t h ô n g q u a 2 c h â n v à o /r a d ư ợ c g á n
là c ổ n s tru y n h ậ p đ ế n b ộ n h ớ c h ư ơ n g trình t ro n g q u á trìn h n ạ p trìn h . N h ờ c ó k h á
n a n « IC SP v à b ộ n h ớ c h ư ơ n g trình k iểu flash nên c á c n h à n g h i ê n c ứ u p h á t triể n ứng
d ụ n g d ù n g P I C tiế t k iệ m được h à n g tră m U S D so với chi p h í m u a c á c c ô n g c ụ n ạ p
trình cho c á c loại vi d iề u k h iể n k h á c [13]. V iệc n ạ p trình c h o fla s h P I C rất d ễ d à n g ,
với m ộ t b ộ n ạ p t r ì n h đ ư n g iản - c ó th ể tự lắp ráp - c hi p h í ít h ơ n 10 U S D . T h ờ i g ia n
đ ể x o á và c h i c h ư ơ n g trìn h vào flash P IC chỉ vài c h ụ c g iâ y , s o với 15 p h ú t đ ể x o á
ƯV E P R O M P I C b ằ n g đ è n tia cực tím .
M ic r o c h ip c u n g c ấ p rất đ ầ y đủ chi tiết c á c tài liệu k ỹ th u ậ t về tất c ả c á c sả n
phẩm
vi đ iề u k h i ể n P1C. H ã n g c ò n c u n g c ấ p b ộ p h ầ n
m ềm công
c ụ m iễ n p h í
M P L A B - I D E v à đ ư ợ c đ á n h giá là tốt n h ấ t so với c á c c ô n g c ụ p h á t triể n tư ơ n g tự c ủ a
các h ã n g c h ế tạo vi đ iề u k h iể n k h á c trên t h ế m ới. B ên c ạ n h c á c tài liệu v à s ự h ỗ trợ
c ủa M ic r o c h ip , n g ư ờ i m u ố n n g h iê n cứu s ử d ụ n c vi đ iề u k h i ể n P I C c ò n c ó th ể tìm
trôn h à n g tră m t r a n g W e b về m ọ i c h ủ đ ề liên q u a n đ ế n P IC n h ư h ỏ i đ á p th ắ c m ắ c ,
c ác ví d ụ á p d ụ n g , c á c đ ề tài... C ó rất n h iề u s á c h viết về P IC , d ẫ n d ắ t c á c đ ộ c g iả
từng b ư ớ c tiế p c ậ n c á c q u á trình p h á t triển n h ữ n g ứ n g d ụ n g c ũ n g n h ư đ ư a ra c á c
c h ư ơ n g trìn h ví d ụ . T h e o M y k e P re d k o , tác g iả c u ố n P r o g r a m m i n g a n d C u s t o m i z in g
P I C m ic r o ® M ic r o c o n tr o ll e r s , P IC là linh k iện đ iệ n tử có đ ư ợ c s ự h ỗ t r ợ về tài liệu
xếp th ứ h a i, c h i s a u m á y tính c á n h â n P C và h ã n g M ic r o c h ip c ũ n ẹ đ ứ n g t h ứ hai về số
lượng vi đ iề u k h iể n b á n ra thị trư ờ n g h à n g n ă m , c h ỉ sau M o to r o l a [13].
2.2 P H Â N L O Ạ I C Á C V I Đ lỂ U K H IE N
m ic r o c h ip p ic
C ó 4 h ọ vi đ iề u k h iể n P ỈC k h á c n h a u , tiêu c h u ẩ n đ ể p h â n n h ó m d ự a trê n sự
k h á c n h a u về k iến trú c c ủ a bộ x ử lý b ê n t r o n e vi đ iề u k h iể n . Sự n h a u về b ộ x ử lý b a o
gổm:
•
•
S ố lượn 2 c á c p h ầ n c ứ n g có c h ứ c n ă n g đ ặ c biệt.
S ố c á c th a n h ghi c ó thể truy n h ậ p được.
•
C ó / k h ô n g c ó n g ắ t. S ố lưọno c á c n s ắ i.
•
S ố c á c lệ n h tă n q c ư ờ n g có thể có.
16
N ghiên cửu ÍÙ1 Í> dụng vi lỉié u
2.2.1
khiển P IC trong đo lường & (liều kh iển
H ọ c ấ p t h ấ p (Low -end)
G ồ m c á c ký h iệ u l 2 C 5 x x , l 6 C 5 x , 16C 5 0 5 , 1 6 H V 5 4 0 .
-
Đ ộ dài từ lệnh 12 bit.
Bố trí c á c th a n h g h i: c ó 32 th a n h ghi trên m ộ t b a n k , tôi đ a 4 b a n k .
Đ ặ c điếm
-
R ấ t th íc h h ợ p t ro n g c á c ứ n g d ụ n g g ia o d iện đ ơ n g iả n với n g o ạ i vi.
-
T ố c đ ộ c a o , thự c h iệ n đư ợ c 5 triệu chí thị / g iâ y ở tẩn s ố x u n g n h ị p 2 0 M H z .
-
K hông có các ngắt cứng.
-
C hỉ c ó 1 b ộ đ ế m - tim er.
K h ô n g c ó c á c lối ra tăn g cư ờ n g .
-
Bộ n h ớ c h ư ơ n g trìn h k iểu O T P h o ặ c E P R O M x o á b ằ n g c ự c tím .
-
N ạ p trìn h s o n g s o n g , trừ PIC12C5XX và P I C 1 6 C 5 0 5 đ ư ợ c n ạ p trìn h nối
tiế p
ICSP.
2 .2 .2 .
H ọ c ấ p t r u n g ịM id-rangeì
Bao g ồ m c á c ký h iệ u 12CÓXX, 14C 0 0 0 , 1 6 C 5 5 x , 16CÓX, 1 6 C 6 2 x , 1 6 F 6 2 x ,
16C 7x, 16C 8x, 1 6 F 8 7 x và 16C 9xx.
-
Đ ộ dài từ lệ n h 14 bit.
Bố trí c á c th a n h ghi: 128 b y te trên m ộ t b a n k , tối đ a 4 b a n k .
L à vi đ i ề u k h iê n v ạ n n ă n g tính n ă n g m ạ n h .
L à h ọ vi đ iề u k h iể n P IC t h ô n g d ụ n g n hất.
-
C ó rất n h iề u b iế n th ê k h á c n h a u , đ a d ạ n g về k iể u đ ó n g vỏ: D IP , S S O P .
P L C C ...
Đ ặ c điểm
-
T ố c đ ộ c a o , thự c h iệ n đượ c 5 triệu chí thị / g iâ y ở x u n g n h ị p 2 0 M H z .
-
Có c á c n g ắ t p h ầ n c ứ n g .
-
C ó từ 1 đ ế n 3 bộ đ ế m - tim er.
-
C ó rất n h iề u k h iế u k h á c n h a u về c h â n v à o /r a
tă n g c ư ừ n g
vào/ra tư ơ n g tự, b ộ đ iều k h iể n m à n h ì n h L C D , g i a o
baogồm
d i ệ n tr u y ề n t h ô n g
tiếp: đ ồ n g b ộ , k h ô n g đ ồ n g b ộ , I2C , M i c r o W i r e , SPI, C A N , U S B ...
-
Bộ n h ớ c h ư ơ n g trìn h flash ở h ầ u hết c á c vi m ạ c h .
K h ả n ă n g n ạ p trìn h nối tiếp ICSP.
-
C ó kha n ă n g tự ghi v à o bộ n h ớ c h ư ơ n g trình (self-programming).
1
các
\|-L 0
lối
nối
Nghiên cứu ứng dụng vi (íiền khiển PỈC trong (ỉo lường & diều khiển
-
Có phần cứng gỡ rỏi chương trình ICD ứ một sô loại.
2.2.3 Họ cấp cao (High - end) 17Cxxx
Bao com các vi mạch ký hiệu l7Cxxx.
-
Độ dài từ lệnh 16 bit.
Bô trí các thanh ghi: 224 byte trên một bank, tối đa 8 bank, 48 thanh ghi
chức nãng đặc biệt.
điểm
Đặc
-
Vi điều khiển giao tiếp bus, truy nhập các thiết bị song song trực tiếp.
-
Tốc độ xung nhịp 33 MHz.
-
Có 3 véc tơ ngắt cứng.
-
Có 3 bộ đếm - timer 16 bit.
-
Kiến trúc khác so với các họ PIC cấp trung, cấp thấp.
-
Cỏ các lệnh tăng cường và nhiều khả năng định địa chỉ.
-
Có một vài lối vào/ra tăng cường.
-
Bộ nhớ chương trình OTP.
-
Nạp trình kiểu song song.
2.2.4 Họ cáp ca« (High- Peformance) 18Cxxx 18Fxx2
-
Độ dài từ lệnh 16 bit.
Bố trí các thanh ghi: 256 byte trên một bank, tối đa 16 bank.
Đặc
điểm
-
Kiến trúc nâng cao, dựa trên nền tảng của họ cấp trung, xu hướng
tương lai
sẽ thay thế cho họ PIC cấp trung, do tính tươne thích và khai thác được các
tính năng mới.
-
Có khả năng truy nhập tới 2 Mbvte bộ nhớ chương trình, 4 kbyte bộ nhớ
RAM.
-
Có các lệnh tăng cường và nhiều khả năn 2 định địa chi.
- Véc tơ ngát dơn, có thổ lập trình dược mức độ ưu tiên các nguổn ngắt.
-
Kha nàn» vào/ra tương tự như các PIC họ cấp trung.
- Hoạt động ở tần số tối đa 40 MHz, sử dụng bộ dao động thạch anh 10 MHz
và bộ nhân tẩn số PLL.
-
Có bộ nhớ chương trình kiểu flash cho tất cả các loại.
-
Nạp trình nối tiếp ICSP, có khả năng tự chi vào bộ nhớ chương trình.
18
Nạhicn cửu ứng dụng vi diều khiển PỈC trong đo lường
cỉicu khiên
2.2.5 róm lược các ho vi điều khiên Microchip PIC
Iỉảng I : Tóm lược các họ vi điểu khiển PIC.
K ý hiệu
Kiến trúc
Đặc điếm
I2C5XX
Cấp lliấp
Bộ lạo nhịp trong / Reset
Chức nàng giao tiếp đơn
giản
12CÓXX
Cấp trung
A D C / bộ tạo nhịp trong / Reset / bộ
nhớ Data EERPOM
Chức năng giao tiếp đom
giản
14C000
Cấp í rung
A D C / Vref
Bộ điểu khiển nauồn điện
16C5x
Cấp thấp
Bộ nhớ OTP. nạp trình song sons
Các ứng dụng cơ bản
16C505
Cấp thấp
Bộ nhớ OTP
Các ứng dụng cơ bàn
16HV540
Cấp thấp
Có ổn áp bên trong, điện áp làm việc
cao
Các ứng dụng cơ bản
I6C55X
Cấp trung
Bộ nhớ OTP
Các ứng dụng cơ bán
16C6x
Cấp trung
Bộ nhớ OTP
Các ứng dụng điều khiển
digital
16C62X
Cấp trung
Có bộ so sánh điộn áp
Giám sát các đại lượng điện
tương tự
16F62x
Cấp trung
Có bộ so sánh điện áp / bộ nhớ flash
Giám sát các đại lượng điện
tương tự
16C7x
Cap trung
ADC
Giao tiếp với các đại lượng
điện tương tự
16x8x
Cấp trung
Bô nhớ flash
EERPOM
16F87x
Cấp trung
A DC / bô nhớ flash / bộ nhớ Data
EERPOM
Giao tiếp với các đại lượng
điện tương tự / phát iriến
ứng dụng
16C9XX
Cấp trung
A DC / I2C, OTP
Giao liếp với các đại lượng
(tiện tương tự
17Cxx
Cấp cao
Truy nhập dược bộ nhớ ngoài
Các ứng dụng tiên liến
18Cxxx
Cấp cao
ISCxx
. .
,,,, , . , ,
A IX / I2C, bô nhớ OTP
Các ứng dung giao liếp các
, . , ‘° ■ c c . 1 '
dại lượng tương tự /s ô
Ung dụng
/
bỏ
nhớ
Data
Phát triển ứng dụng
1
19
.
Nghiên cứu ứ/ìíỊ dụng vi (liều k h iể n P IC trong đo lường & đ iê u k h iể n
2.3 LỰA CHỌN LOẠI VI Đ lỂU KHIỂN đ ể n g h i ê n c ứ u ÚN ( ỉ D Ụ N í ;
Tronu khuôn khổ bản luận văn này vi điều khiển PIC16F877A được lựa chọn
nghiên cứu ứng dụng do có các ưu điếm sau:
-
Là vi điều khiển flash PIC thuộc họ cấp trung. Bộ nhớ chương trình
dung
lượng 8 kbyte đú lưu chương trình ứng dụng tương đối phức tạp.
-
Đóng trong vỏ DIP 40 chân, có 5 cổng A-B-C-D-E với tổng số 33 lối vào/ra.
Số lượng cổng vào ra nhiều nên ẹhép nối được với nhiều thiết bị ngoại vi như
các cảm biến với lối ra số, nút bấm điều khiển, vi mạch đồng hổ thời gian
thực, bộ nhớ ngoài, môđun hiển thị tinh thể lỏng LCD...
-
Có 3 bộ timer dùng để định thời gian và đếm xung trong các ứng dụns đếm
số lượng và đo tần số xung.
-
Có khôi biến đổi tưưng tự - số 8 kênh, độ phân giải 10 bit, thích hợp cho các
ứng dụng cần do tín hiệu điện áp tương tự nhiều kênh.
-
Có khối UART để uhép nối với thiết bị truyền thông, điều khiển như môđem,
máy tính theo chuẩn giao tiếp RS-232.
-
Có khối điều khiển giao thức bus I2C để ghép nối với bộ nhớ EEPROM
chuẩn I2C.
-
Giá không quá cao, chi 5,76 USD/ vi mạch.
20
Nghiên cứu ứnạ (lụng vi (licit khiên PIC trung đu lường
ổ
i
diều khiển
C hương 3 C Ả U T R Ú C VI Đ IẼ U K H IÊ N P IC 16F877A
3.1 MÔ TẢ KHÁI QUÁ I VẾ TÍNH NĂNG CỦA VI ĐlỀU KHIỂN PIC 16F877A
•
Hộ xử lý tru n g tám C P U RISC
Tập lệnh chỉ gồm 35 lệnh RISC.
Các lệnh thực hiện trong I chu kỳ máy, trừ các lệnh rẽ nhánh chiếm 2 chu kỳ.
Tốc độ hoạt động: tần số xung nhịp từ 0 Hz đến 20 MHz nhờ thiết kế hoàn toàn
tĩnh.
Bộ nhớ chương trình 8 k
X
14 bit.
Bộ nhớ dữ liệu RAM 368 X 8 bit.
Bộ nhớ dữ liệu EEPROM 256
•
X
8 bit.
Các thiết bị ngoại vi giao tiếp số (digital)
TimẹrO: Bộ đếm/timer 8 bit, có bộ chia trước 8 bit.
Timer 1: Bộ đếm 16 bit, có bộ chia trước hệ số 1, 4, 16. Đếm xung được trong trạng
thái SLEEP với xung nhịp đưa từ bên ngoài.
Timer2: Bộ đếm /timer 8 bit có chia trước, chia sau.
Hai khối Compare/Capture/PWM thực hiện chức năng so sánh/bắt giữ số xung và
điều chế độ rộng xung.
Cổng nối tiếp đổng bộ theo chuẩn giao thức SPI và I2C.
Bộ thu/phát đổng không đồng bộ vạn năng UART có phần cứng phân biệt địa chỉ.
Cổng son« song PSP 8 bít có chân điều khiển RD, WR, c s .
Cớ mạch phát hiện sự giảm điện áp nguồn, chức năng BOR.
•
Khả n ăn g giao tiếp với tín hiệu tương tự (analog)
Bộ biến đổi tương tự/số 10 bit, 8 kênh.
Khôi so sánh tương lự có dặc tính:
•
-
Gồm 2 bộ so sánh tương tự.
-
Khối tạo điện áp chuẩn bên trong lập trình được.
-
Lối ra của bộ so sánh có thể truy nhập từ bên ngoài.
Các đặc tính riêng
Đảm bảo 100.000 lần «hi/xoá vào bộ nhớ ch ươn 2 trình flash.
Đảm bảo 1.000.000 lần uhi/xoá vào bộ nhớ dữ liệu EEPROM.
21
Nghiên cứu ứng (lụng vi cỉiềit khiển PIC trong đo lường & (tiều khiển
Bó nhớ dữ liệu kiểu EEPROM lưu được dữ liệu trên 40 năm.
Tự nạp trình dưới sự điều khiển của phần mềm bootstrap qua giao diện nối tiếp.
Nạp trình nối tiếp ICSP.
Điện áp nạp trình 5 V ở chê độ LVP.
Bộ đếm giám sát Watchdog có mạch tạo nhịp RC bên trong, độc lập.
Có cơ chế khoá chống sao chép chương trình.
Chế độ SLEEP tiết kiệm năng lượng.
Nhiều lựa chọn về bộ dao động tạo nhịp RC, LP, XT, HS.
Chức năne eỡ rối chương trình ICD qua 2 chân.
Chế tạo bằng công nghệ CMOS, tiêu thụ ít năng lượng, tốc độ cao.
3.2 SO ĐỔ KHỐI CHÚC NÂNG VÀ CÁC CHÂN VÀO RA
Vi điều khiển PIC có kiến trúc Harvard, trona đó CPU truy nhập chương trình
và dữ liệu được trên 2 bus riêng biệt, nên làm tăng đáng kể bãng thông so với kiến
trúc kiểu Von Neumann trong đó CPU truy nhập chương trình và dữ liệu trên cùng
một bus.
Việc tách riêng bộ nhớ chương trình và bộ nhớ dữ
liệ u
cho phép sô bit của từ
lệnh có thể khác với số bit của từ dữ liệu, ở PIC 16F877A, từ lệnh dài 14 bit, từ dữ
liệu 8 bit.
PIC 16F877A chứa một bộ ALU 8 bit và thanh ghi làm việc WR (W orking
Register). ALAJ là đơn vị tính toán số học và logic, nó thực hiện các phép tính số học
và đại số Boole trên thanh ghi làm việc WR và các thanh ghi dữ liệu. ALU có thể
thực hiện các phép cộne, trừ, dịch bít và các phép toán logic.
Vi điều khiển PIC 16F877A được dons trong vỏ nhựa hai hàng 40 chân DIP.
việc bố trí các lối ra mồ tả trong hình 2.
PDIP (40 pin)
iflULIvVt 1
l_, 1
RA0/AN0 -—- c 7
RAI.'AN1 •—«-C 3
RA^/AIW.Vaf’e-fCVREP -t a [■4
RA3/AN3/VREF* -—►C 5
RA4/T0CKI/C1QUT
V
fiAr«/ANM.'«ĩ5jT?ni JT _( Ị
RFO'RD-'ANS •+ *■c 8
RE1/WRMN6
9
RÊ2/CS/AN7 «—
10
Vnc'.__ «. Q 11
Vss__ c n
OSC1/CLKIN__•• Ẽ 13
0SC2/CLK0ur «__ C 1™
4
RCOTlOSO/TtCKI
C 15
KCVMOSI/CCP2
C 16
RC2/CCP1
C 17
RC3/SCK/SCI ■«_►C 18
ROO.P5PO —
__ £
ROlíPSPl
20
}
<í
2
5
Ịĩ
CO
u_
CO
urr
£
°-
40 ~
_1J - ■■ 0R7/Pr5n
nu/iruu
39 J ■*— RB6.*PGC
38 5 • RB5
37 -J^
RĐ3/PGM
36 □
^3 J M Rft?
34 3 * * Rữt
33 -)-*_to- MHO/iNt
32 D --- Vdo
31 D *— Vss
Rn7i'Pcor
ĨP7/
30 1 ^■ ”■ nui'r
00 _J
r%uvir Oỉ ụ
„ RD5/PSPS
23
J
RD4/PSP4
26 5 — - RC?/RX>'DT
25 5 —- RC6.-7X/CK
24 5 ►RCWSOO
23 J _». RC4/SOt’SOA
"í — r RD3/PSP3
21 5
R02PSP2
Hình 2: Bò trí chân PIC I6F877A.
22
NiỊỈiiân cứu ứng dụng vi diều khiển PÌC trong đo lường & điều khiển
13
PORTA
ProgramCounter !<]:
RAO/ANO
RA1/AN1
RA2/AN2A/REF-/CVR£é
RA3'AN3A/REF*
RA4.T0CKÎ/C1OUT
RA5/AN4/SS/C20UT
RC0/T1OSO/T1CKỈ
Rcimosí/ccP2
RC2/CCP1
RC3/SCK/SCL
RC4/SDI/SDA
RC5VSDO
RC6^TX7CK
RC7/RX/DT
DataEEPROM
CCP1.2
Synchronous
Serial Port
USART
Comparator
Voltage
Rcíercnco
H ìnli 3: Sơ đồ khối chức năng của PIC 16F877A.
Hình 3 là sư dồ khối chức năng của vi điều khiển PIC 16F877A.
Báng 2 mò tả chức năng của các chân vào ra của vi điều khiển. Ớ PIC 16F877A
đa số các chùn vào ra được sử dụng cho nhiều chức năng, ví dụ các chân của cổng A
là cổng vào ra số và là các lối vào cho điện áp tương tự của khối biến đổi ADC hay
khối so sánh tương tự (Comparator).
Các chức năng cụ thể cho từng chân vào ra được xác lập khi lập trình qua việc
điều khiển các thanh ghi chức năng thuộc các khối liên quan đến chân này.
23
NíỊhién cửu ứiiíi dụniỊ vi diêu klìicn PIC trong đo lường & điều khiên
Bảng 2: Mô tá chức nâng các chân cùa PIC 16F877A.
M ô tá chức năng
Chân
Loại
0SC1/CLK1
13
I
Dao động linh thể hoặc lối vào dao động ngoài
OSC2/CLKO
14
0
Dao động tinh thể hoặc lối ra xung nhịp
M CLR/Vpp
1
I/P
Lối vào Reset. Lối vào diện áp nạp trình Vpp
RAO/ANO
2
I/O
Vào/ra số. Lối vào analog 0
R A I/A N I
3
I/O
Vào/ra số. Lối vào analog 1
Tén
Vào/ra số. Lối vào analog 2. Lôi vào điện áp chuẩn
R A 2 /A N 2/V -R cff/C V R cf
4
I/O
V -ref của ADC. Lối ra V rcf so sánh
Vào/ra số. Lối vào analog 3. Lối vào điện áp chuẩn
R A 3/A N 3/V + R e f
5
I/O
v + re f cùa A DC.
RA4/TOCK1/C1 O U T
6
I/O
Vào/ra số cực máng ngó. Lối vào xung ngoài cho
TimerO. Lối ra bộ so sánh 1
RA.VSS/AN 4/C20UT
7
I/O
Vào/ra số. Lối vào chọn SP1. Lói vào analog 4. Lối
ra bộ so sánh 2
RBO/INT
33
I/O
Vào/ra số. Lối vào ngái ngoài.
RB I
34
I/O
Vào/ra số
RB2
35
I/O
Vào/ra số
RB3/PGM
36
I/O
Vào/ra số. Nạp trình LVP
RB4
37
I/O
Vào/ra số
RB5
38
I/O
Vào/ra số
RB6
39
I/O
V à o /ra số. Xu nu n h ịp n ạ p trìn h IC S P
RB7
40
I/O
Vào/ra số. Dữ liệu nạp trình ICSP
RCO/T1O SO /T1CK1
15
I/O
Vào/ra số. Tạo dao động tim erl. Xung nhịp ngoài
cho timer 1
RC 1/T10SI/C CP 2
16
I/O
Vào/ra số. Tạo dao động timer 1. Lối vào Capturc2.
Lối ra Compare2. Lôi ra PWM2
RC2/CCP1
17
I/O
Vào/ra số. Lối vào Capture 1. Lối ra Compare!. Lối
ra P W M 1
RC3/SCK/SCL
18
I/O
Vào/ra
RC4/SDI/SDA
23
i/o
Vào/ra số. Vào dừ liệu SP1. Vào/ra dữ liệu I2C
RCS/SDO
24
I/O
Vào/ra sô Ra dữ liệu SPI
RC6/TX/CK
25
I/O
Vào/ra sô. cổng truyền không đổng bộ. Xung nhịp
số .
Nhịp đồng bộ cho SPI
truyền đồng bộ
24
VÌ1
12C
Nghiên cửu ứng (ỉiiníỊ vi (tiêu khiển PIC trong đo lường & diêu khiển
Tên
Chân
Loại
M ó tá chức nâng
R C 7/R X /D T
26
I/O
Vào/ra số. cổng nhận khổng đổng hộ. Dữ liệu đồng
bộ
RDO
19
I/O
Vào/ra số. cổng song song tớ
RDI
20
I/O
Vào/ra số. cổng song song tớ
RD2
21
Vào/ra số. cổng song song tớ
RD3
22
RD4
27
I/o
I/o
I/o
RD5
28
I/o
Vào/ra số. cổng song song tớ
RD6
29
I/o
Vào/ra số. cổng song song tớ
RD7
30
I/o
Vào/ra số. cổng song song tớ
REO/RD/AN5
7
I/o
Vào/ra số. Điều khiển R D cổng song song
RHI/VVR/AN6
8
I/o
Vào/ra số. Điều khiển W R cổng song song
RE2/CS/AN7
9
I/o
Vào/ra số. Điều khiển c s cổng song song
Vss
12,31
p
Đất chung cho lối vào/ra số và analog
Vdđ
11,32
p
Cấp nguồn dương
Vào/ra số, cổng song song tớ
Vào/ra số. cổng song song tớ
3.3 TỔ CHỨC l ỉ ộ NHỚ VÀ CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT
Có 3 loại bộ nhớ trong vi điều khiển
16F877A: bộ nhớ chương trình, bộ nhớ dữ liệu
RAM và bộ nhớ dữ liệu EEPROM. Bộ nhớ chương
CALL. RETURN
RKTPỈk*. P.ÏTLW
trinh và bộ nhớ dữ liệu có 2 bus riêng nên có thể
truv nhập dồng thời.
Slrt<:k I nvnlA
3.3.1 Bộ nhớ chương trình flash
oooo.s
<5=
Vi điều khiến PIC16F877A có bộ nhớ
IntKmipt V«xỉor
chương trình kiểu flash đun« lượne
8
k
X
14 bit,
OOOSh
07FFM
chia làm 4 bank. Thanh ghi của bộ đếm chương
trình PC (Program Counter) 13 bit, đủ định địa chí
cho 8 k không gian bộ nhớ. Khi khởi động, bộ đếm
00ò4h
0 800h
0 't ’Ctop
Prcỵyam
Po<>c2
OWFh
lOOOh
17FPÎI
ch ươn 2 trinh bắt đầu từ địa chỉ OOOOh, vectơ ngắt
có địa chi 0004h.
Bộ nhớ dữ liệu flash được ghi vào trong khi
25
I lì n li 4: T ổ chức hộ nhớ.