Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.1 MB, 10 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
TRUNG TÂM THÍ NGHIỆM THỰC HÀNH ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP
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
• 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
• 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 <sub>Bài 1: Chương trình điều khiển hiển thị số 7 trên LED3. ...62 </sub>
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 <sub>Bài 3: Chương trình điều khiển hiển thị số 35 trên hai LED. ...66 </sub>
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 <sub>Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED. ...68 </sub>
• 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 <sub>Bài 1: Chương trình điều khiển hiển thị số 7 trên LED3. ...70 </sub>
o <sub>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 </sub>
o <sub>Bài 3: Chương trình điều khiển hiển thị số 35 trên hai LED. ...73 </sub>
o <sub>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 </sub>
o <sub>Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED. ...75 </sub>
o <sub>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 </sub>
• 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 ngồi). ...78
o <sub>Bài 1: Chương trình điều khiển hiển thị số 1 trên LED7. ...78 </sub>
o <sub>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 </sub>
o <sub>Bài 3: Chương trình điều khiển hiển thị số 12 trên hai LED. ...81 </sub>
o <sub>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 </sub>
o <sub>Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED. ...86 </sub>
o <sub>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 </sub>
o <sub>Bài 7: Chương trình điều khiển hiển thị số 12345678 trên tám LED. ...89 </sub>
o <sub>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 </sub>
• 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 ngồi). ...93
o <sub>Bài 1: Chương trình điều khiển hiển thị số 1 trên LED7. ...93 </sub>
o <sub>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 </sub>
o <sub>Bài 3: Chương trình điều khiển hiển thị số 12 trên hai LED. ...96 </sub>
o <sub>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 </sub>
o <sub>Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED. ...101 </sub>
o <sub>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 </sub>
o <sub>Bài 7: Chương trình điều khiển hiển thị số 12345678 trên tám LED. ...105 </sub>
o <sub>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 </sub>
• 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 <sub>Bài 1: Chương trình điều khiển hiển thị số 1 trên LED7. ...110 </sub>
o <sub>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 </sub>
o <sub>Bài 3: Chương trình điều khiển hiển thị số 12 trên hai LED. ...113 </sub>
o <sub>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 </sub>
o <sub>Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED. ...118 </sub>
o <sub>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 </sub>
o <sub>Bài 7: Chương trình điều khiển hiển thị số 12345678 trên tám LED. ...122 </sub>
o <sub>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 </sub>
• 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 <sub>Bài 1: Chương trình điều khiển hiển thị số 1 trên LED7. ...125 </sub>
o <sub>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 </sub>
o <sub>Bài 3: Chương trình điều khiển hiển thị số 12 trên hai LED. ...128 </sub>
o <sub>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 </sub>
o <sub>Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED. ...133 </sub>
o <sub>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 </sub>
o <sub>Bài 7: Chương trình điều khiển hiển thị số 12345678 trên tám LED. ...137 </sub>
o <sub>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 </sub>
• Ứng dụng điều khiển LED 7 đoạn tổng hợp. ...142
o <sub>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 </sub>
o <sub>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 </sub>
o <sub>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 </sub>
o <sub>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-“, </sub>
“-SAIGON-“ trên tám LED. Mỗi chuỗi hiển thị cách nhau 1 giây...149
o <sub>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 </sub>
tám LED từ phải sang trái...151
C. Hệ thống điều khiển LED ma trận...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
• 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
• 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 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 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
• 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
• 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
• 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
• 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
• Bài 1: Chương trình điều khiển t?o sóng vng tuần hồ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
• 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
• 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: ...
• 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ớ ngồ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ớ ngồ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: ...
• 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ớ ngồ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ớ ngồ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
ngõ vào (kênh IN0) lên bốn LED 7 đoạn (LED3: hàng đơn vị; LED2, LED1 và LED0: ba số phần thập
phân). 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ị của hai kênh ngõ
vào (kênh IN0 và IN1) lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số thập phân từ 0 ->
255), LED7 hiển thị kênh ngõ vào. Việc chuyển đổi kênh biến đổi được thực hiện bằng cách nhấn nút
KEY0. Sử dụng cơ chế bộ nhớ ngồi...
• 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: ...
• 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: ...
• u cầu: ...
TRUNG TÂM THÍ NGHIỆM THỰC HÀNH ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP
Chương 1: Cấu hình của mơ hình thí nghiệm vi điều khiển.
Giáo trình thực hành vi xử lý. 8 Biên soạn: Phạm Quang Trí
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 ngồ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
Chương 1: Cấu hình của mơ hình thí nghiệm vi điều khiển.
Giáo trình thực hành vi xử lý. 9 Biên soạn: Phạm Quang Trí
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ơ đồ ngun lý:
D0
R111
1K2
A12
P1.1
VPP
D39
5V6
C48
1000u
VDD
D5
R117
3K3
D1
D3
R109
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
30
40
20
31
19
18
9
39
38
37
36
35
34
33
32
1
2
3
4
5
6
7
8
21
22
23
24
25
26
1 234 56 789
A2
P1.5
A10
P1.2
D7
D38
13V
U33
MAX232
1 3
4 5
16
1
5
2
6
12
9
11
U37 SLAVE 20PIN
12
13
14
15
16
17
18
19
4
5
20
10
1
2
3
6
7
8
9
11
P1.0/AIN0
P1.1/AIN1
P1.2
P1.3
P1.4
P1.5
Chương 1: Cấu hình của mơ hình thí nghiệm vi điều khiển.
Giáo trình thực hành vi xử lý. 10 Biên soạn: Phạm Quang Trí
• 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 đã hồ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 q trình nạp chip, từ đó đưa ra thơng báo q 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
• Ứng dụng:
Khối lập trình vi điều khiển này kết hợp với phần mềm MCU Program Loader trên máy tính có khả năng lập
trình cho các loại chip sau:
o Loại chip 40 chân (được gắn vào socket SLAVE 40 PIN): AT89C51, AT89LV51, AT89C52,
AT89LV52, AT89C55, AT89LV55, AT89C55WD, AT89S51, AT89LS51, AT89S52, AT89LS52,
AT89S53, AT89LS53, AT89S8252, AT89LS8252.