Tải bản đầy đủ (.pdf) (10 trang)

Tài liệu hướng dẫn thí nghiệm - thực hành trong điều khiển MCS - 51

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


T



T

À

À

I

I

L

L

I

I

U

U

H

H

Ư

Ư

N

N

G

G

D

D

N

N


T



T

H

H

Í

Í

N

N

G

G

H

H

I

I

M

M

-

-

T

T

H

H

C

C

H

H

À

À

N

N

H

H



B



B

I

I

Ê

Ê

N

N

S

S

O

O

N

N

:

:

P

P

H

H

M

M

Q

Q

U

U

A

A

N

N

G

G

T

T

R

R

Í

Í



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

MỤC LỤC



CHƯƠNG 1: CẤU HÌNH CỦA MƠ HÌNH THÍ NGHIỆM VI ĐIỀU KHIỂN. ...1


1.1 Giới thiệu: ...1


1.2 Cấu hình của mơ hình thí nghiệm vi điều khiển: ... ...2


1.2.1 Khối lập trình vi điều khiển: ...2


1.2.2 Khối vi điều khiển:...4


1.2.3 Khối LED điểm:...6


1.2.4 Khối LED 7 đoạn: ...7


1.2.5 Khối LED ma trận:...11



1.2.6 Khối LCD: ...13


1.2.7 Khối công tắc: ...14


1.2.8 Khối nút nhấn:...15


1.2.9 Khối bàn phím:...16


1.2.10 Khối relay: ...17


1.2.11 Khối tạo xung:...18


1.2.12 Khối tạo áp thay đổi:...19


1.2.13 Khối điều khiển động cơ bước:...20


1.2.14 Khối Serial EEPROM: ...21


1.2.15 Khối cảm biến nhiệt: ...22


1.2.16 Khối đệm dữ liệu: ...24


1.2.17 Khối giải mã:...26


1.2.18 Khối ADC: ...28


1.2.19 Khối DAC: ...29


1.2.20 Khối RTC:...31



1.2.21 Khối thanh ghi dịch:...32


1.2.22 Khối mở rộng port I/O: ...34


1.2.23 Khối giao tiếp PC:...37


1.2.24 Khối mở rộng bus: ...39


CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG PHẦN MỀM MCU PROGRAM LOADER. ...40


2.1 Giới thiệu: ...40


2.2 Hướng dẫn sử dụng phần mềm MCU Program Loader: ...41


CHƯƠNG 3: HỆ THỐNG CÁC BÀI THỰC HÀNH VI ĐIỀU KHIỂN...47


Một số lưu ý khi viết chương trình và kết nối mạch ...47


A. Hệ thống điều khiển LED đơn...48


• Mục đích: ...48


• 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>


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=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 <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


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=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


• 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 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


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

• 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...


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=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: ...


• 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: ...


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

TRUNG TÂM THÍ NGHIỆM THỰC HÀNH ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP


T



T

À

À

I

I

L

L

I

I

U

U

H

H

Ư

Ư

N

N

G

G

D

D

N

N


T



</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

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


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”).


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

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


100/2W
D4
VCC
VPC 5V/6.5V
A9
P1.7
D42
1N4007
P1.7
R108
10K
A12
P1.2
VPP 5V/6.5V
D6
R120
4K7
D35
5V6
D4
Y 3
11.0592MHz
P1.7
A5 D5
P1.0
A13
SW18
POWER SW
VDD
U35 74573

2
3
4
5
6
7
8
9
11
1
19
18
17
16
15
14
13
12
10
20
D0
D1
D2
D3
D4
D5
D6
D7
LE
OE

Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
GND
VCC
Q23
C1815
VPC ON/OFF
VCC
D2
VCC
D2
A8
VCC
P1.6
VCC
P1.2
VPC
A9
A13
C41
104
D6
R121
4K7

D36
1N4007
D1
A10
R122
22/2W
15. KHOÁ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
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


27
28
10
11
12
13
14
15
16
17
PSEN
ALE
VCC
GND
EA
X1
X2
RST
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P1.0
P1.1
P1.2
P1.3

P1.4
P1.5
P1.6
P1.7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
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
D1
D34
6V7
D0
A1
P3.7
R110
3K3
D6
R118
1K2

VPP ON/OFF
VCC
VCC
P1.1
VCC
VPP
D2
R107 10K


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


10
13
8
14
7
C
1
+
C
1

-C
2
+
C
2

-VCC
G
N
D
V
+
V

-R1OUT
R2OUT
T1IN
T2IN
R1IN

R2IN
T1OUT
T2OUT
D1
R113
4K7
C35
10u
D0
D2
P1.0
VCC
A0
P1.4
VPC
D5
P1.5
C46
104
VCC
A14
P3.7
Q20
C1815
VCC
VDD
D7
D6
P1.1
U34 89C52

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

27
28
10
11
12
13
14
15
16
17
PSEN
ALE
VCC
GND
EA
X1
X2
RST
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P1.0
P1.1
P1.2
P1.3

P1.4
P1.5
P1.6
P1.7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
VCC
C43
33p
C42
10u VPC
C38
104
P3
TO PC
5

9
4
8
3
7
2
6
1
A11
C37
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
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


P1.6
P1.7
X2
X1
VCC
GND
RST/VPP
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.7
D41
LED
C39
10u
U38 7805
1 3
2
VIN VOUT
G
N
D
D5
P1.4
Q22
C1815



</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

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


đ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.


• Ứ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.


</div>

<!--links-->

×