Chào các bạn ! Lập trình cho vi điều khiển là một lĩnh vực mà những người thiết kế các hệ thống điện - điện tử, tự động hóa, viễn thông...cần phải biết. Vi điều khiển là bộ môn không quá khó mà cũng chẳng quá dễ nó đòi hỏi người học phải kiên trì rèn luyện từ lý thuyết cho đến thực hành.

PIC-MCU

 

Hiện tại có rất nhiều loại vi điều khiển từ dòng kinh điển 8051 cho đến AVR, ARM và PIC mỗi loại đều có tính ưu việt riêng tuy nhiên EPICVIET chọn vi điều khiển PIC là vì 

PIC có nhiều ưu điểm :

- PIC là vi điều khiển xử lý rất nhanh và đơn giản để thực hiện chương trình do PIC được tổ chức phần cứng theo kiến trúc Harvard, và tập lệnh RISC do đó CPU có thể làm việc trực tiếp với cả hai bộ nhớ dữ liệu và bộ nhớ chương trình cùng một lúc, làm cho tốc độ xử lý nhanh hơn. Các bạn có thể tham khảo bài Giới thiệu về PIC

- Dễ dàng lập trình và giao tiếp với các thiết bị ngoại vi khác với các giao tiếp I2C, SPI,CAN, UART, USB được tích hợp sẵn.

- Tích hợp sẵn các Module PWM, Capture, Comparator

- Bộ chuyển đổi ADC 10 bit, bộ nhớ EEPROM 256 bytes, và còn tăng lên ADC 12 bit và EEPROM 1024 bytes với dsPIC.

- Đầy đủ các thể loại TIMER, COUNTER, WATCHDOG TIMER, SLEEP MODE ...

- Đa dạng về chủng loại do đó rất linh hoạt trong các ứng dụng từ đơn giản đến phức tạp, chúng ta có thể sử dụng PIC 12F675 để làm các ứng dụng đơn giản, PIC 16F877, PIC 16F887 cho các ứng dụng trung bình, PIC 18F4550, PIC 18F2550 cho các ứng dụng lớn hơn hay giao tiếp USB  còn đối với các ứng dụng siêu lớn thì các dòng dsPIC như dsPIC 30F, dsPIC33F  thì thật là tuyệt vời.

- Có nhiều phần mềm hỗ trợ lập trình (trình biên dịch) như CCS, MPLAP, HT PIC.

- Có rất nhiều bài học, khóa học, forum, website hướng dẫn trao đổi kinh nghiệm học lập trình PIC ( EPICVIET.COM là một website như thế :))

Trong website này mình sử dụng phần mềm CCS để lập trình cho vi điều khiển PIC là vì :

  • Kế thừa tất cả đặc điểm của ngôn ngữ C- là ngôn ngữ cơ bản, quen thuộc.
  • Xây dựng sẵn các hàm phục vụ cho việc sử dụng dễ dàng các khối chức năng đặc biệt của Vi điều khiển PIC, dsPIC như khối ADC, PWM, RS232, SPI, USB, I2C....
  • Có khả năng kết hợp với ngôn ngữ hợp ngữ, tạo sự mềm dẻo trong phát triển ứng dụng với PIC và dsPIC
  • Khả năng phát triển, nâng cấp ứng dụng là dễ dàng từ PIC cho đến dsPIC.
  • Ngày càng được cập nhật với nhiều tính năng ưu việt và hiệu quả hơn phù hợp với sự phát triển các dòng vi điều khiển của hãng Microchip.

Các bạn có thể tham khảo các bài viết về Phần mềm CCS tại đây 

Trong website này mình sử dụng phần mềm vẽ mạch Proteus để thực hiện vẽ schematic, PCB và mô phỏng cho vi điều khiển PIC là vì Proteus có nhiều ưu điểm như :

- Ưu điểm đầu tiên phải kể đến là Proteus có phần mô phỏng của nó quá mạnh có thể mô phỏng được hầu hết các dòng vi điều khiển trong đó có PIC. Các bạn có thể tham khảo bài  Hướng dẫn mô phỏng vi điều khiển PIC trên proteus.

- Dễ dàng tạo ra được một sơ đồ nguyên lý từ đơn giản đến phức tạp .

- Proteus có một thư viện khá lớn với hơn 7000 linh kiện, các linh kiện được thiết kế rất đẹp về đồ họa để tiện dụng cho việc mô phỏng.

- Có các công cụ hỗ trợ cho việc phân tích mạch như Vol kế, Ampe kế, Oscilloscope, máy phát tần số, phát tín hiệu logic....

Mạch nạp và Kit cho việc học lập trình PIC 

Mạch nạp cho PIC cũng khá đa dạng và giá thành hợp lý có thể kể đến các mạch nạp sau :

- Mạch nạp PIC KIT 3 : nạp được cho tất cả các loại vi điều khiển của hãng Microchip thông qua giao tiếp USB. Hỗ trợ Debug với MPLAB, kiểm tra lỗi sau khi nạp. Hỗ trợ điện áp thấp đến 2.0 volt (từ 2.0v đến 6.0v), đóng băng các ngoại vi khi dừng lại để debug, lưu được chương trình  tới 512K byte trong flash ở chế độ Programmer-to-Go.

- Mạch nạp PIC KIT 2, PIC KIT2 PLUS : sử dụng tốt với hầu hết các loại vi điều khiển PIC, dsPIC thông qua giao tiếp USB. Hỗ trợ Debug với MPLAB, kiểm tra lỗi sau khi nạp.

