
BÁO CÁO ÁN THI T K K THU TĐỒ Ế Ế Ỹ Ậ
C N B N V PIC16F877AĂẢỀ
O NHI T DÙNG LM35, HI N TH LÊN LCDĐ Ệ ĐỘ Ể Ị
Sau đây là qui trình tìm hi u v PIC c a nhóm ể ề ủ
1. Tr c h t nhóm ã lên m ng tìm hi u t ng quan v PICướ ế đ ạ ể ổ ề
xem mình nên b t u t âuđể ắ đầ ừ đ , và ch y u h c t di n đànủ ế ọ ừ ễ
www.picvietnam.com, ti n th nhóm xin g i l i cám n t i di n đàn này.ệ ể ử ờ ơ ớ ễ
Nhóm đã tìm đ c 1 bài d n d t v PIC c a tác gi FALLEAF, và theo đó thì đ h cượ ẫ ắ ề ủ ả ể ọ
PIC ta nên b t đ u b ng vi c tìm hi u v các khái ni m và làm các công vi cắ ầ ằ ệ ể ề ệ ệ
-Thanh ghi-register
-C -flagờ
-Đ nh th i-Timerị ờ
-Làm m ch nh p nháy Ledạ ấ
Nh ng n u search trên m ng v i t khoá PIC và các khái ni m này thì có r t ít, th mư ế ạ ớ ừ ệ ấ ậ
chí nhóm tìm không ra. Lý do đ n gi n vì các ph n ki n th c này đáng l ph i đ c h c trongơ ả ầ ế ứ ẽ ả ượ ọ
các môn ti n đ cho PIC nh ki n trúc máy tính hay vi x lý.ề ề ư ế ử
Nhóm tìm t i h i các anh đi tr c, và theo h ng d n c a anh Ca ( SV Bách Khoaớ ỏ ướ ướ ẫ ủ
K05) thì nên tìm hi u v vi đi u khi n 8051 tr c, và nên h c l p trình b ng ASMể ề ề ể ướ ọ ậ ằ
Đ tìm hi u 8051, nhóm đã tìm đ c sách v 8051 c a tác gi T ng Văn On. Chínhể ể ọ ề ủ ả ố
trong sách này, nhóm đã hi u đ c các khái ni m v thanh ghi, đ nh th i, và ngôn ng ASMể ượ ệ ề ị ờ ữ
(ch m c căn b n)ỉ ở ứ ả
Nhóm xin đ c nói v cách hi u c a mình v các khái ni m trênượ ề ể ủ ề ệ
Thanh ghi
Trong m t vi x lý 8051 có r t nhi u thanh ghi (kho ng h n trăm thanh) m iộ ử ấ ề ả ơ ỗ
thanh là m t chu i các bit, m i bit có 2 giá tr là 1 ho c 0 và có th đu c gán b i ng i l pộ ỗ ỗ ị ặ ể ợ ở ườ ậ
trình, Đa s thanh ghi có 8 bit, ngoài ra còn có các thanh 13 bit. M i thanh nh th có các ch cố ỗ ư ế ứ
năng riêng.

