Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 151 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
151
Dung lượng
3,09 MB
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 và 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ệ Cao đẳ ng 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, ho ̣c có thí dụ 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 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 có và 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 gồm có: Bài MĐ21-01: Tổng quan hệ vi xử lý Bài MĐ21-02: Các đơn vi vi xử lý trung tâm Bài MĐ21-03: Bộ nhớ hệ vi xử lý Bài MĐ21-04: Thiết bị vào hệ vi xử Bài MĐ21-05: Sơ lược lịch sử hướng phát triển vi điều khiển BàiMĐ21-06: Cấu trúc họ vi điều khiển 8051 Bài MĐ21-07: Phần mềm hợp ngữ Bài MĐ21-08: Tập lệnh 8051 Bài MĐ21-09: Bộ định thời Bài MĐ21-10: Cổng nối tiếp Bài MĐ21-11: Ngắt Bài MĐ21-12: Lập trình mơ số chương trình ứng dụng Giáo trình tài liệu giảng da ̣y tham khảo tốt cho nghề điện tử dân dụng, điện tử, điện công nghiệp và điện dân du ̣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 sự đóng góp ý kiến 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 hệ vi xử lý máy vi tính: 13 BÀI 2: CÁC ĐƠN VỊ VI XỬ LÝ TRUNG TÂM 20 Trung tâm vi xử lý P 8085: 20 Các trung tâm vi xử lý họ 80x86: 30 BÀI 3: BỘ NHỚ TRONG CỦA HỆ VI XỬ LÝ 40 Tổ chức nhớ cho hệ vi xử lý 41 BÀI 4: THIẾT BỊ VÀO RA CỦA HỆ VI XỬ LÝ 43 1.Bàn phím HEX (keyboard): 43 2.Ghép nối bàn phím với hệ vi xử lý 45 Màn hình (Monitor) 47 BÀ I 5: SƠ LƯỢC VỀ LỊCH SỬ VÀ HƯỚNG PHÁT TRIỂN CỦA VI ĐIỀU KHIỂN 50 1.Lịch sử phát triển 50 Vi điều khiển (microcontroller) 51 4.Hướng phát triển 55 BÀ I 6: CẤU TRÚC CỦA HỌ VI ĐIỀU KHIỂN 8051 56 1.Tổng quan 56 2.Sơ đồ chân vi điều khiển 8051 57 Cấu trúc Port I/O 60 Tổ chức nhớ 61 Các ghi chức đặc biệt (SFR) 63 Bộ nhớ 65 Hoạt động Reset 66 BÀ I 7: PHẦ N MỀ M HỢP NGỮ 68 Hoạt động Assembler 68 Cấu trúc chương trình liệu 70 3.Tính biểu thức hợp dịch 72 Các điều khiển ASSEMBLER 75 Hoạt động liên kết (Linker) 76 Macro 77 BÀ I 8: TẬP LỆNH 8051 79 1.Các cách định địa 79 2.Các nhóm lênh ̣ 82 BÀ I 9: BỘ ĐỊNH THỜI 101 1.Thanh ghi SFR củ a timer 102 2.Các chế đô ̣ làm viê ̣c 103 3.Nguồ n cung cấ p xung cho Timer 105 4.Khởi đô ̣ng, dừng và điề u khiể n Timer 105 Khởi ta ̣o và truy xuấ t ghi Timer 105 6.Timer 8052 106 BÀ I 10: CỔ NG NỐ I TIẾ P (SERIAL PORT) 112 Thanh ghi điề u khiể n 112 Chế đô ̣ là m viê ̣c 116 Khởi tạo truy xuất ghi PORT nối tiếp 120 Truyền thông đa xử lý (Multiprocessor Communications) 121 Tốc độ baud 122 BÀ I 11:NGẮT 127 Xử lý ngắt 132 Thiết kế chương trình dùng ngắt 134 Ngắt cổng nối tiếp 135 Các cổng ngắt 136 Đồ thị thời gian ngắt 137 BÀI 12: LẬP TRÌNH VÀ MƠ PHỎNG MỘT SỐ CHƯƠNG TRÌNH ỨNG DỤNG 140 Lập trình giao tiếp với LED đơn 140 Lập trình giao tiếp với LED đoạn 141 Lập trình giao tiếp với ma trận phím bấm 143 Lập trình giao tiếp với LCD 145 5.Lập trình giao tiếp với động bước 147 6.Lập trình giao tiếp điều khiển van từ, xi lanh 149 TÀI LIỆU THAM KHẢO 151 GIÁO TRÌ NH MÔ ĐUN Tên mô đun: VI ĐIỀU KHIỂN CƠ BẢN Mã mô đun: MĐ 21 Vị trí, tính chất, ý nghĩa và vai trị mơ đun: - Vị trí 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ử nâng cao học trước mô đun chun mơn nghề - Tính chất mơ đun: Là mô đun kỹ thuật sở - Ý nghĩ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ị Mơ-đun: Lập trình điều khiển ứng dụng công nghiệp, dân dụng 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 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 + 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 mô đun: Thời gian (giờ) Số TT Tên mô đun Tổng số Lý thuyết Thực hành, thí nghiệm, thảo luận, 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 hệ vi xử lý máy vi tính 0.5 0.5 Bài 2: Các đơn vi vi xử lý trung tâm 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à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 Bài 4: Thiết bị vào hệ vi xử lý Bài 5: Sơ lược lịch sử 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 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 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 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 0.25 1.75 0.25 1.75 Bài 9: Bộ định thời Khởi động, dừng, điều khiển Timer Khởi tạo truy xuất ghi Timer - Đọc thời gian hoạt động 1 Timer 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 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 ngắt 2.75 0.25 2.5 18 1.5 15.5 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 Bài 12: Lập trình mơ số chương trình ứng dụng Lập trình giao tiếp với LED đơn 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Đ21-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 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 tốn, chuyển đổi phép tố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ở 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ữ 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 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.1.3 Hình ảnh: 10 - Vì chân ngắt 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 thuộc loại tác động mức ngun nhân ngắt ngồi 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 yê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 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 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ổ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 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 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 nhà sản xuất 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 nhà sản xuất “nếu chân INTn mức thấp sau lệnh RETI 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 137 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 sườn xung Các mức ưu tiên ngắt cấp lại nguồn Mức ưu tiên cao xuông thấp Ngắt 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 tuầ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 vuông, tần số 8051 XTAL = 11.0592MHz Yêu cầu đánh giá kết học tập: Nội dung: + Về kiến thức: Trình bày tác dụng thực tế 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 8051 yêu cầu kỹ thuật 138 - Thực tổ chức ngắt đạt yêu cầu kỹ thuật - Lắp ráp mạch ứng dụ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 u cầu giáo viên.Tiêu chí đánh giá theo nội dung: - Độ xác cơng việc - Tính thẩm mỹ 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 139 BÀI 12: LẬP TRÌNH VÀ MƠ PHỎNG MỘT SỐ CHƯƠNG TRÌNH ỨNG DỤNG Mã MĐ 21-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 thuật tốn đặt - Viết chương trình theo yê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 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 ORG 00H CHOPTAT: MOV P0,#00H LCALL DELAY500MS MOV P0,#0FFH LCALL DELAY500MS SJMP CHOPTAT DELAY500MS: PUSH 00H MOV R0,#100 MOV TMOD,#01H LOOP2: MOV TH0,#HIGH(-5000) MOV TL0,#LOW(-5000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R0,LOOP2 POP 00H 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 140 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 +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 D6 +5V +5V +5V D3 33p D4 C1 D7 12MHz M A ÏC H Đ I Ề U K H I Ể N L ED Đ ƠN D5 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 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 0000 -> 9999 TREN LED DOAN ;KET NOI: LED ->PORT0, PORT1 ORG 00H MAIN: MOV R0,#00H MOV R1,#00H LOOP: MOV P0,R0 MOV P1,R1 LCALLDELAY500MS MOV A,R0 ADD A,#1 DA A MOV R0,A CJNE A,#00H,LOOP 141 MOV A,R1 ADD A,#1 DA A MOV R1,A CJNE A,#00H,LOOP SJMP MAIN DELAY500MS: PUSH 00H MOV R0,#100 MOV TMOD,#01H LOOP2: MOV TH0,#HIGH(-5000) MOV TL0,#LOW(-5000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R0,LOOP2 POP 00H 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 đoạn Hình 12.2 R11 R12 R13 R14 R15 R16 R17 +5V RP1 C2 33p X1 12MHz C1 33p +5V U1 19 18 C3 XTAL1 XTAL2 10uF RST R1 10k 29 30 31 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 PSEN ALE EA P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 U2 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 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 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 AD0 38 AD1 37 AD2 36 AD3 35 AD4 34 AD5 33 AD6 32 AD7 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 A B C D BI/RBO RBI LT U3 A B C D BI/RBO RBI LT U4 A B C D BI/RBO RBI LT U5 A B C D BI/RBO RBI LT QA QB QC QD QE QF QG 13 12 11 10 15 14 56 56 56 56 56 56 56 +5V +5V LED7 A4 B4 C4 D4 E4 F4 G4 A1 B1 C1 D1 E1 F1 G1 +5V LED6 A3 B3 C3 D3 E3 F3 G3 +5V LED5 A2 B2 C2 D2 E2 F2 G2 LED4 A1 B1 C1 D1 E1 F1 G1 74LS47 QA QB QC QD QE QF QG 13 12 11 10 15 14 56 56 56 56 56 56 56 13 12 11 10 15 14 56 56 56 56 56 56 56 13 12 11 10 15 14 56 56 56 56 56 56 56 A2 B2 C2 D2 E2 F2 G2 R2 R3 R4 R5 R6 R7 R8 A3 B3 C3 D3 E3 F3 G3 R9 R10 R18 R19 R20 R21 R22 A4 B4 C4 D4 E4 F4 G4 R23 R24 R25 R26 R27 R28 R29 M A ÏC H Đ I Ề U K H I Ể N LED Đ OA ÏN ( CA Á O BCD ) U H ̀ N H K H Ô N G Đ A H P , N GO Ơ V A Ø 74LS47 QA QB QC QD QE QF QG 74LS47 QA QB QC QD QE QF QG 74LS47 Hình 12.2: 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 142 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 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 JC MP1 MOV A,#0FFH MP1: MOV P1,A LJMP MAIN SCANKEYPAD: PUSH 03H MOV R3,#50 BACK: ACALL GETKEY JNC NOPRESSED DJNZ R3,BACK NOPRESSED: POP 03H RET GETKEY: PUSH 05H PUSH 06H PUSH 07H MOV A,#0EFH MOV R6,#4 TEST: MOV P0,A MOV R7,A MOV A,P0 ANL A,#0FH CJNE A,#0FH,KEYPRESSED MOV A,R7 RL A DJNZ R6,TEST CLR C SJMP EXIT KEYPRESSED: MOV R7,A MOV A,#4 CLR C 143 SUBB A,R6 MOV R6,A MOV A,R7 MOV R5,#4 AGAIN: RRC A JNC DONE INC R6 INC R6 INC R6 INC R6 DJNZ R5,AGAIN DONE: SETB C MOV A,R6 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 Ể 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 +5V 10 11 12 13 14 15 16 17 AT89C51 B C C D * # D +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 Hình 12.3: Sơ đồ nguyên lý mô hệ thống điều khiển D0 D1 10uF AD3 B 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 A AD4 C3 XTAL1 D5 18 39 AD0 38 AD1 37 AD2 36 AD3 35 AD4 34 AD5 33 AD6 32 AD7 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 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) 144 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 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 ;DATA BUS -> PORT EN BIT P0.2 RW BIT P0.1 RS BIT P0.0 DATABUS EQU P1 ORG 00H MAIN: ACALL LCDINIT MP1: ACALL DISP_FLINE ACALL DISP_SLINE SJMP $ LCDINIT: ;CTC KHOI TAO LCD CLR RS CLR RW SETB EN MOV DATABUS,#38H ACALL SENDCOMMAND MOV TH0,#HIGH(-4100) MOV TL0,#LOW(-4100) ACALL DELAY MOV DATABUS,#38H ACALL SENDCOMMAND MOV TH0,#HIGH(-100) MOV TL0,#LOW(-100) ACALL DELAY MOV DATABUS,#38H ACALL SENDCOMMAND MOV DATABUS,#0CH ACALL SENDCOMMAND MOV DATABUS,#01H ACALL SENDCOMMAND MOV DATABUS,#06H ACALL SENDCOMMAND RET SENDCOMMAND: CLR RS 145 SJMP PULSE_EN SENDDATA: SETB RS NOP PULSE_EN: CLR RW CLR EN NOP SETB EN NOP MOV TH0,#HIGH(-2000) MOV TL0,#LOW(-2000) ACALL DELAY MOV DATABUS,#0FFH SETB RW CLR RS CLR EN NOP SETB EN NOP BUSY: MOV A,DATABUS JB ACC.7,BUSY BUSY2: MOV A,DATABUS JB ACC.7,BUSY2 CLR RW RET DISP_FLINE: MOV DATABUS,#80H ACALL SENDCOMMAND MOV DPTR,#FLINE_DATA ACALL WRITE RET DISP_SLINE: MOV DATABUS,#0C0H ACALL SENDCOMMAND MOV DPTR,#SLINE_DATA ACALL WRITE RET WRITE: MOV A,#0 CUA DPTR MOVC A,@A+DPTR CJNE A,#99H,WRITE_CONT RET WRITE_CONT: MOV DATABUS,A 146 ACALL SENDDATA INC DPTR SJMP WRITE DELAY: MOV TMOD,#01H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET FLINE_DATA: DB 'MICRO-CONTROLLER' DB 99H SLINE_DATA: DB 'DESIGNEDBY:PQT' DB 99H 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 +5V RP1 C2 33p X1 C1 33p RST 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 LCD1 ALPHANUMERIC LCD 16 CHAR x LINE 21 22 23 24 25 26 27 28 D0 D1 D2 D3 D4 D5 D6 D7 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 10 11 12 13 14 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 D0 D1 D2 D3 D4 D5 D6 D7 18 C3 XTAL1 RS RW E 19 AD0 AD1 AD2 U1 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 chương trình Bước 1: Khởi động phần mềm Protues 147 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 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 148 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 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ơ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 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 TIMER đổi trạng thái ngắt điện R2 đồng thời đóng cấp điện R3, tính chất van đảo chiều đó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ô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 u cầu đánh giá kết học tập: Nội dung: + Về kiến thức: Trình bày kiến thức liên quan đến lập trình ứng dụng + Về kỹ năng: - Lập trình chương trình ứng dụng thực tế - Lắp ráp mạch ứng dụ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: 149 + 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 giáo viên.Tiêu chí đánh giá theo nội dung: - Độ xác cơng việc - Tính thẩm mỹ mạch điện - Độ an tồ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 150 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 151