Các đặc điểm riêng và thiết lập cấu hình PIC 1 Các điểm mới trong vi điều khiển PIC 16F877A

Một phần của tài liệu Nghiên cứu các ứng dụng cảm biến quang (Trang 33 - 36)

Vi điều khiển PIC 16F877A có nhiều bộ phận, đặc tính được tích hợp thêm để làm tăng tối đa độ tin cậy, giảm giá thành hệ thống do ít cần dùng thêm linh kiện cần thiết bên ngoài, có chế độ tích kiệm năng lượng và khả năng chống sao chép nội dung của chương trình.

Lựa chọn nguồn xung nhịp:

Tùy theo tần số và linh kiện tạo dao động để chọn một trong 4 cấu hình : o LP bộ dao động thạch anh công suất thấp, tần số < 200kHz.

o XT bộ dao động thạch anh chuẩn, tần số 1MHz đến 4 MHz. o HS bộ dao động thạch anh tần số cao, tần số 4MHz đến 20 MHz. o RC bộ dao động đơn giản dùng điện và tụ điện.

Các mạch tạo trạng thái khởi động lại RESET

Hình 26: Các khối tạo tín hiệu RESET

Khối tạo ra tín hiệu RESET (xem hình 26) tạo ra các tín hiệu RESET khác nhau cho vi điều khiển tùy theo các điều kiện sau:

• Lối vào MCRL Master Clear trong chế độ hoạt động bình thường.

• Lối vào MCRL Master Clear trong chế độ nghỉ SLEEP.

• Bộ đếm WDT tràn tạo ra tín hiệu Reset khi hoạt động bình thường.

• Bộ đếm WDT tràn tạo ra tín hiệu Wake-up trong chế độ SLEEP.

• Khối giám sát điện áp nguồn tạo tín hiệu Reset khi nguồn cấp sụt quá ngưỡng.

Các ngắt Interrupt

Trong vi điều khiển PIC 16F877A có 15 nguồn sinh ra ngắt (xem hinh 27). Thanh ghi điều khiển ngắt INTCON ghi các cờ ngắt và các bit cho phép ngắt toàn cục GIE, T0IF, RBIF. Các ngắt từ các thiết bị ngoại vi được ghi trong thanh ghi PIR1 và PIR2, các bit cho phép ngắt ngoại vi trong thanh ghi PIE1, PIE2.

Hình 27: tổ hợp logic các nguồn ngắt.

Khi cờ ngắt được lập, cờ cho phép ngắt GIE được xóa để cấm các ngắt khác. Địa chỉ sẽ quay lại để cất vào ngăn xếp và thanh ghi đếm chương trình PC được nạp giá trị 0004h là địa chỉ của chương trình xử lý ngắt.

Nguồn sinh ngắt được xác định bằng cách hỏi vòng các cờ ngắt. Sau khi xử lý xong ngắt, cờ ngắt tương ứng phải được xóa để thoát vòng lặp ngắt.

Bộ đếm watchdog

Bộ đếm watchdog là một nộ đếm xung từ một khối dao động riềng độc lập với xung nhịp của vi điều khiển, nó có chức năng giám sát hoạt động của chương trình (xem hình 28). Nếu vi điều khiển do bị treo do lỗi phần mềm thì vi điều khiển có thể tự khởi động lại.

Khi sử dụng bộ giám sát watchdog, chương trình phải được thiết kế sao cho bộ đếm watchdog phải được xóa về 0 sau một chu kỳ nhất định để bộ đếm này không bị tràn. Nếu vì một lý do nào đó chương trình xóa bộ đếm watchdog bộ đếm bị tràn : chuyển từ FFh về 00h sẽ sinh ra tín hiệu WDT time out Reset.

Khối watchdog dùng chung bộ chia trước với Timer0. Chu kỳ tràn của bộ đếm watchdog có thể xác lập trong dải 18.2ms đến 2,5s.

Một phần của tài liệu Nghiên cứu các ứng dụng cảm biến quang (Trang 33 - 36)