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

Phòng thí nghiệm Tự động hoá – Vi điều khiển ppsx

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 (622.58 KB, 58 trang )

Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 1
TỔNG QUAN VỀ KIT THÍ NGHIỆM VI
ĐIỀU KHIỂN μP8951

I. KIT KTCT_μp8951:
KIT thí nghiệm gồm 10 module được bố trí như trên hình 1.
1/- MICROCONTROLLER WITH EXTERNAL RAM:
Là khối điều khiển trung tâm gồm một vi điều khiển AT89C51 có nối kết với
RAM ngoài và một vi điều khiển AT89C2051. AT89C51 có thể chạy bằng bộ nhớ
trong (internal memory, dung lượng 4Kb) hoặc chạy bằng bộ nhớ ngoài (external
memory, dung lượng 8Kb).
Các socket trên module này bao gồm:

TÊN CHỨC NĂNG
JP7: P1_CPU PORT 1, CPU 89C51
JP8: P3_CPU PORT 3, CPU 89C51
JP3: P2_ADDRESS PORT 2, CPU 89C51
JP1: DATA_CPU PORT 0, CPU 89C51
JP2: DECODE2_LCD PORT 0, CPU 89C51
JP4: DECODE1_8255 Tín hiệu giải mã cho PPI 8255A
JP3: P1_89C2051 PORT 1, CPU 89C2051
JP4: P3_89C2051 PORT 3, CPU 89C2051

2/- PPI 8255A:
Module giao tiếp song song, gồm các socket sau:

TÊN CHỨC NĂNG
JP9: DATA_8255 DATA BUS, 8255A
JP10: CTRL_8255 Các tín hiệu điều khiển 8255A
JP11: PA_8255 PORT A, 8255A


JP12: PB_8255 PORT B, 8255A
JB13: PC1_8255 PORT C, 8255A
JB14: PC2_8255 PORT C, 8255A






Phòn
g
thí n
g
hiệm Tự độn
g
hoá – Vi điều khiển
Tài liệu thí n
g
hiệm Vi điều khiển
Tran
g
2
Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 3
3/- COUNTER:
Gồm một socket:
JP15: COUNTER, cung cấp xung cho mạch đếm, dùng để mô phỏng cho bài
thí nghiệm đếm sản phẩm.

4/- MATRIX LED 8x5:


Module ma trận LED 8 hàng, 5 cột, các bit hàng và cột đều tác động ở mức
cao . Các socket bao gồm:

TÊN CHỨC NĂNG
JP24: DATA_MATRIX 8 ĐƯỜNG DATA MATRẬN LED
JP25: CATHOD BLUE 5 ĐƯỜNG ĐIỀU KHIỂN CỘT LED XANH
JP26: CATHOD RED 5 ĐƯỜNG ĐIỀU KHIỂN CỘT LED ĐỎ

5/- LED _ LCD TC1602A:

Gồm 8 led đơn, 5 ly màu đỏ, tác động ở mức cao và một LCD TC1602A,
module gồm các socket sau:

TÊN CHỨC NĂNG
JP27: DATA LED 8 BIT ĐIỀU KHIỂN LED ĐƠN
JP22: DATA LCD 8 BIT DATA CỦA LCD
JP23: CONTROL_LCD ĐƯỜNG ĐIỀU KHIỂN ĐỌC/ GHI LCD

6/- LED 7 ĐOẠN:

Module gồm 8 led 7 đoạn cathod chung, các đường DATA và điều khiển đều
tác động ở mức cao. Các socket:

TÊN CHỨC NĂNG
JP20: DATA_LED7S. 8 BIT DATA CỦA LED 7 ĐOẠN
JP21: CONTROL_LED7S 8 BIT ĐIỀU KHIỂN LED

7/- STEP MOTOR:


Gồm một động cơ bước và mạch điều khiển, có một socket:
JP28: STEP_MOTOR, các đường điều khiển tác động cao.

8/- CONTROL_KEYBOARD:

Gồm 4 phím nhấn, có một socket:
JP29: DATA_SW


Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 4
9/- DAC0808:

Gồm một mạch DAC 8 bit sử dụng IC DAC0808, ngõ ra của mạch được nối với
một LED 5 ly, dùng để điều khiển độ sáng của LED theo giá trị số ở ngõ vào. Module
có một socket:
JP18: DATA_DAC, gồm 8 bit data của bộ biến đổi số – tương tự.

10/- ADC0804:

Gồm mộ ADC 8 bit sử dụng IC ADC0804, ngõ vào tương tự là bộ cảm biến
nhiệt độ dùng LM335, module gồm 2 socket:

TÊN CHỨC NĂNG
JP16: DATA_ADC 8 BIT NGÕ RA SỐ
JP17: CONTROL_ADC CÁC ĐƯỜNG TÍN HIỆU ĐIỀU KHIỂN


II. SƠ ĐỒ NGUYÊN LÝ CÁC KHỐI:



