TUYÊN BỐ BẢN QUYỀN Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. 1 LỜI GIỚI THIỆU Vi điều khiển là một trong những mô đun cơ sở của nghề Điện tử dân dụng được biên soạn dựa theo chương trình khung đã xây dựng và ban hành năm 2021 của trường Cao đẳng nghề Cần Thơ dành cho nghề Điện tử dân dụng hệ Cao đẳng. Giáo trình được biên soạn làm tài liệu học tập, giảng dạy nên giáo trình đã được xây dựng ở mức độ đơn giản và dễ hiểu, trong mỗi bài học đều có thí dụ và bài tập tương ứng để áp dụng và làm sáng tỏ phần lý thuyết.
Khi biên soạn, nhóm biên soạn đã dựa trên kinh nghiệm thực tế giảng dạy, tham khảo đồng nghiệp, tham khảo các giáo trình hiện có và cập nhật những kiến thức mới có liên quan để phù hợp với nội dung chương trình đào tạo và phù hợp với mục tiêu đào tạo, nội dung được biên soạn gắn với nhu cầu thực tế. Nội dung giáo trình được biên soạn với lượng thời gian đào tạo 60 giờ gồm có: Bài MĐ 18-01: Họ vi xử lý INTEL 80x86 Bài MĐ 18-02: Cấu trúc họ vi điều khiển 8051 Bài MĐ 18-03: Tập lệnh 8051 Bài MĐ 18-04: Bộ định thời. Bài MĐ 18-05: Cổng nối tiếp. Giáo trình cũng là tài liệu giảng dạy và tham khảo tốt cho các nghề điện tử công nghiệp, cơ điện tử, điện công nghiệp và điện dân dụng.
Mặc dù đã cố gắng tổ chức biên soạn để đáp ứng được mục tiêu đào tạo nhưng không tránh được những thiếu sót. Rất mong nhận được sự đóng góp ý kiến của các thầy, cô, bạn đọc để nhóm biên soạn sẽ điều chỉnh hoàn thiện hơn. Cần Thơ, ngày tháng năm 2021 Tham gia biên soạn 1. Chủ biên: Đỗ Hữu Hậu 2 MỤC LỤC Trang TUYÊN BỐ BẢN QUYỀN.1 LỜI GIỚI THIỆU.3 BÀI 1: HỌ VI XỬ LÝ INTEL 80x86.
Cấu trúc bên trong và hoạt động của vi xử lý 8086. Các chế độ định địa chỉ của bộ vi xư lý 8086. Tập lệnh của vi xử lý 8086. Các chế độ làm việc của vi xử lý.
Lập trình hợp ngữ cho vi xử lý 8086/8088.20 BÀI 2: CẤU TRÚC HỌ VI ĐIỀU KHIỂN 8051. Sơ đồ chân vi điều khiển 8051. Cấu trúc Port I/O. Tổ chức bộ nhớ.33 BÀI 3: TẬP LỆNH 8051.
Các cách định địa chỉ.53 BÀI 4: BỘ ĐỊNH THỜI. Thanh ghi SFR của timer. Các chế độ làm việc.64 BÀI 05: CỔNG NỐI TIẾP (SERIAL PORT). Thanh ghi điều khiển.
Chế độ làm việc. Khởi tạo và truy xuất thanh ghi PORT nối tiếp. Tổ chức ngắt của 8051. Thiết kế chương trình dùng ngắt.91 TÀI LIỆU THAM KHẢO.93 3 GIÁO TRÌNH MÔ ĐUN Tên mô đun: VI ĐIỀU KHIỂN Mã mô đun: MĐ 18 Vị trí, tính chất, ý nghĩa và vai trò của mô đun: - Vị trí của mô đun: Mô đun được bố trí dạy sau khi học xong các mô đun linh kiện điện tử, đo lường điện – điện tử, kỹ thuật số.và học trước mô đun Máy thu hình công nghệ cao, PLC.
- Tính chất của mô đun: Là mô đun chuyên môn nghề - Ý nghĩa của mô đun: giúp người học nắm bắt được phương pháp lập trình điều khiển các ứng dụng căn bản các họ vi xử lý và vi điều khiển - Vai trò của mô đun: Lập trình điều khiển các ứng dụng căn bản sử dụng họ 8051 và là nền tảng để học mô đun vi điều khiển nâng cao Mục tiêu của mô đun: - Về kiến thức: + Trình bày được về hệ đếm và mã hóa trong máy tính, tương tác giữa máy tính và vi xử lý, các bộ vi xử lý intel đang được ứng dụng + Trình bày được cấu trúc của các họ vi xử lý và vi điều khiển + Giải thích được nguyên lý làm việc các hệ điều khiển ứng dụng vi xử lý và vi điều khiển - Về kỹ năng: + Lập trình hợp ngữ một số bài tập cơ bản một cách thành thạo + Xử lý được một số dạng kết nối máy tính với vi xử lý và các thiết bị ngoại vi + Phát triển được các hệ điều khiển trên cơ sở khối trung tâm là vi xử lý. + Vận hành được các thiết bị và dây chuyền sản xuất dùng vi điều khiển + Xác định được các nguyên nhân gây ra hư hỏng xảy ra trong thực tế. + Lập trình cho hệ vi điều khiển 89C51với Assembly + Nạp chương trình vào vi điều khiển. - Năng lực tự chủ và trách nhiệm: + Có sáng kiến, tìm tòi, khám phá trong quá trình học tập và công việc + Có khả năng tự định hướng, chọn lựa phương pháp tiếp cận thích nghi với các bài học + Có năng lực đánh giá kết quả học tập và nghiên cứu của mình + Tự học tập, tích lũy kiến thức, kinh nghiệm để nâng cao trình độ chuyên môn Nội dung của mô đun: Thời gian (giờ) Thực Số hành, thí Tên các bài trong mô đun Tổng Lý Kiểm TT nghiệm, số thuyết tra thảo luận, bài tập 1 Bài 1: Họ vi xử lý INTEL 80x86 16 8 8 1.
Cấu trúc bên trong và hoạt động của 1 1 vi xử lý 8086 2. Các chế độ định địa chỉ của bộ vi xư 1 1 lý 8086 3. Tập lệnh của vi xử lý 8086 1 1 4. Các chế độ làm việc của vi xử lý 4 4 4 5.
Lập trình hợp ngữ cho vi xử lý 1 1 8086/8088 6. Thực hành 8 8 2 Bài 2: Cấu trúc họ vi điều khiển 8051 4 2 1 1 1. Cấu trúc Port I/O 0. Tổ chức bộ nhớ 0.
Thực hành 1 1 Kiểm tra 1 1 3 Bài 3: Tập lệnh 8051 16 8 8 1. Các cách định địa chỉ 1 1 2. Thực hành 8 8 4 Bài 4: Bộ định thời 8 4 3 1 1.Thanh ghi SFR của timer 2 2 2. Các chế độ làm việc 2 2 3.
Thực hành 3 3 Kiểm tra 1 1 5 Bài 05: Cổng nối tiếp 8 4 4 1. Thanh ghi điều khiển 1 1 2. Chế độ làm việc 1 1 3. Khởi tạo và truy suất thanh ghi 1 1 PORT nối tiếp 4.
Thực hành 4 4 6 Bài 06: Ngắt 8 4 3 1 1. Tổ chức ngắt của 8051 1 1 2. Thiết kế chương trình dùng ngắ 2 2 4. Thực hành 3 3 Kiểm tra 1 1 Cộng 60 30 27 3 5 BÀI 1: HỌ VI XỬ LÝ INTEL 80x86 Mã bài: MĐ 18-01 Giới thiệu: Bộ vi xử lý 80x86 của Intel.
Đây là bộ vi xử lý nổi tiếng một thời của hãng Intel và được sử dụng nhiều trong các lĩnh vực khác nhau. Các chương trình viết cho 80x86 vẫn có thể chạy được trên trên các hệ tiên tiến sau này. Các họ vi xử lý của các hãng tuy có khác nhau nhưng xét cho cùng có khá nhiều điểm chủ yếu rất giống nhau, do đó một khi đã nắm vững các vấn đề kỹ thuật của 8086 ta sẽ có cơ sở để nắm bắt các bộ vi xử lý khác trong cùng họ của Intel hoặc các họ khác. Mục tiêu: - Trình bày được cấu trúc hệ vi xử lý 80x86 - Trình bày được tập lệnh của hệ vi xử lý 80x86 - Viết được một số chương trình đơn giản dạng hợp ngữ cho hệ vi xử lý 80x86 - Rèn luyện tính tư duy, tác phong trong công nghiệp Nội dung chính: 1.
Cấu trúc bên trong và hoạt động của vi xử lý 8086 1. Các khối chức năng của CPU Chức năng bên trong vi xử lý về mặt logic được chia làm hai khối xử lý. Khối thứ nhất là khối giao diện bus (BIU) và khối thứ hai là khối thực hiện lệnh (EU). BIU: Cung cấp các chức năng liên quan đến việc nhận lệnh và xếp hàng lệnh, lưu trữ các toán hạng và định vị các địa chỉ.
Khối này cũng cung cấp các chức năng điều khiển BUS cơ sở. Trong hầu hết các trường hợp thời gian thực hiện lệnh và lấy lệnh và thực hiện lệnh là trùng nhau. Chính điều này làm tăng khả năng hoạt động của vi xử lý thông qua việc cải thiện Bus. Trong khi khối thực hiện lệnh đang bận rộn với lệnh hiện thời thì BIU đã có thể bắt đầu việc lấy các lệnh kế tiếp từ bộ nhớ và phần cuối của chúng được đặt trong một RAM nội bộ tốc độ cao được gọi là hàng đợi.
Độ dài của hàng đợi này với vi xử lý 8086 là 6byte. Kỹ thuật hàng đợi lệnh cho phép BIU sử dụng bộ nhớ rất hiệu quả. BIU sẽ lấy mã lệnh trong bộ nhớ rồi đưa vào hàng đợi. Theo cách này BIU có thể cung cấp các lệnh một cách liên tục mà không độc chiếm BIU.
Điều này làm giảm đáng kể thời gian chết trên Bus. Hàng đợi lệnh làm việc như một bộ đệm lệnh FIFO (First In First Out, vào trước ra trước). Nếu có sự vào/ra liên tục của dòng mã lệnh trong bộ đệm này thì có nghĩa là có sự phối hợp hoạt động hiệu qủa giữa hai khối EU và BIU theo cơ chế xử lý xen kẽ liên tục dòng mã lệnh để làm tăng tốc độ xử lý tổng thể. Kỹ thuật xen kẽ liên tục dòng mã lệnh sẽ không còn tác dụng tăng tốc độ xử lý của CPU nữa nếu nếu như trong đệm lệnh có chứa các mã lệnh của các lệnh CALL (gọi chương trình con) hoặc JMP (nhảy), bởi vì lúc gặp các lệnh này nội dung cũ của bộ đệm lệnh sẽ bị xoá và thay thế vào đó là nội dung mới được nạp bởi các lệnh mới do lệnh nhảy hoặc gọi quyết định.
Việc này tiêu tốn nhiều thời gian hơn so với trường hợp trong đệm chỉ có mã lệnh của các lệnh tuần tự. EU: Nhận các lệnh được lấy ra trước từ hàng đợi lệnh và cung cấp các toán hạng, các địa chỉ cho BIU để khối này đọc lệnh và dữ liệu. Trong khi đó bản thân EU sẽ giải mã lệnh, thực hiện, rồi lại chuyển các kết quả tới BIU để lưu trữ. Thao tác được thực hiện trước tiên của EU là việc giải mã lệnh và khoảng thời gian này có vẻ như là lãng phí đối với CPU khi mà dường như chẳng có một hoạt động về mặt điện nào diễn ra ở trên Bus.
Nhưng trong thực tế, chính khoảng thời gian này là khoảng thời gian được BIU khai thác để lấy trước các câu lệnh tiếp theo như đã được mô tả ở trên.