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 IO:...........................................................................................................................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ự “HANOI“ 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ự “ HANOI “ 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ự “HANOI“, “DALAT“, “ 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ự “HANOISAIGON“ 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ữ “MICROCONTROLLER” 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:................................................................................................................................................189 • Bài tập: Chương trình điều khiển RELAY1 và RELAY2 đóng ngắt tuần tự và liên tục. Thời gian giữa hai lần đóng ngắt là 1s..........................................................................................................................190 I. Hệ thống điều khiển motor bước..............................................................................................................192 • Mục đích:..............................................................................................................................................192 • Yêu cầu:................................................................................................................................................192 • Bài 1: Chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ.........................................193 • Bài 2: Chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ một vòng rồi dừng lại............ ...............................................................................................................................................................195 • Bài 3: Chương trình điều khiển STEPPER1 quay bằng cách nhấn nút KEY0: quay thuận, KEY1: quay ngược, KEY2: dừng...............................................................................................................................196
Trang 1TRUNG 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
Trang 2MỤ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
Trang 3• 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
Trang 4• 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: 189
• Bài tập: Chương trình điều khiển RELAY1 và RELAY2 đóng ngắt tuần tự và liên tục Thời gian giữa hai lần đóng ngắt là 1s 190
I Hệ thống điều khiển motor bước 192
• Mục đích: 192
• Yêu cầu: 192
• Bài 1: Chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ 193
• Bài 2: Chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ một vòng rồi dừng lại
195
• Bài 3: Chương trình điều khiển STEPPER1 quay bằng cách nhấn nút KEY0: quay thuận, KEY1: quay ngược, KEY2: dừng 196
J Hệ thống điều khiển ngắt (Interrupt) .198
• Mục đích: 198
• Yêu cầu: 198
Trang 5• Bài 1: Chương trình điều khiển t?o sóng vuông tuần hoàn có tần số 10 Hz (sử dụng ngắt Timer) tại
chân P0.0 và hiển thị mức logic tại chân này lên LED0 199
• Bài 2: Chương trình điều khiển đếm số xung t?i chân INT0 (sử dụng ngắt ngoài) và hiển thị số xung này (tối đa là 255 lần) lên ba LED 7 đoạn 200
K Hệ thống điều khiển Timer/Counter 203
• Mục đích: 203
• Yêu cầu: 203
• Bài 1: Chương trình điều khiển đếm liên tục số lượng xung (0000 – 9999) được đưa vào chân T1 của vi điều khiển và hiển thị số lượng xung này lên các LED 7 đoạn 204
• Bài 2: Chương trình điều khiển đo tần số của xung (0000 – 9999, đơn vị là Hz) được đưa vào chân T1 của vi điều khiển và hiển thị tần số của xung này lên các LED 7 đoạn 207
• Bài 3: Chương trình điều khiển đo độ rộng của xung (đơn vị là ms) được đưa vào chân INT0 của vi điều khiển và hiển thị độ rộng của xung này lên các LED 7 đoạn 210
L Hệ thống điều khiển thu phát dữ liệu dạng nối tiếp .212
• Mục đích: 212
• Yêu cầu: 212
• Bài 1: Chương trình điều khiển (ứng dụng mở rộng port xuất) xuất liên tục các giá trị 00H, 01H, 03H, 07H, 0FH, 1FH, 3FH, 7FH và FFH ra 8 LED thông qua port nối tiếp và sử dụng vi mạch 4094, mỗi lần xuất cách nhau 1s 213
• Bài 2: Chương trình điều khiển (ứng dụng mở rộng port nhập) thực hiện liên tục việc nhập dữ liệu từ 8 công tắc thông qua port nối tiếp và sử dụng vi mạch 74165, dữ liệu nhập vào này sẽ được xuất ra 8 LED .215
• Bài 3: Chương trình điều khiển (ứng dụng mở rộng thu phát nối tiếp) tạo một bảng dữ liệu gồm 9 bytes (00H, 01H, 03H, 07H, 0FH, 1FH, 3FH, 7FH, FFH) Thực hiện việc xuất từng byte của bảng này ra port nối tiếp (chân TXD) rồi thu vào port nối tiếp (chân RXD) và cất vào RAM nội có địa chỉ bắt đầu là 40H Việc xuất dữ liệu được điều khiển bằng nút nhấn KEY0, mỗi lần xuất/nhập một byte Dữ liệu sau khi nhập vào được xuất ra 8 LED (có sử dụng bộ đệm đảo) đồng thời với việc ghi vào RAM nội 216
M Hệ thống điều khiển port I/O (điều khiển xuất/nhập qua các thiết bị ngoại vi)
• Mục đích:
• Yêu cầu:
• Bài 1: Chương trình điều khiển Port I/O, làm cho 8 LED đếm lên nhị phân 8 bit Sử dụng cơ chế bộ nhớ ngoài
• Bài 2: Chương trình điều khiển Port I/O, liên tục đọc các giá trị từ các công tắc gạt SW0 – SW7 và hiển thị mức logic hiện tại (LED sáng = mức cao, LED tắt = mức thấp) của các công tắc này lên LED Sử dụng cơ chế bộ nhớ ngoài
• Bài 3: Chương trình điều khiển Port I/O, làm cho 8 LED đếm lên nhị phân 8 bit Sử dụng cơ chế bộ nhớ ngoài
• Bài 4: Chương trình điều khiển Port I/O, liên tục đọc các giá trị từ các công tắc gạt SW0 – SW7 và hiển thị mức logic hiện tại (LED sáng = mức cao, LED tắt = mức thấp) của các công tắc này lên LED Sử dụng cơ chế bộ nhớ ngoài
N Hệ thống điều khiển ADC
• Mục đích:
• Yêu cầu:
• Bài 1: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị của kênh ngõ vào (kênh IN0) lên hai LED 7 đoạn (LED1 và LED0; dưới dạng số HEX từ 00H -> FFH) Sử dụng cơ chế bộ nhớ ngoài
• Bài 2: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị của kênh ngõ vào (kênh IN0) lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số DEC từ 0 -> 255) Sử dụng cơ chế bộ nhớ ngoài
• Bài 3: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị điện áp của kênh
Trang 6• Mục đích:
• Yêu cầu:
• Bài 1: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi giá trị lưu trong thanh ghi R0 thành điện áp tương tự Giá trị trong thanh ghi R0 thay đổi liên tục 00H, 40H, 80H, C0H và FFH, mỗi lần cách nhau 2 giây
• Bài 2: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi giá trị lưu trong thanh ghi R0 thành điện áp tương tự Giá trị trong thanh ghi R0 thay đổi liên tục từ 00H -> FFH, mỗi lần cách nhau 2 giây và được hiển thị lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số thập phân từ 0 -> 255)
• Bài 3: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện tạo sóng sin có tần số bất kỳ tại ngõ ra
P Hệ thống điều khiển đo nhiệt độ
• Mục đích:
• Yêu cầu:
• Bài tập: Chương trình đo nhiệt độ và hiển thị giá trị lên bốn LED 7 đoạn (một LED hiển thị phần thập phân)
Q Hệ thống điều khiển motor DC
• Mục đích:
• Yêu cầu:
• Bài 1: R Hệ thống điều khiển Serial EEPROM
• Mục đích:
• Yêu cầu:
• Bài 1: S Hệ thống điều khiển RTC
• Mục đích:
• Yêu cầu:
• Bài 1:
Trang 7TRUNG 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
Trang 8Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
1.1 Giới thiệu:
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ản chỉ
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, LED ma 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 Topview Simulator”)
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
Trang 9Chương 1: Cấu hình của mơ hình thí nghiệm vi điều khiển
1.2 Cấu hình của mơ hình thí nghiệm vi điều khiển:
1.2.1 Khối lập trình vi điều khiển:
• Sơ đồ nguyên lý:
D0
R111 1K2
D5
R117
3K3
D1 D3
P1.7
R108 10K A12
P1.2
VPP 5V/6.5V
D6
R120 4K7 D35
D4
Y 3 11.0592MHz
P1.7
P1.0 A13
SW18 POWER SW VDD
U35 74573 2 4 6 8 11 1
19 17 15 13
10
D0 D2 D4 D6 LE OE
Q0 Q2 Q4 Q6
GND
Q23 C1815 VPC ON/OFF
D36 1N4007
D1
A10
R122 22/2W
15 KHỐI LẬP TRÌNH VI ĐIỀU KHIỂN
A7 D4
P1.6 A6
R116
100/2W
D3 D3
VCC
D3
R115 10K
D43
1N4007
R123 1K2 D7
D37 1N4007
U36 SLAVE 40PIN
29
40 31
19 18 9
39 37 35 33
1 3 5 7
21 23 25
27 10
11 13 15 17
PSEN ALE
VCC EA
X1 X2 RST
P0.0/AD0 P0.2/AD2 P0.4/AD4 P0.6/AD6
P1.0 P1.2 P1.4 P1.6
P2.0/A8 P2.2/A10 P2.4/A12
P2.6/A14 P3.0/RXD
P3.1/TXD P3.2/INT0 P3.4/T0 P3.6/WR P3.7/RD
VCC Q19
C1815
P1.3 VCC
C44 33p
VPP A4
P1.6
Q24 C1815
R112 1K2
A14
A8
P1.3
C50 100u
D4
P1.5
A11
C51 104 C49
100u
A3
C45 104
VPP ON/OFF VCC VCC
P1.1
VCC
VPP D2
R107 10K
1 3 5 7 9
A2
P1.5 A10
P1.2
D7
D38
U33 MAX232
T1OUT
T2OUT
D1
R113 4K7
C35
10u
D0 D2
P1.0 VCC
A0
P1.4 VPC
C1815
VCC VDD
D7 D6
P1.1 U34 89C52
39 37 35 33
1 3 5 7
21 23 25 27
10 12 14 16
17 PSEN ALE
VCC
EA
X1
X2 RST
P0.0/AD0 P0.2/AD2 P0.4/AD4 P0.6/AD6
P1.0 P1.2 P1.4 P1.6
P2.0/A8 P2.2/A10 P2.4/A12 P2.6/A14
P3.0/RXD P3.1/TXD P3.2/INT0 P3.4/T0 P3.6/WR
P3.7/RD VCC
C43 33p
C42
C38 104
Q21 C1815
P1.4
R119 1K2
J90A
DC 16V 1 2
C47 104
C40 10u
D7
R114 4K7
D40 1N4007
D0
C36 10u
U37 SLAVE 20PIN 12
14 16 18
4
20 1
2 6 8 11
P1.0/AIN0 P1.2 P1.4 P1.6
X2 VCC RST/VPP
P3.0/RXD P3.1/TXD P3.2/INT0 P3.4/T0
Trang 10Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
• Giới thiệu chung:
Các thành phần chính của bộ lập trình là port nối tiếp, nguồn cung cấp và bộ vi điều khiển trung tâm Dữ liệu nối tiếp được gửi và nhận từ cổng COM 9 chân và chuyển đổi từ mức logic TTL sang mức tín hiệu RS232 hoặc chuyển đổi từ mức tín hiệu RS232 sang mức logic TTL bằng vi mạch MAX232 Một sợi cáp port nối tiếp được dùng để nối cổng COM của khối lập trình vi điều khiển với cổng COM của máy tính (cổng RS232)
Nguồn cung cấp 16 VDC được cung cấp cho khối lập trình thông qua đầu nối J90A và công tắc SW18 (POWER SW) Các diode D36, D37, D40, D42 làm nhiệm vụ chỉnh lưu điện áp và chống hiện tượng sai cực tính nguồn khi ta dùng nguồn DC cung cấp cho khối (Lưu ý: ta có thể sử dụng nguồn DC 16V hoặc AC 12V để cung cấp cho khối) Điện áp này là điện áp chưa được ổn áp và được gọi là VDD VDD được dùng để tạo ra ba mức điện
áp khác nhau là VCC, VPP và VPC Điện áp VCC có mức điện áp là 5V được tạo ra từ vi mạch ổn áp LM7805 để cung cấp cho bộ vi điều khiển trung tâm U34 hoạt động Điện áp VPP có mức điện áp là 0V, 5V hoặc 12V theo sự điều khiển của bộ vi điều khiển trung tâm Điện áp VPC có mức điện áp là 0V, 5V hoặc 6.5V theo sự điều khiển của bộ vi điều khiển trung tâm Các loại điện áp khác nhau này được yêu cầu trong suốt quá trình lập trình cho các chip vi điều khiển
Trung tâm của khối lập trình này là bộ vi điều khiển trung tâm U34 và phần mềm điều khiển của nó Phần mềm này có khả năng nhận dạng chip vi điều khiển được đưa vào mạch thông qua một trong hai socket ZIF là SLAVE
40 PIN và SLAVE 20 PIN Các thông tin này được sang phần mềm MCU Program Loader trên máy tính để xác lập các thông số hoạt động điều khiển Khi một tập tin chương trình được gửi đi từ máy tính, các thông tin này sẽ được
bộ vi điều khiển trung tâm tải đến chip vi điều khiển cần lập trình bằng các tín hiệu địa chỉ, dữ liệu và điều khiển tương thích Sau khi việc lập trình đã hoàn tất thì các dữ liệu đã được ghi vào này sẽ được gửi ngược trở lại máy tính để kiểm tra lỗi trong quá trình nạp chip, từ đó đưa ra thông báo quá trình lập trình thành công hay có lỗi Bạn cần phải chú ý đến một điểm rất quan trọng là luôn luôn phải tắt nguồn cung cấp cho khối lập trình vi điều khiển trước khi tiến hành tháo/gắn chip vi điều khiển vào socket nhằm tránh gây hỏng chip vi điều khiển này
o Loại chip 20 chân (được gắn vào socket SLAVE 20 PIN): AT89C1051, AT89C2051, AT89C4051
Trang 11Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
1.2.2 Khối vi điều khiển:
7
C20 104
LOW ADDRESS BUS
9 KHOÁI VI ÑIEÀU KHIEÅN
D4
C23 33p
D2
8000H - 9FFFH
C13 104
P1.0
D4 C22
10u
A1
6000H - 7FFFH A3
SW33 POWER SW
29
40 31
19
9
39
37 35
33
1
3
5 7
21
23
25 27
VCC GND EA
X1
RST
P0.0/AD0 P0.2/AD2
P0.4/AD4
P0.6/AD6
P1.0/T2 P1.1/T2EX P1.2/ECI P1.3/CEX0
P1.5/CEX2 P1.7/CEX4
P2.0/A8
P2.2/A10 P2.4/A12
P2.6/A14
P3.0/RXD P3.1/TXD P3.2/INT0
P3.4/T0
P3.6/WR P3.7/RD
188 KHz
VCC A12
7
R135 1K2
P1.6
J44
PORT 3
1 3
5
7 A15
P2.3
1.5 MHz
INT1
D23 1N4148
2 6
8
11
P1.0/AIN0 P1.2
P1.4 P1.6
X2 VCC GND RST/VPP
P3.0/RXD P3.1/TXD P3.2/INT0
HIGH ADDRESS BUS
P2.5
INT1 J41
A0-A7 BUS
1
3 5
7
D3
R98 1K
2000H - 3FFFH
C12 104
P1.2
U20 74573 2
4 6
8
11 1
19
17 15
13
10
D0 D2
D4
D6
LE OE
Q0 Q2
Q4
Q6
GND VCC
J40
PORT 3
1
3 5
7
A0 6264
VCC
A13
D3
D25 1N4148
P0.4
P1.7
A0
A6 VCC
U22 6264 10 9
7 5
3 25
21 2
11
13 16
18
28 22
20
A0 A2
A4
A6 A8
A10 A12
D0 D2
D4
D6
VCC GND
OE WE CS1 A10
C24 33p
A15
E000H - FFFFH P3.1
94 KHz
VCC
R102 8K2
C21
33p
P0.3
U23 74138 1
3 15
13 11
9
16 8
6 5
A C
G1 G2A
A4
J43
PORT 1
1 3
7 5
3 25
21 2
11
13 16
18
28 22
27 1 20
A0 A2
A4
A6 A8
A10 A12
O0 O2
O4
O6
VCC GND OE
PGM VPP CE
5 7
P3.6
• Sơ đồ bố trí linh kiện:
Trang 12Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
• Giới thiệu chung:
Khối vi điều khiển được thiết kế để cho phép người sử dụng thuận tiện trong việc tiến hành thí nghiệm đối với các loại vi điều khiển họ 89 của hãng Atmel ở mọi chế độ làm việc khả thi, gồm các loại vi điều khiển 40 chân và các vi điều khiển 20 chân
o Thí nghiệm vi điều khiển 20 chân: vi điều khiển cần thí nghiệm sẽ được gắn vào socket U25 (SOCKET 20PIN), tần số hoạt động của chip do Y2 quyết định, các port xuất nhập của chip J43 (PORT 1): Port 1 (trong đó P3.0 và P3.1 là ngõ vào của bộ ADC trong chip); J44 (PORT 3): Port 3 (trong đó P3.6 không sử dụng) Để reset chip bạn sử dụng nút nhấn SW17 (RESET)
o Thí nghiệm vi điều khiển 40 chân: vi điều khiển cần thí nghiệm sẽ được gắn vào socket U19 (SOCKET 40PIN), tần số hoạt động của chip do Y1 quyết định, các port xuất nhập của chip J37 (PORT 0): Port 0 (ngoài ra còn là bus dữ liệu D0 D7 đã giải đa hợp); J38 (PORT 1): Port 1; J39 (PORT 2): Port 2 (ngoài ra còn là bus địa chỉ byte cao A8 A15); J40 (PORT 3): Port 3 (ngoài ra còn là bus tín hiệu điều khiển đặc biệt) Đầu nối J41 (A0-A7 BUS): bus địa chỉ byte thấp A0 A7
Để reset chip bạn sử dụng nút nhấn SW17 (RESET) Trong trường hợp thí nghiệm này, trên mô hình đã có thiết kế sẵn các bộ nhớ ROM/RAM bên ngoài (ROM 2764: 8 KB và RAM 6264: 8 KB
có nguồn back-up BT1) nhằm mục đích giúp cho người sử dụng thuận tiện hơn trong việc thiết kế
và thí nghiệm hệ thống vi điều khiển sử dụng bộ nhớ trong hoặc sử dụng bộ nhớ ngoài Để thực hiện việc chuyển đổi bộ nhớ sử dụng (trong hay ngoài) ta thay đổi Jump J36 (INT/EXT), nối COM-INT: là sử dụng bộ nhớ trong; nối COM-EXT: là sử dụng bộ nhớ ngoài Tầm địa chỉ của ROM: 0000H – 1FFFH; RAM chuẩn: 0000H – 1FFFH Đối với RAM, nếu ta chỉ có một vi mạch (RAM chuẩn) ta sẽ nối J34 (CS6264) xuống GND, còn nếu có thêm I/O hoạt động với chức năng như RAM thì ta nối J34 (CS6262) đến bộ giải mã địa chỉ U23 (74138) lúc đó địa chỉ của RAM có sự thay đổi
Ngoài ra, tại khối vi điều khiển trên mô hình thí nghiệm còn được thiết kế sẵn: bộ chia tần số U24 (74393) có nhiệm vụ tạo ra các tần số khác nhau J42 (CLOCK OUT) để cung cấp cho các khối khác hoặc để dùng cho các mục đích khác của người sử dụng, bộ giải mã địa chỉ U23 (74138) có nhiệm vụ tạo ra các tín hiệu điều khiển chọn chip với các tầm địa chỉ khác nhau J35 (SELECT CHIP)
Bạn cần phải chú ý đến một điểm rất quan trọng là luôn luôn phải tắt nguồn cung cấp cho khối vi điều khiển trước khi tiến hành tháo/gắn chip vi điều khiển vào socket nhằm tránh gây hỏng chip vi điều khiển này
Trang 13Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
• Ứng dụng:
o Thí nghiệm ứng dụng các loại vi điều khiển 20 chân và 40 chân
o Thí nghiệm cấu hình vi điều khiển sử dụng bộ nhớ bên trong hay bộ nhớ bên ngoài (Dung lượng ROM/RAM ngoài có sẵn: 8KB/8KB, RAM có nguồn Back-up)
o Phát các tín hiệu giải mã địa chỉ (CS): 0000H - 1FFFH, 2000H - 3FFFH, 4000H - 5FFFH, 6000H - 7FFFH, 8000H - 9FFFH, A000H - BFFFH, C000H - DFFFH, E000H – FFFFH
o Phát các xung clock có tần số: 12MHz, 6MHz, 3MHz, 1.5MHz, 750KHz, 375KHz, 188KHz, 94KHz
1.2.3 Khối LED điểm:
• Sơ đồ nguyên lý:
D5 LED
D13 LED
D16 LED
VCC
LED5
GND
D12 LED D14 LED
D7 LED
VCC
D10 LED
D4 LED
D1 LED
LED5 LED2
LED7
D2 LED
LED6 LED1
D9 LED
J9
BARLED
1 2 3 4 5 6 7 8
J103
POWER
1 2 3
LED1
D11 LED
LED0
J10
BARLED
1 2 3 4 5 6 7 8
Trang 14Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
• Giới thiệu chung:
Khối gồm 16 LED điểm, được chia ra làm hai phần 8 LED Các dãy LED này được điều khiển bằng hai đầu nối J9 và J10 (BARLED) vì thế ta có thể thực hiện điều khiển cùng lúc nhiều LED hoặc chỉ một LED Mức tích cực để điều khiển các LED này là mức thấp Dòng điện cung cấp cho các LED phải từ 15 – 25 mA để các LED có thể hoạt động tốt nhất
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối J103 (POWER)
• Ứng dụng:
o Thí nghiệm phương pháp kết nối LED điểm với vi điều khiển
o Thí nghiệm phương pháp điều khiển từng LED
o Thí nghiệm phương pháp điều khiển dãy LED
o Thí nghiệm các kiểu điều khiển LED sáng tắt
o Thí nghiệm nguyên lý điều khiển đèn giao thông
1.2.4 Khối LED 7 đoạn:
SEL3
R1 2K2
7
Q8 A1015 VCC
1 3 5 7
J1
SEL LED IN
1 3
5
7
U5 LED7
Q3 A1015
SEL1 A
R6 2K2
1 3 5 7
R15 330
J7 7SEG5 IN
1 3 5 7
R16 330
Q4 A1015
R7 2K2
D
Trang 15Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
• Sơ đồ bố trí linh kiện:
• Giới thiệu chung:
Khối LED 7 đoạn bao gồm 8 LED 7 đoạn loại Anode chung kết hợp lại với nhau theo hai cách thiết kế khác nhau Các LED này đều được cấp nguồn thông qua các transistor Q1 - Q8 đóng vai trò như các công tắc và được điều khiển thông qua các tín hiệu điều khiển tích cực mức thấp tại đầu nối J1 (SEL LED IN), J2 (SEL IN1) và J3 (SEL IN2)
8 LED này được chia ra làm hai nhóm với hai phương pháp thiết kế khác nhau cho mỗi nhóm:
o Phương pháp không đa hợp (phương pháp điều khiển LED trực tiếp): được thiết kế trên cơ sở 4 LED (U1, U2, U3, U4) Phương pháp này là phương pháp mà các đoạn của mỗi LED sẽ được nối vào mỗi Port điều khiển độc lập với nhau và Anode của tất cả các LED sẽ được cấp nguồn đồng thời với nhau (thông thường thì sẽ được nối thẳng lên VCC) J5, J6, J7, J8 (7SEG IN): ngõ vào tín hiệu 7 đoạn (A-G và DP) của từng LED sẽ được nối đến từng Port điều khiển độc lập với nhau; J3 (SEL IN2): ngõ vào tín hiệu điều khiển cấp nguồn cho các LED, ở chế độ này thì sẽ được nối trực tiếp xuống GND để cấp nguồn liên tục và đồng thời cho tất cả các LED Phương pháp điều khiển trong trường hợp này là cấp mã 7 đoạn tương ứng của số cần hiển thị ra LED 7 đoạn mong muốn
Trang 16Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
o Phương pháp đa hợp (phương pháp điều khiển quét LED): được thiết kế trên cơ sở 4 LED (U5, U6, U7, U8) Phương pháp này là phương pháp mà tất cả các đoạn của các LED sẽ được nối chung vào nhau và vào một Port điều khiển còn Anode của tất cả các LED sẽ được nối vào một Port điều khiển khác và được cấp tín hiệu quét LED một cách tuần tự (tại một thời điểm thì chỉ có một LED được cấp nguồn hoạt động) J4 (7SEG IN MUL): ngõ vào tín hiệu 7 đoạn (A-G và DP) đa hợp của tất cả các LED sẽ được nối đến một Port điều khiển; J2 (SEL IN1): ngõ vào tín hiệu điều khiển cấp nguồn cho các LED, ở chế độ này thì sẽ được nối đến một Port điều khiển khác cung cấp tín hiệu quét LED để cấp nguồn tuần tự cho các LED Phương pháp điều khiển trong trường hợp này là phải tiến hành tuần tự qua các giai đoạn: cấp một tín hiệu quét LED sao cho chỉ có LED đầu tiên được cấp nguồn rồi đưa mã 7 đoạn tương ứng của số cần hiển thị ra LED 7 đoạn đó; kế tiếp cấp một tín hiệu quét LED sao cho chỉ có LED thứ hai được cấp nguồn rồi đưa mã 7 đoạn tương ứng của số cần hiển thị ra LED 7 đoạn đó; quá trình cứ diễn ra liên tục như vậy và do hiện tượng lưu ảnh của mắt mà ta thấy được các LED dường như sáng cùng một lúc
Trong hai phương pháp nêu trên thì phương pháp đa hợp thì thường được sử dụng nhiều hơn trong thực tế Cho nên trên mô hình thí nghiệm này cũng cho phép ta có thể thiết kế chế độ đa hợp cho tất cả 8 LED này bằng cách nối cung tất cả các đầu nối J5, J6, J7, J8 vào với đầu nối J4 thông qua khối mở rộng
Bảng mã 7 đoạn cho các LED:
Trang 17Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
Bảng mã điều khiển quét LED:
Ngoài ra còn các mã 7 đoạn cho các LED khác, các bạn có thể tự mình thiết lập thêm để nâng cao số lượng ký
tự có thể hiển thị trên LED 7 đoạn cho thí nghiệm của mình
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối J110 (POWER)
• Ứng dụng:
o Thí nghiệm phương pháp kết nối LED 7 đoạn với vi điều khiển
o Thí nghiệm phương pháp điều khiển từng LED 7 đoạn
o Thí nghiệm phương pháp điều khiển dãy LED 7 đoạn
o Thí nghiệm các kiểu điều khiển LED sáng tắt và hiển thị thông tin
o Thí nghiệm các phương pháp điều khiển LED 7 đoạn ở các chế độ khác nhau: đa hợp, không đa hợp, ngõ vào BCD hay 7 đoạn, …
o Thí nghiệm nguyên lý điều khiển đèn giao thông
Trang 18Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
C6 C5
Q15 A1015
Q16 A1015
C5
C7
Q9 A1015
VCC
Q14 A1015
+5V
Q10 A1015
J12
COL GREEN MATRIX
1 2 3 4 5 6 7 8
24 23
20 17 14 2 5 8 11
R R R R R R R R
C1G C2G C3G C4G C5G C6G C7G
C0G C0R
C1R C2R C3R C4R C5R C6R C7R
R6
Q11 A1015
Trang 19Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
• Giới thiệu chung:
Loại ma trận LED sử dụng trên mô hình thí nghiệm này là loại ma trận LED 24 chân gồm 8 hàng và 8 cột Ma trận LED này có hai màu chính là xanh và đỏ, ngoài ra còn có một màu phụ là do sự tổng hợp của hai màu trên mà
ra
Mỗi điểm LED trên ma trận có cấu tạo gồm hai LED màu xanh và màu đỏ ghép lại với nhau theo nguyên tắc Anode ghép chung và Cathode để riêng Ma trận LED 8 hàng x 8 cột này gồm 24 chân được chia ra làm ba nhóm chân: 8 chân HÀNG R0-R7 (là các Anode chung của các LED trên cùng một hàng), 8 chân CỘT ĐỎ C0R-C7R (là các Cathode chung của các LED màu đỏ trên cùng một cột), 8 chân CỘT XANH C0G-C7G (là các Cathode chung của các LED màu xanh trên cùng một cột) Sự kết hợp các mức logic cao/thấp thích hợp trên các hàng và cột theo một qui luật nhất định (hiển thị theo phương pháp quét hay còn gọi là phương pháp chỉ thị động) mà ta sẽ có được các hình ảnh như mong muốn trên ma trận LED với các màu sắc khác nhau
J11 (COL RED MATRIX): ngõ vào điều khiển hàng R0-R7 cho các LED màu đỏ, tích cực mức thấp; J12 (COL GREEN MATRIX): ngõ vào điều khiển hàng R0-R7 cho các LED màu xanh, tích cực mức thấp; J13 (ROW MATRIX): ngõ vào điều khiển cột chung C0-C7 cho các LED, tích cực mức thấp
Phương pháp điều khiển cũng tương tự như phương pháp điều khiển các LED 7 đoạn ở chế độ đa hợp (phương pháp quét LED) Đầu tiên, ta cấp tín hiệu sao cho chỉ có HÀNG 1 có nguồn rồi đưa mã nhị phân tương ứng của hình ảnh cần hiển thị tại hàng đó ra các cột Kế tiếp, ta cấp tín hiệu sao cho chỉ có HÀNG 2 có nguồn rồi đưa mã nhị phân tương ứng của hình ảnh cần hiển thị tại hàng đó ra các cột Quá trình cứ diễn ra một cách tuần tự và liên tục như vậy và do hiện tượng lưu ảnh của mắt mà ta thấy được các LED dường như sáng cùng một lúc để tạo ra hình ảnh như mong muốn trên ma trận LED
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối J116 (POWER)
• Ứng dụng:
o Thí nghiệm phương pháp kết nối LED ma trận với vi điều khiển
o Thí nghiệm phương pháp điều khiển từng LED trong ma trận
o Thí nghiệm phương pháp điều khiển nhiều LED trong ma trận
o Thí nghiệm các kiểu điều khiển LED sáng tắt và hiển thị thông tin tĩnh hoặc thông tin động với các màu sắc khác nhau
Trang 20Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
R149 10K
ENA
25 KHOÁI LCD
Q25 C1815
J104
POWER
1 2 3
GND
J127
DATA LCD 1 2 3 4 5 6 7 8
R148 2K7
1 2
D5
VCC
GND
• Sơ đồ bố trí linh kiện:
• Giới thiệu chung:
Trên mô hình thí nghiệm có thiết kế sẵn một LCD 16 ký tự x 2 hàng, được sử dụng cho các bài thí nghiệm về phương pháp điều khiển và hiển thị thông tin trên màn hình tinh thể lỏng (LCD)
J127 (DATA LCD): ngõ vào nhận thông tin dữ liệu (Data) hoặc thông tin lệnh (Command) cho LCD, J128 (CTRL LCD): ngõ vào điều khiển LCD
Trang 21Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
Để điều chỉnh độ tương phản của các thông tin hiển thị trên LCD ta tiến hành điều chỉnh biến trở R149 Để bật đèn chiếu nền cho LCD trong trường hợp ánh sáng môi trường yếu làm việc hiển thị thông tin trên LCD không được rõ ràng thì ta cung cấp một mức logic cao (5V) vào đầu nối J121 (BACKLIGHT)
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối J104 (POWER)
• Ứng dụng:
o Thí nghiệm phương pháp kết nối LCD với vi điều khiển
o Thí nghiệm phương pháp điều khiển trạng thái làm việc của LCD
o Thí nghiệm phương pháp điều khiển LCD hiển thị thông tin tĩnh hay động
VCC
SW1
VCC J106
POWER
1 2 3
• Sơ đồ bố trí linh kiện:
Trang 22Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
• Giới thiệu chung:
Nhiệm vụ chính của khối công tắc là sử dụng cho các bài thí nghiệm về giao tiếp giữa vi điều khiển với công tắc, lập trình điều khiển dùng công tắc Khối gồm 8 công tắc được thiết kế trên một DIP-SW, các công tắc này sẽ tạo ra một mức logic cao (5V) hoặc thấp (0V) ở các bit tương ứng của đầu nối J122 (SWITCH) tuỳ theo vị trí của công tắc trên DIP-SW (công tắc ở vị trí ON là mức logic thấp và ngược lại sẽ có mức logic cao)
Ngoài ra, khối này còn được sử dụng cho việc nối GND hoặc nối VCC cho các khối cần thiết, ví dụ như nối GND cho các transistor trong khối LED 7 đoạn
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối J106 (POWER)
• Ứng dụng:
o Thí nghiệm phương pháp kết nối công tắc với vi điều khiển
o Thí nghiệm ứng dụng điều khiển thiết bị bằng công tắc
o Tạo các mức logic thấp (0V) hoặc logic cao (5V) cho các khối khác trên mô hình thí nghiệm 1.2.8 Khối nút nhấn:
K0 VCC
KEY4
+5V
R128 4K7
GND
SW21 KEY 2
R132 4K7
VCC
K2
16 KHOÁI NUÙT NHAÁN
J91 PUSH KEY
1 3 5 7
KEY0
J114 POWER
1 3
KEY7
VCC
SW22 KEY 3
SW24 KEY 5
VCC K1
SW25 KEY 6
KEY2
KEY6
R127 4K7
KEY5
SW20 KEY 1
VCC R126
4K7
VCC
K3 K5
R130
• Sơ đồ bố trí linh kiện:
• Giới thiệu chung:
Nhiệm vụ chính của khối nút nhấn là sử dụng cho các bài thí nghiệm về giao tiếp giữa vi điều khiển với nút nhấn, lập trình điều khiển dùng nút nhấn Khối gồm 8 nút nhấn được thiết kế theo nguyên tắc: nếu không nhấn nút thì mức logic tại bit tương ứng của đầu nối J91 sẽ có mức logic cao (5V) và ngược lại khi nhấn nút thì sẽ có mức logic cao
Trang 23Chương 1: Cấu hình của mơ hình thí nghiệm vi điều khiển
Ngồi ra, khối này cịn được sử dụng cho việc tạo ra một xung kích cĩ mức logic thấp (hoặc kích bằng cạnh xung) cho các khối khác trên mơ hình thí nghiệm, ví dụ như cung cấp xung đếm hoặc xung ngắt cho vi điều khiển Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thơng qua đầu nối J114 (POWER)
• Ứng dụng:
o Thí nghiệm phương pháp kết nối nút nhấn với vi điều khiển
o Thí nghiệm ứng dụng điều khiển thiết bị bằng nút nhấn
o Tạo các tín hiệu xung cĩ mức logic thấp cho các khối khác trên mơ hình thí nghiệm
1.2.9 Khối bàn phím:
• Sơ đồ nguyên lý:
R3 R1
ESC R2
C2
5 KHỐI PHÍM MA TRẬN
C2 C1
C1
C2
• Sơ đồ bố trí linh kiện:
Trang 24Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
• Giới thiệu chung:
Khối bàn phím trên mô hình thí nghiệm này được thiết kế dựa vào cấu trúc hàng và cột của ma trận Bàn phím gồm 16 phím được sắp xếp theo ma trận 4 x 4 (tức 4 hàng x 4 cột) Các hàng và cột của ma trận phím này được kết nối với vi điều khiển thông qua đầu nối J15 (KEYBOARD), R0-R3: các hàng của ma trận phím, C0-C3: các cột của ma trận phím
Để điều khiển bàn phím ma trận này ta sử dụng phương pháp quét phím Để điều khiển quét phím thì bạn xuất một dữ liệu 4 bit (trong đó có 1 bit ở mức logic thấp và 3 bit còn lại ở mức logic cao) ra các cột của ma trận phím (C0-C3), đọc 4 bit dữ liệu ở các hàng của ma trận phím (R0-R3) vào để kiểm tra xem có phím nào được nhấn hay không Nếu có phím nhấn thì trong 4 bit đọc vào sẽ có 1 bit ở mức logic thấp và dựa trên cơ sở đó để thiết lập mã phím nhấn Nếu không có phím nhấn thì 4 bit đọc vào đều có mức logic cao, khi đó ta chuyển mức logic thấp sang cột kế tiếp để dò tìm phím khác
• Ứng dụng:
o Thí nghiệm phương pháp kết nối bàn phím được thiết kế theo kiểu ma trận với vi điều khiển
o Thí nghiệm ứng dụng điều khiển thiết bị bằng bàn phím
o Thí nghiệm các phương pháp quét phím và nhận dạng phím nhấn
NO21
NO11
LS1 RELAY 5V
3 4 5 6 8 7 1 2
COM21
R91 330
NO12
VCC
NC22 NO22 NO12
GND
R89 330
NO11
COM21
VCC VCC
COM12
R90 2K2
6 KHOÁI RELAY
COM12
NC11 GND
Q18 C1815
+5V
J27
RELAY 1 OUT
1 2 3 4 5 6 7 8
D19 LED D18
J26
RELAY 2 OUT
1 2 3 4 5 6 7 8
NO12
LS2 RELAY 5V
3 4 5 6 8 7 1 2
COM11
COM22 REL1
GND
COM21
Q17 C1815
COM22 NO11
D17 LED
NO22
NO22 COM11
VCC
NC21 REL1
NC21
NC12
D20 1N4148
NC21
Trang 25Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
• Sơ đồ bố trí linh kiện:
• Giới thiệu chung:
Trên mô hình thí nghiệm được thiết kế sẵn hai relay LS1 và LS2 cho các ứng dụng lập trình điều khiển đóng ngắt công suất Hai relay được điều khiển bằng đầu nối J18 (RELAY CTRL), để đóng (hoặc) relay thì bạn cần cung cấp một mức logic cao (hoặc logic thấp) đến đầu nối J18 này Các công tắc bên trong relay được nối ra bên ngoài thông qua các đầu nối J26 (RELAY1 OUT) và J27 (RELAY2 OUT) Trong đó: COM (Common): điểm chung; NC (Normal Close): điểm thường đóng; NO(Normal Open): điểm thường mở
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối J111 (POWER)
• Ứng dụng:
o Thí nghiệm phương pháp kết nối relay với vi điều khiển
o Thí nghiệm ứng dụng điều khiển relay
1.2.11 Khối tạo xung:
THR DSCHG
VCC
PULSE
+5V
PULSE GND
C10 10u
J113
POWER
1 2 3
GND
R95 1K
J33
PULSE OUT
1 2 D22
C7 103
R96 100K
C11 103
R94 1K D21
1N4148
R93 100K
VCC
VCC
Trang 26Chương 1: Cấu hình của mơ hình thí nghiệm vi điều khiển
• Sơ đồ bố trí linh kiện:
• Giới thiệu chung:
Khối tạo xung trên mơ hình sử dụng vi mạch LM555 để tạo ra các xung vuơng cung cấp cho các ứng dụng lập trình điều khiển cần đến Xung vuơng được lấy ra tại đầu nối J33 (PULSE OUT), tần số xung được điều chỉnh bởi biến trở R93 và phần trăm xung ở mức cao (hoặc thấp) được điều chỉnh bởi biến trở R96
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thơng qua đầu nối J113 (POWER)
R106 100K
11 KHỐI TẠO ÁP
J48
V OUT 4
1 2 J47
V OUT 3
1 2
VCC
GND
R103 100K VCC
VCC
+5V
R105 100K J45
V OUT 1
1 2 D35
POWER
1 2 3
• Sơ đồ bố trí linh kiện:
Trang 27Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
• Giới thiệu chung:
Khối tạo áp này được thiết kế trên mô hình chủ yếu nhằm mục đích để giả lập tín hiệu tương tự cung cấp cho khối ADC thực hiện việc biến đổi Khoảng điện áp thay đổi nằm trong khoảng 0V – 5V
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối D35 (POWER)
• Ứng dụng:
o Tạo các mức điện áp thay đổi liên tục từ 0V đến 5V cung cấp cho các khối trên mô hình thí nghiệm
o Giả lập tín hiệu tương tự cung cấp cho khối ADC
1.2.13 Khối điều khiển động cơ bước:
• Sơ đồ nguyên lý:
D7 D6
A
J31 CTRL MOTOR
1 2 3 4 5 6 7 8
D C
J32 STEPPER2
1 2 3 4
1 2 3 4 5 6 7 8
18 17 16 15 14 13 12 11
IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8
OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8
J30 STEPPER 1 1
2 3 4
D4 D5
C8 104
D2
VCC
D1 D0
J105 POWER
1 2 3
D3
• Sơ đồ bố trí linh kiện:
• Giới thiệu chung:
Khối điều khiển động cơ bước được thiết kế trên cơ sở vi mạch ULN2803, khối có thể điều khiển được cùng lúc hai động cơ bước công suất nhỏ (điện áp hoạt động: 5VDC, dòng điện tiêu thụ: 500 mA)
Trang 28Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
J31 (CTRL MOTOR): ngõ vào nhận tín hiệu điều khiển hai động cơ bước từ vi điều khiển; J30 (STEPPER 1), J32 (STEPPER 2): ngõ ra điều khiển của hai động cơ bước
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối J105 (POWER)
• Ứng dụng:
o Thí nghiệm phương pháp kết nối động cơ bước với vi điều khiển
o Thí nghiệm ứng dụng điều khiển động cơ bước
1.2.14 Khối Serial EEPROM:
A1
GND +5V
SDA
J50
CTRL EEPROM
1 2 3
10 KHOÁI SERIAL EEPROM WP
SCL
1 2 3
4
5
6 7
8
A0 A1 A2
GND
SDA
SCL WP
GND
VCC
• Sơ đồ bố trí linh kiện:
• Giới thiệu chung:
Khối được thiết kế trên nền tảng vi mạch bộ nhớ giao diện nối tiếp 2 dây, AT24C04, có dung lượng là 4 KB (512 x 8 bit) Khối được thiết kế nhằm mục đích giúp người sử dụng có thể thí nghiệm các phương pháp ghi/đọc dữ liệu giữa vi điều khiển với Serial-Eeprom
J49 (ADDR EEPROM): ngõ vào địa chỉ của bộ nhớ; J50 (CTRL EEPROM): các tín hiệu điều khiển của Eeprom như ngõ vào dữ liệu nối tiếp, xung clock nối tiếp và tín hiệu chống ghi vào bộ nhớ
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối J112 (POWER)
Trang 29Chương 1: Cấu hình của mơ hình thí nghiệm vi điều khiển
• Ứng dụng:
o Thí nghiệm phương pháp kết nối Serial-Eeprom với vi điều khiển
o Thí nghiệm các phương pháp ghi/đọc dữ liệu giữa vi điều khiển với Serial-Eeprom
1.2.15 Khối cảm biến nhiệt:
• Sơ đồ nguyên lý:
R151 39K
C55 104
R134 10K
J135
POWER
1 2 3 4
-VCC
C54 104 VCC
J96
V1
1 2
R136 10K
-VCC
VCC
R137 20K
+
-U43 OP07 3
-U40 OP07 3
-U39 OP07 3
C53 104
-VCC
V1 V1
VCC
R135 39K
V2
VCC
R133 20K
VCC
V2
19 KHỐI CẢM BIẾN NHIỆT
C56 10u
J92
V2
1 2
-VCC
VCC
C52 10u
J93
V OUT
1 2
• Sơ đồ bố trí linh kiện:
Trang 30Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
• Giới thiệu chung:
Để mở rộng các ứng dụng giao tiếp giữa vi điều khiển (môi trường số) với môi trường bên ngoài (môi trường tương tự) và các ứng dụng mang tính thực tế hơn Vì thế, trên khối được chuẩn bị sẵn khối cảm biến nhiệt với độ phân giải là 0,5V để người sử dụng có thể nghiên cứu thiết kế và lập trình điều khiển các hệ thống đo nhiệt độ môi trường và khống chế nhiệt độ bằng vi điều khiển
J93 (V OUT): điện áp (tương tự) ngõ ra của khối cảm biến nhiệt; J92 (V2): ngõ vào của điện áp so sánh; J96 (V1): ngõ vào của tín hiệu từ cảm biến nhiệt LM335
LM335 là cảm biến nhiệt độ có thể hoạt động đến 150OC Tương ứng với nhiệt độ 0OK thì LM335 cho ra điện
áp 0V Cứ tăng 1OC thì điện áp ra tăng 10mV Như vậy, với 0OC thì điện áp ra là 2,73V Để dễ dàng cho việc xử lý chương trình thì với 0OC điện áp ra nên là 0V Muốn vậy cần có thêm mạch khuếch đại hiệu để trừ bớt đi 2,73V Điện áp ngõ ra tại J93 V OUT = AV(V1 – V2) Suy ra, điện áp ngõ ra thay đổi 10AV (mV) khi nhiệt độ thay đổi 1OC
Độ phân giải cần thiết là 0,5OC nên điện áp thay đổi khi nhiệt độ thay đổi 1OC phải bằng 2 lần độ phân giải của ADC 0809:
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối J135 (POWER)
• Ứng dụng:
o Thí nghiệm ứng dụng đo nhiệt độ môi trường bằng vi điều khiển
o Giả lập tín hiệu tương tự cung cấp cho khối ADC
Trang 31Chương 1: Cấu hình của mơ hình thí nghiệm vi điều khiển
1.2.16 Khối đệm dữ liệu:
• Sơ đồ nguyên lý:
GND IN6
OUT3
1 2 3 4 5 6 7 8
18 17 16 15 14 13 12 11
IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8
OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8
J78 INPUT 4 1 2 3 4 5 6 7 8
OUT4 OUT0
OUT4
IN5
C32 104
18 17 16 15 14 13 12 11
IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8
OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8
IN1
IN2
IN4 IN2 +5V
18 17 16 15 14 13 12 11
IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8
OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8
IN2
C29 104
OUT1 IN3
IN3
+5V
OUT4
OUT0 IN2
IN0
IN5 IN5
IN0
J69 OUTPUT 3 1 2 3 4 5 6 7 8
OUT5
13 KHỐI ĐỆM DỮ LIỆU
IN1
C33 104
OUT1
J53
INPUT 1
1 2 3 4 5 6 7 8
IN3
J54 OUTPUT 1 1 2 3 4 5 6 7 8
OUT6 IN0
OUT5
J61
INPUT 2
1 2 3 4 5 6 7 8
OUT4 IN4
18 17 16 15 14 13 12 11
IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8
OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8
OUT6
OUT7
C34 104
J62 OUTPUT 2 1 2 3 4 5 6 7 8
Trang 32Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
• Giới thiệu chung:
Trong trường hợp các port xuất nhập của vi điều khiển cần phải điều khiển những thiết bị công suất lớn hoặc phải điều khiển cùng lúc nhiều thiết bị trên một port Lúc này đòi hỏi cần phải có các bộ khuếch đại dòng điện ngõ
ra tại các port xuất nhập của vi điều khiển thì nó mới có thể đáp ứng được công việc điều khiển nêu trên
Trên mô hình thí nghiệm được thiết kế sẵn bốn bộ đệm dữ liệu có chức năng khuếch đại các dòng điện tại ngõ vào của chúng Dòng điện tại ngõ ra là khoảng 300 - 500 mA Lưu ý một điều rất quan trọng trong khối này là các
bộ đệm ULN2803 sử dụng ở đây là các bộ đệm có đảo
J53, J68, J61, J78 (INPUT): ngõ vào của các bộ đệm dữ liệu; J54, J69, J62, J79 (OUTPUT): ngõ ra của các bộ đệm dữ liệu (ngõ ra có đảo trạng thái so với ngõ vào)
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối J109 (POWER)
• Ứng dụng:
o Được sử dụng để thực hiện việc kết nối giữa các thiết bị ngoại vi công suất cao với chip vi điều khiển
o Khuếch đại dòng điện điều khiển cung cấp cho các thiết bị công suất cao
o Lưu ý khối này là khối khuếch đại đệm đảo
Trang 33Chương 1: Cấu hình của mơ hình thí nghiệm vi điều khiển
B
F B
SEL6 SEL B
SEL2 SEL A
4 KHỐI GIẢI MÃ
E
U15A 74139 2
3 1
4 5 6
A B G
C5
104
VCC
U13 7447 7
1 6
4 5 3
13 12 10 9 15 14
16 8
D0 D2 D3
BI/RBO RBI LT
A C D F G
VCC GND
VCC
DP
VCC
U14 74138 1
2
15 14 12 11 10 9 7
16 8
6 4 5
A B
G1 G2A G2B
G
SEL0
VCC
D B A
SEL2 D
SEL C
G
VCC
SEL1 SEL A
J21
7SEG OUT 4
1 2 4 5 7 8
SEL0 SEL3
J19
7SEG OUT 3
1 2 3 5 6 7 J20
BCD IN 3-4
1 2 4 5 6 7
U11 7447 7
1 6
4 5 3
13 12 10 9 15 14
16 8
D0 D2 D3
BI/RBO RBI LT
A C D F G
VCC GND
SEL B
VCC J24
DECODER 2-4
1 2
C
E
C D
VCC
VCC
SEL1
C3 104
U12 7447 7
1 2
4 5
13 12 11 9 15 14
16 8
D0 D1 D3
BI/RBO RBI LT
A B D E F G
VCC GND
A
U15B 74139 14
13 15
12 11 10 9
A B G
U10 7447 7
1 2
4 5
13 12 11 9 15 14
16 8
D0 D1 D3
BI/RBO RBI LT
A B D E F G
VCC GND
B
G B
J29
DECODER OUT
1 2 3
J22
DECODER 3-8
1 2
A A
J23
DECODER OUT
1 2 4 5 6 8
B
SEL4
• Sơ đồ bố trí linh kiện:
Trang 34Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
• Giới thiệu chung:
Mô hình thí nghiệm này được thiết kế sẵn một bộ giải mã 3 sang 8 (U14 - 74138), hai bộ giải mã 2 sang 4 (U15
- 74139) và bốn bộ giải mã BCD sang 7 đoạn (U10 U13 - 7447) Mục đích chính của các bộ giải mã này là sử dụng kết hợp với khối LED 7 đoạn để sinh viên có thể thiết kế, thí nghiệm và tìm hiểu về các phương pháp điều khiển LED 7 đoạn từ đơn giản (điều khiển trực tiếp) đến phức tạp (điều khiển theo kiểu quét LED) Một số phương pháp điều khiển LED 7 đoạn như (cấu trúc của các phương pháp này có thể xem ở phần sau hoặc xem trong tài liệu
“Hướng dẫn sử dụng phần mềm mô phỏng MCS-51 Topview Simulator”):
o Chế độ hiển thị không đa hợp với ngõ vào BCD (Non Multiplexed displays with BCD inputs)
o Chế độ hiển thị không đa hợp với ngõ vào 7 đoạn (Non Multiplexed displays with 7 segment inputs)
o Chế độ hiển thị đa hợp ngõ vào BCD với bộ đa hợp bên trong (Multiplexed BCD input displays with internal multiplexer)
o Chế độ hiển thị đa hợp ngõ vào 7 đoạn với bộ đa hợp bên trong (Multiplexed 7 segment input displays with internal multiplexer)
o Chế độ hiển thị đa hợp ngõ vào BCD với bộ đa hợp bên ngoài (Multiplexed BCD input displays with external multiplexer)
o Chế độ hiển thị đa hợp ngõ vào 7 đoạn với bộ đa hợp bên ngoài (Multiplexed 7 segment input displays with external multiplexer)
J16 (BCD IN 1-2): ngõ vào của hai tín hiệu mã BCD (4 bit cao và 4 bit thấp); J14, J17 (7 SEG OUT 1, 7 SEG OUT 2): ngõ ra của tín hiệu mã 7 đoạn tương ứng Tương tự như vậy cho J20 và J19, J21
J22 (DECODER 3-8): các ngõ vào của bộ giải mã 3 sang 8; J23 (DECODER OUT): các ngõ ra của bộ giải mã
o Cung cấp bộ giải mã BCD sang 7 đoạn
o Cung cấp bộ giải mã 2 sang 4 hoặc bộ giải mã 3 sang 8
o Thí nghiệm phương pháp kết nối khối LED 7 đoạn trực tiếp hoặc kết nối có thông qua các bộ giải
mã với khối vi điều khiển
Trang 35Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
1.2.18 Khối ADC:
• Sơ đồ nguyên lý:
CS0809
IN1 GND
U54A 7402 2
A0
10
9 7
17 14 15 8 18 19 20 21
6 22
11 13
12 16
26 27 28 1 2 3 4 5
25 24 23 CLK
OE EOC
D0 D1 D2 D3 D4 D5 D6 D7
START ALE VCC GND
REF+
REF-IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
A0 A1 A2
C66 104
J118
CS0809
1 2
D7
C65 104
D2
RD VCC
1 2 3 4 5 6 7 8
IN2
VCC
D3
• Sơ đồ bố trí linh kiện:
• Giới thiệu chung:
Nhằm mục đích giúp sinh viên có thể nghiên cứu, thiết kế và tìm hiểu về nguyên lý chuyển đổi tín hiệu tương
tự sang tín hiệu số và ứng dụng của các vi mạch ADC trong thực tế Từ đó có thể dễ dàng và thuận tiện trong việc thiết kế được các hệ thống chuyển đổi tín hiệu tương tự sang tín hiệu số dùng vi điều khiển kết hợp vi mạch ADC
Trang 36Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
Trên mô hình thí nghiệm đã thiết kế sẵn một vi mạch ADC 0809, là một vi mạch chuyển đổi tương tự – số 8 bit
có 8 ngõ vào tín hiệu tương tự, để thực hiện việc chuyển đổi tín hiệu này J112 (ANALOG IN): các ngõ vào tín hiệu tương tự (có 8 ngõ vào); J113 (DIGITAL OUT): ngõ ra tín hiệu số 8 bit; J118 (CS 0809): ngõ vào cho phép ADC hoạt động Việc chọn lựa ngõ vào của tín hiệu tương tự sẽ do khối vi điều khiển quyết định thông qua các đường địa chỉ A0 A2 Quá trình thực hiện chuyển đổi và đưa dữ liệu tới vi điều khiển sẽ do khối vi điều khiển quản lý thông qua hai tín hiệu RD\ và WR\ Tần số lấy mẫu của chip ADC là 750KHz được lấy từ bộ chia tần trong khối vi điều khiển
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối D34 (POWER)
• Ứng dụng:
o Thí nghiệm phương pháp kết nối vi mạch ADC với vi điều khiển
o Thí nghiệm phương pháp chuyển đổi dạng tín hiệu từ tương tự sang số sử dụng vi mạch ADC0809 1.2.19 Khối DAC:
• Sơ đồ nguyên lý:
R146 2K7
12 11 10 9 8 7 6 5 14
A8 A7 A6 A5 A4 A3 A2 A1 VR+
V-VCC
J120
ANALOG OUT
1 2 D45
5V1
C74 104
R142 10K -
+ U56 LM741 3
D4
21 KHOÁI DAC
-VCC
R141 2K7
R143 2K7
D1 D6
C70 104
R150 2K7
D0 D5
C73 104
D7
R145 10K
D2
+12V
R144 2K7
J119 DIGITAL IN
1 2 3 4 5 6 7 8
C72 104
ANALOG
-12V
Trang 37Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
• Sơ đồ bố trí linh kiện:
• Giới thiệu chung:
Nhằm mục đích giúp sinh viên có thể nghiên cứu, thiết kế và tìm hiểu về nguyên lý chuyển đổi tín hiệu số sang tín hiệu tương tự và ứng dụng của các vi mạch DAC trong thực tế Từ đó có thể dễ dàng và thuận tiện trong việc thiết kế được các hệ thống chuyển đổi tín hiệu số sang tín hiệu tương tự dùng vi điều khiển kết hợp vi mạch DAC Trên mô hình thí nghiệm đã thiết kế sẵn một vi mạch DAC 0808, là một vi mạch chuyển đổi số – tương tự 8 bit, để thực hiện việc chuyển đổi tín hiệu này J119 (DIGITAL IN): ngõ vào tín hiệu số 8 bit; J120 (ANALOG OUT): ngõ ra tín hiệu tương tự (dạng điện áp) Vi mạch U56 (LM741) làm nhiệm vụ biến đổi tín hiệu tương tự tại ngõ ra của vi mạch DAC từ dạng dòng điện sang dạng điện áp Biến trở R145: điều chỉnh mức điện áp chuẩn Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối J108 (POWER)
• Ứng dụng:
o Thí nghiệm phương pháp kết nối vi mạch DAC với vi điều khiển
o Thí nghiệm phương pháp chuyển đổi dạng tín hiệu từ số sang tương tự sử dụng vi mạch DAC0808
Trang 38Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
J108
CS RTC 1 2
AD7
SQW
AD6 INT
J105 CTRL P-RTC
1 2 3
19 23
24 12
4 5 6 7 8 9 10 11 14
17
1 18
15
13
IRQ SQW
VCC GND
AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AS DS
MOT RST R/W
CS
R140 10K
INT
R138 10K
A0
J103 ADD/DATA BUS 1 2 3 4 5 6 7 8
18 KHOÁI REAL TIME CLOCK (RTC)
J109
CTRL S-RTC
1 2 3 4
VCC
VCC
INT
C63 104
VCC
C62 104
VCC
VCC
• Sơ đồ bố trí linh kiện:
• Giới thiệu chung:
Nhằm mục đích giúp sinh viên có thể nghiên cứu, thiết kế và tìm hiểu về các vi mạch đồng hồ thời gian thực (RTC) để từ đó có thể dễ dàng và thuận tiện trong việc thiết kế được các hệ thống đồng hồ số dùng vi điều khiển kết hợp vi mạch RTC
Trên mô hình thí nghiệm đã thiết kế sẵn hai loại RTC: loại giao tiếp song song (DS12C887) và loại giao tiếp nối tiếp (PCF8583) Lưu ý rằng loại RTC nối tiếp không lưu giữ được các thông số hoạt động khi nguồn cung cấp
bị mất
Trang 39Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
o Loại giao tiếp song song (DS12C887): J103 (ADD/DATA BUS): bus địa chỉ và dữ liệu đa hợp; J104 (READ/WRITE): tín điều khiển ghi và đọc RTC; J105 (CTRL P-RTC): tín hiệu ngắt, chốt địa chỉ, reset RTC và tín hiệu xung đa tần; J108 (CS RTC): tín hiệu cho phép RTC hoạt động
o Loại giao tiếp nối tiếp (PCF8583): J109 (CTRL S-RTC): tín hiệu địa chỉ, ngắt, xung clock nối tiếp
và dữ liệu nối tiếp
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối J147 (POWER)
• Ứng dụng:
o Thí nghiệm phương pháp kết nối các vi mạch RTC với vi điều khiển
o Thí nghiệm lập trình ứng dụng thiết kế đồng hồ số sử dụng vi mạch RTC kiểu song song
o Thí nghiệm lập trình ứng dụng thiết kế đồng hồ số sử dụng vi mạch RTC kiểu nối tiếp
1.2.21 Khối thanh ghi dịch:
• Sơ đồ nguyên lý:
D4
1 2 8 9
3 4 5 6 10 11 12 13 14
7
A B CLK CLR
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 VCC GND
D0
D6
D0 D2
9 7
16 8
DS P0 P1 P2 P3 P4 P5 P6 P7 CP1 CP2 PL
QH QH
VCC GND
D7
STR
4 5 6 7 14 13 12 11 9 10 16
8
1 2 3 15
Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 QS1 QS2 VCC GND
STR D CLK OE
D6
OUT CLK-3
GND
J116
PARALLEL OUT 2
1 2 3 4 5 6 7 8
+5V
VCC
CLK LD
J117
SERIAL OUT
1 2 3 LD
IN
C67 104 VCC
IN
J115
SERIAL IN 2
1 2
J115
POWER
1 2 3
D2 D3
C68 104
D7
D3 D4
D5
D6
D7
C69 104
D1
D5
Trang 40Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển
• Sơ đồ bố trí linh kiện:
• Giới thiệu chung:
Khối thanh ghi dịch trên mô hình thí nghiệm được sử dụng để nghiên cứu thí nghiệm và thiết kế các ứng dụng chuyển đổi dữ liệu từ dạng nối tiếp sang dạng song song 8 bit và ngược lại Việc nghiên cứu thí nghiệm tính năng chuyển đổi này giúp cho bạn có thể tìm hiểu sâu hơn về nguyên lý hoạt động và phương pháp điều khiển cũng như chế độ hoạt động của port nối tiếp trong chip vi điều khiển (mà chủ yếu là chế độ thanh ghi dịch của port nối tiếp) Port nối tiếp của chip vi điều khiển có thể được sử dụng để mở rộng thành một hay nhiều port xuất song song
Để thực hiện điều này, ta sử dụng port nối tiếp ở chế độ thanh ghi dịch (Shift Register – Mode 0) và sử dụng vi mạch chuyển đổi từ dạng nối tiếp ra dạng song song (Serial In – Parallel Out) như 74164 (U53) và 4094 (U50) Với hoạt động xuất ở chế độ thanh ghi dịch thì trên vi điều khiển ngõ RXD là ngõ ra dữ liệu nối tiếp, ngõ TXD là ngõ
ra xung clock
Port nối tiếp của chip vi điều khiển có thể được sử dụng để mở rộng thành một hay nhiều port nhập song song
Để thực hiện điều này, ta sử dụng port nối tiếp ở chế độ thanh ghi dịch (Shift Register – Mode 0) và sử dụng vi mạch chuyển đổi từ dạng song song ra dạng nối tiếp (Parallel In – Serial Out) như 74165 (U51) Với hoạt động xuất ở chế độ thanh ghi dịch thì trên vi điều khiển ngõ RXD là ngõ vào dữ liệu nối tiếp, ngõ TXD là ngõ ra xung clock
U50 (4094) và U53 (74164) là hai vi mạch chuyển đổi dữ liệu từ dạng nối tiếp ra dạng song song J110 (SERIAL IN1), J115 (SERIAL IN2): ngõ vào của dữ liệu nối tiếp, IN: ngõ vào của dữ liệu nối tiếp, CLK: ngõ vào của xung clock hay xung dịch chuyển dữ liệu, STR: ngõ vào của xung chốt dữ liệu ngõ ra J111 (PARALLEL OUT1), J116 (PARALLEL OUT2): ngõ ra của dữ liệu song song 8 bit
U51 (74165) là vi mạch chuyển đổi dữ liệu từ dạng song song ra dạng nối tiếp J114 (PARALLEL IN): ngõ vào của dữ liệu song song 8 bit J117 (SERIAL OUT): ngõ ra của dữ liệu nối tiếp, OUT: ngõ ra của dữ liệu nối tiếp, CLK: ngõ vào của xung clock hay xung dịch chuyển dữ liệu, LD: cho phép tải dữ liệu song song vào vi mạch (LD=0: tải dữ liệu mới từ ngõ vào song song vào trong vi mạch, LD=1: chốt dữ liệu đã nhận được từ ngõ vào song song lại và thực hiện việc ghi dịch dữ liệu này