
Copyright (c) IRF Group
Nghiªn cøu kh¶o s¸t
bé vi ®iÒu 8 bit PIC16F877
1. Giíi thiÖu bé vi ®iÒu khiÓn 8 bÝt
Ngµy nay, c¸c bé vi ®iÒu khiÓn ®ang cã øng dông ngµy cµng réng r·i trong
c¸c lÜnh vùc kü thuËt vµ ®êi sèng x· héi, ®Æc biÖt lµ trong kü thuËt tù ®éng ho¸
vµ ®iÒu khiÓn tõ xa. Giê ®©y víi nhu cÇu chuyªn dông ho¸, tèi −u (thêi gian,
kh«ng gian, gi¸ thµnh), b¶o mËt, tÝnh chñ ®éng trong c«ng viÖc... ngµy cµng ®ßi
hái kh¾t khe. ViÖc ®−a ra c«ng nghÖ míi trong lÜnh vùc chÕ t¹o m¹ch ®iÖn tö ®Ó
®¸p øng nh÷ng yªu cÇu trªn lµ hoµn toµn cÊp thiÕt mang tÝnh thùc tÕ cao.
1.1. Kh¸i niÖm vÒ bé vi ®iÒu khiÓn
§Ó hiÓu kh¸i niÖm vÒ bé vi ®iÒu khiÓn, ta cã thÓ lµm phÐp so s¸nh nã víi bé
vi xö lý c«ng dông chung nh− sau:
Ta biÕt r»ng, c¸c bé vi xö lý c«ng dông chung nh− hä Intel x86 (8086,
80286, 80386, 80486 vµ Pentium) hoÆc hä Motorola 680x0(6800, 68010, 68020,
68030, 68040 vv...) kh«ng cã RAM, ROM vµ kh«ng cã c¸c cæng ra vµo trªn
chip... Víi lý do ®ã mµ chóng ®−îc gäi lµ c¸c bé vi xö lý c«ng dông chung.
Mét nhµ thiÕt kÕ hÖ thèng sö dông mét bé vi xö lý c«ng dông chung ch¼ng
h¹n nh− Pentium hay 68040 sÏ ph¶i bæ xung thªm RAM, ROM, c¸c cæng vµo ra
vµ c¸c bé ®Þnh thêi ngoµi ®Ó lµm cho chóng ho¹t ®éng ®−îc. MÆc dï viÖc bæ
xung c¸c RAM, ROM, c¸c cæng vµo ra sÏ lµm cho hÖ thèng cång kÒnh lªn
nh−ng nã l¹i cã −u ®iÓm khi sö dông c¸c bé vi xö lý nµy lµ rÊt linh ho¹t. Ch¼ng
h¹n nh− ng−êi thiÕt kÕ cã thÓ quyÕt ®Þnh vÒ sè l−îng RAM, ROM, vµ c¸c cæng
vµo ra cÇn thiÕt sao cho phï hîp víi kh¶ n¨ng, môc ®Ých sö dông cña hÖ thèng.
§iÒu nµy kh«ng thÓ cã ®èi víi c¸c bé vi ®iÒu khiÓn. Bëi v×, mét bé vi ®iÒu
khiÓn ®· cã mét CPU (mét bé vi xö lý) cïng víi mét sè l−îng RAM, ROM, c¸c
cæng vµo ra vµ mét bé ®Þnh thêi trªn cïng mét chÝp. Hay nãi c¸ch kh¸c lµ bé vi
xö lý, RAM, ROM, c¸c cæng vµo ra vµ mét bé ®Þnh thêi cïng ®−îc nhóng trªn
mét chip. Do vËy ng−êi thiÕt kÕ kh«ng thÓ bæ xung thªm bé nhí ngoµi, sè c¸c
cæng vµo ra hoÆc bé ®Þnh thêi cho nã. Víi sè l−îng RAM, ROM vµ sè c¸c cæng
vµo ra cè ®Þnh nh− vËy lµ mét mÆt h¹n chÕ (kÐm linh ho¹t) xong nã l¹i thËt sù lý
t−ëng ®èi víi nh÷ng øng dông mang tÝnh chuyªn biÖt, tèi −u vÒ gi¸ thµnh, tèi −u
vÒ kh«ng gian...
HiÖn nay trªn thÞ truêng cã c¸c bé vi ®iÒu khiÓn 8 bÝt chÝnh lµ. 6811 cña
Motorola, 8051 cña Intel, Z8 cña Xilog vµ Pic16x cña Microchip Technology.
Mçi lo¹i trªn ®©y ®Òu cã mét tËp lÖnh vµ thanh ghi riªng duy nhÊt, nªn chóng
®Òu kh«ng t−¬ng thÝch lÉn nhau. Còng cã nh÷ng bé vi ®iÒu khiÓn 16 bÝt vµ 32 bÝt
®−îc s¶n xuÊt ra bëi c¸c h·ng s¶n xuÊt chÝp kh¸c nhau.
1.2. Nh÷ng yªu cÇu ®Ó lùa chän mét bé vi ®iÒu khiÓn lµ:

Copyright (c) IRF Group
9 §¸p øng nhu cÇu tÝnh to¸n cña bµi to¸n mét c¸ch hiÖu qu¶ vÒ mÆt gi¸
thµnh vµ ®Çy ®ñ chøc n¨ng cã thÓ nh×n thÊy ®−îc, (kh¶ dÜ).
9 Cã s½n c¸c c«ng cô ph¸t triÓn phÇn mÒm ch¼ng h¹n nh− c¸c tr×nh biªn
dÞch tr×nh hîp ng÷ vµ gì rèi.
9 Nguån c¸c bé vi ®iÒu khiÓn cã s½n nhiÒu vµ tin cËy.
1.3. C¸c tiªu chuÈn lùa chän mét bé vi ®iÒu khiÓn:
Tiªu chuÈn ®Çu tiªn vµ tr−íc hÕt trong lùa chän mét bé vi ®iÒu khiÓn lµ nã
ph¶i ®¸p øng nhu cÇu bµi to¸n vÒ mÆt c«ng suÊt tÝnh to¸n, gi¸ thµnh vµ hiÖu qu¶.
Trong khi ph©n tÝch c¸c nhu cÇu cña mét dù ¸n dùa trªn bé vi ®iÒu khiÓn, chóng
ta tr−íc hÕt ph¶i biÕt lµ bé vi ®iÒu khiÓn nµo lµ 8 bÝt, 16 bÝt hay 32 bÝt cã thÓ ®¸p
øng tèt nhÊt nhu cÇu tÝnh to¸n cña bµi to¸n mét c¸ch hiÖu qu¶ nhÊt.
• Nh÷ng tiªu chuÈn ®−îc ®−a ra ®Ó c©n nh¾c lµ:
9 Tèc ®é: Tèc ®é lín nhÊt mµ bé vi ®iÒu khiÓn hç trî lµ bao nhiªu.
9 KiÓu ®ãng vá: §ã lµ kiÓu 40 ch©n DIP hay QFP hay lµ kiÓu ®ãng vá kh¸c.
§©y lµ ®iÒu quan träng ®èi víi yªu cÇu vÒ kh«ng gian, kiÓu l¾p r¸p vµ t¹o mÉu
thö cho s¶n phÈm cuèi cïng.
9 C«ng suÊt tiªu thô: §iÒu nµy ®Æc biÖt kh¾t khe ®èi víi nh÷ng s¶n phÈm
dïng pin, ¾c quy.
9 Dung l−îng bé nhí RAM vµ ROM trªn chÝp.
9 Sè ch©n vµo – ra, bé ®Þnh thêi, sè ng¾t trªn chÝp.
9 Kh¶ n¨ng dÔ dµng n©ng cÊp cho hiÖu suÊt cao hoÆc gi¶m c«ng suÊt tiªu
thô.
9 Gi¸ thµnh cho mét ®¬n vÞ: §iÒu nµy quan träng quyÕt ®Þnh gi¸ thµnh cuèi
cïng cña s¶n phÈm mµ mét bé vi ®iÒu khiÓn ®−îc sö dông.
2. Bé Vi ®iÒu khiÓn 8 bit PIC16F877
2.1. §Æc tÝnh næi bËt cña bé vi xö lÝ.
+ Sö dông c«ng nghÖ tÝch hîp cao RISC CPU.
+ Ng−êi sö dông cã thÓ lËp tr×nh víi 35 c©u lÖnh ®¬n gi¶n.
+ TÊt c¶ c¸c c©u lÖnh thùc hiÖn trong mét chu k× lÖnh ngo¹i trõ mét sè c©u
lÖnh rÏ nh¸nh thùc hiÖn trong 2 chu k× lÖnh.
+ Tèc ®é ho¹t ®éng lµ: - Xung ®ång hå vµo lµ DC- 20MHz
- Chu kú lÖnh thùc hiÖn trong 200ns
+ Bé nhí ch−¬ng tr×nh Flash 8Kx14 words
+ Bé nhí Ram 368x8 bytes
+ Bé nhí EFPROM 256x 8 bytes
Kh¶ n¨ng cña bé vi xö lÝ nµy
+ Kh¶ n¨ng ng¾t ( lªn tíi 14 nguån ng¾t trong vµ ng¾t ngoµi )
+ Ng¨n nhí Stack ®−îc ph©n chia lµm 8 møc
+ Truy cËp bé nhí b»ng ®Þa chØ trùc tiÕp hoÆc gi¸n tiÕp.
+ Nguån khëi ®éng l¹i (POR)
+ Bé t¹o xung thêi gian (PWRT) vµ bé t¹o dao ®éng (OST)

