Tài liệu Vi điều khiển MCS-51

Sau khi đã được học, nghiên cứu và tìm hiểu về vi điều khiển ở phần lý thuyết. Chúng ta có thể bắt đầu tiến hành thực hiện các bài thí nghiệm đối với vi điều khiển nhằm mục đích giúp chúng ta hiểu một cách tường tận hơn về những gì mà ta đã được học trong phần lý thuyết cũng như cách thức vận dụng nó vào trong thực tế. Trong thực tế, các ứng dụng của vi điều khiển thì rất đa dạng và phong phú. Từ những ứng dụng đơn giảnchỉ có vài thiết bị ngoại vi cho đến những hệ thống vi điều khiển phức tạp. Tuy nhiên, trong phạm vi có giới hạn của giáo trình và nhằm mục đích phục vụ cho công việc học tập và tự nghiên cứu của sinh viên. Cho nên mô hình thí nghiệm vi điều khiển này được thiết kế với tương đối đầy đủ các yêu cầu phần cứng và có rất nhiều chương trình điều khiển mẫu cũng như các bài tập thực hành từ đơn giản đến phức tạp có thể giúp cho sinh viên thực hành, thí nghiệm và tự nghiên cứu, tự học môn học này. Mô hình thí nghiệm vi điều khiển này hỗ trợ cho việc thí nghiệm: • Thí nghiệm các loại vi điều khiển như: 89C1051, 89C2051, 89C4051, 89C51, 89LV51, 89C52, 89LV52, 89C55, 89LV55, 89C55WD, 89S51, 89LS51, 89S52, 89LS52, 89S53, 89LS53, 89S8252, 89LS8252. • Thí nghiệm các thiết bị ngoại vi như: LED điểm, LEDma trận, LED 7 đoạn, LCD, ADC, DAC, công tắc, nút nhấn, bàn phím, relay, bộ nhớ nối tiếp, xuất nhập dữ liệu nối tiếp và song song, tạo xung, cảm biến nhiệt, đồng hồ thời gian thực (RTC), • Thí nghiệm các chuẩn giao tiếp như: RS232, LPT, USB, PS2. Phần mềm sử dụng cho mô hình thí nghiệm vi điều khiển này là phần mềm mô phỏng Topview và MCU Program Loader. Phần mềm mô phỏng Topview cho phép bạn mô phỏng và chạy thử các chương trình điều khiển trên máy tính với một số module thiết bị ngoại vi có sẵn tương tự như trên mô hình thí nghiệm vi điều khiển ngoài thực tế, phần mềm này còn cho bạn khả năng soạn thảo và biên dịch chương trình theo ngôn ngữ Assembler. Phần mềm MCU Program Loader cho phép bạn khả năng nạp chương trình cho các loại vi điều khiển đã nêu trên từ máy tính. Các bạn có thể tìm hiểu thêm về hai phần mềm này trong các phần sau của giáo trình (phần mềm mô phỏng Topview xem trong tài liệu “Hướng dẫn sử dụng phần mềm mô phỏng MCS-51 TopviewSimulator”). Các chương tiếp theo sẽ trình bày chi tiết hơn về cấu hình của mô hình thí nghiệm vi điều khiển, cách thức sử dụng phần mềm và cung cấp các bài thí nghiệm thực hành mẫu cũng như các bài tập mở rộng có thể phục vụrất tốt cho việc tự học của các bạn

