Bài giảng ngành điện tử viễn thông - Chương 6: Các kiểu I/O - Văn Thế Minh
lượt xem 8
download
Bài giảng Kỹ thuật Vi 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 Chương 6 Các kiểu I/O 6.1 Thăm dò (Polling) 6.2 I/O điều khiển bằng ngắt (Interrupt) 6.3 DMA (Direct Memory Access)
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng ngành điện tử viễn thông - Chương 6: Các kiểu I/O - Văn Thế Minh
- Bài giảng Kỹ thuật Vi 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
- Chương 6 Các kiểu I/O 6.1 Thăm dò (Polling) 6.2 I/O điều khiển bằng ngắt (Interrupt) - 6.3 DMA (Direct Memory Access)
- Thăm dò 5V A19 A18 : A0 A0 B0 D7 A1 B1 D6 A2 B2 D5 A3 B3 D4 A4 B4 D3 74LS245 B5 A5 D2 8088 A6 B6 D1 Minimum A7 B7 D0 Mode E DIR IOR mov dx, F000 IOW L1: in al, dx cmp al, FF je L1 A A A A A A A A A A A A A A A A IOR : 1111119876543210 : 543210
- 5V A19 A18 The Circuit : A0 A0 B0 D7 A1 B1 D6 A2 B2 D5 A3 B3 D4 A4 B4 D3 74LS245 B5 A5 D2 8088 A6 B6 D1 Minimum A7 B7 D0 Mode E DIR D0 Q0 D1 Q1 IOR D2 Q2 IOW D3 Q3 D4 Q4 D574LS373 Q5 D6 Q6 D7 Q7 LE OE A A A A A A A A A A A A A A A A IOR 1111119876543210 543210 AAAAAAAAAAAAAAAAIOW 1111119876543210 543210
- 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 mov dx, F000 L4: mov bl, al mov ah, 00 in al, dx mov al, 01 cmp al, FF L1: out dx, al je L6 mov cx, FFFF test al, 01 L2: dec cx jnz L5 jnz L2 xor ah, FF cmp ah, 00 jmp L6 jne L3 rol al, 1 L5: test al, 80 cmp al, 01 jz L7 jne L1 L6: mov al, bl jmp L4 jmp L1 L3: ror al, 1 L7: cmp al, 80 jne L1
- 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 đó?
- Khuyết điểm của thăm dò mov dx, F000 L4: mov bl, al mov ah, 00 in al, dx mov al, 01 cmp al, FF L1: out dx, al je L6 mov cx, FFFF test al, 01 L2: dec cx jnz L5 jnz L2 xor ah, FF cmp ah, 00 jmp L6 jne L3 L5: test al, 80 rol al, 1 jz L7 cmp al, 01 L6: mov al, bl jne L1 jmp L4 jmp L1 L3: ror al, 1 L7: cmp al, 80 jne L1
- Ngắt là gì?
- Thăm dò instruction Input Memory While studying, I’ll check the bucket every 5 Device minutes to see if it is already full so that I can transfer the content of the bucket to the drum. µP THĂM DÒ
- Ngắt instruction Input Memory I’ll just study. When the 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 • Bộ vi xử lý không cần phải kiểm tra tính sẵn sàng của thiết bị I/O. • Các thiết bị I/O sẽ báo cho vi xử lý biết khi chúng đã sẵn sàng • Bộ vi xử lý có thể làm công việc khác khi thiết bị I/O không có nhu cầu trao đổI dữ liệu
- Interrupt- Ngắt • Một số thuật ngữ cần nhớ: – 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 Service Routine (ISR) - Chương trình con phục vụ ngắt Interrupt vector - Vector ngắt • Là chương trình được thực hiện khi có một yêu cầu ngắt được chấp nhận • Kết thúc bằng lệnh IRET • Địa chỉ của chương trình con phục vụ ngắt • Bao gồm 4 byte: – 2 byte cho địa chỉ Offset – 2 byte cho địa chỉ Segment
- Interrupt Vector Number Số n g ắ t • Là một số được dùng để phân biệt các yếu cầu ngắt. Bởi vì có thể có nhiều hơn một thiết bị phát yêu cầu ngắt đến bộ 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 • Trong hệ thống 8088, co thể có đến 256 số ngắt (từ 00h đến FFh)
- Interrupt Vector Table Bảng các vector ngắt • Là vùng nhớ được dành riêng để lưu trữ các vector ngắt • Có thể xem như là một mảng các vector ngắt – Mảng này có 256 phần tử – Mỗi phần tử gồm 4 byte: 2 byte đầu lưu địa chỉ offset, 2 byte sau lưu địa chỉ segment – Các vector ngắt được lưu trữ theo trật tự tăng dần của số ngắt
- Bảng các vector ngắt
- Phản ứng của vi xử lý khi không có ngắt • Khi bật công tấc nguồn hoặc nhấn nút reset. 1. Bộ vi xử lý được khởi động: – (IP) = 0000h – (CS) = FFFFh – IF = 0 2. Bộ vi xử lý tìm và lấy 1 byte lệnh. 3. IP tăng lên 1. 4. Bộ vi xử lý giải mã và thực hiện lệnh nếu tất cả các byte lệnh của một lệnh đã được lấy. 5. Quay trỏ lại bước 2.
- Phản ứng của vi xử lý khi có ngắt • Thiết bị I/O đưa yêu cầu ngắt đến bộ vi xử lý bằng cách làm cho đầu vào ngắt INTR 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ấp nhận ngắt bằng cách đưa ra tín hiệu chấp nhận ngắt ở mức thấp từ 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ết bị I/O sẽ đưa số ngắt được gán cho nó đến bộ 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
- Phản ứng của vi xử lý khi có ngắt 9. Bộ vi xử lý lưu giá trị hiện thời của thanh ghi cờ vào stack. 10. Bộ vi xử lý xoá cờ ngắt 11. Bộ vi xử lý lưu giá trị hiện thời của CS vào stack. 12. Bộ vi xử lý lưu giá trị hiện thời của IP vào stack. 13. Bộ vi xử lý nhân số ngắt với 4. Kết quả này chính là địa chỉ của nơi lưu trữ vector ngắt tương ứng trong bảng các vector ngắt. Hai byte đầu tiên của vector ngắt được copy vào IP và hai byte tiếp theo được copy vào CS. 14. Quay trở về bước 2.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng: Tiếng anh chuyên ngành Điện tử- Viễn thông
160 p | 1255 | 564
-
Giáo trình Linh Kiện Điện Tử - ĐH Cần Thơ
164 p | 808 | 432
-
Mạch điện tử 2
198 p | 669 | 278
-
Điện tử viễn thông
33 p | 722 | 215
-
BÁO CÁO NHẬP MÔN ĐIỆN TỬ-VIỄN THÔNG
23 p | 793 | 144
-
Bài giảng môn Điện tử tương tự: Chương V - GV. Lê Xuân Thành
32 p | 251 | 61
-
Tổng đài điện tử và mạng viễn thông - ThS. Nguyễn Duy Nhật Viễn
138 p | 154 | 45
-
Bài giảng Kỹ thuật điện thoại - Nguyễn Hồng Vỹ
163 p | 142 | 32
-
Bài giảng Tĩnh điện học: Phần I - ĐHBK TP.HCM
36 p | 157 | 28
-
Bài giảng ngành điện tử viễn thông - Chương 2: Kỹ thuật vi xử lý - Văn Thế Minh
0 p | 346 | 25
-
Bài giảng Tĩnh điện học: Phần X - ĐHBK TP.HCM
10 p | 128 | 22
-
Bài giảng Tĩnh điện học: Phần III - ĐHBK TP.HCM
20 p | 111 | 13
-
Bài giảng Tĩnh điện học: Phần VIII - ĐHBK TP.HCM
25 p | 105 | 10
-
Bài giảng Tĩnh điện học: Phần XIV - ĐHBK TP.HCM
10 p | 89 | 9
-
Bài giảng Tĩnh điện học: Phần VII - ĐHBK TP.HCM
14 p | 108 | 7
-
Bài giảng Tĩnh điện học: Phần XI - ĐHBK TP.HCM
20 p | 85 | 7
-
Bài giảng Tĩnh điện học: Phần XII - ĐHBK TP.HCM
11 p | 94 | 6
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn