Chương này giúp người học hiểu được những kiến thức cơ bản về Interrupt trong vi điều khiển 8051. Nội dung trình bày trong chương gồm có: Định nghĩa interrupts và các interrupts trong vđk 8051; cách sử dụng các ngắt ngoài; cách sử dụng các ngắt Timer, UART; viết các chương trình đơn giản trên 8051. Mời các bạn cùng tham khảo.
Chương 2: Họ vi điều khiển 8051 (Interrupt) Duy Phan 09/2015 Mục tiêu Hiểu định nghĩa interrupts vđk 8051 Biết cách sử dụng ngắt Biết cách sử dụng ngắt Timer, UART Vận dụng để viết chương trình đơn giản 8051 Duy Phan Họ vi điều khiển 8051 Nội dung Interrupts External Timer UART Duy Phan Họ vi điều khiển 8051 Ơn tập chương 2-4 Timer gì, cách hoạt động? Có Timer 8051? Có mode hoạt động Timer? Có mode hoạt động UART? Tính tốc độ BAUD nào? Duy Phan Họ vi điều khiển 8051 Interrupts Một ngắt kiện bên bên làm ngắt vi điều khiển để báo cho biết thiết bị cần dịch vụ Chương trình với ngắt gọi trình dịch vụ ngắt (ISR) trình quản lý ngắt (IH) Nhóm vị trí nhớ dành riêng để gửi địa ISR gọi bảng vector ngắt Duy Phan Họ vi điều khiển 8051 Interrupts (tt) Duy Phan Họ vi điều khiển 8051 Interrupts (tt) Duy Phan Họ vi điều khiển 8051 Thanh ghi cho Interrupts Duy Phan Họ vi điều khiển 8051 Hoạt động xảy interrupts Kết thúc lệnh thực lưu địa lệnh (PC) vào ngăn xếp Lưu lại tình trạng tất ngắt Nhảy đến bảng vector ngắt địa ISR Nhận địa ISR thực lệnh cuối ISR RETI Nhận địa PC từ ngăn xếp thực lệnh Duy Phan Họ vi điều khiển 8051 Thứ tự ưu tiên interrupts Ngắt reset có mức ưu tiên cao nhất, reset xảy tất ngắt khác chương trình bị dừng vi điều khiển trở chế độ khởi động ban đầu Ngắt mức 1, có reset cấm ngắt Ngắt mức 0, ngắt mức reset cấm ngắt Duy Phan 10 Họ vi điều khiển 8051 Thứ tự ưu tiên interrupts (tt) Duy Phan 11 Họ vi điều khiển 8051 Thứ tự ưu tiên interrupts (tt) Nếu có độ ưu tiên cao ngắt xử lý xuất thì, ngắt có ưu tiên thấp bị dừng để ngắt thực Nếu có độ ưu tiên cao ngắt xử lý xuất thì, ngắt có ưu tiên thấp bị dừng để ngắt thực Nếu ngắt có mức ưu tiên yêu cầu vào thời điểm thứ tự chọn sau: INTR0, Timer 0, INTR1, Timer 1, UART Duy Phan 12 Họ vi điều khiển 8051 Sơ đồ interrupts Duy Phan 13 Họ vi điều khiển 8051 Các ngắt 8051 Các ngắt timer: có ngắt timer Có địa vertor ngắt 000BH (Timer 0) 001BH (Timer 1) Ngắt timer xảy TLx/THx tràn lập cờ TFx lên Các cờ TFx tự xóa phần cứng ISR thực xong Duy Phan 14 Họ vi điều khiển 8051 Các ngắt 8051 (tt) Ngắt UART: có ngắt Có địa vertor ngắt 0023H Ngắt timer xảy TI RI đặt lên Các cờ TI RI không tự xóa phần cứng Duy Phan 15 Họ vi điều khiển 8051 Các ngắt 8051 (tt) Các ngắt ngồi: có ngắt ngồi Có địa vertor ngắt 0003H (INT 0) 0013H (INT 1) Duy Phan 16 Họ vi điều khiển 8051 Các ngắt 8051 (tt) Các ngắt theo mức: IT0 IT1 = INT0 INT1 mức cao, có tín hiệu mức thấp xảy ngắt Tín hiệu mức thấp phải thả trước thực lệnh cuối ISR khơng có ngắt khác tạo Duy Phan 17 Họ vi điều khiển 8051 Ôn tập Nguyên lý hoạt động Timer Timer 8051 mode Nguyên lý hoạt động mode UART 8051 Nguyên lý hoạt động interrupts, loại interrup Duy Phan 18 Họ vi điều khiển 8051 Bài tập Hãy lệnh để: a) cho phép ngắt nối tiếp ngắt Timer0 ngắt phần cứng (EX1) b) cấm (che) ngắt Timer0 sau c) trình bày cách cấm tất ngắt lệnh Duy Phan 19 Họ vi điều khiển 8051 Bài tập Hãy viết chương trình nhân liên tục liệu bít cổng P0 gửi đến cổng P1 Trong đó, lúc tạo sóng vng chu kỳ 200us chân P2.1 Hãy sử dụng Timer0 để tạo sóng vng, tần số 8051 XTAL = 11.0592MHz Duy Phan 20 Họ vi điều khiển 8051 Bài tập Hãy viết chương trình sử dụng ngắt để tạo đồng thời dạng song vng có tần số 7KHz (timer 0, mode 2) 500Hz (timer 1, mode 1) chân P1.7 P1.6 Duy Phan 21 Họ vi điều khiển 8051 Bài tập Hãy viết chương trình sử dụng ngắt để liên tục phát tập mã ASCII đến thiết bị khác qua cổng nối tiếp 8051 ( dùng UART mode 1, tốc độ baud 1200, thạch anh 12MHz) Duy Phan 22 Họ vi điều khiển 8051 Bài tập Hãy viết chương trình vi điều khiển sử dụng ngắt để thiết kế điều khiển lò nung cho nhiệt độ trì mức 200C +-10C Duy Phan 23 Họ vi điều khiển 8051 Bài tập Hãy viết chương trình sử dụng ngắt để thiết kế hệ thống báo động tạo âm hiệu 600Hz 500 mili giây (sử dụng loa nối với chân P3.1) (dùng timer mode 3) đồng thời gửi ký tự “open” qua cổng UART (mode 1, tốc độ baud 4800) cảm biến đặt cửa vào (được nối với chân INT1’) tạo chuyển trạng thái từ mức cao xuống mức thấp (thạch anh 12MHZ) Duy Phan 24 Họ vi điều khiển 8051 Kết thúc chương 2-4 Duy Phan 09/2015 ... bảng vector ngắt Duy Phan Họ vi điều khiển 8051 Interrupts (tt) Duy Phan Họ vi điều khiển 8051 Interrupts (tt) Duy Phan Họ vi điều khiển 8051 Thanh ghi cho Interrupts Duy Phan Họ vi điều khiển 8051... khiển 8051 Bài tập Hãy vi t chương trình vi điều khiển sử dụng ngắt để thiết kế điều khiển lò nung cho nhiệt độ trì mức 200C +-1 0C Duy Phan 23 Họ vi điều khiển 8051 Bài tập Hãy vi t chương trình... Timer, UART Vận dụng để vi t chương trình đơn giản 8051 Duy Phan Họ vi điều khiển 8051 Nội dung Interrupts External Timer UART Duy Phan Họ vi điều khiển 8051 Ơn tập chương 2-4 Timer gì, cách hoạt