Bài giảng Kỹ thuật Vi xử lý - Chương 6: Các kiểu I/O - Hồ Viết Việt
Bài toán
• Chương trình tạo ra hiệu ứng “LED chạy”:
- Ban đầu LED chạy từ trên xuống
- Khi nhấn phím thấp nhất thì LED thay đổi hướng chạy
- Khi nhấn phím cao nhất thì chương trình kết thúc
• Chương trình tạo ra hiệu ứng “LED chạy”:
- Ban đầu LED chạy từ trên xuống
- Khi nhấn phím thấp nhất thì LED thay đổi hướng chạy
- Khi nhấn phím cao nhất thì chương trình kết thúc
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ thuật Vi xử lý - Chương 6: Các kiểu I/O - Hồ Viết Việt", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- bai_giang_ky_thuat_vi_xu_ly_chuong_6_cac_kieu_io_ho_viet_vie.pdf
Nội dung text: Bài giảng Kỹ thuật Vi xử lý - Chương 6: Các kiểu I/O - Hồ Viết Việt
- Bài giảng Kỹ thuậtVi xử lý Ngành Điện tử-Viễn thông Đại học Bách khoa Đà Nẵng của Hồ Viết Việt, Khoa ĐTVT Tài liệu tham khảo [1] Kỹ thuật vi xử lý, Văn Thế Minh, NXB Giáo dục, 1997 [2] Kỹ thuật vi xử lý và Lập trình Assembly cho hệ vi xử lý, Đỗ Xuân Tiến, NXB Khoa học & kỹ thuật, 2001
- Thăm dò A19 5V A18 : A0 D7 A0 B0 D6 A1 B1 D5 A2 B2 D4 A3 B3 A4 B4 D3 74LS245 D2 A5 B5 8088 D1 A6 B6 Minimum D0 A7 B7 Mode E DIR IOR IOW mov dx, F000 L1: in al, dx cmp al, FF je L1 A A A A A A A A A A A A A A A AIOR : 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 5 4 3 2 1 0 :
- Bài toán •Chương trình tạo ra hiệu ứng “LED chạy”: - Ban đầu LED chạy từ trên xuống - Khi nhấn phím thấp nhất thì LED thay đổi hướng chạy - Khi nhấn phím cao nhất thì chương trình kết thúc
- Khuyết điểm của thăm dò •Tốn nhiều thời gian •NgườI sử dụng có thể nhả phím trước khi lệnh in al, dx được thực hiện, do đó bộ vi xi xử lý sẽ không biết rằng ngườI sử dụng đã nhấn phím • Làm sao để khắc phục các khuyết điểm đó?
- Ngắt là gì?
- Ngắt instruction I’ll just study. When the Input Memory speaker starts playing Device music it means that the bucket is full. I can then transfer the content of the bucket to the drum. Interrupt request µP INTERRUPT
- Interrupt- Ngắt •Mộtsố thuậtngữ cầnnhớ: – Yêu cầu ngắt – Đầu vào ngắt – Đầu ra chấp nhận ngắt –Chương trình con phục vụ ngắt – Vector ngắt –Số ngắt –Bảng các vector ngắt
- Interrupt Vector Number Số ngắt •Làmộtsốđượcdùngđể phân biệtcác yếucầungắt. Bởi vì có thể có nhiềuhơn mộtthiếtbị phát yêu cầungắt đếnbộ vi xử lý cho nên để cho bộ vi xử lý có thể nhận biết được thiết bị thì mỗI thiết bị sẽ được gán cho một số ngắt •Tronghệ thống 8088, co thể có đến 256 số ngắt(từ 00h đếnFFh)
- Bảng các vector ngắt
- Phản ứng củavixử lý khi có ngắt •Thiếtbị I/O đưayêucầungắt đếnbộ vi xử lý bằng cách làm cho đầuvàongắtINTR chuyển sang mức cao. 6. Bộ vi xử lý sẽ hoàn thành lệnh đang thực hiện trước khi chấp nhận ngắt 7. Bộ vi xử lý chấpnhậnngắtbằng cách đưaratínhiệuchấp nhậnngắt ở mứcthấptừ chân INTA. Lúc này thiết bị I/O sẽ làm cho tín hiệu ở INTR chuyển về mức thấp. 8. Thiếtbị I/O sẽđưasố ngắt đượcgánchonóđếnbộ vi xử lý thông qua D-Bus. Bộ vi xử lý sẽ lưu trữ số ngắt này vào một thanh ghi tạm thời
- 8088 và một thiết bị ra đơn giản A19 A18 : A0 D7 D0 Q0 D6 D1 Q1 D5 D2 Q2 D4 D3 Q3 D4 Q4 D3 74LS373 D2 D5 Q5 8088 D1 D6 Q6 Minimum D0 D7 Q7 Mode LE OE IOR IOW A A A A A A A A A A A A A A A AIOW 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 5 4 3 2 1 0
- 8088 và thiết bị vào hoạt động theo cơ chế ngắt A19 5V A18 : A0 D7 A7 B7 D6 A6 B6 D5 A5 B5 D4 A4 B4 A3 B3 D3 74LS245 D2 A2 B2 8088 D1 A1 B1 Minimum D0 A0 B0 Mode E DIR IOR IOW INTR INTA INTR A A A A A A A A A A A A A A A AIOR 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 5 4 3 2 1 0
- 8088 và một thiết bị vào hoạt động theo cơ chế ngắt A19 5V A18 : A0 D7 A7 B7 D6 A6 B6 D5 A5 B5 D4 A4 B4 A3 B3 D3 74LS245 D2 A2 B2 8088 D1 A1 B1 Minimum D0 A0 B0 Mode E DIR IOR IOW 5V INTR INTA 5V DQset INTR clr Q A A A A A A A A A A A A A A A AIOR 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 5 4 3 2 1 0 INTA
- 8088 và một thiết bị vào hoạt động theo cơ chế ngắt A19 5V A18 INT 3 : 5V A0 D7 A7 B7 D7 A7 B7 D6 A6 B6 D6 A6 B6 D5 A5 B5 D5 A5 B5 D4 A4 B4 D4 A4 B4 D3 A3 B3 D3 A3 B3 74LS245 74LS245 D2 A2 B2 D2 A2 B2 D1 A1 B1 8088 D1 A1 B1 D0 A0 B0 Minimum D0 A0 B0 Mode INTA E E DIR DIR IOR IOW 5V INTR INTA 5V DQset INTR clr Q A A A A A A A A A A A A A A A AIOR 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 5 4 3 2 1 0 INTA RESET
- Chương trình chính ISR bắt đầu từ 52800h Kết thúc L1: cmp ah, 88 mov ax,0000 mov ds, ax je L4 mov bx, 000C out dx, al mov ax, 2800 mov cx, FFFF mov [bx], ax L2: dec cx mov ax, 5000 jnz L2 mov [bx+02], ax cmp ah, 00 sti jne L3 mov dx, F000 rol al, 1 mov ah, 00 jmp L1 mov al, 01 L3: ror al, 1 jmp L1 L4:
- Khởi động 8259
- ICW1, ICW2
- Ví dụ:Mạch điều khiển ngắt ở PC
- 8259s nối tầng