Bắt đầu lập trình PIC


13

Tôi đã xem xét việc lập trình PIC, nhưng không giống như một số bộ vi điều khiển khác có sẵn, số lượng chip khác nhau có sẵn đã gây cho tôi một số nhầm lẫn. Dường như một số chip được đề xuất trên một số trang web là lựa chọn tốt cho những người bắt đầu với lập trình PIC có thể đã được thay thế (hoặc tôi có thể còn bị lẫn lộn hơn nữa).

Vì vậy, câu hỏi của tôi sôi xuống đến ba phần:

  • Điều gì sẽ là một chip PIC tốt để bắt đầu với?

  • Tôi khá vui khi làm trình biên dịch hoặc một số ngôn ngữ khác, vậy bạn muốn đề xuất IDE / ngôn ngữ nào cho Linux?

  • Bạn có đề xuất gì về việc nhận mã vào chip, qua kết nối USB từ máy tính xách tay Linux (PicKit 2? Là một khả năng) và tôi cần cấu hình mạch / bảng nào để làm điều này?

Chỉnh sửa: Sau một cuộc thảo luận dài với Kortuk (xem bình luận bên dưới) về giá trị của các bộ công cụ khác nhau, tôi đã quyết định bắt đầu với Bộ công cụ PicKit2 Starter. Điều này đi kèm với một chip PIC16F690 được cài đặt.

Câu trả lời:


7

Tôi đồng ý với PIC18 nhưng đối với một người mới bắt đầu, họ có thể hơi dữ dội. Tôi hiện đang dạy các kỹ sư điện cấp cao về phát triển PIC và thậm chí trong cùng các lớp, phạm vi nền của họ có thể đáng kinh ngạc.

Tôi hiện đang dạy mọi người với trình biên dịch CCS PIC-C nhưng nó tốn tiền. Thật đơn giản không thể tin được và đã được chọn vì hầu hết các sinh viên của chúng tôi chỉ làm việc trong môi trường phòng thí nghiệm với lập trình cơ bản hoặc lập trình x86.

Tôi có cảm giác PIC16 rất đơn giản có thể phù hợp hơn, nhưng nó sẽ phụ thuộc vào nền tảng của bạn. PIC16F688 là một PIC rất đơn giản mà chúng tôi sử dụng cho dự án đầu tiên của mình để sưởi ấm mọi người.


1
Tôi có Bằng danh dự hạng nhất về máy tính bao gồm rất nhiều chương trình (chủ yếu là C ++, một chút VB6, một số trình biên dịch). Tôi cũng có bằng Toán và dạy Toán cho học sinh cấp hai. Tôi có thể và thực hiện chương trình bằng nhiều ngôn ngữ (không phải C) và đang xem xét nhiều thứ mới khác nhau, bao gồm chơi với Vi điều khiển.
A-mốt

1
16F88 là một lựa chọn hoàn hảo. Có một triệu PIC khác nhau ngoài kia, và tôi nghĩ khoảng 50.000 trong số chúng là tốt để bắt đầu. Lập trình Vi điều khiển rất thường có vấn đề với những người tôi đã giúp với nền tảng CS vì họ không tham gia nhiều lớp học về điện, điều tôi ước họ sẽ thêm vào các chương trình cấp bằng. Tôi không nghĩ rằng việc lập trình sẽ khó khăn chút nào, nhưng có lẽ sẽ không phải là một lựa chọn tồi để có được một ban phát triển. Điều này sẽ bị ảnh hưởng bởi phạm vi giá của bạn. microchipdirect.com/Sản phẩm
kiếm.aspx? Keywords = DV164120

1
Tôi nghĩ rằng liên kết cuối cùng tôi đã đăng có thể là một lựa chọn tốt, nó sẽ cung cấp cho bạn một bảng đã được nối dây để hoạt động với giá 50 đô la (-25% nếu bạn có email .edu) và sau đó bạn có một lập trình viên bạn có thể sử dụng cho bất kỳ con chip nào khác bạn nhận được. Tôi mong muốn được nghe các dự án của bạn đi như thế nào.
Kortuk

1
Nếu bạn nhận được DM164120-1, tôi khuyên bạn nên sử dụng PIC đi kèm. Tôi đang ở ngay giữa việc giúp đỡ ai đó với một dự án mà họ cần dạy lớp vào ngày mai hoặc tôi sẽ tìm kiếm nhiều hơn, nhưng mỗi nơi tôi tìm thấy bảng của bạn, tôi không thể tìm thấy sơ đồ đó. Tôi có thể nói với bạn dựa trên pin-out của PIC16F631, nó không tương thích với PIC16F88. Các chân nguồn và lập trình sẽ không xếp hàng. Nếu bạn mua một bảng dev, chỉ cần sử dụng PIC đi kèm, bạn sẽ hạnh phúc hơn đáng kể.
Kortuk

2
Vâng, bạn đã thực hiện nghiên cứu của bạn tốt. Sự giúp đỡ của tôi có thể đã có một chút sai lầm. Nếu bạn muốn bị ướt chân, một ban phát triển là một cách để tránh đối phó với phần cứng xây dựng PIC trước khi bạn sẵn sàng. Nếu bạn đi theo con đường này, tôi sẽ đề nghị sử dụng PIC đi kèm với bảng và xác định lựa chọn PIC tiếp theo của bạn sau khi bạn sẵn sàng xây dựng các bảng của riêng mình. Nếu bạn muốn pic của riêng bạn ngay từ đầu, hãy mua một lập trình viên, pic và bất cứ thứ gì bạn cần để chạy pic từ đầu. Bạn có thể tiết kiệm tiền và sử dụng một chiếc bánh mì.
Kortuk

4

Đối với PIC, có một trình biên dịch mã nguồn mở gọi là JAL (Just Another Language)

Giống như các ngôn ngữ lập trình khác, nó cho phép khả năng sử dụng các thư viện phần cứng để đơn giản hóa đáng kể quá trình gắn PIC đã chọn của bạn vào phần cứng khác. Phần mềm cũng sẽ cho phép bạn biên dịch và tải lên các chương trình thông qua PIC2 (hoặc bản sao của lập trình viên này)

JAL là ngôn ngữ dựa trên Pascal và là phần mềm miễn phí (luôn luôn tốt nếu bạn mới bắt đầu)

JAL Wiki

Đối với sách, "Vi điều khiển PIC, 50 dự án cho người mới bắt đầu và các chuyên gia" của Bert Van Dam rất đáng xem như là một giới thiệu về JAL

Cho đến nay tôi chỉ sử dụng chip 16F877A từ PIC, một chip mới bắt đầu tốt. Khá rẻ và rất nhiều cổng có sẵn.


Chúc mừng, tôi sẽ có một cái nhìn. JAL có sử dụng một IDE cụ thể, có sẵn cho Linux không?
A-mốt

1
Vâng, nó có một cái tên là JAL Edit, nó sẽ giúp bạn đứng về phía mã hóa và có một công cụ điển hình mà bạn có xu hướng tìm thấy trên IDE của jal.sunish.net/jaledit
Justblair

Thật không may, chỉ có Windows, có một phiên bản dành cho Linux có tên PicShell, bản Beta hiện tại có tại: linux.softpedia.com/get/Text-Editing-Processing/IDEs/ Kẻ
Amos

2

Đối với chip nhìn vào loạt 18F, giá rẻ nhất là 16F rất nhiều ruột. 18F2550 là một con chip đẹp và bao gồm USB, có những con khác trong cùng một bộ. Hãy nhìn vào biểu đồ lựa chọn vi mạch trên trang web của họ.

IDE miễn phí từ vi mạch bao gồm C mà bạn nên sử dụng trên trình biên dịch IMHO. Không chắc chắn nếu IDE vi mạch chạy trên Linux nhưng nó có thể.

PicKit có thể tốt cho lập trình, có thể muốn ghi bootloader lần đầu tiên sau đó bootload qua usb. Bitwacker (google nó) là một thiết lập tốt để sử dụng hoặc sao chép.

Có rất nhiều diễn đàn và các trang web khác, chỉ cần google. Một vấn đề với PIC là có rất nhiều ngôn ngữ và không có ngôn ngữ nào giống nhau (ngay cả trong trình biên dịch c) Nếu bạn có thể viết một câu hỏi hay, hãy hỏi trên piclist.com, nhưng hãy làm bài tập về nhà trước. Diễn đàn không phải là nơi tốt nhất để học, hãy tìm các trang hướng dẫn cho điều đó (một lần nữa trang web bitwacher cũng tốt, cũng là google "Cuộc phiêu lưu nhúng", anh chàng đã làm rất nhiều trong C (nhưng không phải là vi mạch)


Tôi đã đánh dấu các Cuộc phiêu lưu được nhúng khi tôi có một hoặc hai giờ để giết và đã xem Bitwacker để tham khảo trong tương lai. Chúc mừng.
A-mốt

1

Bảng Dwengo dựa trên PIC18F4550, họ cũng có một bản sao PICkit2 chi phí thấp và một số hướng dẫn rất tốt để giúp bạn bắt đầu: http://www.dwengo.org/tutorials


Hấp dẫn. Bạn sẽ không giống Wim, ai cũng là một trong Đội Dwengo chứ?
A-mốt

Đúng, cùng một ;-)
Wim

1

Để tham khảo một số thứ, tôi đã lập trình một chút với PIC bằng cách sử dụng bộ công cụ Pik Kit 2 Pickit 1, tôi muốn giới thiệu 100 dự án vi điều khiển cho thiên tài xấu xa, tôi cũng có một số bài đăng trên blog đang xử lý những điều đó

http://blog.onaclovtech.com/2010/01/interrupts.html

http://blog.onaclovtech.com/2010/01/analog-inputs.html

http://blog.onaclovtech.com/2010/02/pic-16f913-quick-reference-guide.html

http://blog.onaclovtech.com/2010/02/pic-16f913.html

Tôi dự định đăng một bản cập nhật SPI cũng như khi tôi tìm ra cách xử lý lưu lượng xe buýt CAN bằng cách sử dụng một số chip vi mạch, tôi cũng sẽ có các bản cập nhật.

Cảm ơn bạn,

onaclov


Có vẻ thú vị, tôi sẽ xem xét kỹ hơn về công cụ của bạn khi tôi có một phút.
A-mốt

Tôi có thể chỉ không biết nhìn mọi lúc mọi nơi, nhưng cảm giác như được so sánh với avr và arduino thực tế không có hướng dẫn nào về PIC và tôi thực sự muốn thay đổi điều đó ....
onaclov2000

1

Nếu bạn muốn sử dụng PIC, tôi sẽ xem xét nghiêm túc loạt ảnh 16 bit của PIC24 hoặc DSPIC33 rất giống nhau. Chúng nhanh hơn, mạnh hơn, theo nhiều cách dễ dàng hơn để lập trình và không tốn nhiều hơn so với 8 bit cơ bản nhất. Những cái thấp hơn cũng có sẵn trong các gói ổ cắm DIP thân thiện với bánh mì.

Mặc dù vậy, rất khó để tìm thấy các ví dụ trên internet, nhưng theo như tôi có thể thấy đó là nhược điểm chính.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.