Ủ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ẦN VĂN NAM (Chủ biên) NGUYỄN ANH DŨNG – NGUYỄN THANH HÀ GIÁO TRÌNH VI ĐIỀU KHIỂN Nghề: Điện tử công nghiệp Trình độ: Cao đẳng (Lưu hành nội bộ) Hà Nội - Năm 2018 1 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, Khoa Đ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ề Điện tử công nghiệp. Đây là môn học kỹ thuật cơ sở trong chương trình đào tạo nghề Điện tử công nghiệp trình độ Cao đẳng. Nhóm biên soạn đã tham khảo các tài liệu: Giáo trình “Họ vi điều khiển” Tống văn On - Đại học Bách khoa TP. Và giáo trình “8051 Development Boad”, Rev 5 - Paul Stoffregen 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, tháng 09 năm 2018 Chủ biên: Trần Văn Nam 2 MỤC LỤC LỜI NÓI ĐẦU. 3 GIÁO TRÌNH MÔ ĐUN.
5 Bài 1Sơ lược về lịch sử và hướng phát triển của vi điều khiển. Lịch sử xuất hiện bộ vi điều khiển 8051. Vi điều khiển (microcontroller). 9 Bài 2Cấu trúc của 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 (SFR). Tổ chức bộ nhớ ngoài.
36 Bài 3Tập lệnh 8051. Các phương pháp định địa chỉ. 47 Bài 4Bộ đị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 động, dừng và điều khiển Timer. Khởi tạo và truy xuất thanh ghi Timer. 96 Bài 5Cổ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. Truyền thông đa xử lý (Multiprocessor Communications) .Tổ chức ngắt của 8051. Thiết kế chương trình sử dụng ngắt.
Ngắt cổng nối tiếp. Các cổng ngắt ngoài. Đồ thị thời gian của ngắt. 145 Bài 7Phần mềm hợp ngữ.
Hoạt động của trình biên dịch Assembler. Cấu trúc chung chương trình hợp ngữ cho 8051. Tính biểu thức trong khi hợp dịch. Các điều khiển của ASSEMBLER.
Hoạt động liên kết (Linker). 173 TÀI LIỆU THAM KHẢO. 223 4 GIÁO TRÌNH MÔ ĐUN Tên mô đun: Vi điều khiển Mã số của mô đun: MĐ 24 Thời gian của mô đun: 120 giờ. 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 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 của mô đun: Là mô đun chuyên môn nghề. Ý nghĩa của mô đun: mô đun giúp ngườu học có kiến thức về điều khiển hệ thống va thiết bị bằng Vi đều khiển. Vai trò của mô đun: Là mô đun chuyên ngành giúp người học điều Vi khiển hệ thống thông qua các Vi xử lý. Mục tiêu của mô đun Về kiến thức: - 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 khiển. Về kỹ năng: - 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ế. - Kiểm tra và viết được các chương trình điều kiển.
Về thái độ: Rèn luyện cho học sinh 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 của mô đun 5 Thời gian Số Tên các bài trong mô đun Tổng Lý Thực TT Kiểm tra* số thuyết hành 1 Sơ lược về lịch sử và hướng 4 4 0 0 phát triển của vi điều khiển 2 Cấu trúc họ vi điều khiển 5 5 0 0 8051 3 Tập lệnh 8051 25 6 18 1 4 Bộ định thời 25 8 16 1 5 Cổng nối tiếp 20 5 14 1 6 Ngắt 25 7 17 1 7 Phần mềm hợp ngữ 16 5 10 1 Cộng 120 40 75 5 6 Bài 1 Sơ lược về lịch sử và hướng phát triển của vi điều khiển Mục tiêu Trình bày được cấu trúc chung của vi điều khiển. Phát biểu được các ứng dụng của vi điều khiển và hướng phát triển của vi điều khiển. Rèn luyện cho học sinh 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 1.
Lịch sử xuất hiện bộ vi điều khiển 8051 Năm 1976 Intel giới thiệu bộ vi điều khiển (microcontroller) 8748, một chip tương tự như các bộ vi xử lý và là chip đầu tiên trong họ MCS-48. Độ phức tạp, kích thước và khả năng của Vi điều khiển tăng thêm một bậc quan trọng vào năm 1980 khi intel tung ra chip 8051, bộ Vi điều khiển đầu tiên của họ MCS-51 và là chuẩn công nghệ cho nhiều họ Vi điều khiển được sản xuất sau này. Chip 8051 chứa trên 60000 transistor bao gồm 4K byte ROM, 128 byte RAM, 32 đường xuất nhập, 1 port nối tiếp và 2 bộ định thời 16 bit. Sau đó rất nhiều họ Vi điều khiển của nhiều nhà chế tạo khác nhau lần lượt được đưa ra thị trường với tính năng được cải tiến ngày càng mạnh.
Hiện nay có rất nhiều họ Vi điều khiển trên thị trường với nhiều ứng dụng khác nhau, trong đó họ Vi điều khiển họ MCS-51 được sử dụng rất rộng rãi trên thế giới và ở Việt Nam. Vào năm 1980 Intel công bố chíp 8051(80C51), bộ vi điều khiển đầu tiên của họ vi điều khiển MCS-51. Nó bao gồm 4KB ROM, 128 byte RAM, 32 đường xuất nhập, 1 port nối tiếp và 2 bộ định thời 16 bit. Tiếp theo sau đó là sự ra đời của chip 8052, 8053, 8055 với nhiều tính năng được cải tiến.
Hiện nay Intel không còn cung cấp các loại Vi điều khiển họ MCS-51 nữa, thay vào đó các nhà sản xuất khác như Atmel, Philips/signetics, AMD, Siemens, Matra&Dallas, Semiconductors được cấp phép làm nhà cung cấp thứ hai cho các chip của họ MSC-51. Chip Vi điều khiển được sử dụng rộng rãi trên thế giới cũng như ở Việt Nam hiện nay là Vi điều khiển của hãng Atmel với nhiều chủng loại vi điều khiển khác nhau. Hãng Atmel có các chip Vi điều khiển có tính năng tương tự như chip Vi điều khiển MCS-51 của Intel, các mã số chip được thay đổi chút ít khi được Atmel sản xuất. Mã số 80 chuyển thành 89, chẳng hạn 80C52 của Intel khi sản xuất ở Atmel mã số thành 89C52 (Mã số đầy đủ: AT89C52) với tính 7 năng chương trình tương tự như nhau.
Tương tự 8051,8053,8055 có mã số tương đương ở Atmel là 89C51,89C53,89C55. Vi điều khiển Atmel sau này ngày càng được cải tiến và được bổ sung thêm nhiều chức năng tiện lợi hơn cho người dùng. Bảng 1 Dung lượng RAM Dung lượng ROM Chế độ nạp 89C51 128 byte 4 Kbyte song song 89C52 128 byte 8 Kbyte song song 89C53 128 byte 12 Kbyte song song 89C55 128 byte 20 Kbyte song song Sau khoảng thời gian cải tiến và phát triển, hãng Atmel tung ra thị trường dòng Vi điều khiển mang số hiệu 89Sxx với nhiều cải tiến và đặc biệt là có thêm khả năng nạp chương trình theo chế độ nối tiếp rất đơn giản và tiện lợi cho người sử dụng. Bảng 2 Dung lượng RAM Dung lượng ROM Chế độ nạp 89S51 128 byte 4 Kbyte nối tiếp 89S52 128 byte 8 Kbyte nối tiếp 89S53 128 byte 12 Kbyte nối tiếp 89S55 128 byte 20 Kbyte nối tiếp Tất cả các Vi điều khiển trên đều có đặc tính cơ bản giống nhau về phần mềm (các tập lệnh lập trình như nhau), còn phần cứng được bổ sung với chip có mã số ở hai số cuối cao hơn, các Vi điều khiển sau này có nhiều tính năng vượt trội hơn Vi điều khiển thế hệ trước.
Các Vi điều khiển 89Cxx như trong bảng 1 có cấu tạo ROM và RAM như 98Sxx trong bảng 2, tuy nhiên 98Sxx được bổ sung một số tính năng và có thêm chế độ nạp nối tiếp. 8051 là bộ vi điều khiển 8 bit tức là CPU chỉ có thể làm việc với 8 bit dữ liệu. Dữ liệu lớn hơn 8 bit được chia thành các dữ liệu 8 bit để xử lý. 8051 đã trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác (Siemens, Atmel, Philips, AMD, Matra, Dallas, Semiconductor …) sản xuất và bán bất kỳ dạng biến thể nào của 8051 mà họ muốn với điều kiện họ phải để mã chương trình tương thích với 8051.
Từ đó dẫn đến sự ra đời của nhiều phiên bản của 8051 với các tốc độ và dung lượng ROM trên chip khác nhau. 8 Tuy nhiên, điều quan trọng là mặc dù có nhiều biến thể của 8051, cũng như khác nhau về tốc độ, dung lượng ROM nhưng tất cả các lệnh đều tương thích với 8051 ban đầu. Điều này có nghĩa là nếu chương trình được viết cho một phiên bản 8051 nào đó thì cũng sẽ chạy được với mọi phiên bản khác không phụ thuộc vào hãng sản xuất. Các loại vi điều khiển khác: vi điều khiển AVR, vi điều khiển PIC, vi điều khiển MCUs của Philips,.Ngoài ra, các loại vi điều khiển chuyên dụng của các hãng sản xuất khác: các loại vi điều khiển này được sử dụng chuyên dụng theo chức năng cần điều khiển.
Bảng 3: Địa chỉ của một số hãng sản xuất các thành viên vi điều khiển Hãng Địa chỉ Website intel www.com/design/mcs51 Antel www.com Philips/Signetis www.com Siemens www.com Dallas Semiconductor www. Vi điều khiển (microcontroller) 1. Nguyên lý, cấu tạo a. Cấu tạo vi điều khiển Vi điều khiển là một máy tính được tích hợp trên một chíp, nó thường được sử dụng để điều khiển các thiết bị điện tử.
Vi điều khiển thực chất gồm một vi xử lý có hiệu suất đủ cao và giá thành thấp (so với các vi xử lý đa năng dùng trong máy tính) kết hợp với các thiết bị ngoại vi như các bộ nhớ, các mô đun vào/ra, các mô đun biến đổi từ số sang tương tự và từ tương tự sang số, mô đun điều chế độ rộng xung (PWM). Vi điều khiển thường được dùng để xây dựng hệ thống nhúng. Nó xuất hiện nhiều trong các dụng cụ điện tử, thiết bị điện, máy giặt, lò vi sóng, điện thoại, dây truyền tự động.