D4
JP1
DATA_CPU
1
2
3
4
5
6
7
8
C6
33p
VCC
D1
A11
A5
A0
VCC
A8
INT1
Y7
D6
D6
A9
WR
RXD
P1.1
R64

270
RD
D2
U5 74LS138
1
2
3
15
14
13
12
11
10
9
7
6
4
5
A
B
C
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
G1

G2A
G2B
P1.0
JP7
P1_CPU
1
2
3
4
5
6
7
8
D7
R61
2K2
A15
U6A 74LS08
1
2
3
T1
P1.0
A14
RD
A9
RESET
A10
C8
10uF

Y2
11,0592Mhz
PSEN
RN6 10K
1
2
3
4
5
6
7
8
9
<Doc> <Rev Code>
MICROCONTROLLER WITH EXTERNAL RAM
B
11Monday, July 24, 2006
Tit le
Size Document Number Rev
Date: Sheet
of
T1
TXD1
WR
P1.2
A1
JP5
P1_89C2051
1
2

3
4
5
6
7
8
A15
Y5
P1.7
Y3
D2
U23
AT89C2051
1
5
4
12
13
14
15
16
17
18
19
2
3
6
7
8
9

11
RST/VPP
XTA L 1
XTA L 2
P1.0/AIN0
P1.1/AIN1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.7
JP4
DECODE1_8255
1
2
3
4
5
6
7
8
Y4

Y1
11,0592Mhz
R62
2K2
RXD
Y1
A8
A12
C9
10uF
P1.3
A11
P1.3
TXD1
P1.5
P1.6
TXD
(0000H - 1FFFH)
RD
Y8
RN3
10K
1
2
3
4
5
6
7
8

9
A13
R60
2K2
D17
READY
PC INTERFACE
A3
A15
D0
A7
VCC
A12
JP3
P2_ADDRESS
1
2
3
4
5
6
7
8
A13
COMPORT 2051
A12
INT1
U6C
7408
9

10
8
Y2
A14
D4
D1
INT0
VCC
A14
R63
270
A13
P1.0
D5
A11
DB9_2 (Male)
5
9
4
8
3
7
2
6
1
A1
RXD1
D19
DATA LOAD
P1.7

T0
RXD
DB9_1 (Female)
5
9
4
8
3
7
2
6
1
R19
100
A10
INT0
D5
U6B
7408
4
5
6
R59
2K2
VCC
C15
10p
D7
A4P1.4
C10

10uF
C5
10p
D3
D6
A2
Y6
D4
A6
P1.4
RN4
10K
1
2
3
4
5
6
7
8
9
RN7 10K
1
2
3
4
5
6
7
8

9
TXD
SW1
MEMORY SELECTION
1 2C7 10uF/50V
RN5
10K
1
2
3
4
5
6
7
8
9
RESET
A0
U20
MAX232
1
3
4
5
2
6
12
9
11
10

13
8
14
7
C1+
C1-
C2+
C2-
V+
V-
R1OUT
R2OUT
T1I N
T2I N
R1IN
R2IN
T1OUT
T2OUT
P1.2
D7
P1.1
D5
U2
SN74LS374
3
4
7
8
13
14

17
18
1
11
2
5
6
9
12
15
16
19
D0
D1
D2
D3
D4
D5
D6
D7
OE
LE
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7

WR
P1.1
P1.6
TXD
R28
10K
D2
P1.5
U1 AT89C51
9
18
19
29
30
31
1
2
3
4
5
6
7
8
21
22
23
24
25
26
27

28
10
11
12
13
14
15
16
17
39
38
37
36
35
34
33
32
RST
XTA L 2
XTA L 1
PSEN
ALE/PROG
EA/VPP
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
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
RESET SW
JP6
P3_89C2051
1
2

3
4
5
6
7
8
C23
10p
RXD1
D3
A8
A10
D3
WR
Y2
JP8
P3_CPU
1
2
3
4
5
6
7
8
VCC
D0
D1
C11
10uF

T0
A9
D0
U4 6264
10
9
8
7
6
5
4
3
25
24
21
23
2
11
12
13
15
16
17
18
19
22
27
20
26
A0

A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
D0
D1
D2
D3
D4
D5
D6
D7
OE
WE
CS1
CS2
RD
R67
10K
RN2
10K
1

2
3
4
5
6
7
8
9


Phòn
g
thí n
g
hiệm Tự độn
g
hoá – Vi điều khiển
Tài liệu thí n
g
hiệm Vi điều khiển
Tran
g
5


PPI-8255A
PC2
PC7
PC5
PC3

JP12
PB_8255
1
2
3
4
5
6
7
8
PC1
PC2
PC5
JP14
PC2_8255
1
2
3
4
5
6
7
8
PC4
PC6
PC7
PC4
PC0
PC3
PC6

PC1
JP10
DECODE_8255
1
2
3
4
5
6
7
8
JP11
PA_8255
1
2
3
4
5
6
7
8
PC0
JP9
DATA_8255
1
2
3
4
5
6

