Không, thực tế bạn không cần, sử dụng SPI, UART hoặc I 2 C để lập trình PIC. Cách duy nhất để đưa một chương trình mới vào PIC không tải mã đặc biệt cho mục đích đó (bộ tải khởi động) là sử dụng giao diện lập trình phần cứng bên ngoài. Về mặt điện, điều này có nghĩa là kết nối với Vss, MCLR, PGC và PGD. Có thể hữu ích khi lập trình viên cũng kết nối với Vdd, nhưng không cần thiết cho chip này miễn là mức Vdd được biết và lập trình viên điều chỉnh cho phù hợp.
Giao diện phần cứng cấp thấp khá đơn giản. PGD là dòng dữ liệu, được lấy mẫu bởi PIC trên cạnh xuống của PGC (dòng đồng hồ). Để đưa PIC vào chế độ lập trình ở vị trí đầu tiên, một phím 32 bit đặc biệt được đặt tương đối so với các cạnh cụ thể trên MCLR (mặc dù xem lưu ý bên dưới về lập trình điện áp cao).
Giao thức cấp cao trở nên phức tạp hơn. Hầu hết mọi thứ được thực hiện với các lệnh 6 bit, một số trong đó được theo sau bởi các từ dữ liệu 14 bit. Bạn phải đọc các thông số kỹ thuật lập trình một cách cẩn thận. Lưu ý rằng thông số kỹ thuật lập trình là một tài liệu riêng biệt từ biểu dữ liệu. Chuyển đến trang sản phẩm cho PIC cụ thể của bạn trên trang web Microchip và bạn sẽ tìm thấy một liên kết đến thông số kỹ thuật lập trình trong phần tài liệu.
Thêm về lập trình điện áp cao
Các loại PIC này có hai cách để vào chế độ lập trình, điện áp cao (HVP) và điện áp thấp (LVP). Phương pháp điện áp cao đòi hỏi phải tăng MCLR lên từ 8 đến 9 volt và để giữ nó ở đó trong quá trình lập trình. Phương pháp này luôn hoạt động, bất kể mọi dữ liệu có thể được lập trình vào PIC.
Phương thức điện áp thấp để vào chế độ lập trình bắt đầu bằng cách lái MCLR cao, sau đó thấp, sau đó bấm đồng hồ theo chuỗi khóa 32 bit đặc biệt bằng PGC và PGD bình thường. Phần này sẽ vào chế độ lập trình theo trình tự khóa chính xác và sẽ ở chế độ lập trình miễn là MCLR được giữ ở mức thấp.
Phương pháp điện áp thấp có thể bị vô hiệu hóa bởi một trong các bit cấu hình. Tuy nhiên, trạng thái bị xóa của bit cấu hình cho phép lập trình điện áp thấp, nó được vận chuyển từ nhà máy theo cách đó và bit cấu hình này chỉ có thể được đặt để không cho phép LVP nếu lập trình được nhập bằng phương thức điện áp cao. Do đó, để LVP không được bật, tất cả những điều sau đây phải đúng:
- PIC được lập trình lần cuối với một lập trình viên có khả năng HVP và chế độ nhập chương trình HVP đã được sử dụng.
- Tệp HEX được lập trình vào PIC cố tình đặt bit LVP trong cấu hình từ 2 thành trạng thái không bị xóa.
Vì việc vô hiệu hóa LVP khá nhiều đòi hỏi một hành động có chủ ý và lập trình viên phù hợp, nên có khả năng nó vẫn được kích hoạt. Nếu nó bị vô hiệu hóa vì một số lý do lạ, thì bạn phải cung cấp 8-9 V trên MCLR để đưa PIC vào chế độ lập trình ít nhất đủ lâu để thực hiện xóa hàng loạt (cho phép LVP kích hoạt lại).