1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Tài liệu I/O và ngắt của 8051 doc

27 269 2

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề I/O và ngắt của 8051
Thể loại bài giảng
Định dạng
Số trang 27
Dung lượng 396,55 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dung nghiên cứu– IVT, ISR IVT, ISR – Cho phép và mức ưu tiên của ngắt – Các ngắt bên ngoài Các ngắt bên ngoài... Quét LED 7 đoạn• Hiện LED được quét – Chỉ 1 LED được sáng tại một thờ

Trang 1

I/O và ngắt của 8051

Bài 8

Bộ môn TĐ Khoa KTĐK

Trang 2

Nội dung nghiên cứu

– IVT, ISR IVT, ISR

– Cho phép và mức ưu tiên của ngắt – Các ngắt bên ngoài Các ngắt bên ngoài

Trang 3

Quét LED 7 đoạn

• Hiện LED được quét

– Chỉ 1 LED được sáng tại

một thời điểm ộ

– Các đầu vào a-h được nối

tương ứng với nhau

Trang 4

Quét LED 7 đoạn

• Thuật toán để hiện một ậ ệ ộ

Trang 5

Quét LED 7 đoạn

Trang 8

Giao tiếp với bàn phím

Trang 9

Giao tiếp với bàn phím

Trang 10

Giao tiếp với bàn phím

; Bàn phím hex nối vào P1

; Chuơng trình hiển thị phím nhấn ra LED 7 đoạn

; P1.0-P1.3: columns

; P1.4-P1.7: rows

; Địa chỉ LED: A000h

LOOP: LCALL READKB ; trị trả về: A = 0-15

CONT: MOV P1,A ; nối col i -> GND

MOV A,P1 ; đọc row

JNB ACC.4,ROW_0 ; xét xem row nàỏ

JNB ACC.5,ROW_1

JNB ACC.6,ROW_2

JNB ACC.7,ROW_3

RL A ; chuẩn bị nối GND

INC R7 ; cột tiếp theo

CJNE R7,#4,CONT ; lần luợt nối GND 4 cột

SJMP SCAN ; quay lại quét từ cột 0

ROW_0: MOV A,R7 ; Row=0, Col=R7

Trang 11

Giao tiếp với LCD

đối với hệ thống nhung

– Cấu hình thay đổi (từ 1x20 tới 8x20), giá từ 5$

– LCD hình cũng có sẵn trên thị trường g ị g

• Các LCD thông minh có các bộ giải mã ASCII bên trong, các bộ tạo ký tự và mạch điều khiển LCD

• Một số LCD có khả năng tạo các ký tự tuỳ ý

– Người dùng định nghĩa RAM chứa ký tự

– Lập trình RAM này với mẫu tham số

S đó dù hú h á ký t ASCII ố

– Sau đó dùng chúng như các ký tự ASCII gốc

– Thông thường MSB chỉ ra sự khác nhau giữa ký tự ASCII chuẩn với ký tự do người dùng định nghĩa

Trang 13

LCD có cả chữ và số - Thuật toán

• Thuật toán

mov A, command call cmd

delay mov A another cmd call cmd

delay mov A #’A’

mov A, # A call data delay mov A, #’B’ , call data delay

….

Trang 14

LCD có cả chữ và số - Thuật toán

• Kiểm tra trạng thái bận: Sau khi đọc từ Kiểm tra trạng thái bận: Sau khi đọc từ

LCD, D7 sẽ chứa cờ bận Kiểm tra cờ này trước khi gửi một lệnh mới bất kỳ tới LCD trước khi gửi một lệnh mới bất kỳ tới LCD, hoặc sử dụng thời gian giữ chậm k lớn.

Trang 16

Các ngắt của 8051

• Các ngắt là gì? Các ngắt là gì?

– Cách để dừng bộ xử lý mặc dù nó đang làm việc để

phục vụ một nhiệm vụ khác

• Tại sao và ở đâu chúng ta cần sử dụng ngắt

– Phục vụ nhiều thiết bị giao tiếp

Trang 17

Sự khác nhau giữa phương pháp

Khi nào nó thấy một yêu cầu nó phục vụ yêu cầu đó

– Khi nào nó thấy một yêu cầu, nó phục vụ yêu cầu đó

– CPU dừng công việc nó đang thực hiện và phục vụ thiết bị

