
Tru ng ờDHSPKT H ng Yênư
Khoa : C Khí Đ ng L cơ ộ ự Đ Án C Đi nồ ơ ệ
1.Tổng quan về vi điều khiển PIC
PIC là m t h vi đi u khi n RISC đ c s n xu t b i công ty Microchip Techology th hộ ọ ề ể ượ ả ấ ở ế ệ
PIC đ u tiên là PIC1650 đ c phát tri n b i Microelectronics Division thu c General –ầ ượ ể ở ộ
Instrument
PIC là vi t t t c a “Programmable Intelligent Computer” là m t s m ph m c a hang Gênralế ắ ủ ộ ả ẩ ủ
Intruments đ t cho dòng s n ph m đ u tiên là PIC 1650. T i th i đi m đó PIC1650 đ cặ ả ẩ ầ ạ ờ ể ượ
dung đ giao ti p v i các thi t b ngo i vi cho máy ch 16 bit CP1600, vì v y, ng i ta cũngể ế ớ ế ị ạ ủ ậ ườ
g i PIC v i cái tên “Peripheral Interface Controller” b đi u khi n giao ti p ngo i vi.ọ ớ ộ ề ể ế ạ
CP1600 là m t CPU m nh nh ng lai y u v các ho t đ ng xu t nh p vì v y PIC 8 bitộ ạ ư ế ề ạ ộ ấ ậ ậ
đ c phát tri n vào kho ng năm 1975 đ h tr cho ho t đ ng xu t nh p c a CP1600ượ ể ả ể ỗ ợ ạ ộ ấ ậ ủ
PIC ROOM đ ch a mã, m c dù khái ni m RISC ch a đ c s d ng th i b y gi ,nh ngể ứ ặ ệ ư ượ ử ụ ờ ấ ờ ư
PIC th c s là m t vi đi u khi n v i ki n trúc RISC, ch y m t l nh v i m t chu kì máy-ự ự ộ ề ể ớ ế ạ ộ ệ ớ ộ
g m 4 chu kì c a b đi u khi n vào ra l p trình.ồ ủ ộ ề ể ậ
Năm 1985 General Intruments bán công ngh các vi đi n t c a h , và ch s h u m i huệ ệ ử ủ ọ ủ ở ữ ớ ỷ
b h u h t các d án- lúc đó đã quá l i th i . Tuy nhiên PIC đ c b sung EEPROM đ t oỏ ầ ế ự ỗ ờ ượ ổ ể ạ
thành 1 b đi u khi n vào ra l p trình.ộ ề ể ậ
Ngày nay r t nhi u dòng PIC đ c xu t x ng v i hàng lo t các module ngo i vi tích h pấ ề ượ ấ ưở ớ ạ ạ ợ
s n ( nh USART, PWM, ADC…) v i b nh ch ng trình t 521 Word đ n 32K Word.ẵ ư ớ ộ ớ ươ ừ ế
2. Một số đặc tính của vi điều khiển PIC
Hi n nay có khá nhi u dòng PIC và có r t nhi u khác bi t v ph n c ng nh ng chúng ta cóệ ề ấ ề ệ ề ầ ứ ư
th đi m qua m t vài nét nh sau:ể ể ộ ư
•Là CPU 8/16 bit, xây d ng theo ki n trúc Harvard có s a đ i.ự ế ử ổ
•Có b nh Flash và ROM có th tuỳ ch n t 256 byte đ n 256Kbyteộ ớ ể ọ ừ ế
•Có các c ng xu t nh p (I/O ports)ổ ấ ậ
•Có timer 8/16 bit.
•Có các chu n giao ti p n i ti p đ ng b / không đ ng b USARTẩ ế ố ế ồ ộ ồ ộ
•Có các b chuy n đ i ADC 10/12 bit.ộ ể ổ
•Có các b so sánh đi n áp (Voltage Comparators).ộ ệ
•Có các kh i Capture/Compare/PWM.ố
•Có h tr giao ti p LCD.ỗ ợ ế
•Có MSSP Peripheral dung cho các giao ti p Iế2C, SPI, và I2S.
•Có b nh n i EEPROM- có th ghi/xoá lêm t i 1tri u l nộ ớ ộ ể ớ ệ ầ
•Có kh i đi u khi n đ ng c , đ c Encoder.ố ề ể ộ ơ ọ
•Có h tr giao ti p USB.ỗ ợ ế
•Có h tr đi u khi n Ethernet.ỗ ợ ề ể
•Có h tr giao ti p CAN.ỗ ợ ế
Đ c đi m th c thi t c đ cao CPU RISC c a h vi đi u khi n PIC16F7XA là :ặ ể ự ố ộ ủ ọ ề ể
•Ch g m 35 l nh đ n .ỉ ồ ệ ơ
•T t c các l nh là 1 chu kì ngo i tr ch ng trình con là 2 chu kì.ấ ả ệ ạ ừ ươ
•T c đ ho t đ ng :ố ộ ạ ộ
*DC-20MHz ngõ vào xung clock.
*DC-200ms chu kì l nh.ệ
•Dung l ng c a b nh ch ng trình Flash là 8Kx14Words.ượ ủ ộ ớ ươ
GVHD:Th.s Lê Trí Quang Page 1SVTH: Nguy n Huy Côngễ

