PDA

View Full Version : Bạn học PIC như thế nào?


noisePIC
21-07-2005, 08:30 AM
Bạn đã học PIC như thế nào?

Bạn đã học PIC như thế nào? có hiệu quả không? hãy bày cách cho mọi người cùng biết để diễn đàn PIC VIET NAM ngày càng phát triển! noisePIC sẽ bắt đầu trước.
- Hồi trước noisepic có tìm hiểu về 8051 ..nhưng không thành công làm cái đèn LED nhấp nháy cũng không được! Lúc đó mình không biết nó sai chỗ nào…Đổ tại lỗi nó hỏng và bỏ.
- Sau đó bạn mình học PIC mình bảo tớ học với! Đúng lúc mình bắt đầu tìm hiểu về PIC thì trùng hợp với PIC vietnam ra đời!
- Rồi tài liệu đầu tiên mà mình xem hết here!! Xem để hiểu cấu trúc phần cứng và viết chưong trìnht bằng ASM.Led nháy…thế là có cơ hội phát triển rồi.
- Mình xem lung tung,download bao nhiêu mã nguồn trên mạng về xem.Mua mạch nạp..và làm lần lượt các chức năng của nó: I/O,timer0,interrupt,nút bấm(Cũng chỉ làm được đến thế thôi bởi làm tiếp khó quá!! )đặc biệt là xem các bài viết của bác faleaft học PIC trong vòng 1 ngày (Thanks bác nhiều nha!)
- Mình chưa có nhiều $$ nên cố gắng làm hết chức năng con 16F84 mà mình tậu được!
- Sau đó mình chuyển sang làm CCS (khi đã hiểu tương đối vê phần cứng- cấu trúc bên trong của PIC).Và lại bắt đầu làm tứ I/O.Nhưng lần này làm thì nhanh hơn! cái nào đươc cái đó.Rồi biên dich mã nguồn C sang ASM ..cố gắng xem 1 lệnh nó làm thay đổi thanh ghi STATUS,INTCON.. thế nào!
Và bây giờ mình tự tin viết chương trình cho PIC bằng CCS.
Lới khuyên:
Nếu bạn nào học PIC mà học theo cách của mình thì đừng bỏ qua bước 3 nhé! nếu không bạn sẽ bị “hổng kiến thức” khi kiểm tra xem chương trình mình có chạy đúng hay không?

falleaf
21-07-2005, 09:42 AM
Nhân bài viết của Noise PIC, tôi cũng muốn nói về quá trình học PIC của tôi để cùng chia sẻ với các bạn.

- Trước khi học PIC, tôi đã làm thử với 89C51. Chưa kịp học sâu về nó, nhưng tôi lại thích cách học tổng quan, có nghĩa là tìm hiểu xem mình có thể làm gì được với nó, hiểu rõ bản chất của nó. Tôi bắt đầu lang thang tìm tài liệu về các loại vi điều khiển, vì sao lại có các hãng khác, sự khác biệt giữa các con vi điều khiển là gì? Mục đích của chúng là gì? Có những loại nào... Chính vì chưa hiểu biết nhiều về vi điều khiển, do đó, tôi download nhiều tài liệu tổng quan, xem xét, đánh giá. Tôi với bạn tôi, Đỗ Hồng Phúc, đã từng tranh luận với nhau rất lâu xem nên học với con nào, làm việc với con nào là có lợi nhất.

- Cuối cùng, sau khi phân tích khá nhiều khía cạnh (mặc dù vẫn chưa sử dụng thành thạo một con nào) chúng tôi chọn PIC để học và phát triển.

- Khi chọn PIC, chúng tôi hoàn toàn không có trong tay một con PIC nào, vì lúc đó ở VN chỉ có bán 16F84A và một số loại 17Cxxx. Lúc đó, 16F628 vừa mới xuất hiện, chúng tôi muốn làm việc với nó, và 16F877, nhưng không có cách nào, vì chúng tôi không có PIC.

- Bạn tôi cần làm một số đề tài, nhưng không có PIC, thế là bạn tôi lại quay lại làm với 89C51. Tôi máu me hơn một tí, đặt hàng PIC từ Singapore, lúc đó tôi mua con PIC hết 150K, nhờ một người bạn học đem về. Nhưng phải 2 tháng sau đó, bạn tôi mới về nước. Trong 2 tháng, tôi lập trình chay với PIC bằng ASM, tự đọc tài liệu, tự tưởng tượng ra mạch điện tử mình sẽ thiết kế, rồi tự viết chương trình.