7
8
U3
8255
34
33
32
31
30
29
28
27
4
3
2
1
40
39
38
37
18
19
20
21
22
23
24
25
14
15

16
17
13
12
11
10
5
36
9
8
35
6
D0
D1
D2
D3
D4
D5
D6
D7
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
PB0
PB1

PB2
PB3
PB4
PB5
PB6
PB7
PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7
RD
WR
A0
A1
RESET
CS
JP13
PC1_8255
1
2
3
4
5
6
7
8



VCC
U18
LM555
3
4
8
5
2
6
7
OUT
RST
VCC
CV
TRG
THR
DSCHG
C4
104
R48
330
C3
470uF
D18
LED
Q14
C828
J15

COUNTER
1
2
3
4
5
6
7
8
OPTO
2 1
5 4
R46
47K
R50
270
R49
4K7
R47
2K7









Phòn

g
thí n
g
hi

m T

đ

n
g
hoá – Vi điều khiển
Tài liệu thí n
g
hiệm Vi điều khiển
Tran
g
6


S5
JP21
CONTROL_LED7S
1
2
3
4
5
6
7

8
S1
S3
D25
D16
LED
R43
270
S5
W1
U16
ULN2803
10
1
2
3
4
5
6
7
8
18
17
16
15
14
13
12
11
COM

IN1
IN2
IN3
IN4
IN5
IN6
IN7
IN8
OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7
OUT8
D26
S5
R37
15K
S6
S1
S5
W4
Q12
A1013
R39
270
S2
MATRIX LED 8x5

MLED1
1
2
13
12
10
18
3
4
7
11
16
15
17
14
8
5
6
9
B1
B2
B3
B4
B5
R1
R2
R3
R4
R5
W1

W2
W3
W4
W5
W6
W7
W8
S2
R42
270
D12
LED
D23
S8
S7
S8
W8
VCC
D27
JP24
DATA_MATRIX
1
2
3
4
5
6
7
8
W7

S1
4007 X 8
S3
RN1
10K
1
2
3
4
5
6
7
8
9
R32
15K
Q7
A1013
S7
R44
270
S6
S5
D30
JP22
DATA_LCD
1
2
3
4

5
6
7
8
S7
S2
LED8
7
6
4
2
1
9
10
5
3
8
a
b
c
d
e
f
g
p
C1
C2
JP26
CATHOD RED
1

2
3
4
5
6
7
8
W4
S3
R65
5/3W
D13
LED
S2
S5
W6
S4
R41
270
U14
ULN2803
10
1
2
3
4
5
6
7
8

18
17
16
15
14
13
12
11
COM
IN1
IN2
IN3
IN4
IN5
IN6
IN7
IN8
OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7
OUT8
U17
ULN2803
10
1
2

3
4
5
6
7
8
18
17
16
15
14
13
12
11
COM
IN1
IN2
IN3
IN4
IN5
IN6
IN7
IN8
OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7

OUT8
W5
D29
S7
S6
S4
LED4
7
6
4
2
1
9
10
5
3
8
a
b
c
d
e
f
g
p
C1
C2
JP23
CONTROL_LCD
1

2
3
4
5
6
7
8
W8
S1S1
C27 104
VCC
W5
W3
C28 104
S6
R40
270
R10 10K
R45
270
JP25
CATHOD BLUE
1
2
3
4
5
6
7
8

12VDC
W2
Q8
A1013
S2
LED2
7
6
4
2
1
9
10
5
3
8
a
b
c
d
e
f
g
p
C1
C2
S3
S8
D11
LED

R66 4K7
S8
Q13
A1013
Q6
A1013
S4
S7
S3
S8
R31
15K
R20
150 X 8
S7
5VDC
S4
S6
D10
LED
LED7
7
6
4
2
1
9
10
5
3

8
a
b
c
d
e
f
g
p
C1
C2
S3
C34 104
S6
C30 104
D15
LED
S3S3
S1
R38
270
W7
U12
ULN2803
10
1
2
3
4
5

6
7
8
18
17
16
15
14
13
12
11
COM
IN1
IN2
IN3
IN4
IN5
IN6
IN7
IN8
OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7
OUT8
S8
S5

W1
JP27
DATA_LED
1
2
3
4
5
6
7
8
LED6
7
6
4
2
1
9
10
5
3
8
a
b
c
d
e
f
g
p

C1
C2
C31 104
C32 104
D14
LED
S8
<Doc> <Rev Code>
MATRIX 8x5 AND LCD
B
11Monday , July 24, 2006
Title
Size Document Number Rev
Date: Sheet
of
S4
S5
R36
15K
S4
S8
C29 104
Q5
A1013
S2
S4
W6
Q9
A1013
W2

D24
C33 104
Q11
A1013
LED3
7
6
4
2
1
9
10
5
3
8
a
b
c
d
e
f
g
p
C1
C2
THIS IS THE LCD
2 LINES x 16 CHARACTERS
LAMP
LCD1
7

8
9
10
11
12
13
14
4
5
6
3
1
2
15
16
D0
D1
D2
D3
D4
D5
D6
D7
RS
R/W
CS
CONST
GND
VCC
A

K
U15
ULN2803
10
1
2
3
4
5
6
7
8
18
17
16
15
14
13
12
11
COM
IN1
IN2
IN3
IN4
IN5
IN6
IN7
IN8
OUT1

OUT2
OUT3
OUT4
OUT5
OUT6
OUT7
OUT8
S1
S4
LED5
7
6
4
2
1
9
10
5
3
8
a
b
c
d
e
f
g
p
C1
C2

D9
LED
VCC
S7
R33
15K
S2 S2
Q10
A1013
D28
R34
15K
R30
15K
S6 S6
W3
S7
JP20
DATA_LED7S
1
2
3
4
5
6
7
8
S1
R35
15K

LED1
7
6
4
2
1
9
10
5
3
8
a
b
c
d
e
f
g
p
C1
C2
U13 74LS244
2
4
6
8
1
18
16
14

12
11
13
15
17
9
7
5
3
19
A1
A2
A3
A4
1OE
Y1
Y2
Y3
Y4
A5
A6
A7
A8
Y5
Y6
Y7
Y8
2OE



Phòn
g
thí n
g
hiệm Tự độn
g
hoá – Vi điều khiển
Tài liệu thí n
g
hiệm Vi điều khiển
Tran
g
7


R16
270
R14
4K7
R15
270
Q4
TIP122
Q2
TIP122
VCC
R13
4K7
D6
LED3

D5
LED4
MG1
MOTOR STEPPER
1
2
3
4
5
6
VCC
D2
4007
D7
LED2
D8
LED1
R18
270
JP28
STEP_MOTOR
1
2
3
4
5
6
7
8
Q1

TIP122
R11
4K7
D4
4007
R17
220
D3
4007
Q3
TIP122
D1
4007
R12
4K7









Phòn
g
thí n
g
hiệm Tự độn
g

hoá – Vi điều khiển
Tài liệu thí n
g
hiệm Vi điều khiển
Tran
g
8






INC
JP29
DATA_SW
1
2
3
4
5
6
7
8
MODE
C19
101
ENTER
C21
101

DEC
C20
101
C22
101

















Phòn
g
thí n
g
hiệm Tự độn
g
hoá – Vi điều khiển
Tài liệu thí n

g
hiệm Vi điều khiển
Tran
g
9




C16
CAP
R54
5K
-
+
U22A
JR4558
3
2
1
8 4
R56
2K7
D21
5V1
C12
100uF
R52
10
U21 DAC0808

1
3
16
14
15
2
13
5
6
7
8
9
10
11
12
4
GND
VEE
COMPS
VREF+
VREF-
Iout
VCC
D7
D6
D5
D4
D3
D2
D1

D0
Iout
R68
270
+12VDC
R57
2K7
C14
104
R58
150
C17
104
D22
LED
R51
2K7
JP18
DATA_DAC
1
2
3
4
5
6
7
8
VCC
R29
10

R55
10K
VCC
VCC
R69
2K7
JP19
DAC_OUT
1
2
-
+
U22B
JR4558
5
6
7
8 4
R53
820
D20
4007
-12VDC
C13
104






Phòn
g
thí n
g
hiệm Tự độn
g
hoá – Vi điều khiển
Tài liệu thí n
g
hiệm Vi điều khiển
Tran
g
10


VCC
JP16
DATA_ADC
1
2
3
4
5
6
7
8-VCC
-
+
U8A
JR4558

3
2
1
84
R8
1K
-
+
U8B JR4558
5
6
7
84
VCC
R3
470K
U9
LM35
2
3
1
VS+
ADJ
GND
R9
1K
-VCC
R1
1K
C2

100uF/25V
JP17
CONTROL_ADC
1
2
3
4
5
6
7
8
VCC
R5
1K
C1
1nF
VCC
VCC
U7
ADC0804
6
7
9
11
12
13
14
15
16
17

18
19
4
5
1
2
3
+IN
-IN
VREF/2
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
CLKR
CLKIN
INTR
CS
RD
WR
R4
1K
R7
1K
R6
1K

VCC
R2
10K


Phòn
g
thí n
g
hi

m T

đ

n
g
hoá – Vi điều khiển
Tài liệu thí n
g
hiệm Vi điều khiển
Tran
g
11
Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 12
II. THIẾT BỊ GHI CHƯƠNG TRÌNH TVT_V1.1:

Thiết bị dùng để ghi chương trình vào bộ nhớ Flash ROM của các vi điều khiển
họ 89C51/2051. Trên thiết bị có một đế kẹp 40 chân, và một đế kẹp 20 chân. Vi điều

khiển cần ghi chương trình được đặt vào đúng vị trí của đế kẹp (mỗi thời điểm chỉ
cho phép cắm một IC trên thiết bị), cấp nguồn cho thiết bị và kết n
ối với máy tính để
sử dụng. Sơ đồ chân các đế kẹp như hình sau:



