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

Nghiên cứu ứng dụng vi điều khiển Microchip pic trong đo lường và điều khiển thời gian thực : Luận văn ThS. Kỹ thuật vô tuyến điện tử và thông tin liên lạc: 2 07 00

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 (33.08 MB, 100 trang )

Đ Ạ 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 .

-



-



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



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ớ.


×