- Bài tập đầu tiên tôi làm được, đó là bài tập chay, điều khiển động cơ bước quay tới và quay lui 180 độ, với phần gia tốc, giảm tốc để quay cảm biến siêu âm. Thực sự, bài tập không khó, nhưng lần đầu tiên làm, không có con PIC trong tay, làm mạch nạp cho con 16F628 chỉ để ngồi nhìn. Nếu các bạn còn nhớ, tôi đã cung cấp tài liệu hướng dẫn làm mạch in tại diễn đàn điện tử, hình cuối cùng đó là cái mạch nạp PIC16F628 mà tôi chưa một lần nào dùng đến nó.

- Từ việc học chay, tôi học được rất nhiều điều, cho nên về sau, tôi viết chương trình bằng MPASM rất ít khi bị lỗi, vì tôi viết, rồi dịch thử, rồi debug xem nó chạy như thế nào. Để viết một đoạn chương trình ngắn, tôi mất rất nhiều thời gian.

- Khi có con PIC16F877 về tới, mọi chuyện trở nên rõ ràng, và các bạn thấy đó, tôi bắt đầu làm việc với nó cho đến khi tôi tốt nghiệp. Bây giờ, tôi lại làm việc chay với PIC, mọi thứ hiện ra trong đầu tôi khá tốt, khi viết tài liệu hướng dẫn cho các bạn, có lẽ do quá trình học chay trước đó, đã giúp tôi tưởng tượng như thế này. Tôi bắt đầu ấp ủ viết tài liệu hướng dẫn PIC từ đầu năm thứ năm đại học.

- Chính vì vậy, mặc dù đến bây giờ, tôi không còn đụng đến 1 con PIC nào để nạp nữa, nhưng tôi vẫn viết về nó. Điều tôi cần, và mong đợi ở các bạn, đó là các bạn giúp tôi hiện thực những gì tôi viết, để chứng minh bằng thực tế. Tôi sẽ dùng nó để viết tài liệu hướng dẫn. Theo tôi, với đà này, cho đến hết năm nay, tôi sẽ hoàn thành xong tài liệu hướng dẫn PIC, ORCAD, làm mạch in. Với 3 tài liệu này, tôi mong rằng cung cấp được cho các bạn một công cụ mạnh để làm việc.

- Hãy học PIC ngay từ năm thứ nhất đại học, với các trò chơi, các đề tài nho nhỏ... và với tài liệu hướng dẫn tại PICvietnam, các bạn sẽ làm được nhiều hơn là các bạn có thể làm được khi tốt nghiệp đại học. Đó là điều tôi hoàn toàn tin tưởng.

Chúc các bạn học tốt.

LEO-XBS
26-10-2005, 11:00 AM
Bác Falleaf!
Em là một người mới chuyển nghiên cứu từ 89C51 qua PIC.Rất may cho em là được biết bác - một người đã có rất nhiều kinh nghiệm trong lĩnh vực này. Chẳng giấu gì bác, hiện nay trong giới sinh viên Việt Nam đang dấy lên phong trào nghiên cứu robocon,và hiện giờ em cũng đang tham gia thi robocon.Trước đây bọn em thường sử dụng 89c51 để lập trình điều khiển cho Robot. Gần đây em được biết là PIC có nhiều ưu điểm và mạnh hơn 89C51 nhiều. Cho nên em đã chuyển sang PIC. Em định sử dụng con 16F877A để thay thế cho con 89C51 trước đây. Em đang băn khoăn không biết tập lệnh và các thanh ghi của con 16F877A như thế nào, vì những phần mà bác hướng dẫn rất ít đề cập tới con này. Cũng có tài liệu hướng dẫn lập trình nhưng là C còn em thì lập trình bằng ASM nên cần phải biết tập lệnh cũng như các thanh ghi của nó. Bác đã từng lập trình về con 16F877A bằng ASM nên phiền bác cho em biết về tập lệnh và các thanh ghi của con này. Cảm ơn bác nhiều!

falleaf
26-10-2005, 02:07 PM
Tôi đã có một bài viết khá chi tiết về tập lệnh của PIC, nhưng các tập lệnh chưa được làm xong vì tôi không có thời gian đánh máy tính. Bạn tìm đâu đó trong diễn đàn sẽ có bài viết về cái này, khá chi tiết.

