ỦY BAN NHÂN DÂN THÀNH PHỐ HÀ NỘI TRƯỜNG CAO ĐẲNG NGHỀ VIỆT NAM - HÀN QUỐC THÀNH PHỐ HÀ NỘI TRỊNH THỊ HẠNH(Chủ biên) TẠ VĂN BẰNG – BÙI VĂN CÔNG GIÁO TRÌNH VI ĐIỀU KHIỂN Nghề: Cơ điện tử Trình độ: Cao đẳng (Lưu hành nội bộ) Hà Nội - Năm 2019 LỜI NÓI ĐẦU Để cung cấp tài liệu học tập cho học sinh - sinh viên và tài liệu cho giáo viên khi giảng dạy, Điện tử Trường CĐN Việt Nam - Hàn Quốc thành phố Hà Nội đã chỉnh sửa, biên soạn cuốn giáo trình “VI ĐIỀU KHIỂN” dành riêng cho học sinh - sinh viên nghề Cơ điện tử. Đây là mô đun trong chương trình đào tạo nghề Cơ điện tử trình độ Cao đẳng. Nhóm biên soạn đã tham khảo các tài liệu: “vi điều khiển ” dùng cho sinh viên các Trường Cao đẳng, Đại học kỹ thuật của tác giả. Sổ tay linh kiện điện tử cho người thiết kế mạch.
Giáo trình linh kiện điện tử và ứng dụng. Sổ tay tra cứu các tranzito Nhật Bản (Nguyễn Kim Giao, Lê Xuân Thế Kỹ thuật VXL & lập trình ASSEMBLY cho hệ VXL - Đỗ Xuân Tiến – NXB KH&KT - 200. Họ VĐK 8051 - Tống Văn On & Hoàng Đức Hải - NXB LĐXH – 2001 và nhiều tài liệu khác. Mặc dù nhóm biên soạn đã có nhiều cố gắng nhưng không tránh được những thiếu sót.
Rất mong đồng nghiệp và độc giả góp ý kiến để giáo trình hoàn thiện hơn. Xin chân thành cảm ơn! Hà Nội, ngày … tháng … năm 2019 Chủ biên: Trịnh Thị Hạnh 1 MỤC LỤC LỜI NÓI ĐẦU. 2 GIÁO TRÌNH MÔ ĐUN. 7 Cấu trúc họ vi điều khiển 8051.
Cấu trúc Port I/O. Tổ chức bộ nhớ. Các thanh ghi chức năng đặc biệt. Các cải tiến của 8032/8052.
Hoạt động Reset. Thực hành ứng dụng. Các cách định địa chỉ. 82 Bộ định thời.
Thanh ghi SFR của timer. Các chế độ làm việc. Nguồn cung cấp xung cho Timer. Khởi tạo và truy xuất thanh ghi Timer.
97 Cổng nối tiếp. 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.
Truyền thông đa xử lý. 113 TÀI LIỆU THAM KHẢO. 127 3 GIÁO TRÌNH MÔ ĐUN Tên mô đun: Vi điều khiển Mã số mô đun: MĐ 43 Thời gian mô đun: 60 giờ (LT: 18 giờ; TH/TT/TN/BT/TL: 42 giờ) I. Vị trí, tính chất mô đun - Vị trí: Mô đun Vi điều khiển là mô đun được bố trí dạy sau khi học xong môn học mô đun: Kỹ thuật xung số điện tử cơ bản, điện tử nâng cao, điện tử công suất, và học trước môn vi mạch số lập trình.
- Tính chất: Là mô đun chuyên môn nghề. Mục tiêu của mô đun - Kiến thức: + 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ế. - Kỹ năng + Kiểm tra và viết được các chương trình điều kiển. + Trình bày được cấu trúc, ứng dụng cả vi điều khiển trong công nghiệp + Kiểm tra và viết được các chương trình điều kiển.
+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ế. - Năng lực tự chủ, trách nhiệm: + Rèn luyện thái độ nghiêm túc, cẩn thận, chính xác trong học tập và thực hiện công việc III. Nội dung mô đun 1. Nội dung tổng quát và phân bổ thời gian 4 Thời gian Số TT Tên các bài trong mô đun Tổng Lý Thực Kiểm số thuyết hành tra+ 1 Cấu trúc họ vi điều khiển 8051 12 6 6 0 1.
Cấu trúc Port I/O 4. Tổ chức bộ nhớ 5. Các thanh ghi chức năng đặc biệt 6. Bộ nhớ ngoài 7.
Các cải tiến của 8032/8052 8. Hoạt động Reset 9. Thực hành ứng dụng 2 Tập lệnh 8051 18 6 12 1 1. Các cách định địa chỉ 3.
Thực hành Kiểm tra 3 Bộ định thời 18 6 12 1 1. Thanh ghi SFR của timer 3. Các chế độ làm việc 4. Nguồn cung cấp xung cho Timer 5.
Khởi động, dừng, điều khiển Timer 6. Thực hành Kiểm tra 5 4 Cổng nối tiếp 12 11 1 1. Thanh ghi điều khiển 2. Chế độ làm việc 3.
Khởi tạo và truy suất thanh ghi PORT nối tiếp 4. Truyền thông đa xử lý 5. Thực hành Kiểm tra Cộng 60 18 39 3 6 Bài 1 Cấu trúc họ vi điều khiển 8051 Mục tiêu - Mô tả được cấu trúc họ vi điều khiển chuẩ công nghiệp - Thực hiện truy xuất bộ nhớ dữ liệu, bộ nhớ chương trình đúng qui trình kỹ thuật - Thực hiện đúng kỹ thuật phương pháp mở rộng bộ nhớ ngoài. - Trình bày được nguyên lý hoạt động của mạch reset - Nghiêm túc, cẩn thận, chính xác trong học tập và thực hiện công việc 1.
Tổng quan Khoa học kỹ thuật đang ngày càng phát triển rất mạnh mẽ, các công nghệ mới thuộc các lĩnh vực khác nhau cũng nhờ đó đã ra đời nhằm đáp ứng nhu cầu của xã hội và kỹ thuật Vi điều khiển cũng nằm trong số đó. Hiện nay kỹ thuật Vi xử lý đã được giảng dạy rộng rãi ở các trường Đại học và Cao đẳng trong cả nước, tuy nhiên lĩnh vực mới Vi điều khiển vẫn đang còn rất mới mẻ, và những ứng dụng của nó vẫn chưa được khai thác triệt để trong các hệ thống điều khiển, đo lường và điều chỉnh của các dây chuyền công nghiệp. Qua quá trình tham gia giảng dạy tại trường Đại học SPKT Hưng yên và thời gian học tập nâng cao ở CHLB Đức, tác giả đã tập trung nghiên cứu và biên soạn giáo trình kỹ thuật Vi điều khiển nhằm phục vụ công việc giảng dạy lĩnh vực này tại trường. Toàn bộ nội dung giáo trình được chia làm 2 phần.
Phần 1 bao gồm các kiến thức cơ bản về phần cứng và các tập lệnh của họ Vi điều khiển 80C51/ AT89C51. ở phần 2 tác giả tập trung trình bày phần cứng họ Vi điều khiển 80C52/ AT89S8252 và kỹ thuật lập trình bằng hợp ngữ. Đối tượng của quyển giáo trình này là các sinh viên ngành Điện, Điện tử, Cơ điện tử, Công nghệ thông tin. Tuy nhiên để tiếp thu tốt nội dung từ quyển giáo trình này, người học cần có kiến thức về kỹ thuật số, kỹ thuật mạch điện tử và đã biết qua một ngôn ngữ lập trình cấp cao như Pascal, C… Mặc dù đã rất cố gắng trong quá trình biên soạn, nhưng do trình độ và thời gian còn bị hạn chế nên chắc chắn quyển giáo trình này không tránh khỏi những thiếu sót, rất mong nhận được những ý kiến đóng góp, phê bình của bạn đọc.
IC 80C51/AT89C51 Hình 1. sơ đồ chân 8051 Chức năng của các chân tín hiệu như sau: - P0.7 là các chân của cổng 0.7 là các chân của cổng 1.7 là các chân của cổng 2 - P3.7 là các chân của cổng 3 - RxD: Nhận tín hiệu kiểu nối tiếp. - TxD: Truyền tín hiệu kiểu nối tiếp. - /INT0: Ngắt ngoài 0.
8 - /INT1: Ngắt ngoài 1. - T0: Chân vào 0 của bộ Timer/Counter 0. - T1: Chân vào 1 của bộ Timer/Counter 1. - /Wr: Ghi dữ liệu vào bộ nhớ ngoài.
- /Rd: Đọc dữ liệu từ bộ nhớ ngoài. - RST: Chân vào Reset, tích cực ở mức logic cao trong khoảng 2 chu kỳ máy. - XTAL1: Chân vào mạch khuyếch đaị dao động - XTAL2: Chân ra từ mạch khuyếch đaị dao động. - /PSEN : Chân cho phép đọc bộ nhớ chương trình ngoài (ROM ngoài).
- ALE (/PROG): Chân tín hiệu cho phép chốt địa chỉ để truy cập bộ nhớ ngoài, khi On-chip xuất ra byte thấp của địa chỉ. Tín hiệu chốt được kích hoạt ở mức cao, tần số xung chốt = 1/6 tần số dao động của bộ VĐK. Nó có thể được dùng cho các bộ Timer ngoài hoặc cho mục đích tạo xung Clock. Đây cũng là chân nhận xung vào để nạp chương trình cho Flash (hoặc EEPROM) bên trong On-chip khi nó ở mức thấp.
- /EA/Vpp: Cho phép On-chip truy cập bộ nhớ chương trình ngoài khi /EA=0, nếu /EA=1 thì On-chip sẽ làm việc với bộ nhớ chương trình nội trú. Khi chân này được cấp nguồn điện áp 12V (Vpp) thì On-chip đảm nhận chức năng nạp chương trình cho Flash bên trong nó. - Vcc: Cung cấp dương nguồn cho On-chip (+ 5V). Cấu trúc Port I/O 1.7) có số thứ tự chân từ 32 – 39.
Port 0 có hai chức năng: - Port xuất/nhập dữ liệu (P0.7) cho các thiết kế vi điều khiển không sử dụng bộ nhớ bên ngoài. - Bus địa chỉ byte thấp và bus dữ liệu đa hợp (AD0 – AD7) cho các thiết kế vi điều khiển có sử dụng bộ nhớ bên ngoài. - Khi ALE = 0 thì Port 0 đóng vai trò là bus dữ liệu (D0 – D7). 9 - Khi ALE = 1 thì Port 0 đóng vai trò là bus địa chỉ (A0 – A7).
- Cần ghi nhớ một vấn đề rất quan trọng là khi Port 0 đóng vai trò là port xuất/nhập dữ liệu thì phải kết nối thêm các điện trở kéo lên bên ngoài (xem hình bên). - Ở chế độ mặc định (hay nói cách khác là sau khi vi điều khiển được reset) thì các chân Port 0 (P0.7) được cấu hình là port xuất dữ liệu. Muốn các chân Port 0 làm port nhập dữ liệu thì cần phải lập trình lại, bằng cách ghi mức logic cao (mức 1) đến tất cả các bit của port trước khi bắt đầu nhập dữ liệu từ port.7) có số thứ tự chân từ 1 – 8. Port 1 có một chức năng: - Port xuất/nhập dữ liệu (P1.7) cho các thiết kế vi điều khiển có sử dụng hoặc không sử dụng bộ nhớ bên ngoài.
- Khác với Port 0, đối với Port 1 thì không cần phải kết nối thêm các điện trở kéo lên bên ngoài vì nó đã được thiết kế sẵn các điện trở kéo lên bên trong. - Ở chế độ mặc định (hay nói cách khác là sau khi vi điều khiển được reset) thì các chân Port 1 (P1.7) được cấu hình là port xuất dữ liệu. Muốn các chân Port 1 làm port nhập dữ liệu thì cần phải lập trình lại, bằng cách ghi mức logic cao (mức 1) đến tất cả các bit của port trước khi bắt đầu nhập dữ liệu từ port.7) có số thứ tự chân từ 21 – 28. Port 2 có hai chức năng: - Port xuất nhập dữ liệu (P2.7) cho các thiết kế vi điều khiển không sử dụng bộ nhớ bên ngoài.