Luận văn Nghiên cứu về vi điều khiển PIC 16F877A và một số ứng dụng - Pdf 13

B CÔNG TH NGỘ ƯƠ
TR NG Đ I H C CÔNG NGHI P HÀ N IƯỜ Ạ Ọ Ệ Ộ
KHOA ĐI N TỆ Ử
LU N VĂN T T NGHI PẬ Ố Ệ
Đ tàiề : Nghiên c u v vi đi u khi n PIC 16F877Aứ ề ề ể
và m t s ng d ng.ộ ố ứ ụ
C th : Nghiên c u và thi t k b KIT PICụ ể ứ ế ế ộ
16F877A
GV h ng d n : ướ ẫ
SV th c hi nự ệ :
L p : Đi n T 1 K2ớ ệ ử
Khoa : Đi n Tệ ử
Tr ng : Đ i h c Công Nghi p Hà N i ườ ạ ọ ệ ộ
LU N VĂN T T NGHI PẬ Ố Ệ

SV: TR N XUÂN CHI N L P: ĐI N T 1Ầ Ế Ớ Ệ Ử
K2
2
LU N VĂN T T NGHI PẬ Ố Ệ
B CÔNG TH NG Ộ ƯƠ C NG HOÀ XÃ H I CH NGHĨA VI T NAMỘ Ộ Ủ Ệ
TR NG ĐH CÔNG NGHI P HÀ N IƯỜ Ệ Ộ Đ c l p - T do - H nh phúcộ ậ ự ạ
TH C T P T T NGHI P Đ I H CỰ Ậ Ố Ệ Ạ Ọ
H và tên h c sinh : TR N XUÂN CHI Nọ ọ Ầ Ế
L p : ĐI N T 1 K2ớ Ệ Ử
Khoá : 2…… Khoa, Trung tâm : ĐI N TỆ Ử
Tên đ tài: Nghiên c u v vi đi u khi n PIC 16F877A và m t s ng d ng.ề ứ ề ề ể ộ ố ứ ụ
C th : Nghiên c u và thi t k b KIT PIC 16F877Aụ ể ứ ế ế ộ
Giáo viên h ng d n : PH M TH QUỲNH TRANGướ ẫ Ạ Ị
N I DUNG YÊU C UỘ Ầ
TT N i dungộ
1 T ng quan v vi đi u khi nổ ề ề ể


SV: TR N XUÂN CHI N L P: ĐI N T 1Ầ Ế Ớ Ệ Ử
K2
4
LU N VĂN T T NGHI PẬ Ố Ệ

M C L CỤ Ụ
L I M Đ UỜ Ở Ầ
Ngày nay k thu t vi đi u khi n đã tr nên quen thu c trong các ngành kỹ ậ ề ể ở ộ ỹ
thu t và trong dân d ng. Các b vi đi u khi n có kh năng x lý nhi u ho t đ ngậ ụ ộ ề ể ả ử ề ạ ộ
ph c t p mà ch c n m t chip vi m ch nh , nó đã thay th các t đi u khi n l nứ ạ ỉ ầ ộ ạ ỏ ế ủ ề ể ớ
và ph c t p b ng nh ng m ch đi n g n nh , d dàng thao tác s d ng.ứ ạ ằ ữ ạ ệ ọ ẹ ễ ử ụ
Vi đi u khi n không nh ng góp ph n vào k thu t đi u khi n mà còn gópề ể ữ ầ ỹ ậ ề ể
ph n to l n vào vi c phát tri n thông tin. Chính vì các lý do trên, vi c tìm hi u,ầ ớ ệ ể ệ ể
kh o sát vi đi u khi n là đi u mà các sinh viên ngành đi n mà đ c bi t là chuyênả ề ể ề ệ ặ ệ
ngành k thu t đi n-đi n t ph i h t s c quan tâm. Đó chính là m t nhu c u c nỹ ậ ệ ệ ử ả ế ứ ộ ầ ầ
thi t và c p bách đ i v i m i sinh viên, đ tài này đ c th c hi n chính là đápế ấ ố ớ ỗ ề ượ ự ệ
ng nhu c u đó.ứ ầ
Các b đi u khi n s d ng vi đi u khi n tuy đ n gi n nh ng đ v n hành vàộ ề ể ử ụ ề ể ơ ả ư ể ậ
s d ng đ c l i là m t đi u r t ph c t p. Ph n công vi c x lý chính v n phử ụ ươ ạ ộ ề ấ ứ ạ ầ ệ ử ẫ ụ
thu c vào con ng i, đó chính là ch ng trình hay ph n m m. N u không có sộ ườ ươ ầ ề ế ự