Chúc vui.

LEO-XBS
27-10-2005, 06:20 PM
thế tập lệnh của con 16f877a có khác các con khác không hả bác

chuabietgi
18-11-2005, 05:15 PM
Toi moi hoc 8051,viet duoc vai chuong trinh nho nhung chua biet lam the nao de nap cho no ca.Mong cac bac chi giup!
Toi co the dung mạch nap nao nap duoc cho ca 8051 va PIC khong ?
Cam on nhieu nha!

mafd_47a
18-11-2005, 09:48 PM
thế tập lệnh của con 16f877a có khác các con khác không hả bác

Các dòng 16 đều có tập lệnh như nhau cả ( có 35 lệnh cơ bản )

Khi làm việc với dòng 16 mọi thứ như ADC, Timer, CCP, PWM, USART,... đều như nhau cả chỉ có một điểm khác biệt mà các bạn phải rất chú ý : phải đọc kỹ phần cấu trúc và vai trò các chân trong từng con một.

VD: PIC16F87x, PIC16F88 có ADC nên sẽ có một số chân là dạng Analog( AN1, AN2,..... AN7 ) ban đâu chứ ko phải chế độ I/O ( digital ) bình thường do đó để có chế độ I/O ta phải khởi tạo lại: Và với mỗi PIC thì việc khởi tạo lại khác nhau
PIC 16F88 chỉ cần CLR ANSEL là cong
Còn PIC 16F877 thì phải gán 0x06 hoặc 0x07 vào thanh ghi ADCON1
Còn với các PIC16F84, F628 ... thì ko cần
Đây là những cái các bạn rất hay mắc phải khi làm việc với PIC. Và hãy nên luôn đọc phần I/O port thật cẩn thận trước khi làm việc với bất cứ một dòng PIC nào

Điểm thứ hai là phải chú ý đến phần __Config đầu của từng con PIC, mỗi con đều có chế độ khác nhau

mafd_47a
18-11-2005, 10:34 PM
Toi moi hoc 8051,viet duoc vai chuong trinh nho nhung chua biet lam the nao de nap cho no ca.Mong cac bac chi giup!
Toi co the dung mạch nap nao nap duoc cho ca 8051 va PIC khong ?
Cam on nhieu nha!


Bạn mới học VĐK phải ko hãy xem bài viết này của anh Falleaf nhé chắc bạn sẽ hiểu rõ hơn ( phần file đính kèm )

Sau đó tham khảo các bài viết khác cũng trong mục này

Có mạch nạp cho cả PIC, 8051 và cho cả AVR nữa nhưng có lẽ với túi tiền sinh viên chúng ta thì ko thể mua nổi dau :)

Lazzycat
03-12-2005, 07:27 PM
Chào các bác, em cũng là lính mới tò te từ 89C51 sang PIC day, có một số vấn đề em gặp rắc rối khi viết code cho PIC bằng C, bác Falleaf có hướng dẫn viết bằng ASM, nhung em dang tim hieu về cách viết bằng C cơ, liệu có bác nào có những đoạn code đơn giản để bắt đầu từ những viên gạch đầu tiên ko?

falleaf
04-12-2005, 02:23 AM
Xin bạn chuyển bài này sang luồng các ngôn ngữ lập trình khác. Tôi sẽ post một số đoạn code đơn giản cho bạn xem.

Các đoạn code đơn giản này được viết bởi các bạn ở nhóm PIC HCM

http://www.diendandientu.com/diendandientu/mvnforum/viewthread?thread=4835

Tuy nhiên, tôi vẫn khuyên bạn nên bắt đầu bằng cách hiẻu về PIC một cách đơn giản trước.

Chúng tôi chủ yếu hướng dẫn về CCS C, vì nó rất gần với MPASM và lại đơn giản, nên rất thích hợp cho việc học và hiểu PIC.

Chúc vui.

hien_viettel
11-12-2005, 10:46 AM
bac cho em hoi pic la gi. em hoc 80c51 roi , no co phai la pic kh?

falleaf
11-12-2005, 11:19 AM
Bạn xem luồng

http://picvietnam.com/showthread.php?t=4

trong đó có các thông tin dành cho người mới học để tìm hiểu về PIC

http://picvietnam.com/showthread.php?t=10

luồng này cung cấp một số bài viết tiếng Việt

