PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Bạn học PIC như thế nào? (http://www.picvietnam.com/forum/showthread.php?t=91)

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?

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

Trích:

Nguyên văn bởi LEO-XBS
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

1 Attachment(s)
Trích:

Nguyên văn bởi chuabietgi
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/diendan...ad?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

Trích:

Nguyên văn bởi hien_viettel
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/diendan...ad?thread=1374

namqn 09-02-2006 11:55 PM

Trích:

Nguyên văn bởi mafd_47a
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/diendan...ad?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


Múi giờ GMT. Hiện tại là 08:46 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam