Bài giảng Kỹ thuật Vi xử lý

Bài giảng “Kỹthuật Vi xửlý” được xây dựng trên cơ sởkinh nghiệm rút ra qua việc giảng dạy cho sinh viên các ngành Công nghệthông tin, Điện tử-Viễn thông và Điện-Điện tửcủa Học viện Công nghệBưu chính Viễn thông trong một sốnăm qua với mục đích cung cấp cho sinh viên những kiến thức cơ bản nhất có tính hệthống liên quan tới môn học Kỹthuật Vi xửlý. Đểhọc được tốt nhất môn Kỹthuật vi xửlý, sinh viên cần phải nắm được kiến thức cơ sởcủa các môn học liên quan như: - Kỹthuật mạch điện tử, - Kỹthuật mạch logic - Kiến trúc máy tính - Tin học đại cương - Kỹthuật lập trình Bài giảng Kỹthuật vi xửlý thông qua qua bộvi xửlý 8086/8088 và các vi mạch liên quan khác của Intel sẽcung cấp cho sinh viên các khái niệm căn bản và chủyếu vềmột hệvi xửlý 16 bit: cấu trúc, nguyên tắc hoạt động cùng các mạch phụtrợ, tập lệnh hợp ngữvà cách lập trình hợp ngữ, các phương thức điều khiển vào/ra dữliệu, cách phối ghép cơ bản của vi xửlý. Dựa trên những kiến thức cơ bản này, sinh viên sẽdễdàng tiếp cận và tựnghiên cứu các bộvi xửlý tiên tiến hơn trong họvi xửlý Intel cũng như các họvi xửlý khác. Phần cuối cùng của bài giảng cung cấp cho sinh viên những kiến thức vềmột họvi điều khiển 8051, một họvi điều khiển rất phổbiến tại Việt nam đểsinh viên có thể triển khai các ứng dụng thực tế.