hi u qu đ i v i các bài toán và h th ng l n.Tuy nhiên đ i v i các ng d ngệ ả ố ớ ệ ố ớ ố ớ ứ ụ
nh , t m tính toán không đòi h i kh năng tính toán l n thì vi c ng d ng vi x lýỏ ầ ỏ ả ớ ệ ứ ụ ử
c n cân nh c. B i vì h th ng dù l n hay nh , n u dùng vi x lý thì cũng đòi h iầ ắ ở ệ ố ớ ỏ ế ử ỏ
các kh i m ch đi n giao ti p ph c t p nh nhau. Các kh i này bao g m b nhố ạ ệ ế ứ ạ ư ố ồ ộ ớ
đ ch a d li u và ch ng trình th c hi n, các m ch đi n giao ti p ngo i vi để ứ ữ ệ ươ ự ệ ạ ệ ế ạ ể
xu t nh p và đi u khi n tr l i, các kh i này cùng liên k t v i vi x lý thì m iấ ậ ề ể ở ạ ố ế ớ ử ớ
th c hi n đ c công vi c. Đ k t n i các kh i này đòi h i ng i thi t k ph iự ệ ượ ệ ể ế ố ố ỏ ườ ế ế ả
hi u bi t tinh t ng v các thành ph n vi x lý, b nh , các thi t b ngo i vi. Hể ế ườ ề ầ ử ộ ớ ế ị ạ ệ
th ng đ c t o ra khá ph c t p, chi m nhi u không gian, m ch in ph c t p vàố ượ ạ ứ ạ ế ề ạ ứ ạ
v n đ chính là trình đ ng i thi t k . K t qu là giá thành s n ph m cu i cùngấ ề ộ ườ ế ế ế ả ả ẩ ố
r t cao, không phù h p đ áp d ng cho các h th ng nh .ấ ợ ể ụ ệ ố ỏ
Vì m t s nh c đi m trên nên các nhà ch t o tích h p m t ít b nh và m tộ ố ượ ể ế ạ ợ ộ ộ ớ ộ
s m ch giao ti p ngo i vi cùng v i vi x lý vào m t IC duy nh t đ c g i làố ạ ế ạ ớ ử ộ ấ ượ ọ
Microcontroller- Vi đi u khi n.ề ể
M t s đ c đi m khác nhau gi a vi x lí và VĐK:ộ ố ặ ể ữ ử
- V ph n c ng: VXL c n đ c ghép thêm các thi t b ngo i vi bên ngoài nhề ầ ứ ầ ượ ế ị ạ ư
b nh , và các thi t b ngo i vi khác, … đ có th t o thành m t b n m chộ ớ ế ị ạ ể ể ạ ộ ả ạ
hoàn ch nh. Đ i v i VĐK thì b n thân nó đã là m t h máy tính hoàn ch nh v iỉ ố ớ ả ộ ệ ỉ ớ
CPU, b nh , các m ch giao ti p, các b đ nh th i và m ch đi u khi n ng tộ ớ ạ ế ộ ị ờ ạ ề ể ắ
đ c tích h p bên trong m ch. ượ ợ ạ
- V các đ c tr ng c a t p l nh: Do ng d ng khác nhau nên các b VXL vàề ặ ư ủ ậ ệ ứ ụ ộ
VĐK cũng có nh ng yêu c u khác nhau đ i v i t p l nh c a chúng. T p l nhữ ầ ố ớ ậ ệ ủ ậ ệ
c a các VXL th ng m nh v các ki u đ nh đ a ch v i các l nh cung c p cácủ ườ ạ ề ể ị ị ỉ ớ ệ ấ
ho t đ ng trên các l ng d li u l n nh 1byte, ½ byte, word, doubleạ ộ ượ ữ ệ ớ ư
word, các b VĐK, các t p l nh r t m nh trong vi c x lý các kiêu d li uỞ ộ ậ ệ ấ ạ ệ ử ữ ệ
SV: TR N XUÂN CHI N L P: ĐI N T 1Ầ Ế Ớ Ệ Ử
K2
7
LU N VĂN T T NGHI PẬ Ố Ệ
nh nh bit ho c m t vài bit.ỏ ư ặ ộ

