Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 209 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
209
Dung lượng
7,22 MB
Nội dung
BỘ LAO ĐỘNG THƯƠNG BINH – XÃ HỘI TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VĨNH LONG KHOA ĐIỆN – ĐIỆN TỬ GIÁOTRÌNH : VIĐIỀUKHIỂN VÀ ỨNGDỤNG ( Mã học phần : DT1212 ) Vĩnh Long, tháng năm 2017 Lời giới thiệu Giáotrình biên soạn để đào tạo ngành công nghệ kỹ thuật điện – điện tử công nghệ tự động hóa trình độ Đại học Nội dunggiáotrình phù hợp với chương trình chi tiết học phần Viđiềukhiểnứngdụng trường Đại học Sư phạm Kỹ thuật Vĩnh long phê duyệt Nội dung biên soạn ngắn gọn, dễ hiểu cập nhật kiến thức cách logic gắn kết chặt chẽ với có mức độ khó tăng dần theo nội dung Khi thực biên soạn giáotrình này, nhóm tác giả cố gắng trình bày chi tiết kiến thức cập nhật kiến thức phù hợp với mục tiêu đào tạo chương trình học phần Viđiềukhiểnứngdụng Ngồi ra, nhóm biên soạn trình bày thêm phần mềm hỗ trợ có tính thực tiễn cao mơ thực thi bo KIT, bo điềukhiển thực tế sản xuất sống Tuy nhiên, giáotrình cần cập nhật thêm kiến thức cho phù hợp với ngành đào tạo để khắc phục thiếu sót khuyết điểm Do đó, nhóm tác giả mong muốn đóng góp ý kiến Q Thầy Cơ bạn đọc để nhóm biên soạn hiệu chỉnh giáotrình ngày hồn thiện Các ý kiến đóng góp xin gửi địa mail: thienmn@vlute.edu.vn Hoặc Khoa Điện – Điện tử ; Trường Đại học Sư phạm Kỹ thuật Vĩnh Long Vĩnh long, ngày 01 tháng năm 2017 Nhóm biên soạn: ThS Mai Nhật Thiên ( Chủ biên) ThS Lương Hoài Thương ThS Đặng Thành Tựu GiáotrìnhViđiềukhiểnỨngdụng Mục lục Nội dung Lời giới thiệu Mục lục CHƯƠNG HỌ VIĐIỀUKHIỂN MCS – 51 1.1 Tóm tắt phần cứng 1.1.1 Tổng quát 1.1.2 Sơ đồ chân 1.1.3 Cấu trúc port xuất nhập 13 1.1.4 Tổ chức nhớ 13 1.1.5 Các ghi có chức đặc biệt 17 1.1.6 Bộ nhớ 22 1.1.7 Hoạt động Reset 23 1.1.8 Các viđiềukhiểnùng họ MCS – 51 24 1.2 Tóm tắt tập lệnh hợp ngữ 24 1.2.1 Mở đầu 24 1.2.2 Các kiểu định địa 25 1.2.3 Các nhóm lệnh 28 1.3 Hoạt động định thời 57 1.3.1 Tổng quát 57 1.3.2 Các ghi điềukhiển Timer 58 1.3.3 Các chế độ hoạt động 60 1.4 Hoạt động port nối tiếp 66 1.4.1 Tổng quát 66 1.4.2 Các ghi điềukhiển port nối tiếp 67 1.4.3 Các chế độ hoạt động 67 1.5 Hoạt động ngắt 76 1.5.1 Tổng quát 76 ĐHSPKT Vĩnh Long Trang GiáotrìnhViđiềukhiểnỨngdụng 1.5.2 Các ghi điềukhiển ngắt 77 1.5.3 Các hoạt động ngắt 77 Bài tập chương 84 CHƯƠNG LẬP TRÌNHỨNGDỤNG 85 2.1 Phần mềm hỗ trợ: 85 2.1.1 Phần mềm lập trình ASM C 85 2.1.2 Phần mềm mô phần cứng: 101 2.2 Lập trìnhđiềukhiển led đơn 110 2.3 Lập trìnhđiềukhiển led đoạn 115 2.3.1 Giới thiệu LED đoạn 115 2.3.2 Mã LED: 115 2.3.3 Lập trìnhđiềukhiển LED đoạn: 116 2.3.4 Lập trìnhđiềukhiển LED đoạn phương pháp quét: 118 2.4 Lập trìnhgiao tiếp phím ấn 121 2.5 Lập trình Timer/Counter 123 2.6 Lập trình ngắt 123 2.6.1 Ngắt ngoài: 124 2.6.2 Ngắt Timer: 128 2.6.3 Truyền liệu cổng COM: 131 2.7 Lập trìnhđiềukhiển hệ thống 136 2.7.1 Lập trìnhđiềukhiển động không đồng pha quay chiều 136 2.7.2 Lập trình khởi động – tam giác cho động không đồng pha 138 2.7.3 Lập trìnhđiềukhiển Động bước 139 2.7.4 Lập trìnhđiềukhiển Đèn giao thơng số 146 2.7.5 Lập trìnhđiềukhiển phân loại đếm sản phẩm 150 2.7.6 Lập trình đo lường điềukhiển nhiệt độ 155 Bài tập chương 162 CHƯƠNG VIĐIỀUKHIỂN ARDUINO 163 3.1 Giới thiệu Arduino 163 ĐHSPKT Vĩnh Long Trang GiáotrìnhViđiềukhiểnỨngdụng 3.2 Phần cứng Arduino 164 3.2.1 Board Arduino Uno 164 3.2.2 Board Arduino Mega 2560 167 3.3 Phần mềm lập trình Arduino 167 3.3.1 Cài đặt phần mềm Arduino 167 3.3.2 Hướng dẫn sử dụng phần mềm IDE 171 3.3.3 Một số lệnh Arduino: 172 3.4 Lập trìnhứngdụng với Arduino 181 3.4.1 Lập trìnhgiao tiếp với Led đơn 181 3.4.2 Lập trìnhgiao tiếp với Led đoạn 190 3.4.3 Lập trìnhgiao tiếp với Led ma trận 199 3.4.4 Lập trình giám sát điềukhiển nhiệt độ 203 Bài tập chương 207 Tài liệu tham khảo 208 ĐHSPKT Vĩnh Long Trang GiáotrìnhViđiềukhiểnỨngdụng CHƯƠNG HỌ VIĐIỀUKHIỂN MCS – 51 1.1 Tóm tắt phần cứng 1.1.1 Tổng quát Viđiều khiển( microcontroller) IC tích hợp nhớ kích cỡ nhỏ, thiết bị ngoại vi với vi xử lý ( microprocessor) Sự khác biệt vi xử lý viđiềukhiển hư sau: + Hệ thống điềukhiểndùngvi xử lý yêu cầu người thiết kế phải hiểu rõ cấu trúc thành phần vi xử lý, nhớ, thiết bị ngoại vi cách giao tiếp, thiết kế mạch in; đồng thời vi xử lý thường xử lý liệu ( data ) theo dạng byte, word , doubleword quardword + Viđiều khiểnlà IC tích hợp yếu tố trên; đồng thời việc sử dụngviđiềukhiển không bắt buộc người sử dụng nắm vững cấu trúc hệ thống vi xử lý Ngồi ra, lĩnh vực cơng nghiệp, viđiều khiểnrất tiện ích chúng xử lý liệu theo dạng byte, word dạng bit - Ngày nay, nhiều hãng chế tạo loại viđiềukhiển như: + Họ viđiềukhiển ATMEL: 8051, Atmel AT91, At90,… + Họ viđiều khiểnFreescale Semiconductor: 68HC05, 68HC16, MPC 860, + Họ viđiềukhiển Microchip: PIC10F, PIC12F, PIC16F, PIC18F, PIC32MX,… + Họ viđiềukhiển sTMicroelectronics: ST62, ST7,STM8, STM32 ( Cortex – Mx), Giáotrình này, tác giả chọn họ MCS – 51 hãng ATMEL để trình bày + Họ 80C31 khơng có nhớ bên ( chưa tích hợp được) + Họ 80C51 tích hợp kbyte nhớ PROM ( lập trình lần khơng thể xóa để lập trình lại được) + Họ 87C51 tích hợp kbyte nhớ EPROM ( cho phép lập trình nhiều lần xóa để lập trình lại tia cực tím) + Họ 89C51 tích hợp kbyte nhớ EEPROM, có timer ( nhớ cho phép lập trình nhiều lần điện cách tiện lợi nhanh chóng) + Ngồi ra, họ MCS-52 tích hợp kbyte nhớ EEPROM, có timer ĐHSPKT Vĩnh Long Trang GiáotrìnhViđiềukhiểnỨngdụng - Ứng dụng: viđiềukhiển sử dụng nhiều hệ thống điềukhiển công nghiệp, dây chuyền sản xuất, máy giặt, máy điều hòa nhiệt độ, … Các viđiềukhiển họ MCS – 51 có đặc trưng sau: Có kbyte nhớ FlashRom bên Có 128 byte RAM nội Có port xuất / nhập ( bit) Có khả giao tiếp truyền liệu nối tiếp Có thể giao tiếp với 64 kbyte nhớ bên để lưu chương trìnhđiềukhiển lưu liệu Có 210 bit ( truy xuất bit theo lệnh xử lý bit) - Sơ đồ cấu trúc bên học MCS – 51 Hình 1 Sơ đồ cấu trúc bên ĐHSPKT Vĩnh Long Trang GiáotrìnhViđiềukhiểnỨngdụng - Khối ALU (Arithmetical Logical Unit ): có ngõ vào nhận liệu từ ghi tạm thời TMP ( Temporarily Register) 1ngõ cho phép ALU gởi liệu xử lý lên bus liệu ( data bus) Khối ALU thực phép toán như: Add, Subtract, Multiple, Complement, Increment, Decrement, Shift right, Shift left, And logic, - Thanh ghi ACC ( Accumulator): phép toán logic xảy ALU ACC Kết phép toán thường đặt ghi ACC ( hay ghi A) Thanh ghi a thường đơn vị đo viđiềukhiển Giả sử : viđiều khiển89C51 có ghi A với độ dài bit - Thanh ghi đếm chương trình (Program Counter): ghi có chức quản lý lệnh đăng thực lệnh thực Thanh ghi PC có chiều dài liệu lớn chiều dài từ liệu viđiềukhiển + Giả sử rằng: viđiềukhiển bit giao tiếp với 65536 nhớ ghi PC phải có chiều dải 16 bit để truy xuất từ ô nhớ thứ đến ô nhớ thứ 65535 + Thanh ghi PC nạp giá trị trước viđiềukhiển thực thi chương trình Giá trị địa ô nhớ chứa lệnh chương trình - Thanh ghi trạng thái ( Status Register): ghi gọi ghi cờ Flag Register dùng để lưu trữ kết số lệnh kiểm tra Các lệnh xảy khối ALU thường ảnh hưởng đến ghi trạng thái Thanh ghi trạng thái chứa bit sau: Z N C I IF O P + Cờ Zero: bit Z = kết phép toán 0; ngược lại bit Z = + Cờ Negative (cờ số âm): bit N = bit MSB ghi có giá trị 1; ngược lại N = + Cờ Carry/ Borrow (cờ nhớ / mượn): bit Carry thực phép cộng: kết tràn bit C = 1; ngược lại bit C = Bit B thực phép trừ: số bị trừ lớn số trừ bit B = 0; ngươc lại bit B = ĐHSPKT Vĩnh Long Trang GiáotrìnhViđiềukhiểnỨngdụng + Intermediate Carry (cờ tràn phụ): giống bit C có tác dụng phép cộng hay trừ bit thấp + Interrupt Flag( cờ ngắt): bit IF có giá trị người lập trình muốn cho phép ngắt, ngược lại khơng cho phép ngắt + Overflow ( cờ tràn số có dấu): bit O = bit tràn phép cộng với bit dấu liệu + Cờ Parity ( cờ chẳn lẻ): bit P = kết phép toán số lẻ; ngược lại kết phép tốn số chẵn bit P = - Thanh ghi trỏ ngăn xếp ( Stack Pointer Register): chiều dài liệu ghi SP chiều dài liệu ghi PC Chức ghi SP dùng quản lý nhớ ngăn xếp muốn lưu trữ tạm thời liệu vào ngăn xếp Thanh ghi SP tự động đến ô nhớ Thông thường, viđiềukhiển thực lệnh cất liệu vào nhớ ngăn xếp ghi SP giảm Cho nên ghi SP thường chọn địa cuối nhớ Người lập trình thường phải thiết lập nhớ cho ghi SP Tổ chức ngăn xếp theo nguyên tắc LIFO_Last In First Out ( vào sau trước) - Thanh ghi địa nhớ ( Address Register): Thanh ghi địa nhớ có chiều dài với ghi PC Ngõ ghi địa đặt lên đường Bus 16 bit Nội dung ghi địa giống với nội dung ghi PC viđiềukhiển truy xuất nhớ để nhận lệnh, lệnh giải mã ghi PC tăng lên để nhận lệnh kế tiếp, nội dung ghi địa nhớ không tăng chu lệnh - Thanh ghi lệnh ( Instruction Register): Thanh ghi dùng để chứa mã lệnh viđiềukhiển thực Một chu kỳ lệnh gồm có nhận lệnh từ nhớ thực thi lệnh Chiều dài từ liệu ghi lệnh tùy thuộc vào viđiềukhiển Thanh ghi lệnh viđiềukhiển sử dụng, người lập trình khơng sử dụng ghi - Thanh ghi chứa liệu tạm thời ( Temporary Data Register): ghi TEMP dùng để ALU thực phép toán xử lý liệu Do ALU xử lý liệu nên liệu đưa vào đưa xử lý xong, ghi ALU không lưu trữ liệu - Khối giải mã lệnh ( Instruction Decoder): khối nhận lệnh từ ghi lệnh, sau giải mã gởi tín hiệu đến khối điềukhiển lập luận ĐHSPKT Vĩnh Long Trang GiáotrìnhViđiềukhiểnỨngdụng - Khối điềukhiển lập luận ( Control logic): khối nhận lệnh điềukhiển từ khối giải mã lệnh, sau thực yêu cầu lệnh Các tín hiệu điềukhiển khối bao gồm tín hiệu điềukhiển nhớ, điềukhiển thiết bị ngoại vi, tín hiệu độc / ghi,… - Đường Bus liệu ( Data Bus): dùng kết nối ghi bên khối ALU với Bus liệu bus liệu chiều Viđiềukhiển ày dùng bus liệu để điềukhiển hoạt động: độc nhớ, ghi nhớ, độc - ghi nhập/ xuất - Đường Bus địa chỉ( Address Bus): đường liệu chiều mà viđiềukhiểndùng để xác định địa ô nhớ thiết bị ngoại vi trước thực thi việc truy xuất liệu 1.1.2 Sơ đồ chân Viđiều khiển89C51 dạng PDIP có tất 40 chân hình 1.2 Hình Sơ đồ chân IC 89C51 dạng PDIP dạng TQFP - Chức chân 89C51: Port 0: Port port có chức với số thứ tự chân 32÷39 + Trong hệ thống điềukhiển đơn giản sử dụng nhớ bên không dùng nhớ mở rộng bên ngồi port dùng làm đường điềukhiển IO (Input – Output) ĐHSPKT Vĩnh Long Trang GiáotrìnhViđiềukhiểnỨngdụng void loop() { for(int i=0;i