(Cơ điện tử Việt Nam - Vi điều khiển) Hướng dẫn này được thiết kế cho những người mới bắt đầu làm quen với thế giới Vi điều khiển, nhằm cung cấp một chút kiến thức về công nghệ này. Họ PIC (Bộ điều khiển giao diện ngoại vi) phổ biến trong giới sinh viên, những người yêu thích và cả các nhà phát triển công nghiệp do chi phí thấp, khả năng lập trình nối tiếp và tính khả dụng của nó.
Các bộ vi điều khiển PIC 8-bit được chia thành bốn họ lớn dựa trên các tính năng đặc biệt được tích hợp sẵn của chúng:
- Dòng PIC10FXXX
- Dòng PIC12FXXX
- Dòng PIC16FXXX
- Dòng PIC18FXXX
Mặc dù, Microchip cũng cung cấp hàng loạt bộ vi điều khiển tiên tiến như PIC32, PIC24 và DSpic. Nhưng nếu bạn là người mới trong lĩnh vực này, chúng tôi khuyên bạn nên bắt đầu với dòng PIC16 hoặc PIC18.
Làm thế nào để bắt đầu học Vi điều khiển Pic?
Để đi sâu vào quá trình học về vi điều khiển Pic, trước tiên chúng ta cần chọn một vi điều khiển. Chúng ta luôn nên chọn một bộ vi điều khiển đơn giản (Số chân thấp và ít thiết bị ngoại vi hơn) và bộ vi điều khiển nổi tiếng. Bởi vì bạn có thể dễ dàng tìm thấy rất nhiều nguồn hỗ trợ và các diễn đàn trực tuyến nếu bạn gặp bất kỳ vấn đề và khó khăn nào.
Hãy chỉ lấy ví dụ về một bộ vi điều khiển PIC duy nhất từ họ PIC 16FXXX cho tài liệu này. Vào cuối tài liệu này, bạn sẽ có đủ kiến thức để làm việc với các MCU tiêu chuẩn khác của họ PIC16FXXX, vì chúng đều có kiến trúc tương tự. Chúng ta sẽ lấy ví dụ về vi điều khiển PIC16F877A . Vì đây là một trong những MCU phổ biến nhất của công ty Microchip.
Vi điều khiển PIC16F877A
PIC16F877A là một trong những bộ điều khiển được sử dụng rộng rãi nhất. Cấu hình chân của MCU và một số chức năng của nó được minh họa bên dưới. Nó là một Vi điều khiển DIP 40 chân (cũng có sẵn trong các gói khác).
Kết nối phần cứng bắt buộc
Chân cấp nguồn
Đầu tiên, bạn nên kiểm tra các chân Vdd (Nguồn cấp) và Vss (nối đất) của vi điều khiển Pic. Hai chân thường được sử dụng để cung cấp điện áp. Như bạn có thể thấy từ sơ đồ sơ đồ chân của vi điều khiển PIC16F877A ở trên, chân 11 và chân32 là chân Vdd. Theo biểu dữ liệu, chúng tôi có thể kết nối nguồn điện +5 volt vào các chân này. Đảm bảo sử dụng nguồn điện ổn định và ít ồn hơn để cấp nguồn cho bộ vi điều khiển pic.
Chân đất
Tương tự, hai chân được sử dụng để kết nối các đầu nối đất của nguồn điện. PIC16F877A có hai chân Vss như chân 12 và chân31. Bạn nên kết nối các chân này với đầu nối đất của nguồn điện.
Đặt lại mạch
Vi điều khiển PIC16F877A cũng có chân rõ ràng chính. Pin này đang hoạt động ở mức thấp. Chúng tôi sử dụng chân này để thiết lập lại vi điều khiển. Tương tự như khi chúng ta muốn thiết lập lại hoặc khởi động lại máy tính của mình. Khi chúng tôi áp dụng một tín hiệu thấp hoạt động cho chân này, vi điều khiển pic sẽ thiết lập lại và tạm dừng tất cả các hoạt động của vi điều khiển. Điều này cũng được bật như một thiết lập lại khi bật nguồn. Bởi vì vi điều khiển pic cũng có các tài nguyên thiết lập lại khác.
Mạch tạo dao động
Vi điều khiển Pic cung cấp nhiều tùy chọn để chọn nguồn xung nhịp. Hầu như tất cả các MCU PIC cũng hỗ trợ bộ tạo dao động bên trong. Vì vậy, chúng tôi không phải kết nối một bộ dao động bên ngoài. Nhưng bộ dao động tinh thể bên trong thường hỗ trợ tần số hoạt động thấp. Nhưng nếu dự án nhúng của bạn yêu cầu tần số hoạt động cao, bạn phải sử dụng bộ tạo dao động tinh thể bên ngoài. PIC16F877A có hai chân được sử dụng để kết nối các bộ dao động tinh thể bên ngoài như OSC1 và OSC2.
Yêu cầu tiêu chuẩn
Vdd (pwr) và Vss (nối đất) cần được nối với nguồn và nối đất tương ứng. Chân 1 là chân MCLR cho tính năng khởi động lại chương trình. Nó phải được buộc vào Vdd với một điện trở kéo lên ở giữa. Vì PIC16F877A không có bộ dao động bên trong nên bạn cần có một tinh thể bên ngoài kết nối qua chân 13 và 14.
Bộ vi điều khiển PIC Mục đích chung Cổng đầu ra đầu vào
Một trong những chương trình đầu tiên mà chúng tôi đề xuất với bộ vi điều khiển là sử dụng ví dụ nhấp nháy đèn LED hoặc cách sử dụng nút nhấn với bộ vi điều khiển pic. Để sử dụng đèn LED và nút nhấn với vi điều khiển pic, chúng ta cần hiểu các chân đầu vào / đầu ra có mục đích chung.
Có 5 cổng trong PIC16F877A với cổng A và E có ít chân hơn cổng B, C và D. Chúng được gọi là chân I / O kỹ thuật số. CCP1 và CCP2, được chia sẻ với các chân I/O RC1 và RC2, có thể được sử dụng để tạo tín hiệu PMW bằng bộ vi điều khiển. Các chân PGC và PGD được sử dụng để lập trình và gỡ lỗi. Thông tin này rất hữu ích khi viết mã lập trình.
PORTA và TRISA
PortA là một cổng hai chiều, có 6-bit (A0-A5). Thanh ghi TRISA được sử dụng để xác định trạng thái của cổng tương ứng, tức là nó đang hoạt động như một cổng đầu vào hay một cổng đầu ra. Nếu bit TRISA = 1, chân cổng tương ứng được đặt làm đầu vào. Nếu bit TRISA = 0, chân cổng tương ứng được đặt làm đầu ra. Hầu hết các chân portA được ghép với các chân đầu vào tương tự được sử dụng cho bộ chuyển đổi A / D. Đảm bảo TRISA được đặt thành 1 khi sử dụng nó làm đầu vào tương tự.
PORTB và TRISB
PortB là một cổng hai chiều, có 8-bit (B0-B7) và TRISB là thanh ghi hướng dữ liệu của nó. Một bit trong PortB được đặt làm đầu vào nếu bit TRISB tương ứng của nó bằng 1. Trong khi nếu bit TRISB bị xóa, thì bit PortB tương ứng sẽ được đặt làm đầu ra. RB6 và RB7 được ghép với các chức năng PGC và PGD được sử dụng để lập trình và gỡ lỗi.
PORTC và TRISC
Cũng giống như PortA và PortB, PortC là một cổng hai chiều, 8 bit. Bit TRISC = 1 đặt bit PortC tương ứng làm đầu vào và bit TRISC = 0 đặt bit PortC tương ứng làm đầu ra. PORTC cũng được ghép với nhiều chức năng ngoại vi.
PORTD và TRISD
PORTD cũng là một cổng 8 bit, hai chiều. Mỗi chân trong PortD có thể được định cấu hình riêng như đầu vào hoặc đầu ra. Nó có thể được cấu hình như một Cổng Slave song song nếu 4-bit của TRISE (PSPMODE) được đặt thành 1.
DOOR và TRISE
PORTE chỉ có 3-bit (E0-E2) cũng có thể được cấu hình riêng làm đầu vào hoặc đầu ra. Tất cả 3 chân PORTE đều được ghép với các đầu vào tương tự.
Bây giờ bạn đã biết về các chân đầu vào-đầu ra của PIC16F877A. Bây giờ chúng tôi khuyên bạn nên đọc hướng dẫn nhấp nháy đèn LED này:
Trình biên dịch vi điều khiển PIC
Hai trong số những trình biên dịch phổ biến nhất được sử dụng để viết chương trình cho MCU vi mạch là trình biên dịch MPLAB XC và mikroC Pro cho PIC. Bạn có thể sử dụng bất kỳ trình biên dịch nào. Nhưng nếu bạn mới bắt đầu, chúng tôi khuyên bạn nên sử dụng mikroC cho pic vì tính dễ sử dụng và các thư viện tích hợp sẵn. Bạn có thể đọc các bài viết này trên cả hai trình biên dịch:
Bộ hẹn giờ và bộ đếm
Bộ vi điều khiển PIC có một hệ thống định thời chính xác được tích hợp sẵn được gọi là bộ định thời / bộ đếm, có thể được sử dụng để thực hiện một số tác vụ như tạo tín hiệu định thời, tính toán khoảng thời gian của một sự kiện, lưu giữ bản ghi ngày và giờ, v.v. Vì bộ đếm chạy độc lập nên nó có thể đếm các chu kỳ lệnh đồng thời với việc thực hiện chương trình chính. PIC16F877A bao gồm 3 mô-đun hẹn giờ:
- TIMER0
- TIMER1
- TIMER2
Hướng dẫn này cung cấp cho bạn kiến thức cơ bản cần thiết để bắt đầu với Bộ vi điều khiển PIC.
Bước tiếp theo
Các hướng dẫn tiếp theo bao gồm:
- Cách lập trình Vi điều khiển PIC
- Đèn LED nhấp nháy với Bộ vi điều khiển PIC
- Giao diện LCD với Vi điều khiển PIC
- Giao diện bàn phím với Vi điều khiển PIC
- Động cơ bước với Bộ vi điều khiển PIC
- Động cơ servo với Bộ vi điều khiển PIC
- Giao tiếp nối tiếp sử dụng Vi điều khiển PIC
- Điều chế độ rộng xung sử dụng vi điều khiển PIC
- Bộ đếm hiển thị bảy đoạn 0-99 sử dụng Bộ vi điều khiển PIC