K2
8
LU N VĂN T T NGHI PẬ Ố Ệ
1.1.3 C U TRÚC T NG QUAN C A VDKẤ Ổ Ủ
 CPU:
Là trái tim c a h th ng. Là n i qu n lí t t c các ho t đ ng c a VĐK. Bênủ ệ ố ơ ả ấ ả ạ ộ ủ
trong CPU g m: ồ
- ALU là b ph n thao tác trên các d li uộ ậ ữ ệ
- B gi i mã l nh và đi u khi n, xác đ nh các thao tác mà CPU c n th cộ ả ệ ề ể ị ầ ự
hi nệ
- Thanh ghi l nh IR, l u gi opcode c a l nh đ c th c thiệ ư ữ ủ ệ ượ ự
- Thanh ghi PC, l u giũ đ a ch c a l nh k ti p c n th c thiư ị ỉ ủ ệ ế ế ầ ự
- M t t p các thanh ghi dùng đ l u thông tin t m th iộ ậ ể ư ạ ờ
 2. ROM:
ROM là b nh dùng đ l u gi ch ng trình. ROM còn dùng đ ch a s li uộ ớ ể ư ữ ươ ể ứ ố ệ
các b ng, các tham s h th ng, các s li u c đ nh c a h th ng. Trong quáả ố ệ ố ố ệ ố ị ủ ệ ố
trình ho t đ ng n i dung ROM là c đ nh, không th thay đ i, n i dung ROM ạ ộ ộ ố ị ể ổ ộ
ch thay đ i khi ROM ch đ xóa ho c n p ch ng trình.ỉ ổ ở ế ộ ặ ạ ươ
 RAM:
RAM là b nh d li u. B nh RAM dùng làm môi tr ng x lý thông tin,ọ ớ ữ ệ ộ ớ ườ ử
l u tr các k t qu trung gian và k t qu cu i cùng c a các phép toán, x líư ữ ế ả ế ả ố ủ ử
thông tin. Nó cũng dùng đ t ch c các vùng đ m d li u, trong các thao tácể ổ ứ ệ ữ ệ
thu phát, chuy n đ i d li u.ể ổ ữ ệ
 BUS:
BUS là các đ ng d n dùng đ di chuy n d li u. Bao g m: bus đ a ch , busườ ẫ ể ể ữ ệ ồ ị ỉ
d li u , và bus đi u khi n ữ ệ ề ể
 B Đ NH TH I:Ộ Ị Ờ Đ c s d ng cho các m c đích chung v th i gian.ượ ử ụ ụ ề ờ
 WATCHDOG: B ph n dùng đ reset l i h th ng khi h th ng g p “b tộ ậ ể ạ ệ ố ệ ố ặ ấ
th ng”. ườ
 ADC: B ph n chuy n tín hi u analog sang tín hi u digital. Các tín hi uộ ậ ể ệ ệ ệ

