PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 21-07-2005, 08:30 AM   #1
noisePIC
Đệ tử 2 túi
 
Tham gia ngày: May 2005
Bài gửi: 39
:
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?
noisePIC vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-07-2005, 09:42 AM   #2
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
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.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-10-2005, 11:00 AM   #3
LEO-XBS
Đệ tử 1 túi
 
LEO-XBS's Avatar
 
Tham gia ngày: Oct 2005
Bài gửi: 21
:
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!
LEO-XBS vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-10-2005, 02:07 PM   #4
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
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.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-10-2005, 06:20 PM   #5
LEO-XBS
Đệ tử 1 túi
 
LEO-XBS's Avatar
 
Tham gia ngày: Oct 2005
Bài gửi: 21
:
thế tập lệnh của con 16f877a có khác các con khác không hả bác
LEO-XBS vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-11-2005, 09:48 PM   #6
mafd_47a
Đệ tử 3 túi
 
Tham gia ngày: Sep 2005
Bài gửi: 54
:
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 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-11-2005, 05:15 PM   #7
chuabietgi
Đệ tử 1 túi
 
chuabietgi's Avatar
 
Tham gia ngày: Nov 2005
Bài gửi: 17
:
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!
chuabietgi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-11-2005, 10:34 PM   #8
mafd_47a
Đệ tử 3 túi
 
Tham gia ngày: Sep 2005
Bài gửi: 54
:
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
File Kèm Theo
File Type: pdf Vaidiemvevidieukhien.pdf (250.5 KB, 750 lần tải)
mafd_47a vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-12-2005, 07:27 PM   #9
Lazzycat
Nhập môn đệ tử
 
Tham gia ngày: Nov 2005
Bài gửi: 2
:
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?
Lazzycat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-12-2005, 02:23 AM   #10
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
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.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-12-2005, 10:46 AM   #11
hien_viettel
Nhập môn đệ tử
 
Tham gia ngày: Dec 2005
Bài gửi: 3
:
bac cho em hoi pic la gi. em hoc 80c51 roi , no co phai la pic kh?
hien_viettel vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-12-2005, 11:19 AM   #12
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
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
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-12-2005, 11:24 AM   #13
mafd_47a
Đệ tử 3 túi
 
Tham gia ngày: Sep 2005
Bài gửi: 54
:
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
mafd_47a vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-02-2006, 11:55 PM   #14
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
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.
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-03-2007, 12:15 AM   #15
luanktd
Đệ tử 2 túi
 
Tham gia ngày: Nov 2006
Bài gửi: 35
:
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
luanktd vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam