Ngụn ngữ lập trỡnh cho PIC rất đa dạng. Ngụn ngữ lập trỡnh cấp thấp cú MPLAB (được cung cấp miễn phớ bởi nhà sản xuất Microchip), cỏc ngụn ngữ lập trỡnh cấp cao hơn bao gồm C, Basic, Pascal, … Ngoài ra cũn cú một số ngụn ngữ lập trỡnh được phỏt triển dành riờng cho PIC như PICBasic, MikroBasic,…
2.1.5. Mạch nạp PIC
Đõy cũng là một dạng sản phẩm rất đa dạng dành cho vi điều khiển PIC. Cú thể sử dụng cỏc mạch nạp được cung cấp bởi nhà sản xuất là hóng Microchip như: PICSTART plus, MPLAB ICD 2, MPLAB PM 3, PRO MATE II. Cú thể dựng cỏc sản phẩm này để nạp cho vi điều khiển khỏc thụng qua chương trỡnh MPLAB. Dũng sản phẩm chớnh thống này cỳ ưu thế là nạp được cho tất cả cỏc vi điều khiển PIC, tuy nhiờn giỏ thành rất cao và thường gặp rất nhiều khú khăn trong quỏ trỡnh mua sản phẩm. Ngoài ra do tớnh năng cho phộp nhiều chế độ nạp khỏc nhau, cũn cú rất nhiều mạch nạp được thiết kế dành cho vi điều khiển PIC. Cú thể sơ lược một số mạch nạp cho PIC như sau:
JDM programmer: mạch nạp này dựng chương trỡnh nạp Icprog cho phộp nạp cỏc vi điều khiển PIC cú hỗ trợ tớnh năng nạp chương trỡnh điện ỏp thấp ICSP (In Circuit Serial Programming). Hầu hết cỏc mạch nạp đều hỗ trợ tớnh năng nạp chương trỡnh này. WARP-13A và MCP-USB: hai mạch nạp này giống với mạch nạp PICSTART PLUS do nhà sản xuất Microchip cung cấp, tương thớch với trỡnh biờn dịch MPLAB, nghĩa là ta cú thể trực tiếp dựng chương trỡnh MPLAB để nạp cho vi điều khiển PIC mà khụng cần sử dụng
một chương trỡnh nạp khỏc, chẳng hạn như ICprog. P16PRO40: mạch nạp này do Nigel thiết kế và cũng khỏ nổi tiếng.hóng cũng thiết kế cả chương trỡnh nạp, tuy nhiờn ta cũng cú thể sử dụng chương trỡnh nạp Icprog. Mạch nạp Universal của Williem: đõy khụng phải là mạch nạp chuyờn dụng dành cho PIC như P16PRO40.
Cỏc mạch nạp kể trờn cú ưu điểm rất lớn là đơn giản, rẻ tiền, hoàn toàn cú thể tự lắp rỏp một cỏch dễ dàng, và mọi thụng tin về sơ đồ mạch nạp, cỏch thiết kế, thi cụng, kiểm tra và chương trỡnh nạp đều dễ dàng tỡm được và download miễn phớ thụng qua mạng Internet. Tuy nhiờn cỏc mạch nạp trờn cú nhược điểm là hạn chế về số vi điều khiển được hỗ trợ, bờn cạnh đú mỗi mạch nạp cần được sử dụng với một chương trỡnh nạp thớch hợp.