LU N VĂN T T NGHI PẬ Ố Ệ
hai b nh riêng bi t. Do đó trong cùng m t th i đi m CPU có th t ng tác v iộ ớ ệ ộ ờ ể ể ươ ớ
c hai b nh , nh v y t c đ x lí c a vi đi u khi n đ c c i thi n đáng k .ả ộ ớ ư ậ ố ộ ử ủ ề ể ượ ả ệ ể
M t đi m c n chú ý n a là t p l nh trong ki n trúc Havard có th đ c t i uộ ể ầ ữ ậ ệ ế ể ượ ố ư
tùy theo yêu c u ki n trúc c a vi đi u khi n mà không ph thu c vào c u trúc dầ ế ủ ề ể ụ ộ ấ ữ
li u. Ví d , đ i v i vi đi u khi n dòng 16F, đ dài l nh luôn là 14 bit (trong khi dệ ụ ố ớ ề ể ộ ệ ữ
li u đ c t ch c thành t ng byte), còn đ i v i ki n trúc Von-Neuman, đ dàiệ ượ ổ ứ ừ ố ớ ế ộ
l nh luôn là b i s c a 1 byte (do d li u đ c t ch c thành t ng byte). Đ cệ ộ ố ủ ữ ệ ượ ổ ứ ừ ặ
đi m này đ c minh h a c th trong hình 1.1. ể ượ ọ ụ ể
1.2.3 RISC VÀ CISC
Nh đã trình bày trên, ki n trúc Havard là khái ni m m i h n so v i ki n trúcư ở ế ệ ớ ơ ớ ế
Von-Neuman. Khái ni m này đ c hình thành nh m c i ti n t c đ th c thi c aệ ượ ằ ả ế ố ộ ự ủ
m t vi đi u khi n. ộ ề ể
Qua vi c tách r i b nh ch ng trình và b nh d li u, bus ch ng trình vàệ ờ ộ ớ ươ ộ ớ ữ ệ ươ
bus d li u, CPU có th cùng m t lúc truy xu t c b nh ch ng trình và b nhữ ệ ể ộ ấ ả ộ ớ ươ ộ ớ
d li u, giúp tăng t c đ x lí c a vi đi u khi n lên g p đôi. Đ ng th i c u trúcữ ệ ố ộ ử ủ ề ể ấ ồ ờ ấ
l nh không còn ph thu c vào c u trúc d li u n a mà có th linh đ ng đi u ch nhệ ụ ộ ấ ữ ệ ữ ể ộ ề ỉ
tùy theo kh năng và t c đ c a t ng vi đi u khi n. Và đ ti p t c c i ti n t c đả ố ộ ủ ừ ề ể ể ế ụ ả ế ố ộ
th c thi l nh, t p l nh c a h vi đi u khi n PIC đ c thi t k sao cho chi u dàiự ệ ậ ệ ủ ọ ề ể ượ ế ế ề
mã l nh luôn c đ nh (ví d đ i v i h 16Fxxxx chi u dài mã l nh luôn là 14 bit)ệ ố ị ụ ố ớ ọ ề ệ
và cho phép th c thi l nh trong m t chu kì c a xung clock ( ngo i tr m t sự ệ ộ ủ ạ ừ ộ ố
tr ng h p đ c bi t nh l nh nh y, l nh g i ch ng trình con … c n hai chu kìườ ợ ặ ệ ư ệ ả ệ ọ ươ ầ
xung đ ng h ). Đi u này có nghĩa t p l nh c a vi đi u khi n thu c c u trúcồ ồ ề ậ ệ ủ ề ể ộ ấ
Havard s ít l nh h n, ng n h n, đ n gi n h n đ đáp ng yêu c u mã hóa l nhẽ ệ ơ ắ ơ ơ ả ơ ể ứ ầ ệ
b ng m t s l ng bit nh t đ nh.ằ ộ ố ượ ấ ị
Vi đi u khi n đ c t ch c theo ki n trúc Havard còn đ c g i là vi đi uề ể ượ ổ ứ ế ượ ọ ề
khi n RISC (Reduced Instruction Set Computer) hay vi đi u khi n có t p l nh rútể ề ể ậ ệ
g n. Vi đi u khi n đ c thi t k theo ki n trúc Von-Neuman còn đ c g i là viọ ề ể ượ ế ế ế ượ ọ
đi u khi n CISC (Complex Instruction Set Computer) hay vi đi u khi n có t pề ể ề ể ậ
l nh ph c t p vì mã l nh c a nó không ph i là m t s c đ nh mà luôn là b i sệ ứ ạ ệ ủ ả ộ ố ố ị ộ ố