Copyright (c) IRF Group
+ Bé ®Õm xung thêi gian (WDT) víi nguån dao ®éng trªn chÝp (nguån dao
®éng RC ) ho¹t ®éng ®¸ng tin cËy.
+ Cã m· ch−¬ng tr×nh b¶o vÖ.
+ Ph−¬ng thøc cÊt gi÷ SLEEP
+ Cã b¶ng lùa chän dao ®éng.
+ C«ng nghÖ CMOS FLASH /EEPROM nguån møc thÊp ,tèc ®é cao.
+ ThiÕt kÕ hoµn toµn tÜnh .
+ M¹ch ch−¬ng tr×nh nèi tiÕp cã 2 ch©n.
+ Xö lý ®äc /ghi tíi bé nhí ch−¬ng tr×nh .
+ D¶i ®iÖn thÕ ho¹t ®éng réng : 2.0V ®Õn 5.5V
+ Nguån sö dông hiÖn t¹i 25 mA
+ D·y nhiÖt ®é c«ng nghiÖp vµ thuËn lîi .
+ C«ng suÊt tiªu thô thÊp:
< 0.6mA víi 5V, 4MHz
20
µ
A víi nguån 3V, 32 kHz
< 1
µ
A nguån dù phßng.
C¸c ®Æc tÝnh næi bËt cña thiÕt bÞ ngo¹i vi trªn chip
+ Timer0: 8 bÝt cña bé ®Þnh thêi, bé ®Õm víi hÖ sè tû lÖ tr−íc
+ Timer1: 16 bÝt cña bé ®Þnh thêi, bé ®Õm víi hÖ sè tû lÖ tr−íc, cã kh¶ n¨ng
t¨ng trong khi ë chÕ ®é Sleep qua xung ®ång hå ®−îc cung cÊp bªn ngoµi.
+ Timer 2: 8 bÝt cña bé ®Þnh thêi, bé ®Õm víi 8 bÝt cña hÖ sè tû lÖ tr−íc, hÖ sè
tû lÖ sau
+ Cã 2 chÕ ®é b¾t gi÷, so s¸nh, ®iÒu chÕ ®é réng xung(PWM).
+ ChÕ ®é b¾t gi÷ víi 16 bÝt, víi tèc ®é 12.5 ns, chÕ ®é so s¸nh víi 16 bÝt, tèc
®é gi¶i quyÕt cùc ®¹i lµ 200 ns, chÕ ®é ®iÒu chÕ ®é réng xung víi 10 bÝt.
+ Bé chuyÓn ®æi tÝn hiÖu sè sang t−¬ng tù víi 10 bÝt .
+ Cæng truyÒn th«ng nèi tiÕp SSP víi SPI ph−¬ng thøc chñ vµ I2C(chñ/phô)
+ Bé truyÒn nhËn th«ng tin ®ång bé, dÞ bé(USART/SCL) cã kh¶ n¨ng ph¸t
hiÖn 9 bÝt ®Þa chØ.
+ Cæng phô song song (PSP) víi 8 bÝt më réng, víi RD, WR vµ CS ®iÒu
khiÓn.

Copyright (c) IRF Group
S¬ ®å c¸c ch©n PIC16F87X.

Copyright (c) IRF Group
S¬ ®å khèi bé vi ®iÒu khiÓn PIC16F87X
2.2. So s¸nh víi bé vi ®iÒu khiÓn 8051
*Bé vi ®iÒu khiÓn 8051 lµ bé V§K ®Çu tiªn thuéc hä V§K x51 ®−îc s¶n
xuÊt bëi c«ng ty Intel, Siemens, Advanced Micro Devices, Fujitsu, Philips.
C¸c ®Æc ®iÓm chung cña bé V§K nµy:
• 4KB ROM
• 128 B RAM
• 4 cæng I/O 8 bit
• 2 Timer 16 bit
• Cã kh¶ n¨ng qu¶n lý ®−îc 64 KB bé nhí m· ch−¬ng tr×nh ngoµi (ROM
ngoµi).
• Cã kh¶ n¨ng qu¶n lý ®−îc 64 KB bé nhí d÷ liÖu ngoµi (RAM ngoµi)
• Cã bé xö lý logic riªng (thao t¸c trªn c¸c bit)
• Cã thÓ thao t¸c trùc tiÕp ®−îc 210 bit (c¸c bit nµy ®· ®−îc ®Þa chØ ho¸)
• Cã 5 ng¾t
• Dïng nguån dao ®éng ngoµi