Tru ng ờDHSPKT H ng Yênư
Khoa : C Khí Đ ng L cơ ộ ự Đ Án C Đi nồ ơ ệ
•Dung l ng c a b nh d li u RAM là 386x8bytes.ượ ủ ộ ớ ữ ệ
•Dung l ng c a b nh d li u EEPROM là 256x8bytes.ượ ủ ộ ớ ữ ệ
a. Các đ c tính ngo i vi.ặ ạ
•Timer0: Là b nh đ nh th i timer/counter 8 bit có b chia tr c.ộ ớ ị ờ ộ ướ
•Timer1: Là b nh đ nh th i timer/counter 16bit có b chia tr c,có th đ m khi CPUộ ớ ị ờ ộ ướ ể ế
đang ch đ ng v i ngu n xung t t th ch anh ho c ngu n xung bên ngoài.ở ế ộ ủ ớ ồ ừ ụ ạ ặ ồ
•Timer2: b đ nh th i timer/counter 8 bit, chia tr c và postscaler.ộ ị ờ ướ
•Hai kh i Capture, Compare, PWM.ố
Capture có đ r ng 16 bit, đ phân gi i 12.5nsộ ộ ộ ả
Compare có đ r ng 16-bit, đ phân gi i 200nsộ ộ ộ ả
Đ phân gi i l n nh t c a PWM là 10-bitộ ả ớ ấ ủ
b. Các đ c tính v t ng tặ ề ươ ự
•Có 8 kênh chuy n đ i tín hi u t ng t thành tín hi u s ADC 10-bit.ể ổ ệ ươ ự ệ ố
•Có reset BOR (Brown-Out Reset).
•Kh i so sánh đi n áp t ng t :ố ệ ươ ự
Hai b so sánh t ng t .ộ ươ ự
Kh i t o đi n áp chu n Vố ạ ệ ẩ REF tích h p bên trong có th l p trình.ợ ể ậ
Đa h p ngõ vào l p trình t ngõ vào c a CPU v i đi n áp chu n bên trong.ợ ậ ừ ủ ớ ệ ẩ
Các ngõ ra c a b so sánh có th truy xu t bên ngoài.ủ ộ ể ấ
C. Các đ c tính đ c bi t c a vi đi u khi n:ặ ặ ệ ủ ề ể
•B nh ch ng trình Enhanced Flash cho phép xoá và nghi 100000 l n.ộ ớ ươ ầ
•B nh d li u EEPROM cho phép xoá và nghi 1000000 l n.ộ ớ ữ ệ ầ
•B nh EEPROM có th l u gi li u h n 40 năm và có th t l p trình l i du i sộ ớ ể ư ữ ệ ơ ể ự ậ ạ ớ ự
đi u khi n c a ph n m m.ề ể ủ ầ ề
•M ch l p trình n i ti p ICSP thong qua 2 chân (In-Circuit Serial Programming).ạ ậ ố ế
•Ngu i s d ng là ngu n đ n 5v c p cho m ch l p trình n i ti p.ồ ử ụ ồ ơ ấ ạ ậ ố ế
•Có Watchdog Timer (WDT) v i b dao đông RC tích h p s n trên Chip.ớ ộ ợ ẵ
•Có th l p trình b o m t.ể ậ ả ậ
•Có th ho t đ ng ch đ Sleep đ ti t ki m năng l ng.ể ạ ộ ở ế ộ ể ế ệ ượ
•Có th l a ch n b dao đ ng.ể ự ọ ộ ộ
•Có m ch đi n g r i ICD (In-Circuit Debug) thong qua 2 chân.ạ ệ ỡ ố
D. Công ngh CMOS:ệ
Công ngh CMOS có các đ c tính : Công su t th p, công ngh b nh Flash/ EEPROMệ ặ ấ ấ ệ ộ ớ
t c đ cao. Đi n áp ho t đ ng t 2V đ n 5.5V và tiêu t n năng l ng th p. Phù h p v i nhi tố ộ ệ ạ ộ ừ ế ố ượ ấ ợ ớ ệ
đ làm vi c trong công nghi p và trong th ng m i.ộ ệ ệ ươ ạ
B ng 2-1 trình bày tóm t t c u trúc c a 4 lo i PIC 16F87Xả ắ ấ ủ ạ
Device
Program
Memory
Data
SRAM
(Byte)
I/O 10-Bit
A/D(ch)
CCP
(PWM)
MSSP
USART
Timers
8/16- bit Comparators
Byte #Single Words
Instructions
SPI Master
I2C
GVHD:Th.s Lê Trí Quang Page 2SVTH: Nguy n Huy Côngễ