12
LU N VĂN T T NGHI PẬ Ố Ệ
- TCY5: th c thi l nh đ u tiên c a SUB_1 và đ c l nh ti p theo c a SUB_1.ự ệ ầ ủ ọ ệ ế ủ
Quá trình này đ c th c hi n t ng t cho các l nh ti p theo c a ch ng trình.ượ ự ệ ươ ự ệ ế ủ ươ
Thông th ng, đ th c thi m t l nh, ta c n m t chu kì l nh đ g i l nh đó, vàườ ể ự ộ ệ ầ ộ ệ ể ọ ệ
m t chu kì xung clock n a đ gi i mã và th c thi l nh. V i c ch pipeliningộ ữ ể ả ự ệ ớ ơ ế
đ c trình bày trên, m i l nh xem nh ch đ c th c thi trong m t chu kì l nh.ượ ở ỗ ệ ư ỉ ượ ự ộ ệ
Đ i v i các l nh mà quá trình th c thi nó làm thay đ i giá tr thanh ghi PCố ớ ệ ự ổ ị
(Program Counter) c n hai chu kì l nh đ th c thi vì ph i th c hi n vi c g i l nhầ ệ ể ự ả ự ệ ệ ọ ệ
đ a ch thanh ghi PC ch t i. Sau khi đã xác đ nh đúng v trí l nh trong thanh ghiở ị ỉ ỉ ớ ị ị ệ
PC, m i l nh ch c n m t chu kì l nh đ th c thi xong.ỗ ệ ỉ ầ ộ ệ ể ự
1.2.5 CÁC DÒNG PIC VÀ CÁCH L A CH N VI ĐI U KHI N PICỰ Ọ Ề Ể
Các kí hi u c a vi đi u khi n PIC:ệ ủ ề ể
- PIC12xxxx: đ dài l nh 12 bitộ ệ
- PIC16xxxx: đ dài l nh 14 bitộ ệ
- PIC18xxxx: đ dài l nh 16 bitộ ệ
C: PIC có b nh EPROM (ch có 16C84 là EEPROM)ộ ớ ỉ
F: PIC có b nh flashộ ớ
LF: PIC có b nh flash ho t đ ng đi n áp th p ộ ớ ạ ộ ở ệ ấ
LV: t ng t nh LF, đây là kí hi u cũươ ự ư ệ
Bên c nh đó m t s vi đi u khi n có kí hi u xxFxxx là EEPROM, n u có thêmạ ộ ố ệ ể ệ ế
ch A cu i là flash (ví d PIC16F877 là EEPROM, còn PIC16F877A là flash).ữ ở ố ụ
Ngoài ra còn có thêm m t dòng vi đi u khi n PIC m i là dsPIC.ộ ề ể ớ
Vi t Nam ph bi n nh t là các h vi đi u khi n PIC do hãng Microchip s nỞ ệ ổ ế ấ ọ ề ể ả
xu t.ấ
Cách l a ch n m t vi đi u khi n PIC phù h p:ự ọ ộ ề ể ợ
- Tr c h t c n chú ý đ n s chân c a vi đi u khi n c n thi t cho ngướ ế ầ ế ố ủ ề ể ầ ế ứ
d ng. Có nhi u vi đi u khi n PIC v i s l ng chân khác nhau, th m chíụ ề ề ể ớ ố ượ ậ
có vi đi u khi n ch có 8 chân, ngoài ra còn có các vi đi u khi n 28, 40, 44,ề ể ỉ ề ể
… chân.

