Vi điu khin PIC - Hc nhanh đi vào ng dng
Li khuyên la chn b công c làm vic vi PIC
Mch np: PG2C - PIC Tutorial
Chương trình np: IC - PROG
Bootloader: Tiny bootloader
Debugger: ICD2 Clone
Chương trình dch: MPLAB IDE - CCS C
La chn PIC:
- Mi hc: PIC16F628A hoc PIC16F88
- Hc tng hp: PIC16F877A
- Làm đề tài: PIC16F876A
- Cn mnh hơn: PIC18F458
Các loi trên đều có th dùng PG2C và IC-PROG 1.05D
- Điu khin động cơ: PIC18F4331, PIC18F4431 (ICD2)
- Lp trình thut toán: dsPIC30Fxxxx (dùng ICD2)
Để tránh mt thi gian các câu hi thường được lp đi lp li v PIC, các bn mi hc v
PIC lưu ý bài viết này. Bài viết này s được update liên tc khi có các thông tin mi.
0) Mt vài điu cơ bn v PIC
- PIC16F84 là dòng PIC ph biến nht được khuyến khích cho nhng người mi hc. Tuy nhiên,
gn đây, dòng PIC16F628A ra đời, giá thp hơn, nhiu chc năng hơn, và thc s là dòng PIC
Flash. Nó được hu hết các chuyên gia khuyên dùng để bt đầu thc hành v PIC. Hu hết các
tutorial mi đều bt đầu chn PIC16F628A. Tuy nhiên, hin nay dòng PIC16F88 mi ra đời, cũng
như s ra đời ca PIC16F628A, PIC16F88 có nhiu chc năng hơn PIC16F628A, giá c không
chênh lch là bao (khong 5000 đến 10000 đồng ti Vit Nam), và nó h tr gn như toàn b
chc năng ca mt vi điu khin hin đại. Do vy, chúng tôi khuyên các bn nên chn
PIC16F628A hoc PIC16F88 để bt đầu hc v PIC
Thi đim tháng 05 năm 2005
- Giá hin nay ca dòng PIC 18 chân dao động t 20.000 đồng đến 50.000 đồng mi con
- Giá dòng PIC16Fxxxx dao động t 40.000 đồng đến 150.000 đồng
- Giá dòng PIC18Fxxxx dao động t 100.000 đồng đến 300.000 đồng
- Giá dòng dsPIC dao động t 150.000 đồng đến 350.000 đồng hoc hơn
- Giá dòng rfPIC dao động t 50.000 đồng đến 100.000 đồng
Đánh giá các dòng PIC
- Dòng PIC nhiu chân nht là dòng PIC18Fxxxx, có nhng con s chân lên đến 80 chân
- Dòng PIC ít chân nht là dòng PIC10Fxxx, ch có 6 chân
- Dòng PIC ph biến nht là dòng PIC16F877A (đủ mnh v tính năng, 40 chân, b nh đủ cho
hu hết các ng dng thông thường)
- Dòng PIC mà chúng tôi đánh giá cao nht là dòng PIC16F876A (28 chân, chc năng không khác
gì so vi PIC16F877A, nhưng nh gn hơn nhiu, và s chân cũng không quá ít như PIC16F88).
- Dòng PIC h tr giao tiếp USB là dòng PIC18F2550 và PIC18F4550
- Dòng PIC điu khin động cơ mnh nht là dòng PIC18F4x31
- Khi cho rng mình chuyên nghip hơn, các bn nên dùng PIC18F458
- dsPIC chúng tôi khuyên không nên dùng và không nên nghĩ ti khi mi hc, bn thân chúng tôi
cũng chưa có điu kin làm vic vi dsPIC mc dù v lp trình thì dsPIC hoàn toàn ging vi PIC
thông thường.
- Dòng PIC tàng hình là dòng PIC17xxxxx, hin nay đã không còn được sn xut
1) Mch np PIC, Bootloaders và các chương trình np tương ng
Mch np
http://www.olimex.com/
Trang web này cung cp rt nhiu loi mch np ca PIC, có sơ đồ nguyên lý đầy đủ, và tt c
các hướng dn liên quan đến vic cài đặt và s dng mch np. Trong tài liu hướng dn PIC
Tutorial, chúng tôi chn s dng mch np PG2C để hướng dn.
http://siscobf.webcindario.com/winpic800.htm
Hơi khó coi mt chút vì nó là tiếng Tây Ban Nha hay sao đó? Nhưng không vn đề gì, các bn
download v, t động s hiu phi làm thế nào. Tôi vn ch trương, ngưi chưa biết gì dùng
PG2C.
In Circuit Debugger
http://www.stolz.de.be/
ICD2 Clone, np được hu hết các loi PIC hin có, h tr debug trong mch và quan trng nht
là np được cho dòng dsPIC30F
Bootloader
http://www.ac.ugal.ro/staff/ckiku/software/picbootloader.htm
Đây là b tinybootloader, là b bootloader xn nht cho đến bây gi mà tôi biết.
http://www.dontronics.com/rfarmer.html
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en
012031
Microchip bootloader, ch h tr dòng 16F, nhưng là bootloader chính thc ca hãng, cung cp
min phí
Chương trình np
http://www.ic-prog.com/
2) Các chương trình dch
Chương trình MPLAB IDE : http://www.microchip.com/
Chương trình CCS C (phiên bn 3.222 có crack): download ti đây
Chương trình HT PIC (phiên bn 8.05PL2 ngày 27/9/2004, có crack): download ti đây
Chương trình HT PIC18 (phiên bn demo): http://www.hitech.com/
Hướng dn cài đặt: MPLAB, CCS C, HT PIC, HT PIC18 , download tt c
3) Các tài liu hướng dn
- Chúng tôi đăng toàn văn các tài liu hướng dn trong lung TÀI LIU HƯỚNG DN TING ANH
để các bn tin download.
Lưu ý rng, chúng tôi đăng nhng tài liu này bng file .pdf để thun tin cho vic download, đọc
trên máy và in n. Chúng tôi không mun đăng file .doc vì lý do không mun các bn mi hc
thun tay copy and paste. Chúng tôi hy vng rng thi gian đầu mi hc, các bn nên kiên nhn
hc tng dòng lnh, cách trình bày để hiu rõ ni dung. Ngoài ra, theo nhng đánh giá cá nhân,
nhng tài liu hướng dn này không ging như mt thư vin source code, cách thc hin ti ưu
hoá tng đề tài mt, nên cũng kng phù hp vi các bn mi hc.
- Tài liu hướng dn tiếng Vit đang được thc hin, và s đăng tng phn trong lung TÀI LIU
HƯỚNG DN TING VIT.
Tài liu này cũng cung cp dng file .pdf để tránh sao chép, vì lý do chúng tôi mun son tho
hoàn thin tài liu này trước khi công b, và đây cũng là mc đích chính ca din đàn picvietnam.
4) Hướng dn mch np Falleaf PG2C - PIC Tutorial
- Tài liu hướng dn này được đăng ti lung Falleaf PG2C - PIC Tutorial
- Các bn có thm mua mch np này và đĩa CD đi kèm thông qua
phungtbinh@yahoo.com (Hà Ni)
myfrienddang@yahoo.com (TPHCM)
vi giá 35.000 đồng/b
5) Các địa ch tìm source code ca PIC
http://www.piclist.com/ (địa ch nhiu source code ca PIC nht trên đời)
6) Các forum tiếng Anh v PIC
- Forum chuyên v MPASM, có s tham gia ca Nigel Goodwin:
http://www.electro-tech-online.com/
- Forum chuyên v CCS C, do chính CCS C info xây dng:
http://www.ccsinfo.com/forum/viewforum.php?f=1
- Forum hướng dn ca Olimex và SparkFun:
http://www.sparkfun.com/
Trang web này hướng dn các mch do Olimex cung cp, hay nói cách khác SparkFun là forum
ca Olimex.
7) http://www.microchip.com/
Trang web chính ca Microchip PIC, cung cp:
- datasheet
- din đàn chính ca Microchip PIC (nhưng không sôi ni lm)
- môi trường son tho và trình dch MPLAB (luôn có phiên bn mi nht)
- bán các linh kin (PIC, dsPIC, rfPIC, mch np, chương trình dch, linh kin analog...)
- bootloader chính thc ca PIC dùng cho 16F877A và 16F876A
8) Mt s trang web mua bán các công c h tr PIC, các sn phm t PIC...
http://www.ccsinfo.com/ (bán chương trình CCS C cho PIC)
http://www.dontronics.com/dt101.html (bán mt s sn phm đin t)
http://www.digikey.com/ (bán mt s sn phm đin t)
http://www.phanderson.com/PIC/PICC/index.html (địa ch mua trình dch và thư vin source
code)
http://www.diendandientu.com/ (trong lung Mua Bán Linh Kin có mt s người buôn bán l các
sn phm PIC)
9) Các đề tài thc hin vi PIC
http://www.bobblick.com/techref/projects/propclock/propclock.html
Đồng h quay, dùng đèn led và hin tượng lưu nh để hin th gi, dùng tín hiu xung trên các
mu rotor để xác định thi gian hin th.
http://www.seattlerobotics.org/encoder/may97/picchip.html
10) Email h tr thc hành PIC
Các bn có th email cho tôi khi gp vn đề cn tư vn v PIC qua địa ch:
falleaf.pic@gmail.com
Khi gi email, mong các bn gi kèm theo mch nguyên lý, chương trình đã thc hin, và các
thông tin như: bn s dng h điu hành gì? bn dùng mch np nào? bn dùng chương trình
dch gì? bn dùng chương trình np gì? Các li báo c th.... và tt nhiên các vn đề các bn
mun hi.
Tôi không ha có th tr li tt c email ca các bn, tuy nhiên tôi và các bn ca tôi s c gng
hết sc để giúp đỡ các bn thc hin đề tài trên vi điu khin PIC.
Ngoài ra, chúng tôi rt thích trao đổi v các quan đim thiết kế, ý tưởng sáng to nht là v PIC,
robotics, haptic device, biomedical equipements, radio frequency devices... Chúng tôi rt mong
được s ng h và chia s ca các bn.
C¬ b¶n vÒ pic
Dưới đây là hình mch chy ca PIC16F84A, PIC16F628A và PIC16F88. Tt c các PIC này đều
có v trí chân tương ng nhau, và thm chí có th nói PIC16F628A tương thích PIC16F84A và
PIC16F88 tương thích vi hai loi còn li. Có nghĩa là trong các ng dng ca PIC16F84A, khi thay
đổi bng PIC16F88, hay PIC16F628A đều được.
Tt nhiên, 3 loi vi dòng PIC trên đây có th tương thích vi nhiu dòng PIC cũ hơn, nhưng vì
th trường PIC Vit Nam ph biến vi 3 loi PIC này, cho nên chúng tôi ch đề cp đến 3 loi PIC
này mà thôi.
Sau khi các bn có mch np, chương trình np, MPLAB IDE, CCS C hoc HT PIC, các bn làm
mch chy này. K t đây khi thiết kế cách mch test, hoc các thiết b ngoi vi khác, cn th
nghim, các bn ch vic thiết kế mch ngoài, sau đó cm vào các chân ra và chy th.
Khi mch chy tt, các bn mun thiết kế được hoàn chnh, các bn ch vic copy mch chy t
Orcad và dán vào mch nguyên lý ca thiết b ca bn. Xoá các chân header đi, và ni dây vào
trong mch chy PIC. Như vy, chúng ta không phi tn thi gian thiết kế cho PIC na.
Mt vài đim lưu ý v mch như sau:
- Ngun ch dùng cho PIC, tuyt đối không dùng b ngun này cho thiết b ngoi vi. Nếu thiết b
ngoi vi cn ngun, các bn thiết kế b ngun riêng. Mt s thiết b ngoi vi quá đơn gin, và tn
ít dòng, các bn có th dùng ngun chung (khong 100mA)
- Tôi không khuyến khích dùng dao động ni ca PIC, bi vì dao động ni ch chy được 4MHz,
và không n định như dùng thch anh ngoài. Mt s đề tài công nghip, h dùng thch anh chun
công nghip 4 chân, nên chúng ta cũng to thói quen dùng thch anh ngoài, không cn quá tn
dng 2 chân ca PIC.
- Mch reset này là mch reset đơn gin nht ca PIC, và to chế độ reset power on. Mt s ng
dng ca PIC yêu cn mch brownout reset, các bn có th tham kho trong datasheet. Nhưng tôi
thiết nghĩ, nhng đề tài thông thường, không cn dùng mch brownout reset này.
- Chúng ta thng nht chun thiết kế cho các header là ni vào các chân ca PIC theo th t
hai chân ngoài cùng là Rx0 và GND. Mc đích là để khi chy mch in, chân GND có th được xếp
ra phía ngoài, chân Rx0 để quy định cho tt c các port khác nhau, vì có port ch có 3 chân, có
port 5 chân, 8 chân... Nếu ly chân RB7 làm chun chng hn, thì s rt khó gii thích khi ly
chân RA4 đặt ra phía ngoài. Vì vy RA0 và RB0 chúng ta ly làm chun. Điu này cũng đã được
thc hin trong mt s tutorial, và gn như quy ước bt thành văn khi thc hin các mch phát
trin cho vi điu khin. Chân VDD (5V) được ni vào, nhm s dng cho các ng dng cn có đin
áp ngõ vào, nhưng không cao lm như trên đã nói (100mA). Tuyt đối không thiết kế chân VSS
(GND) và chân VDD (5V) hai đầu ca header, tránh tình trng đôi khi chúng ta không để ý cm
nhm, có th làm hng PIC, hoc hng luôn c thiết b ngoi vi.
- Các nút bm và công tc, tôi thiết kế là các nút bm 4 chân, vì hin nay trên th trường hu như
ch bán loi nút bm này, và loi nút bm này chc chn hơn loi 2 chân trước đây. Các bn cũng
lưu ý sau này khi thiết kế nút bm cũng nên thiết kế nút bm 4 chân.
- Con n áp 78L05 khác vi con 7805. Nó là dng TO92, tc là nó ging như con transistor thông
thường, nên rt nh, ch không phi dng 3 chân và có tm tn nhit phía sau như con 7805. Do
vy, mch thiết kế s nh đi khá nhiu.
- đây, tôi không chy ra mch in, vì rng tôi mun dành công vic này cho các bn sinh viên
mi hc. Sau khi các bn làm xong mch in, nếu các bn có th chia s vi chúng tôi thì tht là
tuyt vi. Ch có mt điu lưu ý là, chúng ta thường không cm trc tiếp vi điu khin vào mch
để hàn, mà chúng ta cm qua mt socket để có th g ra lp trình li, và để đảm bo không b
cháy PIC khi hàn. Do vy, khi cm socket, các bn s có th nhét hai t ni thch anh vào bên
trong socket, khi cm PIC lên, nó s che hai cái t đó đi, và mch ca các bn s gn gàng hơn.
Socket loi 18 chân không th nhét thch anh và đin tr ni t chân MCLR đến VDD vào bên
trong được, nhưng sau này khi dùng PIC 28 hoc 40 chân, các bn nên nhét tt c vào bên dưới
socket để cho mch gn gàng hơn.
- Mt đim cui cùng, chúng tôi không thiết kế phn np bng ICSP, bi vì chúng tôi không mun
làm cho các bn mi hc PIC cm thy bi ri. Chúng ta s thc hin mch chy PIC vi các chân
ICSP và bootloader sau.