pdf275 trang | Chia sẻ: oanhnt | Lượt xem: 2132 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Tài liệu Vi điều khiển MCS-51, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRUNG TÂM THÍ NGHIỆM THỰC HÀNH ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP TÀI LIỆU HƯỚNG DẪN THÍ NGHIỆM - THỰC HÀNH BIÊN SOẠN: PHẠM QUANG TRÍ TP. HỒ CHÍ MINH 11 - 2005 MỤC LỤC CHƯƠNG 1: CẤU HÌNH CỦA MÔ HÌNH THÍ NGHIỆM VI ĐIỀU KHIỂN. ...................................................1 1.1 Giới thiệu: ..............................................................................................................................................................1 1.2 Cấu hình của mô hình thí nghiệm vi điều khiển: ............................................................................................. .....2 1.2.1 Khối lập trình vi điều khiển: .....................................................................................................................2 1.2.2 Khối vi điều khiển:....................................................................................................................................4 1.2.3 Khối LED điểm:........................................................................................................................................6 1.2.4 Khối LED 7 đoạn: .....................................................................................................................................7 1.2.5 Khối LED ma trận:..................................................................................................................................11 1.2.6 Khối LCD: ..............................................................................................................................................13 1.2.7 Khối công tắc: .........................................................................................................................................14 1.2.8 Khối nút nhấn:.........................................................................................................................................15 1.2.9 Khối bàn phím:........................................................................................................................................16 1.2.10 Khối relay: ..............................................................................................................................................17 1.2.11 Khối tạo xung:.........................................................................................................................................18 1.2.12 Khối tạo áp thay đổi:...............................................................................................................................19 1.2.13 Khối điều khiển động cơ bước:...............................................................................................................20 1.2.14 Khối Serial EEPROM:............................................................................................................................21 1.2.15 Khối cảm biến nhiệt: ...............................................................................................................................22 1.2.16 Khối đệm dữ liệu: ...................................................................................................................................24 1.2.17 Khối giải mã:...........................................................................................................................................26 1.2.18 Khối ADC: ..............................................................................................................................................28 1.2.19 Khối DAC: ..............................................................................................................................................29 1.2.20 Khối RTC:...............................................................................................................................................31 1.2.21 Khối thanh ghi dịch:................................................................................................................................32 1.2.22 Khối mở rộng port I/O: ...........................................................................................................................34 1.2.23 Khối giao tiếp PC:...................................................................................................................................37 1.2.24 Khối mở rộng bus: ..................................................................................................................................39 CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG PHẦN MỀM MCU PROGRAM LOADER. .....................................40 2.1 Giới thiệu: ............................................................................................................................................................40 2.2 Hướng dẫn sử dụng phần mềm MCU Program Loader: ......................................................................................41 CHƯƠNG 3: HỆ THỐNG CÁC BÀI THỰC HÀNH VI ĐIỀU KHIỂN.............................................................47 Một số lưu ý khi viết chương trình và kết nối mạch ............................................................................................47 A. Hệ thống điều khiển LED đơn....................................................................................................................48 • Mục đích: ................................................................................................................................................48 • Yêu cầu: ..................................................................................................................................................48 • Bài 1: Chương trình điều khiển 8 LED được nối với Port0 sáng tắt. .....................................................48 • Bài 2: Chương trình điều khiển đếm lên nhị phân 8 bit và hiển thị trên 8 LED được nối với Port0......51 • Bài 3: Chương trình điều khiển 8 LED được nối với Port0 sáng dần và tắt hết. ...................................52 • Bài 4: Chương trình điều khiển 8 LED được nối với Port0 sáng đuổi. ..................................................54 • Bài 5: Chương trình điều khiển 8 LED được nối với Port0 sáng dồn. ...................................................56 • Bài 6: Chương trình điều khiển 8 LED được nối với Port0 hoạt động bằng cách tổng hợp các phương pháp điều khiển đã thực tập ....................................................................................................................58 • Bài 7: Chương trình con điều khiển tạo thời gian trễ 200µs, 20ms, 2s sử dụng Timer..........................60 B. Hệ thống điều khiển LED 7 đoạn. ..............................................................................................................62 • Mục đích: ................................................................................................................................................62 • Yêu cầu: ..................................................................................................................................................62 • Bộ hiển thị LED7 đoạn được thiết kế theo phương pháp không đa hợp và ngõ vào dữ liệu kiểu BCD. 62 o Bài 1: Chương trình điều khiển hiển thị số 7 trên LED3. ................................................................62 o Bài 2: Chương trình điều khiển hiển thị đếm số BCD từ 0 lên 9 trên LED3...................................64 o Bài 3: Chương trình điều khiển hiển thị số 35 trên hai LED. ..........................................................66 o Bài 4: Chương trình điều khiển hiển thị đếm số BCD từ 00 lên 99 trên hai LED............................67 o Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED. .....................................................68 o Bài 6: Chương trình điều khiển hiển thị đếm số BCD từ 0000 đến 9999 trên bốn LED..................69 • Bộ hiển thị LED 7 đoạn được thiết kế theo phương pháp không đa hợp và ngõ vào dữ liệu kiểu 7 đoạn. 70 o Bài 1: Chương trình điều khiển hiển thị số 7 trên LED3. ................................................................70 o Bài 2: Chương trình điều khiển hiển thị đếm số BCD từ 0 lên 9 trên LED3...................................71 o Bài 3: Chương trình điều khiển hiển thị số 35 trên hai LED. ..........................................................73 o Bài 4: Chương trình điều khiển hiển thị đếm số BCD từ 00 lên 99 trên hai LED............................74 o Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED. .....................................................75 o Bài 6: Chương trình điều khiển hiển thị đếm số BCD từ 0000 đến 9999 trên bốn LED..................76 • Bộ hiển thị LED 7 đoạn được thiết kế theo phương pháp đa hợp và ngõ vào dữ liệu kiểu BCD (không dùng vi mạch giải đa hợp bên ngoài). .....................................................................................................78 o Bài 1: Chương trình điều khiển hiển thị số 1 trên LED7. ................................................................78 o Bài 2: Chương trình điều khiển hiển thị đếm số BCD từ 0 lên 9 trên LED7...................................79 o Bài 3: Chương trình điều khiển hiển thị số 12 trên hai LED. ..........................................................81 o Bài 4: Chương trình điều khiển hiển thị đếm số BCD từ 00 lên 99 trên hai LED............................84 o Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED. .....................................................86 o Bài 6: Chương trình điều khiển hiển thị đếm số BCD từ 0000 đến 9999 trên bốn LED..................87 o Bài 7: Chương trình điều khiển hiển thị số 12345678 trên tám LED. .............................................89 o Bài 8: Chương trình điều khiển hiển thị đếm số BCD từ 00000000 lên 99999999 trên tám LED...91 • Bộ hiển thị LED 7 đoạn được thiết kế theo phương pháp đa hợp và ngõ vào dữ liệu kiểu 7 đoạn (không dùng vi mạch giải đa hợp bên ngoài). .....................................................................................................93 o Bài 1: Chương trình điều khiển hiển thị số 1 trên LED7. ................................................................93 o Bài 2: Chương trình điều khiển hiển thị đếm số BCD từ 0 lên 9 trên LED7...................................94 o Bài 3: Chương trình điều khiển hiển thị số 12 trên hai LED. ..........................................................96 o Bài 4: Chương trình điều khiển hiển thị đếm số BCD từ 00 lên 99 trên hai LED............................99 o Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED. ...................................................101 o Bài 6: Chương trình điều khiển hiển thị đếm số BCD từ 0000 đến 9999 trên bốn LED................102 o Bài 7: Chương trình điều khiển hiển thị số 12345678 trên tám LED. ...........................................105 o Bài 8: Chương trình điều khiển hiển thị đếm số BCD từ 00000000 lên 99999999 trên tám LED.107 • Bộ hiển thị LED 7 đoạn được thiết kế theo phương pháp đa hợp và ngõ vào dữ liệu kiểu BCD (dùng vi mạch giải đa hợp bên ngoài). ................................................................................................................110 o Bài 1: Chương trình điều khiển hiển thị số 1 trên LED7. ..............................................................110 o Bài 2: Chương trình điều khiển hiển thị đếm số BCD từ 0 lên 9 trên LED7.................................111 o Bài 3: Chương trình điều khiển hiển thị số 12 trên hai LED. ........................................................113 o Bài 4: Chương trình điều khiển hiển thị đếm số BCD từ 00 lên 99 trên hai LED..........................116 o Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED. ...................................................118 o Bài 6: Chương trình điều khiển hiển thị đếm số BCD từ 0000 đến 9999 trên bốn LED................121 o Bài 7: Chương trình điều khiển hiển thị số 12345678 trên tám LED. ...........................................122 o Bài 8: Chương trình điều khiển hiển thị đếm số BCD từ 00000000 lên 99999999 trên tám LED.123 • Bộ hiển thị LED 7 đoạn được thiết kế theo phương pháp đa hợp và ngõ vào dữ liệu kiểu 7 đoạn (dùng vi mạch giải đa hợp bên ngoài). ............................................................................................................125 o Bài 1: Chương trình điều khiển hiển thị số 1 trên LED7. ..............................................................125 o Bài 2: Chương trình điều khiển hiển thị đếm số BCD từ 0 lên 9 trên LED7.................................126 o Bài 3: Chương trình điều khiển hiển thị số 12 trên hai LED. ........................................................128 o Bài 4: Chương trình điều khiển hiển thị đếm số BCD từ 00 lên 99 trên hai LED..........................131 o Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED. ...................................................133 o Bài 6: Chương trình điều khiển hiển thị đếm số BCD từ 0000 đến 9999 trên bốn LED................134 o Bài 7: Chương trình điều khiển hiển thị số 12345678 trên tám LED. ...........................................137 o Bài 8: Chương trình điều khiển hiển thị đếm số BCD từ 00000000 lên 99999999 trên tám LED.139 • Ứng dụng điều khiển LED 7 đoạn tổng hợp. ........................................................................................142 o Bài 1: Chương trình điều khiển hiển thị đếm GIỜ – PHÚT – GIÂY trên sáu LED. ......................142 o Bài 2: Chương trình điều khiển hiển thị chuỗi ký tự “-HA-NOI-“ trên tám LED..........................145 o Bài 3: Chương trình điều khiển hiển thị và chớp tắt chuỗi ký tự “ -HA-NOI- “ trên tám LED.....147 o Bài 4: Chương trình điều khiển hiển thị lần lượt các chuỗi ký tự “-HA-NOI“, “-DA-LAT-“, “- SAIGON-“ trên tám LED. Mỗi chuỗi hiển thị cách nhau 1 giây....................................................149 o Bài 5: Chương trình điều khiển hiển thị và dịch chuyển chuỗi ký tự “-HA-NOI-SAI-GON-“ trên tám LED từ phải sang trái..............................................................................................................151 C. Hệ thống điều khiển LED ma trận...........................................................................................................153 • Mục đích: ..............................................................................................................................................153 • Yêu cầu: ................................................................................................................................................153 • Bài 1: Chương trình điều khiển hiển thị chữ A màu đỏ trên LED ma trận...........................................154 • Bài 2: Chương trình điều khiển hiển thị chữ S màu đỏ trên LED ma trận sáng tắt .............................157 • Bài 3: Chương trình điều khiển hiển thị lần lượt các chữ A, B, C, a, b, c màu đỏ trên LED ma trận........ ...............................................................................................................................................................159 • Bài 4: Chương trình điều khiển hiển thị chuỗi ký tự “WELLCOME” màu đỏ trên LED ma trận dịch chuyển từ phải sang trái........................................................................................................................161 D. Hệ thống điều khiển bàn phím. ................................................................................................................163 • Mục đích: ..............................................................................................................................................163 • Yêu cầu: ................................................................................................................................................163 • Bài 1: Chương trình điều khiển bàn phím và hiển thị mã của phím nhấn trên 8 LED dưới dạng số BIN ...............................................................................................................................................................164 • Bài 2: Chương trình điều khiển bàn phím và biểu diễn các kiểu hiển thị trên tám LED thông qua các phím được nhấn.....................................................................................................................................166 E. Hệ thống điều khiển LCD. ........................................................................................................................171 • Mục đích: ..............................................................................................................................................171 • Yêu cầu: ................................................................................................................................................171 • Bài 1: Chương trình điều khiển LCD hiển thị hai dòng chữ “MICRO-CONTROLLER” và “DESIGNED BY: PQT.” đứng yên trên hai dòng của màn hình LCD.................................................172 • Bài 2: Chương trình điều khiển LCD hiển thị hai dòng chữ “WELLCOME TO MICROCONTROLLER SYSTEM – 51” và “DESIGNED BY: PQT.” trên hai dòng của màn hình LCD với yêu cầu: dòng chữ thứ nhất sẽ dịch chuyển liên tục từ phải sang trái, dòng chữ thứ hai đứng yên. ..................................174 • Bài 3: Chương trình điều khiển LCD hiển thị hai dòng chữ “PULSE = ” và “DESIGNED BY PHAM QUANG TRI – ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY” trên hai dòng của màn hình LCD với yêu cầu: số lượng xung đếm được (00 – 99) tại chân P3.0 sẽ được hiển thị trên dòng thứ nhất tiếp phía sau dòng chữ “PULSE =”, dòng chữ thứ hai sẽ dịch chuyển từ phải sang trái. Xung được tạo ra bằng cách nhấn nút nhấn KEY0. .....................................................177 F. Hệ thống điều khiển nút nhấn. .................................................................................................................181 • Mục đích: ..............................................................................................................................................181 • Yêu cầu: ................................................................................................................................................181 • Bài 1: Chương trình điều khiển nút nhấn, khi ta nhấn nút nào trong 8 nút thì LED tương ứng sẽ sáng lên và ngược lại.....................................................................................................................................182 • Bài 2: Chương trình điều khiển nút nhấn, khi ta nhấn nút KEY0 thì 8 LED sẽ chớp tắt với tần số 5 Hz và ngược lại khi ta nhả nút KEY0 thì 8 LED sẽ chớp tắt với tần số 20 Hz ...........................................184 G. Hệ thống điều khiển công tắc....................................................................................................................186 • Mục đích: ..............................................................................................................................................186 • Yêu cầu: ................................................................................................................................................186 • Bài tập: Chương trình điều khiển công tắc và hiển thị lên tám LED mức logic hiện tại (LED sáng = mức cao, LED tắt = mức thấp) của tám công tắc gạt...........................................................................187 H. Hệ thống điều khiển relay. ........................................................................................................................189 • Mục đích: ..............................................................................................................................................189 • Yêu cầu: ...........................................................................................