- Mạch nạp PIC K150 : Hỗ trợ nhiều dòng PIC thường, không hỗ trợ dsPIC

 Các dòng chip PIC nên sử dụng :

- PIC 12F675 nhỏ gọn chỉ có 8 chân nhưng có ADC 10 bit, EEPROM 128 bytes, timer0 8 bit và timer1 16bit, 4MHZ thạch anh dao động nội.

- PIC 16F876A : 28 chân, 5 kênh ADC 10 bit, Timer: 2 x 8-bit, 1 x 16-bit, 256 bytes EEPROM, có đầy đủ các Module PWM, Capture, Comparator.

- PIC 16F877A, PIC 16F887 : Là 2 vi điều khiển 40 chân mà được sử dụng rất nhiều vì tài nguyên phong phú và dễ sử dụng.

- PIC 18F4550, PIC 18F2550 : Nếu ai chạy ứng dụng giao tiếp USB thì không thể bỏ qua 2 em này.

- Các dòng chip dsPIC : thì rất tuyệt vời với nguồn tài nguyên vô cùng lớn dùng để thiết kế cho những dự án cỡ lớn tuy nhiên EPICVIET hay dùng các dòng dễ mua trên thị trường Việt Nam như : dsPIC 30F4013, dsPIC 30F3013, dsPIC 30F4011. Có thể điểm qua một số tính năng của dsPIC : là dòng vi điều khiển 16 bits, dsPIC khác với PIC ở chỗ dsPIC có thêm một DSP engine hỗ trợ một số lệnh cơ bản phục vụ cho các ứng dụng xử lý số (Digital Signal Processing).

Kit PIC cũng như các Kit của các dòng vi điều khiển khác nó hỗ trợ cho việc thực hành, học tập, chạy thử nghiệm các bạn học PIC nên sắm cho mình 1 bộ PIC KIT để tiện cho việc học. Trên PIC KIT người ta đã tích hợp đầy đủ các ngoại vi,ứng dụng, giao tiếp, hiển thị như ADC, thời gian thực, nhiệt độ, LCD, led 7 đoạn, led đơn, USB,UART, SD CARD... Kit Pic có rất nhiều loại do các nhà phát triển ứng dụng PIC thiết kế có thể kể đến KIT PIC PRO, EASY PIC KIT, EASYdsPIC KIT, KIT PIC V4 , KIT PIC START....

Kết bài : PIC là một dòng vi điều khiển đáng để nghiên cứu và học tập, dùng làm MCU chính cho các thiết kế, ứng dụng thông minh. Các bạn mới học nên chuẩn bị những thứ sau đây để bước vào con đường chinh phục dòng vi điều khiển này :

1. Trang bị cho mình những kiến thức cơ bản về điện tử ( điện trở, tụ điện, transistor, IC số ...) các bạn có thể tham khảo điện tử cơ bản

2. Trang bị cho mình những kiến thức cơ bản về kỹ thuật số, bit, byte, binary, hex...

3. Trang bị cho mình kiến thức về vi điều khiển nói chung ( vi điều khiển là gì ? Timer ? Counter ? ngắt , I/O Port ...)

4. Cài đặt phần mềm CCS phiên bản mới nhất ( Có rất nhiều trên mạng internet hỏi google là có)

5. Cài đặt cho mình phần mềm vẽ mạch và mô phỏng mạch Proteus mới nhất ( Cũng có rất nhiều trên mạng..).

6. Trang bị cho mình 1 bộ MẠCH NAP mình khuyên là PICKIT3 vì nó là phiên bản hỗ trợ được nhiều dòng PIC, dsPIC.

7. Trang bị cho mình 1 bộ PIC KIT để tiện cho việc học.

8. Mua cho mình một vài dòng PIC cơ bản như PIC 12F675, PIC 16F876A, PIC 16F877A, PIC 16F887, PIC 18F4550/18F2550, dsPIC 30F4013/30F3013 để tùy vào thiết kế mà sử dụng loại nào cho phù hợp.

9. Lưu lại những forum, website, tài liệu về PIC . có thể kể đến EPICVIET.COM, picvietnam... và nhiều website về PIC bằng tiếng Anh cứ lên google mà hỏi là có ngay.

10. Cuối cùng là một tinh thần ham học hỏi, tìm tòi, sáng tạo và đặc biệt là phải kiên trì không bao giờ bỏ cuộc giữa đường. :)).

DƯỚI ĐÂY LÀ MỘT VÀI LINK MUA SẮM CHO VIỆC HỌC PIC :

Mua mạch nạp cho PIC : 

Link mua mạch nạp cho PIC tại shopee

Link mua mạch nạp cho PIC tại sendo

Mua KIT PIC :

Link mua KIT PIC tại shopee

Link mua KIT PIC tại sendo

Mua các dòng vi điều khiển PIC : 

Link mua PIC 12F675 tại shopee

Link mua PIC 12F675 tại sendo

Link mua PIC 16F876A tại shopee

Link mua PIC 16F876A tại sendo

Link mua PIC 16F877A tại shopee

Link mua PIC 16F877A tại sendo

Link mua PIC 16F887 tại shopee

Link mua PIC 16F887 tại sendo

Link mua PIC 18F4550 tại shopee

Link mua PIC 18F4550 tại sendo

Mua các dòng vi điều khiển dsPIC :

Chúc các bạn mau chóng thành công với vi điều khiển PIC

Nhóm phát triển Epicviet