Giáo trình lập trình PIC cho người mới học
Việc tự học lập trình PIC có thể khá mất thời gian vì bạn phải làm quen với nhiều loại vi điều khiển, các loại chip khác nhau. Nhưng với giáo trình này sẽ đi từ tổng quan tới chi tiết từng loại PIC sẽ giúp bạn dễ nắm bắt vấn đề. Tài liệu cũng khá ngắn gọn, do đó bạn không phải nản khi tự học.
Vi điều khiển PIC – Học nhanh đi vào ứng dụng
Lời khuyên lựa chọn bộ công cụ làm việc với PIC
Mạch nạp: Falleaf PG2C – PIC Tutorial
Chương trình nạp: IC – PROG
Bootloader: Tiny bootloader
Debugger: ICD2 Clone
Chương trình dịch: MPLAB IDE – CCS C
Lựa chọn PIC:
– Mới học: PIC16F628A hoặc PIC16F88
– Học tổng hợp: PIC16F877A
– Làm đề tài: PIC16F876A
– Cần mạnh hơn: PIC18F458
Các loại trên đều có thể dùng PG2C và IC-PROG 1.05D
– Điều khiển động cơ: PIC18F4331, PIC18F4431 (ICD2)
– Lập trình thuật toán: dsPIC30Fxxxx (dùng ICD2)
Để tránh mất thời gian các câu hỏi thường được lặp đi lặp lại về PIC, các bạn mới học về
PIC lưu ý bài viết này. Bài viết này sẽ được update liên tục khi có các thông tin mới.
0) Một vài điều cơ bản về PIC
– PIC16F84 là dòng PIC phổ biến nhất được khuyến khích cho những người mới học. Tuy nhiên,
gần đây, dòng PIC16F628A ra đời, giá thấp hơn, nhiều chức năng hơn, và thực sự là dòng PIC
Flash. Nó được hầu hết các chuyên gia khuyên dùng để bắt đầu thực hành về PIC. Hầu hết các
tutorial mới đều bắt đầu chọn PIC16F628A. Tuy nhiên, hiện nay dòng PIC16F88 mới ra đời, cũng
như sự ra đời của PIC16F628A, PIC16F88 có nhiều chức năng hơn PIC16F628A, giá cả không
chênh lệch là bao (khoảng 5000 đến 10000 đồng tại Việt Nam), và nó hỗ trợ gần như toàn bộ
chức năng của một vi điều khiển hiện đại. Do vậy, chúng tôi khuyên các bạn nên chọn
PIC16F628A hoặc PIC16F88 để bắt đầu học về PIC
Thời điểm tháng 05 năm 2005
– Giá hiện nay của dòng PIC 18 chân dao động từ 20.000 đồng đến 50.000 đồng mỗi 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 hoặc 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 nhiều chân nhất là dòng PIC18Fxxxx, có những con số chân lên đến 80 chân
– Dòng PIC ít chân nhất là dòng PIC10Fxxx, chỉ có 6 chân
– Dòng PIC phổ biến nhất là dòng PIC16F877A (đủ mạnh về tính năng, 40 chân, bộ nhớ đủ cho
hầu hết các ứng dụng thông thường)
– Dòng PIC mà chúng tôi đánh giá cao nhất là dòng PIC16F876A (28 chân, chức năng không khác
gì so với PIC16F877A, nhưng nhỏ gọn hơn nhiều, 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 điều khiển động cơ mạnh nhất là dòng PIC18F4x31
– Khi cho rằng mình chuyên nghiệp hơn, các bạn nên dùng PIC18F458
– dsPIC chúng tôi khuyên không nên dùng và không nên nghĩ tới khi mới học, bản thân chúng tôi
cũng chưa có điều kiện làm việc với dsPIC mặc dù về lập trình thì dsPIC hoàn toàn giống với PIC
thông thường.
– Dòng PIC tàng hình là dòng PIC17xxxxx, hiện nay đã không còn được sản xuấtT¸c gi¶: falleaf – DiÔn dµn PICVIETNAM.COM
S−u tÇm vµ biªn so¹n:linhnc308@yhoo.com 2
1) Mạch nạp PIC, Bootloaders và các chương trình nạp tương ứng
Mạch nạp
http://www.olimex.com/
Trang web này cung cấp rất nhiều loại mạch nạp của PIC, có sơ đồ nguyên lý đầy đủ, và tất cả
các hướng dẫn liên quan đến việc cài đặt và sử dụng mạch nạp. Trong tài liệu hướng dẫn PIC
Tutorial, chúng tôi chọn sử dụng mạch nạp PG2C để hướng dẫn.
http://siscobf.webcindario.com/winpic800.htm
Hơi khó coi một chút vì nó là tiếng Tây Ban Nha hay sao đó? Nhưng không vấn đề gì, các bạn
download về, tự động sẽ hiểu phải làm thế nào. Tôi vẫn chủ trương, người chưa biết gì dùng
PG2C.
In Circuit Debugger
http://www.stolz.de.be/
ICD2 Clone, nạp được hầu hết các loại PIC hiện có, hỗ trợ debug trong mạch và quan trọng nhất
là nạp được cho dòng dsPIC30F
Bootloader
http://www.ac.ugal.ro/staff/ckiku/software/picbootloader.htm
Đây là bộ tinybootloader, là bộ bootloader xịn nhất 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 thức của hãng, cung cấp
miễn phí
Chương trình nạp
http://www.ic-prog.com/
2) Các chương trình dịch
Chương trình MPLAB IDE : http://www.microchip.com/
Chương trình CCS C (phiên bản 3.222 có crack): download tại đây
Chương trình HT PIC (phiên bản 8.05PL2 ngày 27/9/2004, có crack): download tại đây
Chương trình HT PIC18 (phiên bản demo): http://www.hitech.com/
Hướng dẫn cài đặt: MPLAB, CCS C, HT PIC, HT PIC18 , download tất cả
3) Các tài liệu hướng dẫn
– Chúng tôi đăng toàn văn các tài liệu hướng dẫn trong luồng TÀI LIỆU HƯỚNG DẪN TIẾNG ANH
để các bạn tiện download.
Lưu ý rằng, chúng tôi đăng những tài liệu này bằng file .pdf để thuận tiện cho việc download, đọc
trên máy và in ấn. Chúng tôi không muốn đăng file .doc vì lý do không muốn các bạn mới học
thuận tay copy and paste. Chúng tôi hy vọng rằng thời gian đầu mới học, các bạn nên kiên nhẫn
học từng dòng lệnh, cách trình bày để hiểu rõ nội dung. Ngoài ra, theo những đánh giá cá nhân,
những tài liệu hướng dẫn này không giống như một thư viện source code, cách thực hiện tối ưu
hoá từng đề tài một, nên cũng không phù hợp với các bạn mới học.
– Tài liệu hướng dẫn tiếng Việt đang được thực hiện, và sẽ đăng từng phần trong luồng TÀI LIỆU
HƯỚNG DẪN TIẾNG VIỆT.
Tài liệu này cũng cung cấp dạng file .pdf để tránh sao chép, vì lý do chúng tôi muốn soạn thảo
hoàn thiện tài liệu này trước khi công bố, và đây cũng là mục đích chính của diễn đàn picvietnam.
4) Hướng dẫn mạch nạp Falleaf PG2C – PIC Tutorial
– Tài liệu hướng dẫn này được đăng tại luồng Falleaf PG2C – PIC Tutorial
– Các bạn có thể tìm mua mạch nạp này và đĩa CD đi kèm thông qua
phungtbinh@yahoo.com (Hà Nội)
myfrienddang@yahoo.com (TPHCM)
với giá 35.000 đồng/bộ
5) Các địa chỉ tìm source code của PIC
http://www.piclist.com/ (địa chỉ nhiều source code của PIC nhất trên đời)
6) Các forum tiếng Anh về PIC
– Forum chuyên về MPASM, có sự tham gia của Nigel Goodwin:
http://www.electro-tech-online.com/
– Forum chuyên về CCS C, do chính CCS C info xây dựng:
http://www.ccsinfo.com/forum/viewforum.php?f=1
– Forum hướng dẫn của Olimex và SparkFun:
http://www.sparkfun.com/
Trang web này hướng dẫn các mạch do Olimex cung cấp, hay nói cách khác SparkFun là forumT¸c gi¶: falleaf – DiÔn dµn PICVIETNAM.COM
S−u tÇm vµ biªn so¹n:linhnc308@yhoo.com 3
của Olimex.
7) http://www.microchip.com/
Trang web chính của Microchip PIC, cung cấp:
– datasheet
– diễn đàn chính của Microchip PIC (nhưng không sôi nổi lắm)
– môi trường soạn thảo và trình dịch MPLAB (luôn có phiên bản mới nhất)
– bán các linh kiện (PIC, dsPIC, rfPIC, mạch nạp, chương trình dịch, linh kiện analog…)
– bootloader chính thức của PIC dùng cho 16F877A và 16F876A
8) Một số trang web mua bán các công cụ hỗ trợ PIC, các sản phẩm từ PIC…
http://www.ccsinfo.com/ (bán chương trình CCS C cho PIC)
http://www.dontronics.com/dt101.html (bán một số sản phẩm điện tử)
http://www.digikey.com/ (bán một số sản phẩm điện tử)
http://www.phanderson.com/PIC/PICC/index.html (địa chỉ mua trình dịch và thư viện source
code)
http://www.diendandientu.com/ (trong luồng Mua Bán Linh Kiện có một số người buôn bán lẻ các
sản phẩm PIC)
9) Các đề tài thực hiện với PIC
http://www.bobblick.com/techref/projects/propclock/propclock.html
Đồng hồ quay, dùng đèn led và hiện tượng lưu ảnh để hiển thị giờ, dùng tín hiệu xung trên các
mấu rotor để xác định thời gian hiển thị.
http://www.seattlerobotics.org/encoder/may97/picchip.html
10) Email hỗ trợ thực hành PIC
Các bạn có thể email cho tôi khi gặp vấn đề cần tư vấn về PIC qua địa chỉ:
falleaf.pic@gmail.com
Khi gửi email, mong các bạn gửi kèm theo mạch nguyên lý, chương trình đã thực hiện, và các
thông tin như: bạn sử dụng hệ điều hành gì? bạn dùng mạch nạp nào? bạn dùng chương trình
dịch gì? bạn dùng chương trình nạp gì? Các lỗi báo cụ thể…. và tất nhiên các vấn đề các bạn
muốn hỏi.
Tôi không hứa có thể trả lời tất cả email của các bạn, tuy nhiên tôi và các bạn của tôi sẽ cố gắng
hết sức để giúp đỡ các bạn thực hiện đề tài trên vi điều khiển PIC.
Ngoài ra, chúng tôi rất thích trao đổi về các quan điểm thiết kế, ý tưởng sáng tạo nhất là về PIC,
robotics, haptic device, biomedical equipements, radio frequency devices… Chúng tôi rất mong có
được sự ủng hộ và chia sẻ của các bạn.
Link tải:
https://www.fshare.vn/file/VHFFJ6Z6L6TB