n p ch ng trình này.ạ ươ
- WARP-13A và MCP-USB: hai m ch n p này gi ng v i m ch n p PICSTARTạ ạ ố ớ ạ ạ
PLUS do nhà s n xu t Microchip cung c p, t ng thích v i trình biên d chả ấ ấ ươ ớ ị
MPLAB, nghĩa là ta có th tr c ti p dùng ch ng trình MPLAB đ n p cho viể ự ế ươ ể ạ
đi u khi n PIC mà không c n s d ng m t ch ng trình n p khác, ch ng h nề ể ầ ử ụ ộ ươ ạ ẳ ạ
SV: TR N XUÂN CHI N L P: ĐI N T 1Ầ Ế Ớ Ệ Ử
K2
14
LU N VĂN T T NGHI PẬ Ố Ệ
nh ICprog.ư
- P16PRO40: m ch n p này do Nigel thi t k và cũng khá n i ti ng. Ông cònạ ạ ế ế ổ ế
thi t k c ch ng trình n p, tuy nhiên ta cũng có th s d ng ch ng trìnhế ế ả ươ ạ ể ử ụ ươ
n p Icprog.ạ
- M ch n p Universal c a Williem: đây không ph i là m ch n p chuyên d ngạ ạ ủ ả ạ ạ ụ
dành cho PIC nh P16PRO40.ư
Các m ch n p k trên có u đi m r t l n là đ n gi n, r ti n, hoàn toàn cóạ ạ ể ư ể ấ ớ ơ ả ẻ ề
th t l p ráp m t cách d dàng, và m i thông tin v s đ m ch n p, cách thi tể ự ắ ộ ễ ọ ề ơ ồ ạ ạ ế
k , thi công, ki m tra và ch ng trình n p đ u d dàng tìm đ c và downloadế ể ươ ạ ề ễ ượ
mi n phí thông qua m ng Internet. Tuy nhiên các m ch n p trên có nh c đi m làễ ạ ạ ạ ượ ể
h n ch v s vi đi u khi n đ c h tr , bên c nh đó m i m ch n p c n đ cạ ế ề ố ề ể ượ ỗ ợ ạ ỗ ạ ạ ầ ượ
s d ng v i m t ch ng trình n p thích h p.ử ụ ớ ộ ươ ạ ợ
CH NG 2: VI ĐI U KHI N PIC16F877AƯƠ Ề Ể
2.1 GI I THI U CHUNGỚ Ệ
2.1.1 CÁC D NG S Đ CHÂNẠ Ơ Ồ
SV: TR N XUÂN CHI N L P: ĐI N T 1Ầ Ế Ớ Ệ Ử
K2
15
LU N VĂN T T NGHI PẬ Ố Ệ
Hình 2.1 Vi đi u khi n PIC16F877A/PIC16F874A và các d ng s đ chânề ể ạ ơ ồ
2.1.2 S Đ KH I VI ĐI U KHI N PIC16F877AƠ Ồ Ố Ề Ể