Tru ng ờDHSPKT H ng Yênư
Khoa : C Khí Đ ng L cơ ộ ự Đ Án C Đi nồ ơ ệ
PIC16F873A 7.2K 4096 192 22 5 2 Yes Yes Yes 2/1 2
PIC16F874A 7.2K 4096 192 33 8 2 Yes Yes Yes 2/1 2
PIC16F876A 14.3K 8192 368 22 5 2 Yes Yes Yes 2/1 2
PIC16F877A 14.3K 8192 368 33 8 2 Yes Yes Yes 2/1 2
B ng 1. Các vi đi u khi n h PIC16F87X.ả ề ể ọ
Hình 2-1 Trình bày s đ chân c a các lo i PIC16Fơ ồ ủ ạ
Hình 1. S đ chân h PIC16F87XA.ơ ồ ọ
III. VI ĐI U KHI N PIC 16F877AỀ Ể
1.T ng quát v PIC16F877A.ổ ề
a. Gi i thi u:ớ ệ
PIC16F877A có 40/44 chân v i c u trúc nh sau:ớ ấ ư
•Có 5 port xu t nh p.ấ ậ
•Có 8 kênh chuy n đ i A/D.ể ổ
•Đ c b xung các port t song song.ượ ổ ử
•Có b nh gap n i so v i PIC16F873A/PIC16G874A.ộ ớ ố ớ
Đ c đi mặ ể PIC16F877A
T n s ho t đ ngầ ố ạ ộ DC-20MHz
Reset (và Delay) POR,BOR (PWRT,OST)
GVHD:Th.s Lê Trí Quang Page 3SVTH: Nguy n Huy Côngễ

Tru ng ờDHSPKT H ng Yênư
Khoa : C Khí Đ ng L cơ ộ ự Đ Án C Đi nồ ơ ệ
B nh ch ng trình Flash (14-bit Word)ộ ớ ươ 8K
B nh d li u (Byte)ộ ớ ữ ệ 368
B nh d li u EEPROM( byte)ộ ớ ữ ệ 256
Các ngu n ng tồ ắ 15
Các port xu t nh pấ ậ Các Port A,B,C,D,E
Timer 3
Các module capture/compare/ PWM 2
Giao ti p n i ti pế ố ế MSSP,USART
Giao ti p song songếPSP
Module A/D 10 bit 8 kênh ngõ vào
B so sánh t ng tộ ươ ự 2
T p l nhậ ệ 35 l nhệ
S chânố40 chân PDIP
44 chân PLCC
44 chân TQFP
44 chân QFN
•B ng 2-2 s tóm t t đ c đi m PIC16F877A:ả ẽ ắ ặ ể
B ng 2. Tóm t t đ c đi m PIC16F877Aả ắ ặ ể
c. S đ kh iơ ồ ố :
Hình 2-2 trình bày s đ kh i c a PIC16F877A, s đ kh i c a chân PIC g m các kh i:ơ ồ ố ủ ơ ồ ố ủ ồ ố
•Kh i ALU- Arithmetic Logic Unit.ố
•Kh i b nh ch a tr ng trình- Flash Program Memory.ố ộ ớ ứ ươ
•Kh i b nh ch a d li u EEPROM- Data EEPROMố ộ ớ ứ ữ ệ
•Kh i b nh file thanh ghi RAM- RAM file register.ố ộ ớ
•Kh i gi i mã l nh và đi u khi n- Instruction Decode Controlố ả ệ ề ể
•Kh i thanh ghi đ c bi t.ố ặ ệ
•Kh i ngo i vi timerố ạ
•Kh i giao ti p n i ti p.ố ế ố ế
•Kh i chuy n đ i tín hi u t ng t sang s - ADC.ố ể ổ ệ ươ ự ố
•Kh i các port xu t nh p.ố ấ ậ
d. S đ chân và ch c năng các chân.ơ ồ ứ
S đ chân c a PIC g m nhi u lo i nh ng đây kh o sát lo i PIC 40 chân nh hình 2.3ơ ồ ủ ồ ề ạ ư ở ả ạ ư
GVHD:Th.s Lê Trí Quang Page 4SVTH: Nguy n Huy Côngễ

Tru ng ờDHSPKT H ng Yênư
Khoa : C Khí Đ ng L cơ ộ ự Đ Án C Đi nồ ơ ệ
Hình 2. S đ kh i PIC16F87XAơ ồ ố
Ch c năng c a các chân nh sau:ứ ủ ư
GVHD:Th.s Lê Trí Quang Page 5SVTH: Nguy n Huy Côngễ

