1. Trang chủ
  2. » Giáo Dục - Đào Tạo

báo cáo vi xử lý

10 287 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

Báo Cáo Vi Xử GVHD: I GIỚI THIỆU CÁC NGẮT NGỒI Lập trình ngắt phần cứng bên ngồi Bộ vi điều khiển 8051 có ngắt phần cứng bên chân 12 (P3.2) chân 13 (P3.3) gọi ngắt INT0 INT1 Chúng phép bị cấm việc sử dụng ghi IE Nhưng cấu hình cho ngắt ngồi có phần phức tạp hơn.Có hai mức kích hoạt cho ngắt phần cứng ngồi: Ngắt theo mức ngắt theo sườn Hình 1: Ngắt INT0 INT1 Lớp : D8DTVT8 SVTH : Nhóm Báo Cáo Vi Xử GVHD: Dưới mô tả hoạt động loại Ngắt theo mức Ở chế độ ngắt theo mức chân INT0 INT1 bình thường mức cao tín hiệu mức thấp cấp tới chúng ghi nhãn ngắt Sau vi điều khiển dừng tất cơng việc thực nhảy đến bảng vector ngắt để phục vụ ngắt Đây chế độ ngắt mặc định cấp nguồn cho 8051 Tín hiệu mức thấp chân INTx phải lấy trước thực lệnh cuối trình phục vụ ngắt, khơng ngắt khác lại tạo ra, vi điều khiển thực ngắt liên tục + Trích mẫu ngắt theo mức Các chân P3.2 P3.3 bình thường dùng cho vào/ra Bit INT0 vàINT1 ghi IE khơng kích hoạt Sau ngắt phần cứng giIE kích hoạt vi điều khiển trì trích mẫu chân INTx tín hiệu mức thấp lần chu trình máy Theo bảng liệu từ nhà sản xuất vi điều khiển “chân ngắt phải giữ mức thấp bắt đầu thực trình phục vụ ngắt ISR Nếu chân INTx đưa trở lại mức cao trước bắt đầu thực ISR chẳng có ngắt xảy ra” Do vậy, để bảo đảm việc kích hoạt ngắt phần cứng chân INTx phải đảm bảo thời gian tồn tín hiệu mức thấp khoảng chu trình máy khơng bé hơn, khơng đủ lâu ngắt khơng thực Tuy nhiên q trình kích hoạt ngắt theo mức thấp nên lại phải đưa lênmức cao trước ISR thực lệnh cuối lại theo bảng liệu từ nhà sản xuất “nếu chân INTx mức thấp sau lệnh cuối trình phục vụ Lớp : D8DTVT8 SVTH : Nhóm Báo Cáo Vi Xử GVHD: ngắt ngắt khác lại kích hoạt” Điều thực tế ngắt theo mứckhơng chốt Hình 2: Thời gian tối thiểu xung ngắt theo mức thấp (XTAL = 11.0592MHz) Ngắt theo sườn Ngắt theo sườn ngắt xảy có sườn âm xuất chân ngắt vi điều khiển Điều làm cho ngắt theo sườn khắc phục nhược điểm ngắt theo mức ta thấy Để kích hoạt chế độ ngắt theo sườn phải viết chương trình cài đặt cho bit ghi TCON : Hình 3: Thanh ghi TCON + Các Bit IT0 IT1 Lớp : D8DTVT8 SVTH : Nhóm Báo Cáo Vi Xử GVHD: Các bit TCON.0 TCON.2 coi bit IT0 IT1 tương ứng Đây bit xác định kiểu ngắt theo sườn xung hay theo mức xung ngắt phần cứng chân INT0 INT1 tương ứng Khi bật lại nguồn bit có mức để biến chúng thành ngắt theo tín hiệu mức thấp Lập trình viên điều khiển số chúng lên cao để chuyển ngắt phần cứng bên thành ngắt theo sườn + Các Bit IE0 IE1 Các bit TCON.1 TCON.3 gọi IE0 IE1 tương ứng Các bit 8051 dùng để bám kiểu ngắt theo sườn xung, bit IT0 IT1 có nghĩa ngắt phần cứng ngắt theo mức thấp bit IE0 IE1 không dùng đến Các Bit IE0 IE1 8051 dùng để chốt sườn xung từ cao xuống thấp chân INT0 INT1 Khi có chuyển dịch sườn xung chân INT0 (hay INT1) 8051 đánh dấu (bật lên cao) bit IEx ghi TCON nhảy đến bảng vector ngắt bắt đầu thực trình phục vụ ngắt ISR Trong 8051 thực ISR khơng có sườn xung ghi nhận chân INT0 (hay INT1) để ngắt Chỉ thực lệnh cuối trình phục vụ ngắt ISR bit IEx 8051 tự động xóa, chân ngắt lại hoạt động bình thường Ta thấy bit IE0 IE1 8051 sử dụng bên để báo có ngắt xử hay khơng Hay nói cách khác lập trình viên quan tâm đến bit + Các Bit TR0 TR1 Đây bit D4 D6 (hay TCON.4 TCON.6) ghi TCON Các bit giới thiệu trước, chúng dùng để khởi động dừng định thời Timer0 Timer1 tương ứng Lớp : D8DTVT8 SVTH : Nhóm Báo Cáo Vi Xử GVHD: + Các Bit TF0 TF1 Các bit D5 (TCON.5) D7 (TCON.7) ghi TCON mà giới thiệu trước Chúng sử dụng Timer0 Timer1 tương ứng để báo định thời bị tràn hay quay khơng + Trình mẫu ngắt theo sườn Hình 4: Thời hạn xung tối thiểu để phát ngắt theo sườn âm với tần số XTAL = 11.0592MHz Sườn âm xung chốt 8051 giữ ghi TCON Các bitTCON.1 (IE0) TCON.3 (IE1) giữ sườn chốt chân INT0 INT1 tương ứng hình 11 Chúng hoạt động cờ “ngắt phục vụ” (Interrupt-in-server) Khi cờ “ngắt phục vụ” bật lên báo ngắt xử chân INTx khơng có ngắt đáp ứng chừng ngắt chưa phục vụ xong Đây giống tín hiệu báo bận máy điện thoại Ngồi cần phải nhấn mạnh điểm quan tâm đến bit IE0 IE1của ghi TCON: Khi trình phục vụ ngắt ISR kết thúc: Các Bit IE0 IE1 tự động xoá để báo ngắt hoàn tất 8051 sẵn sàng đáp ứng ngắt khác chân Lớp : D8DTVT8 SVTH : Nhóm Báo Cáo Vi Xử GVHD: Để ngắt khác nhận tín hiệu chân phải trở lại mức cao sau nhảy xuống thấp để phát ngắt theo sườn âm Trong thời gian trình phục vụ ngắt thực chân INTx bị làm ngơ, 8051 khơng quan tâm đến có lần chuyển dịch từ cao xuống thấp Trong thực tế điều có bit IEx mà bit IEx gọi cờ báo “ngắt phục vụ”, cờ lên cao sườn âm phát chân INTx giữ mức cao toàn q trình thực ISR Nó bị xố sau lệnh cuối ISR Do vậy, ta khơng cần đến lệnh xố cờ trình phục vụ ngắt ngắt cứng INT0 INT1 Lớp : D8DTVT8 SVTH : Nhóm Báo Cáo Vi Xử GVHD: II SƠ ĐỒ NGUYÊN III LƯU ĐỒ THUẬT TOÁN Lớp : D8DTVT8 SVTH : Nhóm Báo Cáo Vi Xử GVHD: START Khởi tạo ngắt YES Có ngắt ngồi Đảo trạng thái đèn LED NO Giữ trạng thái đèn LED Lớp : D8DTVT8 SVTH : Nhóm Báo Cáo Vi Xử GVHD: IV CODE LẬP TRÌNH VỚI NGÔN NGỮ ASSEMBLY org 0h ljmp main org 03h ;vector ngat ngoai co ngat xay no se nhay den 03h ljmp int0 org 13h ;vector ngat ngoai ljmp int1 org 30h main: mov p1,#0ffh mov ie,#8Fh;chon cac ngat o ghi IE o day chon tat ca back: ljmp back ;Su dung ngat ngoai0 (p3.2) ;Su dung ngat ngoai1 (p3.3) int0: cpl p1.0 ; dao trang thai cua p1.0 acall delay Lớp : D8DTVT8 SVTH : Nhóm Báo Cáo Vi Xử GVHD: reti end1: int1: cpl p1.0 ; dao trang thai cua p1.0 acall delay reti delay: MOV R2,#5 ;NAP GIA TRI VAO THANH GHI R0 LOOP: MOV TMOD,#01H ;CHON TIME CHE DO MOV TH0,HIGH(-50000) ;NAP GIA TRI -50000 VAO BYTE CAO CUA TIME MOV TL0,LOW(-50000) ;NAP GIA TRI -50000 VAO BYTE THAP CuA TIME SETB TR0 ;CHO BO DINH THOI HOAT DONG JNB TF0,$ ;NHAY TAI CHO DE CHO CO TRAN TF0 CLR TF0 CLR TR0 DJNZ R2,LOOP RET end Lớp : D8DTVT8 10 SVTH : Nhóm ... ngắt cứng INT0 INT1 Lớp : D8DTVT8 SVTH : Nhóm Báo Cáo Vi Xử Lý GVHD: II SƠ ĐỒ NGUYÊN LÝ III LƯU ĐỒ THUẬT TOÁN Lớp : D8DTVT8 SVTH : Nhóm Báo Cáo Vi Xử Lý GVHD: START Khởi tạo ngắt YES Có ngắt ngồi... Lớp : D8DTVT8 SVTH : Nhóm Báo Cáo Vi Xử Lý GVHD: + Các Bit TF0 TF1 Các bit D5 (TCON.5) D7 (TCON.7) ghi TCON mà giới thiệu trước Chúng sử dụng Timer0 Timer1 tương ứng để báo định thời bị tràn hay... ngắt ISR kết thúc: Các Bit IE0 IE1 tự động xoá để báo ngắt hoàn tất 8051 sẵn sàng đáp ứng ngắt khác chân Lớp : D8DTVT8 SVTH : Nhóm Báo Cáo Vi Xử Lý GVHD: Để ngắt khác nhận tín hiệu chân phải trở

Ngày đăng: 22/11/2017, 20:59

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w