18
LU N VĂN T T NGHI PẬ Ố Ệ
- Vpp: ngõ vào nh n đi n áp l p trình khi l p trình cho PIC.ậ ệ ậ ậ
• Chân RA0/AN0(2), RA1/AN1(3), RA2/AN2(3): có 2 ch c năng ứ
- RA0,1,2: xu t/ nh p s .ấ ậ ố
- AN 0,1,2: ngõ vào t ng t c a kênh th 0,1,2.ươ ự ủ ứ
• Chân RA2/AN2/VREF-/CVREF+(4): xu t nh p s / ngõ vào t ng t c aấ ậ ố ươ ự ủ
kênh th 2/ nhõ vào đi n áp chu n th p c a b AD/ ngõ vào đi n áp ch nứ ệ ẩ ấ ủ ộ ệ ẩ
cao c a b AD. ủ ộ
• Chân RA3/AN3/VREF+(5): xu t nh p s / ngõ vào t ng t kênh 3/ ngõ vàoấ ậ ố ươ ự
đi n áp chu n (cao) c a b AD.ệ ẩ ủ ộ
• Chân RA4/TOCK1/C1OUT(6): xu t nh p s / ngõ vào xung clock bên ngoàiấ ậ ố
cho Timer 0/ ngõ ra b so sánh 1.ộ
• Chân RA5/AN4/ / C2OUT(7): xu t nh p s / ngõ vào t ng t kênh 4/ấ ậ ố ươ ự
ngõ vào ch n l a SPI ph / ngõ ra b so sánh 2.ọ ự ụ ộ
• Chân RB0/INT (33): xu t nh p s / ngõ vào tín hi u ng t ngoài.ấ ậ ố ệ ắ
• Chân RB1(34), RB2(35): xu t nh p s .ấ ậ ố
• Chân RB3/PGM(36): xu t nh p s / cho phép l p trình đi n áp th p ICSP.ấ ậ ố ậ ệ ấ
• Chân RB4(37), RB5(38): xu t nh p s .ấ ậ ố
• Chân RB6/PGC(39): xu t nh p s / m ch g r i và xung clock l p trìnhấ ấ ố ạ ỡ ố ậ
ICSP.
• Chân RB7/PGD(40): xu t nh p s / m ch g r i và d li u l p trình ICSP.ấ ậ ố ạ ỡ ố ữ ệ ậ
• Chân RC0/T1OCO/T1CKI(15): xu t nh p s / ngõ vào b giao đ ng Timer1/ấ ậ ố ộ ộ
ngõ vào xung clock bên ngoài Timer 1.
• Chân RC1/T1OSI/CCP2(16) : xu t nh p s / ngõ vào b dao đ ng Timer 1/ấ ậ ố ộ ộ
ngõ vào Capture2, ngõ ra compare2, ngõ ra PWM2.
• Chân RC2/CCP1(17): xu t nh p s / ngõ vào Capture1 ,ngõ ra compare1, ngõấ ậ ố
ra PWM1.
• Chân RC3/SCK/SCL(18): xu t nh p s / ngõ vào xung clock n i ti p đ ngấ ậ ố ố ế ồ
b , ngõ ra ch đ SPI./ ngõ vào xung clock n i ti p đ ng b , ngõ ra c aộ ế ộ ố ế ồ ộ ủ

- Timer2: b đ m 8 bit v i b chia t n s , b postcaler.ộ ế ớ ộ ầ ố ộ
- Hai b Capture/so sánh/đi u ch đ rông xung.ộ ề ế ộ
- Các chu n giao ti p n i ti p SSP (Synchronous Serial Port), SPI và I2C.ẩ ế ố ế
- Chu n giao ti p n i ti p USART v i 9 bit đ a ch .ẩ ế ố ế ớ ị ỉ
- C ng giao ti p song song PSP (Parallel Slave Port) v i các chân đi uổ ế ớ ề
khi n RD, WR,ể
SV: TR N XUÂN CHI N L P: ĐI N T 1Ầ Ế Ớ Ệ Ử
K2
20
LU N VĂN T T NGHI PẬ Ố Ệ
 Bên c nh đó là m t vài đ c tính khác c a vi đi u khi n nh :ạ ộ ặ ủ ề ể ư
- B nh flash v i kh năng ghi xóa đ c 100.000 l n.ộ ớ ớ ả ượ ầ
- B nh EEPROM v i kh năng ghi xóa đ c 1.000.000 l n.ộ ớ ớ ả ượ ầ
- D li u b nh EEPROM có th l u tr trên 40 năm.ữ ệ ộ ớ ể ư ữ
- Kh năng t n p ch ng trình v i s đi u khi n c a ph n m m.ả ự ạ ươ ớ ự ề ể ủ ầ ề
- N p đ c ch ng trình ngay trên m ch đi n ICSP (In Circuit Serialạ ượ ươ ạ ệ
Programming) thông qua 2 chân.
- Watchdog Timer v i b dao đ ng trong.ớ ộ ộ
- Ch c năng b o m t mã ch ng trình.ứ ả ậ ươ
- Ch đ Sleep.ế ộ
- Có th ho t đ ng v i nhi u d ng Oscillator khác nhau.ể ạ ộ ớ ề ạ
SV: TR N XUÂN CHI N L P: ĐI N T 1Ầ Ế Ớ Ệ Ử
K2
21
LU N VĂN T T NGHI PẬ Ố Ệ
B ng 2.3: Tóm t t đ c đi m c a VDK PIC 16F877Aả ắ ặ ể ủ
2.2 T CH C B NHỔ Ứ Ộ Ớ
C u trúc b nh c a vi đi u khi n PIC16F877A bao g m b nh ch ng trìnấ ộ ớ ủ ề ể ồ ộ ớ ươ
(Program memory) và b nh d li u (Data Memory). ộ ớ ữ ệ
2.2.1 B NH CH NG TRÌNHỘ Ớ ƯƠ

