1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Giáo trình Vi điều khiển cơ bản (Nghề Điện tử dân dụng Trình độ Trung cấp)

141 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Vi điều khiển bản mô đun sở của nghề Điện tử dân dụng biên soạn dựa theo chương trình khung đã xây dựng ban hành năm 2017 của trường Cao đẳng nghề Cần Thơ dành cho nghề Điện tử dân dụng hệ Trung cấp Giáo trình biên soạn làm tài liệu học tập, giảng dạy nên giáo trình đã xây dựng mức độ đơn giản dễ hiểu, học có thí dụ tập tương ứng để áp dụng làm sáng tỏ phần lý thuyết Khi biên soạn, nhóm biên soạn đã dựa kinh nghiệm thực tế giảng dạy, tham khảo đồng nghiệp, tham khảo giáo trình có cập nhật kiến thức có liên quan để phù hợp với nội dung chương trình đào tạo phù hợp với mục tiêu đào tạo, nội dung biên soạn gắn với nhu cầu thực tế Nội dung giáo trình biên soạn với lượng thời gian đào tạo 90 giờ gồm có: Bài MĐ18-01: Tổng quan hệ vi xử lý Bài MĐ18-02: Các đơn vi vi xử lý trung tâm Bài MĐ18-03: Bộ nhớ của hệ vi xử lý Bài MĐ18-04: Thiết bị vào của hệ vi xử Bài MĐ18-05: Sơ lược lịch sử hướng phát triển của vi điều khiển BàiMĐ18-06: Cấu trúc họ vi điều khiển 8051 Bài MĐ18-07: Phần mềm hợp ngữ Bài MĐ18-08: Tập lệnh 8051 Bài MĐ18-09: Bộ định thời Bài MĐ18-10: Cổng nối tiếp Bài MĐ18-11: Ngắt Bài MĐ18-12: Lập trình mơ số chương trình ứng dụng Mặc dù đã cố gắng tổ chức biên soạn để đáp ứng mục tiêu đào tạo không tránh thiếu sót Rất mong nhận đóng góp ý kiến của thầy, cơ, bạn đọc để nhóm biên soạn điều chỉnh hoàn thiện Cần Thơ, ngày tháng năm 2018 Tham gia biên soạn Chủ biên: Đỗ Hữu Hậu Nguyễn Thanh Nhàn MỤC LỤC Trang TUYÊN BỐ BẢN QUYỀN LỜI GIỚI THIỆU MỤC LỤC BÀI 1: TỔNG QUAN VỀ CÁC HỆ VI XỬ LÝ 10 Biểu diễn thông tin hệ vi xử lý: 10 Cấu trúc của hệ vi xử lý máy vi tính: 12 BÀI 2: CÁC ĐƠN VỊ VI XỬ LÝ TRUNG TÂM 17 Trung tâm vi xử lý P 8085: 17 Các trung tâm vi xử lý họ 80x86: 24 BÀI 3: BỘ NHỚ TRONG CỦA HỆ VI XỬ LÝ 32 Bộ nhớ hệ vi xử lý: 32 Tổ chức nhớ cho hệ vi xử lý: 33 BÀI 4: THIẾT BỊ VÀO RA CỦA HỆ VI XỬ LÝ 36 Bàn phím HEX (keyboard): 36 2.Ghép nối bàn phím với hệ vi xử lý: 38 Màn hình (Monitor): 40 BÀI 5: SƠ LƯỢC LỊCH SỬ, HƯỚNG PHÁT TRIỂN VI ĐIỀU KHIỂN 43 1.Lịch sử phát triển 43 Vi điều khiển (microcontroller) 44 3.Lĩnh vực ứng dụng 46 4.Hướng phát triển 47 BÀI 6: CẤU TRÚC CỦA HỌ VI ĐIỀU KHIỂN 8051 48 Tổng quan 48 2.Sơ đồ chân vi điều khiển 8051 49 Cấu trúc Port I/O 51 Tổ chức nhớ 53 Các ghi chức đặc biệt (SFR) 55 Bộ nhớ 57 Hoạt động Reset 58 BÀI 7: PHẦN MỀM HỢP NGỮ 60 Hoạt động của Assembler 60 Cấu trúc chương trình liệu 62 Tính biểu thức hợp dịch 64 Các điều khiển của ASSEMBLER 66 Hoạt động liên kết (Linker) 67 Macro 68 BÀI 8: TẬP LỆNH 8051 70 1.Các cách định địa 70 Các nhóm lệnh 72 BÀI 9: BỘ ĐỊNH THỜI 91 1.Thanh ghi SFR của timer 91 2.Các chế độ làm việc 93 Nguồn cung cấp xung cho Timer 94 4.Khởi động, dừng điều khiển Timer 95 Khởi tạo truy xuất ghi Timer 95 6.Timer của 8052 96 BÀI 10: CỔNG NỐI TIẾP (SERIAL PORT) 102 Thanh ghi điều khiển 102 Chế độ làm việc 106 Khởi tạo truy xuất ghi PORT nối tiếp 110 Truyền thông đa xử lý (Multiprocessor Communications) 111 Tốc độ baud 112 BÀI 11: NGẮT 117 1.Tổ chức ngắt của 8051: 117 Xử lý ngắt 122 Thiết kế chương trình dùng ngắt 124 Ngắt cổng nối tiếp 125 Các cổng ngắt 126 Đồ thị thời gian của ngắt 127 BÀI 12: LẬP TRÌNH MƠ PHỎNG CHƯƠNG TRÌNH ỨNG DỤNG 130 Lập trình giao tiếp với LED đơn 130 Lập trình giao tiếp với LED đoạn 131 Lập trình giao tiếp với ma trận phím bấm 132 Lập trình giao tiếp với LCD 134 5.Lập trình giao tiếp với động bước 138 6.Lập trình giao tiếp điều khiển van từ, xi lanh 139 TÀI LIỆU THAM KHẢO 141 GIÁO TRÌNH MƠ ĐUN Tên mơ đun: VI ĐIỀU KHIỂN CƠ BẢN Mã mô đun: MĐ 18 Thời gian thực mô đun: 75 giờ; (Lý thuyết: 15 giờ; Thực hành, thí nghiệm, thảo luận, tập: 57 giờ; Kiểm tra: 03 giờ) Vị trí, tính chất, ý nghĩa và vai trị mơ đun: - Vị trí của mơ đun: Mơ đun bố trí dạy sau học xong mô đun linh kiện điện tử, đo lường điện – điện tử, kỹ thuật xung - số, mạch điện tử - Tính chất của mơ đun: Là mô đun kỹ thuật sở - Ý nghĩa của mô đun: giúp người học nắm bắt phương pháp lập trình điều khiển ứng dụng họ vi xử lý vi điều khiển - Vai trị của Mơ-đun: Lập trình điều khiển ứng dụng công nghiệp tảng để học mô đun chuyên môn nghề Mục tiêu mơ đun: - Về kiến thức: + Trình bày hệ đếm mã hóa máy tính, tương tác máy tính vi xử lý, vi xử lý intel ứng dụng + Trình bày cấu trúc của họ vi xử lý vi điều khiển + Giải thích nguyên lý làm việc hệ điều khiển ứng dụng vi xử lý vi điều khiển - Về kỹ năng: + Lập trình hợp ngữ số tập cách thành thạo + Xử lý số dạng kết nối máy tính với vi xử lý thiết bị ngoại vi + Phát triển hệ điều khiển sở khối trung tâm vi xử lý + Vận hành thiết bị dây chuyền sản xuất dùng vi điều khiển + Xác định nguyên nhân gây hư hỏng xảy 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ủ trách nhiệm: + Có sáng kiến, tìm tịi, khám phá q trình học tập cơng việc + Có khả tự định hướng, chọn lựa phương pháp tiếp cận thích nghi với học + Có lực đánh giá kết học tập nghiên cứu của + Tự học tập, tích lũy kiến thức, kinh nghiệm để nâng cao trình độ chun mơn Nội dung mô đun: Thời gian (giờ) Số TT Tên bài mô đun Tổng số Lý thuyết Thực hành, thí nghiệm, thảo luận, bài tập Bài 1: Tổng quan hệ vi xử lý 1 Biểu diễn thông tin hệ vi 0.5 0.5 Kiểm tra xử lý Cấu trúc của hệ vi xử lý máy vi 0.5 0.5 0.5 1.5 Trung tâm vi xử lý mP 8085 0.25 0.25 Các trung tâm vi xử lý họ 80x86 1.75 0.25 1.5 Bài 3: Bộ nhớ hệ vi xử lý Bộ nhớ hệ vi xử lý 0.5 1.5 Tổ chức nhớ cho hệ vi xử lý 0.5 1.5 Bài 4: Thiết bị vào hệ vi xử lý Bàn phím HEX (keyboard) 1.25 0.25 Ghép nối bàn phím với hệ vi xử lý 1.25 0.25 Màn hình 1.5 0.5 1 1 Lịch sử phát triển 0.25 0.25 Vi điều khiển 0.25 0.25 Lĩnh vực ứng dụng 0.25 0.25 Hướng phát triển 0.25 0.25 Tổng quan 0.25 0.25 Sơ đồ chân 0.25 0.25 tính Bài 2: Các đơn vi vi xử lý trung tâm Bài 5: Sơ lược lịch sử và hướng phát triển vi điều khiển Bài 6: Cấu trúc họ vi điều khiển 8051 1 Cấu trúc Port I/O 0.25 0.25 Tổ chức nhớ 0.5 0.5 Các ghi chức đặc biệt 0.25 0.25 Bộ nhớ 0.75 0.25 0.5 Hoạt động Reset 0.75 0.25 0.5 Kiểm tra Bài 7: Phần mềm hợp ngữ 1.Hoạt động của ASSEMBLER 0.25 0.75 Cấu trúc chương trình liệu 0.5 0.5 Tính biểu thức hợp dịch 0.5 0.5 Các điều khiển của ASSEMBLER 0.25 1.75 Hoạt động liên kết 0.25 1.75 MACRO 0.25 0.75 Bài 8: Tập lệnh 8051 0.5 7.5 Các cách định địa 3.5 0.25 3.25 Các nhóm lệnh 4.5 0.25 4.25 1.5 5.5 1.Thanh ghi SFR của timer 0.25 0.25 Các chế độ làm việc 0.25 0.25 Nguồn cung cấp xung cho Timer 0.25 0.25 Khởi động, dừng, điều khiển Timer 0.25 1.75 Khởi tạo truy xuất ghi Timer - Đọc thời gian hoạt động 0.25 1.75 Bài 9: Bộ định thời 1 Timer của 8052 10 11 12 2.25 0.25 Kiểm tra Bài 10: Cổng nối tiếp 1.5 Thanh ghi điều khiển 0.25 0.25 Chế độ làm việc 0.25 0.25 Khởi tạo truy suất ghi PORT nối tiếp 2.75 0.25 2.5 Truyền thông đa xử lý 2.75 0.25 2.5 Tốc độ BAUD 0.5 1.5 Bài 11: Ngắt 1.5 6.5 Tổ chức ngắt của 8051 0.25 0.25 Xử lý ngắt 1.25 0.25 Thiết kế chương trình dùng ngắt 1.25 0.25 Ngắt cổng nối tiếp 1.25 0.25 Các cổng ngắt 1.25 0.25 Đồ thị thời gian của ngắt 2.75 0.25 2.5 Bài 12: Lập trình và mơ số chương trình ứng dụng 18 1.5 15.5 Lập trình giao tiếp với LED đơn 0.25 2.75 0.25 2.75 Lập trình giao tiếp với ma trận phím bấm 0.25 2.75 Lập trình giao tiếp với LCD 0.25 2.75 2.5 0.25 2.25 Lập trình giao tiếp với LED đoạn Lập trình giao tiếp với động 6.5 bước Lập trình giao tiếp điều khiển van từ, xi lanh Kiểm tra 2.5 0.25 2.25 Cộng 75 15 57 03 BÀI 1: TỔNG QUAN VỀ CÁC HỆ VI XỬ LÝ Mã bài: MĐ18-01 Giới thiệu Hiện kỹ thuật vi xử lý đã giảng dạy rộng rãi trường Đại học Cao đẳng nước, nhiên lĩnh vực vi xử lý chưa khai thác triệt để hệ thống điều khiển, đo lường điều khiển của dây chuyền công nghiệp Mục tiêu: - Trình bày số hệ đếm, mã thường dùng hệ vi xử lý - Tính toán, chuyển đổi phép toán nhị phân - Trình bày cách biểu diễn thơng tin hệ vi xử lý - Rèn luyện tính tư duy, tác phong công nghiệp Biểu diễn thông tin hệ vi xử lý: 1.1 Mã hóa thơng tin khơng số 1.1.1 Mã hóa chữ liệu kiểu văn Đơn vị sở của liệu văn chữ Chữ hiểu theo nghĩa rộng, không chữ Latinh mà kể chữ số, dấu tả, dấu tốn học, kí hiệu để trình bày Mặt khác dân tộc dùng chữ Latinh nên số dân tộc có chữ riêng Chúng ta dùng thuật ngữ ký tự (character) với ý nghĩa ký hiệu dùng văn Nếu dùng vùng nhớ k bit để mã hóa chữ biểu diễn tối đa 2k ký tạo 2k mã nhị phân khác Điều giải thích người Mỹ cần bit để mã hóa cho chữ của họ; để có thêm mặt chữ Châu Âu, chữ Hy Lạp hay người Nhật phải dùng mã 16 bit Các văn hình dung chuỗi ký tự Nội dung sách, thơ đưa vào máy tính ví dụ cụ thể thơng tin văn Hầu hết máy tính mơi trường lập trình sử dụng byte để mã hóa chữ Về nguyên tắc mã hóa giá trị sai hay khơng bit 0, giá trị hay không bit1 Tuy nhiên người ta sử dụng tới mức bit chế địa hóa thường mức byte Khi người ta dùng byte để mã hóa giá trị logic 1.1.2 Các liệu logic: Dữ liệu loại logic hai trạng thái đối lập sai, có khơng Các thơng tin kiểu logic chịu tác động của phép toán so sánh, phép toán nhân logic “và”, cộng logic hay phủ định logic “khơng” Về ngun tắc mã hóa giá trị sai hay không bit 0, giá trị hay có bit Tuy nhiên người ta sử dụng tới mức bit chế địa hóa thường mức byte Khi người ta dùng byte để mã hóa giá trị logic 1.2 Mã hóa thơng tin số: Nếu dùng byte (8 bit) để biểu diễn số ngun khơng dấu (số tự nhiên) ta biểu diễn 2n = 28 = 256 số từ đến 255 Mã nhị phân 0000 0000 0000 0001 0000 0010 ………… 1111 1111 Số … 255 10 Việc chọn ngắt thuộc tác động cạnh hay ngắt loại tác động mức lập trình thông qua bit IT0 IT1của ghi TCON - Vì chân ngắt ngồi lấy mẫu lần chu kỳ máy ngõ vào phải đượcduy trì tối thiểu12 chu kỳ dao động để đảm bảo việc lấy mẫu - Nếu ngắt thuộc tác động cạnh nguyên nhân ngắt phải trì chân yêu cầu mức cao tối thiểu chu kỳ sau mức thấp tối thiểu chu kỳ để đảm bảo việc chuyển trạng thái phát IE0 IE1 tự động xóa CPU trỏ tới trình phụcvụ ngắt tương ứng - Nếu ngắt ngồi thuộc loại tác động mức nguyên nhân ngắt phải trì trạng thái tích cực ngắt theo yêu cầu thực tạo Sau nguyên nhân ngắt phải trạng thái thụ động trước trình phục vụ ngắt thực thi xong trước có ngắt khác tạo - Thơng thường, cơng việc thực thi bên trình phục vụ ngắt làm cho nguyên nhân ngắt trả tín hiệu u cầu ngắt trở trạng thái khơng tích cực Đồ thị thời gian ngắt Thực tế có ngắt dành cho người dùng 8051 nhiều nhà sản xuất đưa bảng liệu nói có sáu ngắt họ tính lệnh tái thiết lập lại RESET Sáu ngắt của 8051 phân bố sau: RESET: Khi chân RESET kích hoạt từ 8051 nhảy địa 0000 Đây địa bật lại nguồn Gồm ngắt dành cho điịnh thời: cho timer0 cho Timer1 Địa của ngắt 000B4 001B4 bảng vector ngắt dành cho Timer0 Timer1 tương ứng Hai ngắt dành cho ngắt phần cứng bên chân 12 (P3.2) 13 (P3.3) của cổng P3 ngắt phần cứng bên INT0 INT1 tương ứng Các ngắt ngồi cịn coi EX1 EX2 vị trí nhớ bảng vector ngắt của ngắt 0003H 0013H gán cho INT0 INT1 tương ứng Truyền thông nối tiếp có ngắt thuộc thu phát Địa của ngắt bảng vector ngắt 0023H Đồ thị thời gian ngắt Các chân P3.2 P3.3 bình thường dùng cho vào-ra bít INT0 INT1 ghi IE khơng kích hoạt Sau ngắt phần cứng ghi IE kích hoạt vi điều khiển trì trích mẫu chân INTn tín hiệu mức thấp lần chu kỳ máy Theo bảng liệu của nhà sản xuất của vi điều khiển “chân ngắt phải giữ mức thấp bắt đầu thực trình phục vụ ngắt ISR Nếu chân INTn đưa trở lại mức cao trước bắt đầu thực ISR chẳng có ngắt xảy ra” Tuy nhiên q trình kích hoạt ngắt theo mức thấp nên lại phải đưa lên mức cao trước thực lệnh RETI lại theo bảng liệu của nhà sản xuất “nếu chân INTn mức thấp sau lệnh RETI của trình phục vụ ngắt ngắt khác lại kích hoạt sau lệnh RETI thực Do vậy, để bảo đảm việc kích hoạt ngắt phần cứng chân INTn phải khẳng định thời gian tồn tín hiệu mức thấp khoảng chu trình máy khơng 127 Hình 11.5 Thời gian tối thiểu ngắt theo mức thấp (XTAL = 11,0592MHz) Trong ngắt sườn,nguồn phải giữ mức cao tối thiểu chu trình máy để đảm bảo vi điều khiển nhìn thấy chuyển dịch từ cao xuống thấp của sườn xung Các mức ưu tiên ngắt cấp lại nguồn Mức ưu tiên cao xng thấp Ngắt ngồi INT0 Ngắt định thời TF0 Ngắt INT1 Ngắt định thời TF1 Ngắt truyền thông nối tiếp (RI+TI) BÀI TẬP Bài 1: Chương trình điều khiển sóng vng t̀n hồn có tần số 10Hz (sử dụng ngắt Timer) chân P0.0 hiển thị mức logic chân lên LED0 (LED0 nối với P0.0) Bài 2: Viết chương trình điều khiển đèn giao thơng ngã tư? Bài 3:Hãy lệnh để a) cho phép ngắt nối tiếp ngắt Timer ngắt phần cứng ngồi1(EX1) vàb ) cấm (che) ngắt Timer0 sau c)trình bày cách cấm tất ngắt lệnh Bài 4:Hãy viết chương trình nhân liên tục liệu bít cổng P0 gửi đến cổng P1 lúc tạo sóng vng chu kỳ 200us chân P2.1 Hãy sử dụng Timer0 để tạo sóng vng, tần số của 8051 XTAL = 11.0592MHz Yêu cầu đánh giá kết quả học tập: Nội dung: + Về kiến thức: Trình bày tác dụng thực tế của hệ thống điều khiển tín hiệu ngắt theo nội dung đã học + Về kỹ năng: - Thực tổ chức ngắt chế thực chương trình phục vụ ngắt của 8051 yêu cầu kỹ thuật - Thực tổ chức ngắt đạt yêu cầu kỹ thuật 128 - Lắp ráp mạch ứng dụng từng phần giáo viên đề - Thực viết chương trình theo yêu cầu cho trước + Năng lực tự chủ trách nhiệm: Đánh giá phong cách, thái độ học tập Phương pháp: + Về kiến thức: Được đánh giá hình thức kiểm tra viết, trắc nghiệm + Về kỹ năng: Đánh giá kỹ thực hành Mỗi sinh viên, nhóm học viên thực công việc theo yêu cầu của giáo viên.Tiêu chí đánh giá theo nội dung: - Độ xác của cơng việc - Tính thẩm mỹ của mạch điện - Độ an toàn mạch điện - Thời gian thực cơng việc - Độ xác theo yêu cầu kỹ thuật + Năng lực tự chủ trách nhiệm: Tỉ mỉ, cẩn thận, xác 129 BÀI 12: LẬP TRÌNH VÀ MÔ PHỎNG MỘT SỐ CHƯƠNG TRÌNH ỨNG DỤNG Mã bài MĐ18-12 Giới thiệu: Trong học trình bày số lập trình mơ chương trình ứng dụng dùng vi điều khiển lĩnh vực điện tử dân dụng Mục tiêu: - Phân tích u cầu của thuật tốn đặt - Viết chương trình theo u cầu thuật tốn - Mô mạch điện tử phần mền Protus sửa lỗi chương trình - Sáng tạo học tập Lập trình giao tiếp với LED đơn Sử dụng phần mềm Protues để thực việc viết chương trình biên dịch, kiểm tra lỗi cú pháp của chương trình Bước 1: Khởi động phần mềm Protues Bước 2: Mở chức soạn thảo chương trình đặt tên tập tin chương trình với “.ASM” Bước 3: Viết chương trình điều khiển sau: ;CHUONG TRINH DIEU KHIEN LED SANG TAT ;KET NOI: LED ->PORT0 LED EQU P0 ORG TT: MOV LED,#0FFH CALL DEPLAY MOV LED, #00H CALL DEPLAY JMP TT DEPLAY: MOV R0,#0FFH LAP1: MOV R1,#0FFH LAP: DJNZ R1,LAP DJNZ R0,LAP1 RET END Bước 4: Lưu chương trình vào máy tính Bước 5: Thực biên dịch kiểm tra lỗi chương trình Bước 6: Khởi động phần mềm ISIS Professional (Protues 7.10) Bước 7: Vẽ sơ đồ thiết kế mạch mô điều khiển LED đơn nối với Port Hình 12.1 Bước 8: Chọn tập tin chương trình cần mơ (tập tin mã máy đã tạo từ Bước 5) Bước 9: Thực chạy mô quan sát trực tiếp kết hình máy tính 130 +5V RP1 18 C3 XTAL1 XTAL2 10uF RST R1 10k 29 30 31 PSEN ALE EA P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 10K 39 AD0 38 AD1 37 AD2 36 AD3 35 AD4 34 AD5 33 AD6 32 AD7 21 22 23 24 25 26 27 28 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 COM 1C 2C 3C 4C 5C 6C 7C 8C 1B 2B 3B 4B 5B 6B 7B 8B 10 18 17 16 15 14 13 12 11 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 ULN2803 +5V 10 11 12 13 14 15 16 17 +5V +5V +5V +5V +5V +5V +5V R9 R8 R7 R6 R5 R4 R3 R2 330 330 330 330 330 330 330 330 D8 D7 D6 D5 D4 D3 D2 D1 D0 U1 19 RP2 U2 10K D3 +5V +5V +5V D4 33p D5 C1 D7 12MHz M A ÏC H Ñ I Ề U K H I Ể N L ED Đ ÔN D6 X1 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 D1 33p D2 C2 Hình Error! No text of specified style in document.1: Sơ đồ nguyên lý mô hệ thống điều khiển Lập trình giao tiếp với LED đoạn Sử dụng phần mềm Protues để thực việc viết chương trình biên dịch, kiểm tra lỗi cú pháp của chương trình Bước 1: Khởi động phần mềm Protues Bước 2: Mở chức soạn thảo chương trình đặt tên tập tin chương trình với “.ASM” Bước 3: Viết chương trình điều khiển sau ;CHUONG TRINH DIEU KHIEN HIEN THI 00 -> 99 TREN LED DOAN ;KET NOI: LED ->PORT2, PORT3 ORG 00H CHUC EQU R0 DONVI EQU R1 LL: MOV DPTR,#MA MOV CHUC,#01 MOV DONVI,#05 TT: MOV A,DONVI MOVC A,@A+DPTR MOV P2,A MOV A,CHUC MOVC A,@A+DPTR MOV P3,A CALL DL CJNE DONVI,#1,M CJNE CHUC,#3,M1 JMP LL M: CJNE DONVI,#9,M1 131 MOV DONVI,#00 INC CHUC JMP TT M1: INC DONVI JMP TT DL: MOV R3,#0FFH LAP1:MOV R4,#0FFH LAP:DJNZ R4,LAP DJNZ R3, LAP1 RET MA: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END Bước 4: Lưu chương trình vào máy tính Bước 5: Thực biên dịch kiểm tra lỗi chương trình Bước 6: Khởi động phần mềm ISIS Professional (Protues 7.10) Bước 7: Vẽ sơ đồ thiết kế mạch mô điều khiển LED đoạn Hình 12.2 U1 19 18 29 30 31 XTAL1 XTAL2 RST PSEN ALE EA P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 AT89C51 PROGRAM=LED7.HEX Hình 12.2: Sơ đồ nguyên lý mô hệ thống điều khiển Bước 8: Chọn tập tin chương trình cần mơ (tập tin mã máy đã tạo từ Bước 5) Bước 9: Thực chạy mô quan sát trực tiếp kết hình máy tính Lập trình giao tiếp với ma trận phím bấm Sử dụng phần mềm Protues để thực việc viết chương trình biên dịch, kiểm tra lỗi cú pháp của chương trình Bước 1: Khởi động phần mềm Protues Bước 2: Mở chức soạn thảo chương trình đặt tên tập tin chương trình với “.ASM” Bước 3: Viết chương trình điều khiển vào máy tính ;CHUONG TRINH DIEU KHIEN BAN PHIM MA TRAN X ;KET NOI: LED ->PORT1 (CO DEM DAO), KEYPAD ->PORT0 ORG 00H MAIN: LCALL SCANKEYPAD ;QUET KEYPAD 132 JC MP1 MOV A,#0FFH ;KIEM TRA CO NHAN PHIM (C = 1) ;KHONG NHAN PHIM A = FFH MP1: ;CO NHAN PHIM A = MA PHIM MOV P1,A ;XUAT MA PHIM RA LED HIEN THI DANG SO BIN LJMP MAIN ;QUAY LAI KIEM TRA KEYPAD TIEP SCANKEYPAD: ;CTC QUET BAN PHIM MA TRAN X 4, CO CHONG DOI PUSH 03H MOV R3,#50 ;SO LAN LAP DE CHONG DOI BACK: ACALL GETKEY ;GOI CTC QUET PHIM JNC NOPRESSED ;C = -> THOAT KHI KHONG CO PHIM NHAN DJNZ R3,BACK ;C = -> CO PHIM NHAN, GIAM SO LAN LAP DE CHONG DOI NOPRESSED: POP 03H RET GETKEY: PUSH 05H PUSH 06H PUSH 07H MOV A,#0EFH ;BAT DAU TAI COT MOV R6,#4 ;R6 LAM BO DEM COT TEST: MOV P0,A ;TICH CUC COT MOV R7,A ;LUU ACC MOV A,P0 ;DOC LAI TU PORT ANL A,#0FH ;CACH LY CAC HANG CJNE A,#0FH,KEYPRESSED ;HANG TICH CUC ? MOV A,R7 ;N -> DI CHUYEN TOI RL A ;COT KE TIEP DJNZ R6,TEST CLR C ;KHONG CO PHIM DUOC NHAN HAY NHAN NHIEU PHIM CUNG LUC SJMP EXIT ;THOAT VOI C = KEYPRESSED: MOV R7,A ;LUU TRONG R7 MOV A,#4 ;CHUAN BI TINH CLR C ;TRONG SO CUA COT SUBB A,R6 ;4 - R6 = TRONG SO MOV R6,A ;LUU TRONG R6 MOV A,R7 ;PHUC HOI MA QUET MOV R5,#4 ;DUNG R5 LAM BO DEM AGAIN: RRC A ;QUAY CHO DEN KHI = JNC DONE ;THUC THI XONG KHI C = INC R6 ;CONG CHO DEN KHI TIM THAY HANG TICH CUC INC R6 INC R6 133 INC R6 DJNZ R5,AGAIN DONE: SETB C ;CO PHIM NHAN -> C = MOV A,R6 ;MA TRONG A EXIT: POP 07H POP 06H POP 05H RET END Bước 4: Lưu chương trình vào máy tính Bước 5: Thực biên dịch kiểm tra lỗi chương trình Bước 6: Khởi động phần mềm ISIS Professional (Protues 7.10) Bước 7: Vẽ sơ đồ thiết kế mạch mô điều khiển bàn phím Hình 12.3 M A ÏC H Đ I Ề U K H I EÅ N BA Ø N PH Í M M A T R A Ä N x +5V RP1 RST R1 10k 29 30 31 +5V +5V RP2 U2 10K PSEN ALE EA D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 10 18 17 16 15 14 13 12 11 COM 1C 2C 3C 4C 5C 6C 7C 8C ULN2803 1B 2B 3B 4B 5B 6B 7B 8B 8 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 21 22 23 24 25 26 27 28 B C C D * # D +5V +5V +5V +5V +5V 10 11 12 13 14 15 16 17 AT89C51 +5V +5V +5V R9 R8 R7 R6 R5 R4 R3 R2 330 330 330 330 330 330 330 330 D8 D7 D6 D5 D4 D3 D2 D1 D0 AD3 B D1 10uF 39 AD0 38 AD1 37 AD2 36 AD3 35 AD4 34 AD5 33 AD6 32 AD7 A AD4 C3 XTAL2 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 D5 18 XTAL1 D6 19 10K D7 U1 AD7 AD2 +5V 33p AD1 AD6 C1 A D2 12MHz AD0 X1 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD5 33p D3 C2 D4 Hình 12.3: Sơ đồ ngun lý mơ hệ thống điều khiển Bước 8: Chọn tập tin chương trình cần mơ (tập tin mã máy đã tạo từ Bước 5) Bước 9: Thực chạy mô quan sát trực tiếp kết hình máy tính Lập trình giao tiếp với LCD Sử dụng phần mềm Protues để thực việc viết chương trình biên dịch, kiểm tra lỗi cú pháp của chương trình Bước 1: Khởi động phần mềm Protues Bước 2: Mở chức soạn thảo chương trình đặt tên tập tin chương trình với “.ASM” Bước 4: Viết chương trình điều khiển vào máy tính ;CHUONG TRINH DIEU KHIEN LCD HIEN THI DONG CHU DUNG YEN ;RS -> P0.0, RW -> P0.1, E -> P0.2 134 ;DATA BUS -> PORT EN BIT P0.2 RW BIT P0.1 RS BIT P0.0 DATABUS EQU P1 ORG 00H MAIN: ACALL LCDINIT ;KHOI TAO LCD MP1: ACALL DISP_FLINE ;HIEN THI DONG ACALL DISP_SLINE ;HIEN THI DONG SJMP $ LCDINIT: ;CTC KHOI TAO LCD CLR RS ;RS = - GUI LENH CLR RW ;RW = - WRITE LCD MODE SETB EN ;E = - ENABLE MOV DATABUS,#38H ;CODE = 38H - BIT, 16 CHAR/LINE, MATRIX 5x7 ACALL SENDCOMMAND ;GUI LENH RA LCD MOV TH0,#HIGH(-4100) MOV TL0,#LOW(-4100) ACALL DELAY ;DELAY 4.1MS MOV DATABUS,#38H ;CODE = 38H - BIT, 16 CHAR/LINE, MATRIX 5x7 ACALL SENDCOMMAND ;GUI LENH RA LCD MOV TH0,#HIGH(-100) MOV TL0,#LOW(-100) ACALL DELAY ;DELAY 100US MOV DATABUS,#38H ;CODE = 38H - BIT, 16 CHAR/LINE, MATRIX 5x7 ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DATABUS,#0CH ;CODE = 0CH - CHO PHEP LCD HIEN THI ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DATABUS,#01H ;CODE = 01H - XOA LCD ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DATABUS,#06H ;CODE = 06H - TU TANG DIA CHI HIEN THI, TAT DICH CHUYEN HIEN THI ACALL SENDCOMMAND ;GUI LENH RA LCD RET SENDCOMMAND: ;CTC GUI LENH (SENDCOMMAND) VA GUI DU LIEU (SENDDATA) RA LCD CLR RS ;RS = - GUI LENH SJMP PULSE_EN SENDDATA: SETB RS ;RS = - GUI DU LIEU NOP 135 PULSE_EN: ;TAO XUNG ENABLE DE CHUYEN THONG TIN (COMMAND/DATA) VAO LCD CLR RW ;RW = - WRITE LCD MODE CLR EN ;EN = NOP SETB EN ;EN = - XUNG ENABLE NOP ;KIEM TRA CO BAO BAN (BUSY FLAG) DE DAM BAO HOAN TAT VIEC LCD GHI NHAN THONG TIN GUI DEN ;MOV TH0,#HIGH(-2000) ;LENH NAY DUOC THAY THE CHO DOAN MA KIEM TRA DUOI DAY KHI ;MOV TL0,#LOW(-2000) ;CHAY CHUONG TRINH NAY TRONG PHAN MEM MO PHONG TOPVIEW ;ACALL DELAY MOV DATABUS,#0FFH ;CAU HINH PORT CHO CHE DO PORT NHAP SETB RW ;RW = - READ LCD MODE CLR RS ;RS = - GUI LENH CLR EN ;EN = NOP SETB EN ;EN = - XUNG ENABLE NOP BUSY: ;BUSY = -> HOAN TAT, BUSY = -> DANG THUC HIEN MOV A,DATABUS ;DOC DU LIEU TU LCD JB ACC.7,BUSY ;KIEM TRA CO BUSY BUSY2: ;KIEM TRA CO BAO BAN (BUSY FLAG) LAN THU HAI MOV A,DATABUS ;DOC DU LIEU TU LCD JB ACC.7,BUSY2 ;KIEM TRA CO BUSY LAN CLR RW ;RW = - WRITE LCD MODE (THOAT CHE DO READ, TRO VE CHE DO WRITE) RET DISP_FLINE: ;CTC DAT DIA CHI BAT DAU DONG VA NAP DU LIEU DONG VAO DDRAM MOV DATABUS,#80H ;CODE = 80H - DAT DDRAM DIA CHI BAT DAU CUA DONG - 00H ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DPTR,#FLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG CUA LCD ACALL WRITE ;GUI VUNG DU LIEU SANG LCD RET DISP_SLINE: ;CTC DAT DIA CHI BAT DAU DONG VA NAP DU LIEU DONG VAO DDRAM MOV DATABUS,#0C0H ;CODE = C0H - DAT DDRAM DIA CHI BAT DAU CUA DONG - 40H ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DPTR,#SLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG CUA LCD ACALL WRITE ;GUI VUNG DU LIEU SANG LCD 136 RET WRITE: ;CTC GUI DU LIEU SANG LCD, KET THUC GUI DU LIEU KHI DU LIEU GUI DI LA 99H MOV A,#0 ;OFFSET DAU TIEN TRONG VUNG DU LIEU CUA DPTR MOVC A,@A+DPTR ;LAY DU LIEU TU VUNG DU LIEU CJNE A,#99H,WRITE_CONT ;KIEM TRA LAY HET DU LIEU TRONG VUNG DU LIEU - KET THUC LA 99H RET WRITE_CONT: ;KHONG PHAI LA DU LIEU KET THUC CHUA LAY HET DU LIEU MOV DATABUS,A ;CHUYEN DU LIEU CAN GUI RA PORT DEN LCD ACALL SENDDATA ;GUI DU LIEU RA LCD INC DPTR ;CHUYEN SANG DU LIEU KE TIEP SJMP WRITE ;QUAY TRO VE DE GUI DU LIEU KE TIEP DELAY: MOV TMOD,#01H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET FLINE_DATA: ;DU LIEU HIEN THI DONG DB 'MICRO-CONTROLLER' DB 99H ;MA KET THUC DONG (TU CHON) SLINE_DATA: ;DU LIEU HIEN THI DONG DB 'DESIGNEDBY:PQT' DB 99H ;MA KET THUC DONG (TU CHON) END Bước 4: Lưu chương trình vào máy tính Bước 5: Thực biên dịch kiểm tra lỗi chương trình Bước 6: Khởi động phần mềm ISIS Professional (Protues 7.10) Bước 7: Vẽ sơ đồ thiết kế mạch mơ điều khiển LCD Hình 12.4 137 +5V RP1 C2 33p X1 C1 33p R1 10k 29 30 31 D0 D1 D2 D3 D4 D5 D6 D7 PSEN ALE EA P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD ALPHANUMERIC LCD 16 CHAR x LINE 21 22 23 24 25 26 27 28 D0 D1 D2 D3 D4 D5 D6 D7 RST LCD1 10 11 12 13 14 M A ÏC H Đ I Ề U K H I EÅ N L CD 39 AD0 38 AD1 37 AD2 36 AD3 35 AD4 34 AD5 33 AD6 32 AD7 D0 D1 D2 D3 D4 D5 D6 D7 XTAL2 10uF 10K P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 RS RW E 18 C3 XTAL1 AD0 AD1 AD2 U1 19 VSS VDD VEE +5V 12MHz AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 10 11 12 13 14 15 16 17 AT89C51 Hình Error! No text of specified style in document 1: Sơ đồ nguyên lý mô hệ thống điều khiển Bước 8: Chọn tập tin chương trình cần mơ (tập tin mã máy đã tạo từ Bước 5) Bước 9: Thực chạy mô quan sát trực tiếp kết hình máy tính 5.Lập trình giao tiếp với động bước Sử dụng phần mềm Protues để thực việc viết chương trình biên dịch, kiểm tra lỗi cú pháp của chương trình Bước 1: Khởi động phần mềm Protues Bước 2: Mở chức soạn thảo chương trình đặt tên tập tin chương trình với “.ASM” Bước 4: Viết chương trình điều khiển vào máy tính ;CHUONG TRINH DIEU KHIEN DONG CO QUAY LIEN TUC CHIEU-DIEU KHIEN KICH CUON DAY ORG 000H MAIN : MOV P1,#88H CALL DELAY MOV P1,#44H CALL DELAY MOV P1,#44H CALL DELAY MOV P1,#11H CALL DELAY JMP MAIN DELAY : MOV R1,#0 L: MOV R2,#0 DJNZ R2,$ DJNZ R2,L RET END 138 Bước 4: Lưu chương trình vào máy tính Bước 5: Thực biên dịch kiểm tra lỗi chương trình Bước 6: Khởi động phần mềm ISIS Professional (Protues 7.10) Bước 7: Vẽ sơ đồ thiết kế mạch mơ điều khiển LCD Hình 12.5 Hình Error! No text of specified style in document 5: Sơ đồ nguyên lý mô hệ thống điều khiển Bước 8: Chọn tập tin chương trình cần mơ (tập tin mã máy đã tạo từ Bước 5) Bước 9: Thực chạy mô quan sát trực tiếp kết hình máy tính 6.Lập trình giao tiếp điều khiển van từ, xi lanh u cầu quy trình cơng nghệ hình sau Hình Error! No text of specified style in document.6: Hệ thống nắn tròn niềng xe Nguyên lý hoạt động của mạch trên: START SOL1 điều khiển xilanh đẩy dàn khuôn Khi xilanh chạm phải cơng tắc hành trình, tiếp điểm thường hở của cơng tắc hành trình đóng lại cấp điện cho TIMER hoạt động Khi TIMER có điện, tiếp điểm thường đóng của TIMER cấp điện cho SOL2 điều khiển xilanh vào ép niềng xe Sau khoảng thời gian đã đặt cho TIMER, tiếp điểm của TIMER đổi trạng thái ngắt điện R2 đồng thời đóng cấp điện R3, tính chất của van đảo chiều 139 đóng SOL2 bị điện điều khiển xilanh Khi R3 có điện, SOL1 điện làm tiếp điểm của cơng tắc hành trình trở trạng thái thường hở ban đầu Lúc phần mạch phần mạch hở ra, muốn mạch hoạt động trở lại cần tác động lại nut START Bước 1: Khởi động phần mềm Protues Bước 2: Mở chức soạn thảo chương trình đặt tên tập tin chương trình với “.ASM” Bước 4: Viết chương trình điều khiển vào máy tính Bước 4: Lưu chương trình vào máy tính Bước 5: Thực biên dịch kiểm tra lỗi chương trình Bước 6: Khởi động phần mềm ISIS Professional (Protues 7.10) Bước 7: Vẽ sơ đồ thiết kế mạch mơ Bước 8: Chọn tập tin chương trình cần mô (tập tin mã máy đã tạo từ Bước 5) Bước 9: Thực chạy mô quan sát trực tiếp kết hình máy tính 140 TÀI LIỆU THAM KHẢO [1] Giáo trình vi xử lý, Trần Văn Trọng Trường ĐHSPKT TP HCM [2] Kỹ thuật vi xử lý, Văn Thế Minh Trường ĐHSPKT TP HCM [3] baugruppen der mikroelektronik III , Plaum Verlag Muenchen [4] programmierrung des z80, Rodnay Zaks [5] Microprocessor and IC families - Walter H Buchbaum Sc.D [6] Mikrocompute Lehrbuch - HPI Fachbuchreihen Pflaum Verlag Munchen [7] 8051 Development Boad, Rev - Paul Stoffregen [8] Microprocessors and Interfacing, Doulas V Hall [9] Họ vi điều khiển - Tống văn On - Đại học Bách khoa TP.HCM - 2005 141

Ngày đăng: 16/12/2023, 16:05