Sau khi đã biết về kiến trúc của PIC16F84A, chúng ta hãy bắt đầu học cách lập trình điều khiển. Như bạn đã biết (nếu bạn đã đọc bài viết về bắt đầu với PIC16F84A), các chân của cổng B RB6 và RB7 cùng với chân MCLR sẽ được sử dụng để lập trình điều khiển (để nói lại, RB6 là chân 12, RB7 là chân 13 và MCLR là chân 4 của vi điều khiển). Vậy, lập trình là gì? Nó chỉ đơn giản như sau - đây là các bước để lập trình điều khiển:
- Kết nối chân MCLR (chân thứ 4) với 13 volt.
- RB6 (chân 12) được sử dụng cho xung lập trình chuỗi.
- RB7 (chân 13) được sử dụng cho dữ liệu lập trình chuỗi.
Ngay khi bạn kết nối chân MCLR với 13 volt, điều khiển "biết" rằng nó sẽ nhận xung lập trình chuỗi qua RB6 và dữ liệu lập trình chuỗi qua RB7. Bây giờ, đừng lo lắng về cách gửi xung lập trình chuỗi và dữ liệu - có hàng chục ứng dụng có sẵn có thể thực hiện điều này cho bạn.
Xây dựng chương trình:
PIC16F84A tương thích với cổng nối của máy tính của chúng ta (bạn có thể tìm thấy nó trong máy tính để bàn hoặc laptop cũ - một kết nối 9 chân màu xanh dương). Nó được thiết kế để lấy dữ liệu từ cổng nối chuỗi của máy tính. Vì vậy, nếu bạn sẽ sử dụng cổng USB, bạn cần một vi mạch chuyển đổi từ chuỗi sang USB. Ở đây, tôi sẽ chỉ ra một mạch làm việc tốt với cổng chuỗi. Đối với những người không có cổng chuỗi, bạn có thể mua một bộ lập trình PICKIT2 từ Microchip. Tin tôi đi - đó là đầu tư đáng giá vào bộ lập trình này và bạn có thể lập trình một loạt các vi điều khiển PIC với nó và nó tương thích với USB.
Dưới đây là một bộ lập trình cổng chuỗi rất chi phí thấp của JDM cho PIC16F84A (tôi đã kiểm tra và nó hoạt động tốt).
Bạn có thể mua bộ lập trình PICKit2 của Microchip trên trang web của họ.
Okay, bây giờ sau khi đã xây dựng / mua bộ lập trình của bạn, hãy bắt đầu lập trình PIC. Ban đầu, tôi muốn tiến triển trong việc chỉ ra cách lập trình điều khiển này bằng ngôn ngữ lập trình hợp ngữ. Chúng ta đều biết rằng C thực sự rất dễ học và cần rất ít mã lệnh để viết chương trình. Nhưng lý do chọn lựa hợp ngữ là, khi sử dụng hợp ngữ, bạn sẽ hiểu rõ hơn về điều khiển và có được sự nắm vững tốt hơn về phần cứng của điều khiển (nói chung, lập trình bằng hợp ngữ giống như lái xe ô tô của riêng bạn. Lập trình bằng C giống như thuê một tài xế để lái nó - hy vọng bạn đã hiểu ý tưởng).
Viết và lắp ráp mã:
Microchip MPLAB có thể tải xuống từ trang web của Microchip là một IDE tốt (và miễn phí) tích hợp trình biên dịch. Nhưng, tôi rất khuyến nghị PIC Simulator IDE từ oshonsoft (Đó không phải là phần mềm miễn phí nhưng bạn có được 30 lần khởi chạy thử nghiệm - đủ để bắt đầu).
Sau khi bạn mở PIC Simulator IDE từ oshonsoft, đặt vi điều khiển thành PIC16F84A và tần số xung là 10MHz. Bây giờ, từ menu công cụ, mở trình biên dịch. Dưới đây là mã - bạn sẽ học nó khi bạn tiến triển.
BSF STATUS,05H
MOVLW B’00000000′
MOVWF TRISB
BCF STATUS,05H
LOOP MOVLW B’10000000′
MOVWF PORTB
GOTO LOOP
Nếu bạn không biết TRISB, STATUS là gì, hãy đọc bài viết về Bắt đầu với PIC16F84A.
Dưới đây là giải thích:
Chương trình trên thực hiện việc đưa ra mức cao ở RB7 và có thể kiểm tra bằng multimeter hoặc bằng cách kết nối LED. Để đạt được kết quả được nêu trên, cần thực hiện các bước sau:
- Trước hết, chúng ta phải đặt các chân cổng B làm đầu ra và để thực hiện điều này, cần sử dụng thanh ghi TRISB và để truy cập TRISB, bạn phải điều hướng đến bank1 và bạn biết phải làm gì để điều hướng đến bank1 - đặt bit thứ 5 của thanh ghi STATUS. Đối với điều này, chúng ta sử dụng hướng dẫn BSF - Bit Set F [BSF STATUS,05H].
- Bây giờ, chúng ta ở trong bank 1 ở đây, giả sử bạn muốn đặt các chân portB làm đầu ra. Để thực hiện điều này, đầu tiên hãy chuyển giá trị 00H hoặc B'00000000' (dưới định dạng nhị phân để dễ hiểu) vào thanh ghi W (Nhớ chưa? Thanh ghi W là duy nhất có thể ghi trực tiếp vào / đọc từ đó). Đối với điều này, chúng ta sử dụng hướng dẫn MOVLW - Di chuyển giá trị chữ số sang W [MOVLW B'00000000'].
- Sau đó, chuyển nội dung của thanh ghi W vào TRISB. Đối với điều này, chúng ta sử dụng hướng dẫn MOVWF - di chuyển nội dung của thanh ghi W vào F [MOVWF TRISB].
- Sau khi hoàn thành thao tác đặt các chân portB làm đầu ra, chúng ta phải chuyển sang bank 0 để truy cập port B và để thực hiện điều này, chúng ta cần xóa bit thứ 5 của thanh ghi STATUS. Đối với điều này, chúng ta sử dụng hướng dẫn BCF - Bit Clear F [BCF STATUS,05H].
- Bây giờ, chúng ta ở trong bank 0 ở đây, hãy chuyển giá trị 80H hoặc B'10000000' vào thanh ghi W [MOVLW B'10000000'].
- Sau đó, chuyển nội dung của thanh ghi W vào PORTB [MOVWF PORTB].
- Lưu ý, điều mà điều khiển làm là thực hiện các hướng dẫn này một lần và sau đó giữ yên. Nhưng điều đó rất nhanh chóng. Thực sự bạn không thể nhìn thấy mức cao ở RB7. Vì vậy, để xem những gì chúng ta đã làm, chúng ta phải khiến vi điều khiển giữ RB7 cao lâu hơn hoặc vô thời hạn. Vì vậy, chúng ta đặt nó trong một vòng lặp. Bạn có thể hiểu khá rõ về vấn đề vòng lặp này.
- Lưu ý: Ở đây, khi gõ chương trình trong trình biên dịch của bộ mô phỏng, hãy để một khoảng trắng trước mỗi hướng dẫn ngoại trừ nhãn vòng lặp. Vì, Nó xem xét tất cả các từ xuất hiện mà không có khoảng trắng như là nhãn.
- Sau khi viết chương trình, trong cửa sổ trình biên dịch, điều hướng đến công cụ và chọn tùy chọn biên dịch và tải. Tùy chọn này sẽ biên dịch chương trình và tải nó vào bộ mô phỏng. Sau đó chọn xem vi điều khiển từ menu công cụ trong cửa sổ chính của bộ mô phỏng. Khi bạn chọn mô phỏng - bắt đầu, bạn phải nhìn thấy kết quả trong xem vi điều khiển. Đây là phần xác nhận phần mềm. "Burning" PIC: Sau khi đã xây dựng bộ lập trình, bây giờ, hãy tải điều khiển vào bộ lập trình và sau đó kết nối nó với cổng nối chuỗi của máy tính hoặc với cổng USB của bạn nếu đó là bộ lập trình USB. Tải và cài đặt phần mềm ICPROG hoặc Pony prog (đó là phần mềm lập trình cho PIC). Bây giờ, khi bạn chọn cổng COM đúng, phần mềm của bạn phải có thể đọc thiết bị (PIC16F84A trong trường hợp của bạn). Bây giờ, tệp bạn cần ghi vào điều khiển là tệp .hex. Bạn có thể tìm thấy tệp này trong thư mục bạn đã lưu tệp .asm khi biên dịch và tải bộ mô phỏng PIC. Bây giờ, mở và duyệt đến tệp .hex sau đó chọn tùy chọn ghi và khi nó hiển thị "lập trình thành công", Voila! PIC của bạn đã được lập trình! (Lập trình vi điều khiển thường được gọi là "đốt" chương trình) Kiểm tra chương trình: Dưới đây là một bộ cài đặt rất đơn giản để kiểm tra lập trình của bạn. Chỉ cần lấy PIC ra khỏi bộ lập trình và kết nối nó vào một bảng mạch không cần hàn như hình dưới đây.
Nếu LED sáng, thì Bingo! Bạn đã hoàn thành! Đặt một bình luận cho bất kỳ thắc mắc nào.