Có thanh ch đ n thu n ch đ nh m t giá tr nào đó, thanh ghi 8 bit thì ch nhỉ ơ ầ ỉ ể ớ ộ ị ỉ ớ
đ c ượ
8
2 256
=
giá tr t 0 t i 255ị ừ ớ
Có thanh dùng đ đi u khi n, ví d thanh ghi cho phép xu t ho c nh pể ề ể ụ ấ ặ ậ
PORTB. PORTB có 8 chân, m i chân đ c đi u khi n là chân xu t hay nh p b i thanh ghiỗ ượ ề ể ấ ậ ở
PORTB. N u thanh ghi PORTB có giá tr 00000001b thì có nghĩa là chân B0 là chân nh p dế ị ậ ữ
li u, còn các chân B1-B7 là chân xu t d li uệ ấ ữ ệ
C (flag)ờ
C cũng là 1bit, nh ng nó có ch c năng đ c bi t h n các bit khác nên ng i taờ ư ứ ặ ệ ơ ườ
đ t tên cho nó. Ta s hi u k h n v nó qua m t ví d trong ph n timerặ ẽ ể ỹ ơ ề ộ ụ ầ
Đ nh th i (Timer)ị ờ
Đ nh th i là m t ch c năng không th thi u c a các vi đi u khi n, nó cho phépị ờ ộ ứ ể ế ủ ề ể
vi đi u khi n đ m th i gian. Tuy nhiên không th đ m m t cách tr c ti p nh con ng iề ể ế ờ ể ế ộ ự ế ư ườ
đ c, timer đ m th i gian thông qua vi c đ m xung dao đ ng. M t vi đi u khi n có kho ngượ ế ờ ệ ế ộ ộ ề ể ả
vài timer.
B đ nh th i cũng là các thanh ghi, chúng đ c đi u khi n b i bit đ nh th i.ộ ị ờ ượ ề ể ở ị ờ
Khi ta set bit đ nh th i b ng 1 thì thanh ghi đ nh th i b t đ u nh y s 0, 1, 10 … cho đ n khiị ờ ằ ị ờ ắ ầ ả ố ế
thanh ghi đ nh th i có giá tr 11111111. Bit 7 c a thanh ghi đ nh th i là m t c , bình th ng thìị ờ ị ủ ị ờ ộ ờ ườ
bit này b ng 0, cho đ n khi thanh ghi đã đ m lên t i giá tr max thì bit này m i b ng 1, và sauằ ế ế ớ ị ớ ằ
đó thanh ghi timer l i tr v giá tr 0 và b t đ u đ m l i, , và nó ch d ng khi bit đ nh th iạ ả ề ị ắ ầ ế ạ ỉ ừ ị ờ
đ c gán b ng 0 tr l i. C này nh m t cách đánh d u m t chu kỳ đ m, gi a 2 l n c nàyượ ằ ở ạ ờ ư ộ ấ ộ ế ữ ầ ờ
b ng 1 là 256 giá tr đã đ c đ m ằ ị ượ ế
Cũng có timer nhi u h n 8bitề ơ
H p ng ASMợ ữ
Vi đi u khi n mu n ho t đ ng đ c ph i có các ch d n cho nó làm vi c, đó làề ể ố ạ ộ ượ ả ỉ ẫ ệ
các file hex. M m t file hex ta th y toàn nh ng 0 v i 1. Con ng i s m t r t nhi u th iở ộ ấ ữ ớ ườ ẽ ấ ấ ề ờ
gian đ vi t nên 1 ch ng trình toàn 0 v i 1, vì v y ng i ta xây d ng các ngôn ng l pể ế ươ ớ ậ ườ ự ữ ậ
trình. Thay vì vi t 1 dòng l nh toàn 0 v i 1 thì ta vi t m t dòng l nh khác t ng đ ng nh ngế ệ ớ ế ộ ệ ươ ươ ư
g n gũi h n v i ngôn ng con ng i. Ngôn ng càng g n v i con ng i thì có c p càng cao.ầ ơ ớ ữ ườ ữ ầ ớ ườ ấ
ASM là ngôn ng g n v i file hex nh t. Làm vi c v i ASM ta ch y u làmữ ầ ớ ấ ệ ớ ủ ế
vi c v i các bit, nh vi c set bit b ng 1 hay di chuy n giá tr t thanh ghi này sang thanh ghiệ ớ ư ệ ằ ể ị ừ
khác,…

2. Sau khi tìm hi u qua sách v nh ng khái ni m này tể ở ữ ệ ừ
xong, nhóm b t u chính th c tìm hi u v PIC.ắ đầ ứ ể ề
Công c mô ph ng h u hi u là Proteusụ ỏ ữ ệ
Ngôn ng l p trình là CCS, h c t Tutorial c a anh Tr n Xuân Tr ng K2001 ĐHBKữ ậ ọ ừ ủ ầ ườ
Nhóm tìm hi u v PIC thông qua tutorial c a tác gi Nguy n Trung Chính trên di nể ề ủ ả ễ ễ
đàn picvietnam, xin cám n anh Chính đã vi t m t tutorial r t hay và căn b n và xin phép l yơ ế ộ ấ ả ấ
các hình nh minh ho t tutorial nàyả ạ ừ
S đ chân c a PIC16F877A :ơ ồ ủ

Đ PIC ho t đ ng ta c n c p ngu n cho PIC. Ngoài ra có th thêm vào b dao đ ngể ạ ộ ầ ấ ồ ể ộ ộ
th ch anh, và nút nh n reset:ạ ấ


