Phía sau cblock phải có một hằng số, đó là hằng số đầu tiên được gán cho chuỗi hằng số nằm giữa cblock ... endc. Một ví dụ cho việc dùng cblock:
Code:
cblock 0x20
cnt1
cnt2
tmp
endc
Theo những gì bạn mô tả, tôi cho là mạch ứng dụng của bạn không làm việc. Nhận định bộ dao động của PIC không hỏng vì vẫn nạp được chương trình là không đúng. Khi nạp chương trình, PIC lấy clock từ chân PGC cho các phần mạch dịch và đồng bộ dữ liệu, còn khi chạy chương trình thì bộ dao động cung cấp xung clock cho lõi xử lý và các ngoại vi. Tôi đã gặp trường hợp chip vẫn có thể nhận dạng, và nạp chương trình, nhưng nó hoàn toàn không thể chạy chương trình đã được nạp.
Tôi cũng có dùng một module LCD mã hiệu TC1602A, và nó dùng bộ điều khiển tương thích với HD44780.
Bạn kiểm tra lại mạch ứng dụng của bạn đi, nếu bạn không rõ mạch ứng dụng có yêu cầu tối thiểu ra sao thì cứ vẽ mạch nguyên lý mà bạn đang dùng, và post lên đây để được góp ý.
Thân,