SFR th ng xuyên đ c s d ng (ví d nh thanh ghi STATUS) s đ c đ t ườ ượ ử ụ ụ ư ẽ ượ ặ ở
t t cà các bank c a b nh d li u giúp thu n ti n trong quá trình truy xu t và làmấ ủ ộ ớ ữ ệ ậ ệ ấ
gi m b t l nh c a ch ng trình. ả ớ ệ ủ ươ
S đ c th c a b nh d li u PIC16F877A nh sau:ơ ồ ụ ể ủ ộ ớ ữ ệ ư
SV: TR N XUÂN CHI N L P: ĐI N T 1Ầ Ế Ớ Ệ Ử
K2
23
LU N VĂN T T NGHI PẬ Ố Ệ
Hình 2.5 S đ b nh d li u PIC16F877Aơ ồ ộ ớ ữ ệ
1. THANH GHI CH C NĂNG Đ C BI T SFRỨ Ặ Ệ
Đây là các thanh ghi đ c s d ng b i CPU ho c đ c dùng đ thi t l p vàượ ử ụ ở ặ ượ ể ế ậ
đi u khi n các kh i ch c năng đ c tích h p bên trong vi đi u khi n. Có th phânề ể ố ứ ượ ợ ề ể ể
SV: TR N XUÂN CHI N L P: ĐI N T 1Ầ Ế Ớ Ệ Ử
K2
24
LU N VĂN T T NGHI PẬ Ố Ệ
thanh ghi SFR làm hai l ai: thanh ghi SFR liên quan đ n các ch c năng bên trongọ ế ứ
(CPU) và thanh ghi SRF dùng đ thi t l p và đi u khi n các kh i ch c năng bênể ế ậ ề ể ố ứ
ngoài (ví d nh ADC, PWM, …). Ph n này s đ c p đ n các thanh ghi liên quanụ ư ầ ẽ ề ậ ế
đ n các ch c năng bên trong. Các thanh ghi dùng đ thi t l p và đi u khi n cácế ứ ể ế ậ ề ể
kh i ch c năng s đ c nh c đ n khi ta đ c p đ n các kh i ch c năng đó.ố ứ ẽ ượ ắ ế ề ậ ế ố ứ
Thanh ghi STATUS (03h, 83h, 103h, 183h):thanh ghi ch a k t qu th c hi nứ ế ả ự ệ
phép toán c a kh i ALU, tr ng thái reset và các bit ch n bank c n truy xu t trongủ ố ạ ọ ầ ấ
b nh d li u.ộ ớ ữ ệ
Thanh ghi OPTION_REG (81h, 181h): thanh ghi này cho phép đ c và ghi, choọ
phép đi u khi n ch c năng pull-up c a các chân trong PORTB, xác l p các tham sề ể ứ ủ ậ ố
v xung tác đ ng, c nh tác đ ng c a ng t ngo i vi và b đ m Timer0.ề ộ ạ ộ ủ ắ ạ ộ ế
Thanh ghi INTCON (0Bh, 8Bh,10Bh, 18Bh):thanh ghi cho phép đ c và ghi,ọ
ch a các bit đi u khi n và các bit c hi u khi timer0 b tràn, ng t ngo i viứ ề ể ờ ệ ị ắ ạ
RB0/INT và ng t interrput- on-change t i các chân c a PORTB. ắ ạ ủ


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status