III. PHẦN MỀM ĐIỀU KHIỂN:
Giao diện chương trình:

40 21


1 20
20 11

1 10
Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 13


Gồm các menu:
- Comport: cho phép chọn cổng COM1 hoặc cổng COM2 để giao tiếp với
ngoại vi.
- ChipSelect: cho phép chọn loại CPU để ghi chương trình vào bộ nhớ trong
(Flach ROM)
- ProType: chọn kiểu ghi chương trình
+ clr_Unlock: xóa và ghi chương trình không khóa, tức là chương
trình sau khi ghi vào bộ nhớ CPU có thể đọc ngược trở ra.
+ clr_Lock: xóa và ghi chương trình với 3 bit khóa, chương trình đã

ghi vào không thể đọc ra được.
+ Compare: so sánh nội dung bộ nhớ CPU với vùng đệ
m của
chương trình.
+ Read: đọc nội dung bộ nhớ Flash ROM của CPU và lưu vào vùng
đệm chương trình.
+ Clear: Xóa bộ nhớ CPU.
Tất cả các thao tác trên khi được chọn trong menu ProType sẽ tác động lên nút
lệnh nằm trong khung Flash ROM, để thực thi thao tác vừa chọn, ta click chuột vào
nút lệnh này.
- Emulator: Cho phép truyền nhận từng byte giữa PC và thiết bị với tốc độ
truyền nhận 4800bps. Xem hình sau:

Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 14


Khi nhấn nút START sẽ kích hoạt trạng thái sẵn sàng nhận của chương trình.
Nếu có một Byte được nhận thì giá trị byte này sẽ được hiển thị trong khung R. Byte
và đồng thời được vẽ trên khung Picture ở trên.
Khi nhập vào khung T. Byte một giá trị (số hoặc chữ) và click chuột vào nút
TRANS., byte dữ liệu này sẽ được truyền đi.

1/- Sử dụng phần mềm soạn thảo chương trình:

Từ giao diện của chương trình trên PC, click chuột vào nút lệnh EDIT ASM,
phần mềm soạn thảo sẽ được kích hoạt. Xem cửa sổ trang sau.
Để soạn thảo chương trình, thực hiện lệnh File-> New, và nhập các dòng lệnh
của chương trình vào trang màn hình soan thảo. Kết thúc một chương trình hợp ngữ
cho MOS51 bằng lệnh END. File được lưu vào đĩa với phần mở rộng mặc định *.a51.


Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 15


Để biên dịch chương trình và kiểm tra các lỗi cú pháp trong quá trình dịch ta
chọn lệnh Winsdow-> Tile (hiển thị cửa sổ kết quả trong quá trình biện dịch), và
dịch chương trình bằng lệnh Assemble->Assemble hoặc nhấn phím CTRL_F7. Nếu
chương trình không có lỗi sẽ tạo ra được file *.HEX.
Xem kết quả biên dịch chương trình vào windows->Ouputs.

2/- Thao tác ghi chương trình vào Flash ROM của CPU:

- Nối kết đường truyền từ cổng COM của PC và c
ổng giao tiếp của thiết bị ghi
- Mở nguồn cho thiết bị, khi thấy LED chỉ thị trên thiết bị nhấp nháy tức là thiết
bị đã sẵn sàng. Nếu LED tắt hoặc sáng hẳn thì tắt nguồn 15 giây và mở lại.
- Đặt CPU cần nạp vào đúng đế kẹp và đúng vị trí chân trên đế.
- Chọn cổng giao tiếp (mặc định khi vừa khởi động chương trình trên PC là
COM1)
- Chọn loạ
i CPU từ menu ChipSelect
- Chọn thao tác thực hiện trong ProType
- Chọn đường dẫn trong chương trình, click chuột vào file cần nạp vào bộ nhớ
(file dạng *.HEX hoặc *.BIN), lập tức nội dung file sẽ được nạp vào vùng đệm. Số
byte của file sẽ được hiển thị trong ô nằm ở góc dưới phải của chương trình.
- Click chuột vào nút lệnh thao tác trong khung Flash ROM (ở góc dưới bên
phải của cửa sổ chương trình)
- Kiểm tra lại nội dung vừ
a ghi (thao tác này không cần thiết): chọn thao tác

Compare từ menu ProType và click chuột vào nút lệnh thao tác.

3/- Thao tác ghi và thực hiện chương trình ở bộ nhớ RAM của CPU:

- Đặt CPU 89C51 (đã có chương trình giao tiếp với PC) vào đúng vị trí của đế
kẹp trong module MICROCONTROLER WITH EXTERNAL RAM
- Bật SW chọn bộ nhớ trong module này về vị trí INT. MEMORY
Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 16
- Nhấn SW RESET và kiểm tra đèn LED tín hiệu READY, nếu đèn nhấp nháy
thì hệ thống sẵn sàng cho việc truyền/nhận dữ liệu.
- Nối cáp tín hiệu giữa cổng COM máy PC với cổng giao tiếp PC INTERFACE
trên module
- Kích hoạt chương trình trên máy PC, chọn cổng COM (1 hoặc 2)
- Chọn đường dẫn trong chương trình, click chuột vào file cần nạp vào bộ nhớ
(file dạng *.HEX hoặc *.BIN), lập tức nội dung file sẽ được nạp vào vùng đệm. Số
byte của file s
ẽ được hiển thị trong ô nằm ở góc dưới phải của chương trình.
- Click chuột vào nút WRITE_RAM. Nếu đường truyền bị lỗi thì sẽ hiển thị câu
thông báo “Time out”, khi đó nhấn SW RESET trên mudule và thực hiện hiện lại thao
tác này.

4/- Một số lưu ý khi sử dụng thiết bị:

Do CPU 89C51 có thể thực hiện chương trình từ bộ nhớ trong hoặc bộ nhớ
ngoài nhờ SW Memory Selection, nên khi sử dụng ở chế
độ bộ nhớ trong phải hết sức
cẩn thận khi sử dụng PORT P2, vì các tín hiệu của port này dùng làm các tín hiệu giải
mã địa chỉ cho bộ nhớ ngoài (0000H - 1FFFH), nếu các trạng thái của các bit P2.7,
P2.6, P2.5 = 000B thì bộ nhớ ngoài sẽ được chọn, khi đó dễ dẫn đến xung đột dữ liệu

giữa các bit của port P0 với các bit data của bộ nhớ ngoài RAM.


























Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 17






I. MỤC ĐÍCH YÊU CẦU:

Giúp sinh viên làm quen với thiết bị và tìm hiểu một số nhóm lệnh quan trọng
trong tập lệnh của 8951

II. CHUẨN BỊ THÍ NGHIỆM:

- Bộ thí nghiệm DHC_uPC8951
- Máy tính
- Kiểm tra cable truyền
- Xem các module: microcontroller, led đơn

III. TIẾN TRÌNH THÍ NGHIỆM:
1/- Nhóm lệnh di chuyển dữ liệu, lệnh nhảy:
a/- Nối mạch thí nghiệm:
Nối JP7: P1_CPU trên module Microcontroler với JP27: DATA_LED trên
module LED, các led tương ứng từ
led1 đến led8 sẽ nối với các bit P1.0 đến P1.7,
các led đều tác động ở mức cao.

b/- Viết chương các trình ứng dụng:

Chương trình 1.1: Chớp tắt 8 led vô hạn lần

MAIN:
MOV P1,#0FFH ; P1 <- 11111111B, các led đều sáng

CALL DELAY ; gọi chương trình trì hoãn DELAY
MOV P1,#00H ; P1 <- 00000000B, các led đều tắt
CALL DELAY
LJMP MAIN ; nhảy đến MAIN để lập lại quá trình vô hạn
DELAY:
PUSH 06 ; cất nội dung R6 vào ngăn xếp
PUSH 07 ; cất nội dung R7 vào ngăn xếp
MOV R6,#255
LAP:
MOV R7,#255
DJNZ R7,$ ; Ù X: DJNZ R7,X
DJNZ R6, LAP
POP 07 ; lấy lại giá trị
cũ của R7 trong ngăn xếp
POP 06 ; lấy lại giá trị cũ của R0 trong ngăn xếp

BÀI 01: SỬ DỤNG TẬP LỆNH 8951

Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 18
RET ; kết thúc chương trình con.
END

NHẮC LẠI
:
DJNZ Ri, <NHÃN>: Ri là một trong các thanh ghi từ R0 -> R7, lệnh giảm nội
dung thanh ghi Ri một đơn vị, nếu Ri > 0 thì nhảy đến NHÃN chỉ định, ngược lại sẽ
chuyển sang thực hiện kế tiếp.

Chương trình 1.2: giống nội dung chương trình 01 nhưng lặp lại quá trình 10

lần.
- Hướng dẫn:

MOV Ri, # <SỐ LẦN LẶP (1->255)>
NHÃN:
- LỆNH 1
- LỆNH 2

- LỆNH n
DJNZ Ri, <NHÃN>

- Chương trình:
MOV R7,#10
MAIN:
MOV P1,#0FFH ; P1 <- 11111111B, các led đều sáng
CALL DELAY ; gọi chươ
ng trình trì hoãn DELAY
MOV P1,#00H ; P1 <- 00000000B, các led đều tắt
CALL DELAY
DJNZ R7,MAIN ;
SJMP $ ; “dừng chương trình”
DELAY:
PUSH 06 ; cất nội dung R6 vào ngăn xếp
PUSH 07 ; cất nội dung R7 vào ngăn xếp
MOV R6,#255
LAP:
MOV R7,#255
DJNZ R7,$ ; Ù X: DJNZ R7,X
DJNZ R6, LAP
DJNZ R6, LAP

POP 07 ; lấy lại giá trị cũ của R7 trong ngăn xếp
POP 06 ; lấy lại giá trị cũ của R0 trong ngăn xếp
RET ; kết thúc chương trình con.

END

BÀI TẬP SV:
Chương trình 1.3: Hiển thị 1 led sáng, dịch dần từ D1 đến D8 vô hạn lần
Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 19
Chương trình 1.4: Hiển thị 1 led sáng, dịch dần từ D8 đến D1 với số lần lặp là
6.
2/- Nhóm lệnh quay vòng:
a/- Nối mạch thí nghiệm:
Nối JP7: P1_CPU trên module Microcontroler với JP27: DATA_LED trên
module LED, các led tương ứng từ led1 đến led8 sẽ nối với các bit P3.0 đến P3.7,
các led đều tác động ở mức cao.

b/- Viết các chương trình ứng dụng:
Chương trình 1.5: viết chương trình dịch một led sáng từ D1 Æ D8:

MAIN:
MOV A,#01H
BEGIN:
MOV P1, A
RL A
CALL DELAY
LJMP BEGIN

DELAY:

PUSH 06 ; c
ất nội dung R6 vào ngăn xếp
PUSH 07 ; cất nội dung R7 vào ngăn xếp
MOV R6,#255
LAP:
MOV R7,#255
DJNZ R7,$ ; Ù X: DJNZ R7,X
DJNZ R6, LAP
POP 07 ; lấy lại giá trị cũ của R7 trong ngăn xếp
POP 06 ; lấy lại giá trị cũ của R0 trong ngăn xếp
RET ; kết thúc chương trình con.
END

Chương trình 1.6: viết chương trình dịch một led sáng từ D8 Æ D1:

MAIN:
MOV A,#80H
BEGIN:
MOV P1, A
RR A
CALL DELAY
LJMP BEGIN

DELAY:
PUSH 06 ; cất nội dung R6 vào ngăn xếp
PUSH 07 ; cất nội dung R7 vào ngăn xế
p
Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 20
MOV R6,#255

LAP:
MOV R7,#255
DJNZ R7,$ ; Ù X: DJNZ R7,X
DJNZ R6, LAP
POP 07 ; lấy lại giá trị cũ của R7 trong ngăn xếp
POP 06 ; lấy lại giá trị cũ của R0 trong ngăn xếp
RET ; kết thúc chương trình con.
END

Chương trình 1.7: viết chương trình sáng dần các led từ D1 Æ D8:

MAIN:
MOV A,#01H
BEGIN:
SETB C
MOV P1, A
RLC A
CALL DELAY
JNC BEGIN
LJMP MAIN

DELAY:
PUSH 06 ; cất nội dung R6 vào ngăn xếp
PUSH 07 ; cất nội dung R7 vào ngăn xếp
MOV R6,#255
LAP:
MOV R7,#255
DJNZ R7,$ ; Ù X: DJNZ R7,X
DJNZ R6, LAP
POP 07 ; lấy lại giá trị cũ c

ủa R7 trong ngăn xếp
POP 06 ; lấy lại giá trị cũ của R0 trong ngăn xếp
RET ; kết thúc chương trình con.
END

Chương trình 1.8: viết chương trình sáng dần các led từ D8 Æ D1:

MAIN:
MOV A,#80H
BEGIN:
SETB C
MOV P1, A
RRC A
CALL DELAY
JNC BEGIN
LJMP MAIN
Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 21

DELAY:
PUSH 06 ; cất nội dung R6 vào ngăn xếp
PUSH 07 ; cất nội dung R7 vào ngăn xếp
MOV R6,#255
LAP:
MOV R7,#255
DJNZ R7,$ ; Ù X: DJNZ R7,X
DJNZ R6, LAP
POP 07 ; lấy lại giá trị cũ của R7 trong ngăn xếp
POP 06 ; lấy lại giá trị cũ của R0 trong ngăn xếp
RET ; kết thúc chương trình con.

END

BÀI TẬP:

Chương trình 1.9: viết chương trình tắt dần các led từ D1 Æ D8

Chương trình 1.10: viết chương trình tắt dần các led từ D8 Æ D1

Chương trình 1.11: viết chương trình tắt dần các led từ D8 Æ D1, thực hiện
lặp lại 20 lần.
3/- Nhóm lệnh toán học:
a/- Nối mạch thí nghiệm:
Nối JP7: P1_CPU trên module Microcontroler với JP27: DATA_LED trên
module LED, các led tương ứng từ led1 đến led8 sẽ nối với các bit P3.0 đế
n P3.7,
các led đều tác động ở mức cao.

b/- Viết các chương trình ứng dụng:

Chương trình 1.12: Viết chương trình cộng 2 số sau: 12 + 34, hiển thị kết quả
trên các led.

MAIN:
MOV A,#12
ADD A,#34
MOV P1,A
SJMP $
END

Chương trình 1.13: Viết chương trình cộng 2 số sau: 12 + 34, hiển thị kết quả

trên các led.

MAIN:
MOV A,#12
Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 22
SETB C
ADDC A,#34
MOV P1,A
SJMP $
END

So sánh kết quả của chương trình 1 và chương trình 2.

Chương trình 1.14: Viết chương trình chia 2 số 17 cho 3, hiển thị kết quả
(phần nguyên) trên các led.

MAIN:
MOV A,#17
MOV B,#3
DIV AB
MOV P1,A
SJMP $
END

Chương trình 1.15: Viết chương trình chia 2 số 17 cho 3, hiển thị kết quả (phần dư)
trên các led.

MAIN:
MOV A,#17

MOV B,#3
DIV AB
MOV P1,B
SJMP $
END

Chương trình 1.16: Viết chương trình nhân 2 số 23 cho 14, hiển thị kết quả (byte
thấp) trên các led.

MAIN:
MOV A,#7
MOV B,#14
MUL AB
MOV P1,A
SJMP $
END

Chương trình 1.17: Vi
ết chương trình nhân 2 số 23 cho 14, hiển thị kết quả (byte
cao) trên các led.

MAIN:
MOV A,#7
Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 23
MOV B,#14
MUL AB
MOV P1,B
SJMP $
END

Phòng thí nghiệm Tự động hoá – Vi điều khiển Tài liệu thí nghiệm Vi điều khiển
Trang 24






I. MỤC ĐÍCH:

Giúp sinh viên tìm hiểu cách hiển thị thông tin trên led 7 đoạn bằng phương
pháp quét và xử lý thông tin trên bàn phím điều khiển.

II. CHUẨN BỊ THÍ NGHIỆM:

- Bộ thí nghiệm DHC-uPC8951
- Máy tính
- Kiểm tra cable truyền
- Xem sơ đồ mạch điều khiển led 7 đoạn và bàn phím.
Trong sơ đồ mạch:
- 74244 là IC đệm một chiều 8 bit với ngõ vào là A
i
và ngõ ra là Y
i
tương ứng:

OE A
I
Y
I

1 X Z
0 0 0
0 1 1
X: mức logic 1 hoặc 0
Z: trạng thái cách ly (tổng trở cao)
- 2803 là IC đệm đảo công suất, bên trong gồm một dãy 8 transistor có cấu trúc
như sau:
OUT1
GND
IN1

dòng điện IC cực đại là 500mA, chân GND của 8 transistor được nối chung và
đưa ra tại chân số 9 của IC.
- LED 7 đoạn sử dụng trong mạch là loại cathod chung có cấu trúc như sau:




BÀI 02: LED 7 ĐOẠN VÀ BÀN PHÍM



e
g
d
b
e
f
point
a

d
f
point
g
b
c
COM
c
a
C21
101
JP29
DATA_SW
1
2
3
4
5
6
7
8
ENTERDECINC MODE
C22
101
C20
101
C19
101
















S8
S1
S6
JP21
CONTROL_LED7S
1
2
3
4
5
6
7
8
S7
S1
S7
S6

S3
S8
S4
S5
S6
S5
S2
S7
S4 S4
S5
LED6
7
6
4
2
1
9
10
5
3
8
a
b
c
d
e
f
g
p
C1

C2
S6
S7
S1
S4
S5
JP20
DATA_LED7S
1
2
3
4
5
6
7
8
S4
S1
S6
S4
S3
LED2
7
6
4
2
1
9
10
5

3
8
a
b
c
d
e
f
g
p
C1
C2
S1
R20
150 X 8
S5
S1
S2
S5
LED4
7
6
4
2
1
9
10
5
3
8

a
b
c
d
e
f
g
p
C1
C2
S3
U13 74LS244
2
4
6
8
1
18
16
14
12
11
13
15
17
9
7
5
3
19

A1
A2
A3
A4
1OE
Y1
Y2
Y3
Y4
A5
A6
A7
A8
Y5
Y6
Y7
Y8
2OE
S3
S4
S6
S2
LED3
7
6
4
2
1
9
10

5
3
8
a
b
c
d
e
f
g
p
C1
C2
LED8
7
6
4
2
1
9
10
5
3
8
a
b
c
d
e
f

g
p
C1
C2
S8
S2
S2
S7
S6
LED5
7
6
4
2
1
9
10
5
3
8
a
b
c
d
e
f
g
p
C1
C2

S1
S8 S8
U12
ULN2803
10
1
2
3
4
5
6
7
8
18
17
16
15
14
13
12
11
COM
IN1
IN2
IN3
IN4
IN5
IN6
IN7
IN8

OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7
OUT8
S4
S8
S3
S2
S7
S1
S7
S3
S8
S5
LED1
7
6
4
2
1
9
10
5
3
8
a

b
c
d
e
f
g
p
C1
C2
S7
S5
S6
S2
S2
S3
LED7
7
6
4
2
1
9
10
5
3
8
a
b
c
d

e
f
g
p
C1
C2
S8
S3

Phòn
g
thí n
g
hiệm Tự độn
g
hoá – Vi điều khiển
Tài liệu thí n
g
hiệm Vi điều khiển
Tran
g
25

×