đó Sau đó quay trở lại nhiệm vụ ban đầu trước lúc bị ngắt CPU luôn rỗi khi không có yêu cầu ngắt từ thiết bị giao tiếp – CPU luôn rỗi khi không có yêu cầu ngắt từ thiết bị giao tiếp

Trang 18

Chương trình con phục vụ ngắt

• CPU có một số lượng ngắt cố định

• Mọi ngắt phải kết hợp với một đoạn mã gọi là

chương trình con phục vụ ngắt hoặc ISR

– Nếu ngắt x được CPU phục vụ, thì ISR-x được thực

hiện

• Kiến trúc CPU định nghĩa địa chỉ mã xác định cho mỗi ISR, địa chỉ này được lưu ở bảng vectơ ngắt IVT

• Các ISR là chương trình con cơ bản, nhưng

chúng kết thúc bởi lệnh RETI chứ không phải

chúng kết thúc bởi lệnh RETI, chứ không phải

RET

• Khi một ngắt xuất hiện, CPU nạp địa chỉ mã lệnh

ắ của ISR từ bảng vectơ ngắt và thực hiện nó

Trang 19

Bảng vectơ ngắt của 8051

• Mỗi ngắt có 8 byte cho ISR của nó Mỗi ngắt có 8 byte cho ISR của nó

• Nếu ISR quá lớn để đặt vào 8 byte thì ta sử dụng ljmp

Trang 20

4 Thực hiện ISR cho đến khi gặp lệnh RETI

5 Trong lúc RETI CPU nạp trở lại PC cũ từ ngăn

5 Trong lúc RETI, CPU nạp trở lại PC cũ từ ngăn

xếp và tiếp tục công việc nó đang thực hiện

trước khi ngắt xuất hiện g

Trang 21

• 2 ngắt bên ngoài – INT0 và INT1, hai ngắt bộ

định thời-TF0 và TF1 và một ngắt cổng nối tiếp S0

• Các ngắt có thể được phép hoặc không được

phép độc lập nhau Điều này được thực hiện

trong IE (thanh ghi cho phép ngắt)

• Các ngắt bên ngoài (INT0 và INT1) có thể được định cấu hình để kích hoạt theo mức hoặc sườn

Trang 22

Thanh ghi IE

• EA = 0 không cho phép tất cả các ngắt g p p g

• Các bit khác nếu thiết lập =1, cho phép ngắt ập , p p g tương ứng, nếu = 0, không cho phép

• EX0= cho phép INT0

• ET0= cho phép Timer0

• EX1= cho phép INT1

• ET1= cho phép Timer1

• ES= cho phép ngắt cổng nối tiếp

• ET2= (chỉ có ở 8052) cho phép Timer2

Trang 23

Ví dụ đơn giản

• INT1 nối tới 1 công tắc thông thường nó ở mức cao Khi

nối tới chân P1.3 và bình thường thì tắt

Trang 24

• Định cấu hình ở thanh ghi TCON

– (IT1) TCON.2 =1→ INT1 ngắt theo sườn

– (IT0) TCON 0 =1→ INT0 ngắt theo sườn (IT0) TCON.0 1→ INT0 ngắt theo sườn

• IE0 (TCON.1) và IE1 (TCON.3)

– Ở chế độ ngắt theo sườn, nếu ngắt INTx xuất hiện, CPU thiết lập bit IEx, bit này chỉ được xoá sau khi RETI được thực hiện , y ợ ợ ự ệ

• Thiết lập và giữ thời gian cho các ngắt bên ngoài kích ở chế độ ngắt theo sườn

– Tối thiểu một chu kỳ máy cho một ngắt ỳ y g

Trang 26

Mức ưu tiên của ngắt

Trang 27

• Câu 2: Dùng 8051 xây dựng bộ điều khiển đèn giaothông có đồng hồ đếm lùi thời gian sáng của đèn xanh,đèn đỏ Khi có ngắt thì đèn xanh trên hướng ưu tiênđược bật

Ngày đăng: 23/12/2013, 20:15

HÌNH ẢNH LIÊN QUAN

Bảng vectơ ngắt của 8051 - Tài liệu I/O và ngắt của 8051 doc
Bảng vect ơ ngắt của 8051 (Trang 19)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w