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