pdf194 trang | Chia sẻ: tuandn | Lượt xem: 3599 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Bài giảng Kỹ thuật Vi xử lý, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG --------------------------------------------------- BÀI GIẢNG: KỸ THUẬT VI XỬ LÝ (Dùng cho các sinh viên các ngành Công nghệ thông tin, Điện-Điện tử và Điện tử-Viễn thông) BIÊN SOẠN: TS. NGUYỄN QUÝ SỸ HÀ NỘI, 12/2009 Generated by Foxit PDF Creator © Foxit Software For evaluation only. 2 Môc lôc LỜI MỞ ĐẦU ...........................................................................................................................6 TÀI LIỆU THAM KHẢO ........................................................................................................7 CHƯƠNG I MÁY VI TÍNH VÀ HỆ VI XỬ LÝ......................................................................8 1.1. Từ máy tính lớn đến máy vi tính.....................................................................................8 1.1.1. Máy tính lớn ........................................................................................................8 1.1.2. Máy tính con........................................................................................................8 1.1.3. Máy vi tính ..........................................................................................................8 1.2. Sự phát triển của các bộ vi xử lý .....................................................................................9 1.2.1. Thế hệ 1 (1971-1973)...........................................................................................9 1.2.2. Thế hệ 2 (1974-1977)...........................................................................................9 1.2.3. Thế hệ 3 (1978-1982).........................................................................................10 1.2.4. Thế hệ 4 (1983-1999).........................................................................................10 1.3. Đặc điểm kỹ thuật của các loại vi xử lý.........................................................................11 1.3.1. Đặc điểm kỹ thuật của vi xử lý Intel...................................................................11 1.3.2. Đặc điểm kỹ thuật của các bộ vi xử lý Motorola.................................................14 1.4. Giới thiệu sơ lược cấu trúc và hoạt động của hệ vi xử lý..............................................15 1.5. Tóm tắt chương I ...........................................................................................................18 1.6. Câu hỏi ôn tập................................................................................................................19 CHƯƠNG II BỘ VI XỬ LÝ INTEL 8086/8088.....................................................................20 2.1. Cấu trúc của bộ vi xử lý 8086 ........................................................................................20 2.1.1. Chức năng và hoạt động của các khối BIU và EU ..............................................21 2.1.2. Các thanh ghi.....................................................................................................23 2.1.3. Các khối chức năng............................................................................................27 2.1.4. Mô hình lập trình của vi xử lý 8086 ...................................................................28 2.2. Cấu trúc chân giao tiếp của vi xử lý 8086/8088.............................................................30 2.2.1. Cấu trúc chân giao tiếp của vi xử lý 8086...........................................................30 2.2.2. 8086 và 8088 .....................................................................................................38 2.3. Tập lệnh của vi xử lý 8086 .............................................................................................38 2.3.1. Khuôn dạng lệnh................................................................................................39 2.3.2. Quá trình xử lý lệnh ...........................................................................................41 2.3.3. Các nhóm lệnh...................................................................................................42 2.4. Hệ thống ngắt của vi xử lý 8086 ....................................................................................42 2.4.1. Quá trình xử lý ngắt ...........................................................................................44 2.4.2. Phân loại ngắt ....................................................................................................45 2.4.3. Các ngắt BIOS và DOS trong các máy tính IBM PC ..........................................47 2.5. Bộ đồng xử lý toán học 8087..........................................................................................49 2.5.1. Tập thanh ghi bên trong của 8087 ......................................................................51 2.5.2. Kết nối 8087 và 8086/8088 ................................................................................52 2.5.3. Tập lệnh của 8087..............................................................................................53 2.5.4. Khuôn dạng dữ liệu của 8087.............................................................................54 2.6. Tóm tắt chương II..........................................................................................................54 Generated by Foxit PDF Creator © Foxit Software For evaluation only. 3 2.7. Câu hỏi ôn tập................................................................................................................54 CHƯƠNG III LẬP TRÌNH HỢP NGỮ CHO VI XỬ LÝ 8086 ............................................55 3.1. Tập lệnh hợp ngữ của Vi xử lý 8086..............................................................................55 3.1.1. Nhóm lệnh vận chuyển dữ liệu...........................................................................55 3.1.2. Nhóm các lệnh tính toán số học..........................................................................57 3.1.3. Nhóm các lệnh thao tác bit .................................................................................60 3.1.4. Nhóm các lệnh làm việc với chuỗi kí tự .............................................................65 3.1.5. Nhóm các lệnh nhảy...........................................................................................66 3.1.6. Các lệnh điều khiển khác ...................................................................................69 3.1.7. Một số lệnh ngắt mềm DOS và BIOS.................................................................70 3.2. Cấu trúc của dòng lệnh hợp ngữ ...................................................................................72 3.3. Cấu trúc của chương trình hợp ngữ..............................................................................73 3.3.1. Khai báo kích cỡ chương trình-Các mô hình bộ nhớ...........................................73 3.3.2. Khai báo kích cỡ ngắn xếp .................................................................................74 3.3.3. Khai báo đoạn dữ liệu ........................................................................................75 3.3.4. Khai báo đoạn mã chương trình .........................................................................75 3.4. Khung của chương trình Hợp ngữ ................................................................................75 3.4.1. Khung của chương trình Hợp ngữ để dịch ra dạng.EXE .....................................75 3.4.2. Khung của chương trình Hợp ngữ để dịch ra dạng.COM....................................77 3.5. Các chế độ định địa chỉ..................................................................................................78 3.5.1. Chế độ địa chỉ thanh ghi.....................................................................................78 3.5.2. Chế độ địa chỉ tức thì .........................................................................................78 3.5.3. Chế độ địa chỉ trực tiếp ......................................................................................79 3.5.4. Chế độ gián tiếp qua thanh ghi ...........................................................................79 3.5.5. Chế độ địa chỉ tương đối cơ sở ...........................................................................79 3.5.6. Chế độ địa chỉ tương đối chỉ số cơ sở.................................................................80 3.5.7. Phương pháp bỏ ngầm định thanh ghi đoạn (segment override)..........................80 3.6. Dữ liệu của chương trình...............................................................................................81 3.6.1. Biểu diễn các dữ liệu số .....................................................................................81 3.6.2. Biểu diễn các dữ liệu ký tự.................................................................................82 3.6.3. Các biến.............................................................................................................82 3.7. Hợp dịch và chạy một chương trình..............................................................................85 3.7.1. Các bước hợp dịch và chạy một chương trình hợp ngữ .......................................85 3.7.2. Chương trình mô phỏng EMU8086....................................................................86 3.8. Các thủ tục (chương trình con) .....................................................................................89 3.8.1. Khai báo thủ tục.................................................................................................89 3.8.2. Thi hành một thủ tục..........................................................................................89 3.9. Lập trình ngắt và chương trình thường trú..................................................................90 3.9.1. Các ngắt DOS....................................................................................................90 3.9.2. Lập trình ngắt ....................................................................................................91 3.9.3. Lập trình thường trú...........................................................................................94 3.10. Tóm tắt chương III ........................................................................................................95 CHƯƠNG IV PHỐI GHÉP BỘ VI XỬ LÝ VỚI BỘ NHỚ...................................................97 4.1. Giới thiệu bộ nhớ và giải mã địa chỉ .............................................................................97 Generated by Foxit PDF Creator © Foxit Software For evaluation only. 4 4.1.1. Cấu trúc giao tiếp của bộ nhớ .............................................................................97 4.1.2. Giải mã địa chỉ cho bộ nhớ ................................................................................99 4.2. Ghép nối vi xử lý 8086 với bộ nhớ ...............................................................................102 CHƯƠNG V PHỐI GHÉP BỘ VI XỬ LÝ VỚI CÁC THIẾT BỊ VÀO RA.......................105 5.1. Các phương pháp điều khiển vào/ra dữ liệu...............................................................105 5.1.1. Đặc điểm vào ra bàng phương pháp thăm dò (polling): ....................................105 5.1.2. Đặc điểm vào/ra bằng phương pháp ngắt..........................................................106 5.1.3. Đặc điểm điều khiển vào/ra bằng phương pháp DMA ......................................107 5.2. Các hình thức phối ghép vào ra...................................................................................107 5.2.1. Vào/ra đồng bộ giữa CPU và thiết bị ngoại vi ..................................................109 5.2.2. Vào/ra không đồng bộ giữa CPU và thiết bị ngoại vi........................................110 5.3. Các chip hỗ trợ điều khiển vào ra dữ liệu thiết bị ngoại vi ........................................112 5.3.1. PIC 8259A.......................................................................................................112 5.3.2. DMA 8237.......................................................................................................118 5.4. Giao tiếp cổng song song của máy tính .......................................................................127 5.5. Giao tiếp cổng nối tiếp: ................................................................................................128 5.5.1. Truyền dữ liệu nối tiếp không đồng bộ .............................................................129 5.5.2. Truyền dữ liệu nối tiếp đồng bộ .......................................................................130 5.6. Các chip hỗ trợ vào ra dữ liệu .....................................................................................132 5.6.1. UART-Mạch thu phát không đồng bộ đa năng .................................................132 5.6.2. USART-Mạch thu phát đồng bộ/không đồng bộ đa năng .................................136 5.6.3. PPI 8255-Vào ra dữ liệu song song ..................................................................143 CHƯƠNG VI NỐI GHÉP VÀ LẬP TRÌNH NỐI GHÉP VỚI NGOẠI VI ........................150 6.1. Lập trình cổng nối tiếp dùng UART 8250...................................................................150 6.1.1. Lập trình cổng COM bằng lệnh ngắt ................................................................155 6.1.2. Thiết lập thông số hoạt động cổng COM bằng lệnh IN/OUT............................156 6.2. Lập trình cổng vào ra song song .................................................................................157 6.2.1. Các chip MSI làm cổng I/O song song .............................................................157 6.2.2. Các chip LSI làm cổng I/O (PPI 8255).............................................................159 6.3. Lập trình cho vi mạch 8259:........................................................................................162 6.3.1. Trạng thái của 8259: ........................................................................................162 6.3.2. Lập trình cho vi mạch 8259:.............................................................................163 6.4. Lập trình cho DMA 8237.............................................................................................166 CHƯƠNG VII GIỚI THIỆU VỀ VI ĐIỀU KHIỂN 8051 ...................................................169 7.1. Giới thiệu chung vi điều khiển 8051............................................................................169 7.2. Cấu trúc chung của vi điều khiển 8051 .......................................................................171 7.3. Mô hình lập trình của vi điều khiển 8051 ...................................................................171 7.3.1. Thanh ghi chính ...............................................................................................172 7.3.2. Thanh ghi phụ ..................................................................................................172 7.3.3. Thanh ghi trạng thái chương trình (PSW).........................................................172 7.3.4. Thanh ghi ngăn xếp (Stack Pointer) .................................................................173 7.3.5. Con trỏ dữ liệu DPTR ......................................................................................173 Generated by Foxit PDF Creator © Foxit Software For evaluation only. 5 7.3.6. Thanh ghi các cổng P0-P3................................................................................174 7.3.7. Thanh ghi bộ đệm truyền thông nối tiếp (Serial Data Buffer) ...........................174 7.3.8. Thanh ghi của bộ định thời/bộ đếm..................................................................174 7.3.9. Các thanh ghi điều khiển..................................................................................174 7.4. Tổ chức bộ nhớ của bộ vi điều khiển 8051..................................................................174 7.4.1. Cấu trúc Bus ....................................................................................................174 7.4.2. Bộ nhớ chương trình ........................................................................................175 7.4.3. Bộ nhớ dữ liệu .................................................................................................175 7.5. Cơ chế ngắt của 8051 ...................................................................................................177 7.5.1. Ngắt ngoài (External Interrupt) ........................................................................179 7.5.2. Các timer/counter trong 8051...........................................................................179 7.6. Cổng vào/ra song song (Parrallel I/O Port) trong 8051..............................................181 7.7. Cổng nối tiếp (Serial Port) của 8051 ...........................................................................184 7.8. Tập lệnh của 8051 ........................................................................................................186 7.8.1. Các chế độ địa chỉ ............................................................................................186 7.8.2. Các ký hiệu dùng trong việc mô tả tập lệnh......................................................187 7.8.3. Các lệnh tác động đến các cờ trong thanh ghi trạng thái ...................................188 7.8.4. Các lệnh tính toán số học .................................................................................188 7.8.5. Các lệnh thực hiện các phép toán logic.............................................................189 7.8.6. Các lệnh trao đổi dữ liệu ..................................................................................190 7.8.7. Các lệnh thao tác xử lý đại số Boolean.............................................................192 7.8.8. Các lệnh rẽ nhánh chương trình........................................................................193 7.9. Tổng kết chương VII....................................................................................................194 Generated by Foxit PDF Creator © Foxit Software For evaluation only. 6 LỜI MỞ ĐẦU Bài giảng “Kỹ thuật Vi xử lý” được xây dựng trên cơ sở kinh nghiệm rút ra qua việc giảng dạy cho sinh viên các ngành Công nghệ thông tin, Điện tử-Viễn thông và Điện- Điện tử của Học viện Công nghệ Bưu chính Viễn thông trong một số năm qua với mục đích cung cấp cho sinh viên những kiến thức cơ bản nhất có tính hệ thống liên quan tới môn học Kỹ thuật Vi xử lý. Để học được tốt nhất môn Kỹ thuật vi xử lý, sinh viên cần phải nắm được kiến thức cơ sở của các môn học liên quan như: ü Kỹ thuật mạch điện tử, ü Kỹ thuật mạch logic ü Kiến trúc máy tính ü Tin học đại cương ü Kỹ thuật lập trình Bài giảng Kỹ thuật vi xử lý thông qua qua bộ vi xử lý 8086/8088 và các vi mạch liên quan khác của Intel sẽ cung cấp cho sinh viên các khái niệm căn bản và chủ yếu về một hệ vi xử lý 16 bit: cấu trúc, nguyên tắc hoạt động cùng các mạch phụ trợ, tập lệnh hợp ngữ và cách lập trình hợp ngữ, các phương thức điều khiển vào/ra dữ liệu, cách phối ghép cơ bản của vi xử lý. Dựa trên những kiến thức cơ bản này, sinh viên sẽ dễ dàng tiếp cận và tự nghiên cứu các bộ vi xử lý tiên tiến hơn trong họ vi xử lý Intel cũng như các họ vi xử lý khác. Phần cuối cùng của bài giảng cung cấp cho sinh viên những kiến thức về một họ vi điều khiển 8051, một họ vi điều khiển rất phổ biến tại Việt nam để sinh viên có thể triển khai các ứng dụng thực tế. Tuy đã rất cố gắng và cẩn thận trong quá trình biên soạn nhưng chắc rằng không tránh khỏi những thiếu soát, tác giả mong nhận được nhiều ý kiến đóng góp của các đồng nghiệp cũng như của các em sinh viên để bài giảng ngày càng hoàn thiện hơn. Thư góp ý xin gửi về: - TS.