PIC và 89 là hai họ vi điều khiển khác nhau, và khác nhau rất nhiều. Trang chủ của hãng cung cấp vi điều khiển pic là www.microchip.com

Chúc vui

mafd_47a
11-12-2005, 11:24 AM
bac cho em hoi pic la gi. em hoc 80c51 roi , no co phai la pic kh?
PIC viết tắt là "Programmable Intelligent Computer" nó cũng là vi điều khiển 8 bit.
Hiện nay ở Việt Nam có 3 dòng VĐK được sử dụng nhiều đó là AVR, PIC, 8051 . AT89C51 mà bạn đang học là dòng 8051 của Atmel,
Cả 3 dòng VĐK 8 bit này đều có những đặc điểm chung như các bộ định thời , các ngắt, các chân I/O. Nhưng trong 3 loại trên thì 8051 đang được giới SV ưa chuộng nhất vì nó rẻ tiền , học đơn giản thích hợp cho viêc nghiên cứu làm các ứng dụng nhỏ nhỏ. Còn 2 dòng kia AVR, PIC mạnh hơn nhiều so với 89 vì sự tích hợp thêm nhiều tính năng mới, sự ổn định .... Tuy nhiên PIC và AVR lại khá mắc và khó học hơn 8051

Bạn có thể tham khảo bài viết này để xem sự so sánh giữa PIC và 8051
http://www.diendandientu.com/diendandientu/mvnforum/viewthread?thread=1374

namqn
09-02-2006, 11:55 PM
PIC viết tắt là "Programmable Intelligent Computer" nó cũng là vi điều khiển 8 bit.
Hiện nay ở Việt Nam có 3 dòng VĐK được sử dụng nhiều đó là AVR, PIC, 8051 . AT89C51 mà bạn đang học là dòng 8051 của Atmel,
Cả 3 dòng VĐK 8 bit này đều có những đặc điểm chung như các bộ định thời , các ngắt, các chân I/O. Nhưng trong 3 loại trên thì 8051 đang được giới SV ưa chuộng nhất vì nó rẻ tiền , học đơn giản thích hợp cho viêc nghiên cứu làm các ứng dụng nhỏ nhỏ. Còn 2 dòng kia AVR, PIC mạnh hơn nhiều so với 89 vì sự tích hợp thêm nhiều tính năng mới, sự ổn định .... Tuy nhiên PIC và AVR lại khá mắc và khó học hơn 8051

Bạn có thể tham khảo bài viết này để xem sự so sánh giữa PIC và 8051
http://www.diendandientu.com/diendandientu/mvnforum/viewthread?thread=1374

Tôi có ý kiến bổ sung về sự khác biệt giữa các vi điều khiển. Các vi điều khiển tương thích với 8051 của Intel (dòng MCS51) thuộc loại CISC (Complete Instruction Set Computer), cung cấp một tập lệnh khá đầy đủ các chức năng cho người dùng, dùng kiến trúc Von Neumann. Và MCS51 hiện vẫn còn là chuẩn công nghiệp cho các vi điều khiển 8-bit. Còn AVR của Atmel và PIC của Microchip thì thuộc loại RISC (Reduced Instruction Set Computer), sử dụng từ lệnh có kích thước cố định, với số lệnh cơ bản rất ít (ví dụ 35 lệnh cho dòng PIC16), dùng kiến trúc Harvard hay Harvard cải tiến. Gánh nặng về các lệnh phức tạp hơn được đổ lên đầu những nhà phát triển công cụ cấp cao.
Những khác biệt chính trên làm cho AVR và PIC có tính năng mạnh hơn dòng MCS51, nhưng bù lại giá thành của các chip RISC đó cũng cao hơn nhiều so với các chip dòng MCS51.

luanktd
03-03-2007, 12:15 AM
cho em hỏi chủ đề học pic trong vòng một ngày ở phần nào vậy em tìm hoài không thấy

namqn
03-03-2007, 12:54 AM
cho em hỏi chủ đề học pic trong vòng một ngày ở phần nào vậy em tìm hoài không thấy
Ngay trong box này, ở đây:
http://www.picvietnam.com/forum//showthread.php?t=5

Thân,

luanktd
03-03-2007, 08:42 AM
co ai o day ko chi toi voi

namqn: nếu bạn cần biết luồng 'Học PIC trong 1 ngày' ở đâu thì bạn đã được hướng dẫn ở trên, bạn tự xóa post này nhé.

bien_van_khat
03-03-2007, 11:27 AM
-Trước khi biết PIC là gì, tôi còn chưa hiểu VĐK là, tôi chưa mường tượng được quá trình làm việc với một VĐK là như thế nào. Tuy nhiên tôi rất muốn được tiếp xúc với VDK qua một bài báo trên tạp chí điện tử số tháng 4-2003, tôi còn nhớ đó là một bài về Ir remote control, tôi thật sự ấn tượng về nó (dù thực sự là khi đó chẳng biết gì). Nhưng thời đó dù có chạy hết các quầy lk đt của tp Biên Hòa cũng chẳng đào đâu ra 1 con 16F84.

-Cơ hội bắt đầu khi tôi vào ĐH, cái tôi vui nhất là KTX BK nằm sát chợ Nhật tảo. Khi mới nhập học ko biết bao nhiêu lần tôi lang thang trong chợ chỉ để ngắm những quầy hàng. Ở chung phòng với tôi là các anh cùng khoa, tất nhiên tôi không bỏ lỡ cơ hội để hỏi. Lúc đó tôi mới biết đến 89C51, nhưng cái làm tôi chùn bước là số tiền bỏ ra để làm mạch nạp cũng như mạch phát triển là khá nhiều. Lại không thể mượn vì trong thời gian các anh đang làm đồ án. Sau đó do nhiều lý do tôi phải xuông Linh Trung học. Ở đây tôi gặp lại bạn cũ, nó nói về PIC và MPLAB, tôi cũng thử, nhưng vì ko có chip, tôi phải tự nghĩ ra mạch điện, viết chương trình và ... simulate.

-Tôi tiếp xúc với PIC thực sự khi lên lại TP, lúc này anh Hiệp mới bắt đầu khởi xướng phong trào học PIC. Đó là cái thời chật vật để làm cái mạch nạp, nạp ko được lại sợ PIC của mình hư, buồn cả mấy ngày vì 1 con chip cháy khi sơ ý cấp sai nguồn. Mạch điện đầu tiên tôi làm là cái đk từ xa = hồng ngoại. con PIC đầu tiên của tôi là con 16F84A với giá 50K từ tiệm bà Ngọc, tôi xài nó nhiều tới mức nó gãy hết 4 chân ở bốn góc vì tháo ra tháo vô. Nếu ko vì 1 thằng bạn làm hư chắc tới giờ nó vẫn còn chạy tốt.

-Tôi đến với PIC là hoàn toàn tình cờ, tình cờ khi ko có tiền làm mạch cho 89, tình cờ khi được bạn giới thiệu, và cũng tình cờ khi tôi sẵn sàng dùng MPLAB sim để thử "chay" chương trình. Tôi gắn bó với PIC tới giờ vì nó đến với tôi đầu tiên, tôi hài lòng với nó, và vì cũng còn rất nhiều về PIC để tìm hiểu.

formation/z
05-03-2007, 07:19 PM
hồi năm 1998,tui mua được một kit 8051/31,tui cũng biết lập trình sơ sơ bằng những câu lệnh trực tiếp trên kit,đến nay cũng gần 10 năm rồi.Lúc đó thấy ở chợ NT có bán PIC ,tui cũng thích lắm.Nhưng cuộc đời đưa tui đi với những chuyến xe tải đường dài... nay trời xui đất khiến tui thấy được trang web của các bạn,mừng lắm và tui cũng muốn tìm hiểu,học hỏi về PIC cho thỏa chí tò mò,dù có hơi muộn màng.Vậy kính mong các bạn tận tình chỉ giáo!Xin chân thành cảm ơn!

phong_dinh
22-09-2008, 06:51 PM
ai có thể cho em xin phần mềm proreus hay orcad
được ko vậy
nếu ai có thì send cho em vào mail: nguyenvandinhk2a@gmail.com nhew
em cảm ơn nhiều nhiều nhe

minhsondaklak
24-09-2008, 11:26 PM
http://www.picvietnam.com/forum/forumdisplay.php?f=10

gaquay102
10-10-2008, 02:14 AM
Anh F ơi cho em 1 lời khuyên về học PIC.Em mới học PIC,đã nắm vững vào,ra,ADC,PWM chỉ thế thôi còn I2C,timer...e hok hiểu lắm.Hiện h em chỉ biết lập trình CCS thui.Em có nên đọc thêm về asem hok?tài liệu lập trình CCS cho pic ít quá,toàm thấy bằng asem thui