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).
58 trang |
Chia sẻ: haohao89 | Lượt xem: 2242 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Tổng quan về kit thí nghiệm vi điều khiển μp8951, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trê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 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ò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 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
D
A
TA
_C
PU
1
2
3
4
5
6
7
8
C6
33p
VCC
D
1
A11
A5
A0
VCC
A8
INT1
Y7
D6D6
A
9
W
R
R
X
D
P
1
.
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
P
1
.
0
JP7
P
1
_
C
P
U
1
2
3
4
5
6
7
8
D
7
R61 2K2
A15
U6A 74LS08
1
2
3
T
1
P1.0
A14
RD
A9
RESET
A10
C8
10uF
Y2
11,0592Mhz
PSEN
RN6 10K
1 2 3 4 5 6 7 8 9
MICROCONTROLLER WITH EXTERNAL RAM
B
1 1Monday , July 24, 2006
Title
Size Document Number Rev
Date: Sheet of
T1
TXD1
WR
P
1
.
2
A1
JP5
P1_89C
20511
2
3
4
5
6
7
8
A
1
5
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
XTAL1
XTAL2
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
JP4DEC
O
D
E1_8255
1
2
3
4
5
6
7
8
Y4
Y1
11,0592Mhz
R62 2K2
RXD
Y1
A8
A12
C9
10uF
P1.3
A
1
1
P
1
.
3
TXD1
P1.5
P1.6
TXD
(0000H - 1FFFH)
R
D
Y8
RN3 10K
1 2 3 4 5 6 7 8 9
A13
R60 2K2
D17
READY
PC INTERFACE
A3
A15
D
0
A7
VCC
A
1
2
JP3
P2_A
D
D
R
ESS
1
2
3
4
5
6
7
8
A13
COMPORT 2051
A12
I
N
T
1
U6C
7408
9 1
0
8
Y2
A
1
4
D
4
D1
I
N
T
0
VCC
A14
R63
270
A
1
3
P
1
.
0
D5
A11
D
B
9_2 (M
ale)
5
9
4
8
3
7
2
6
1
A1
RXD1
D19
DATA LOAD
P
1
.
7
T0
RXD
D
B
9_1 (F
em
ale)
5
9
4
8
3
7
2
6
1
R19 100
A10
INT0
D
5
U6B
7408
4 5
6R59 2K2
VCC
C15
10p
D7
A4P1.4
C10
10uF
C5
10p
D
3
D
6
A2
Y6
D4
A6
P
1
.
4
RN4 10K
1 2 3 4 5 6 7 8 9
RN7 10K
123456789
T
X
D
SW1
MEMORY SELECTION
1 2C7 10uF/50V
RN5 10K
1 2 3 4 5 6 7 8 9
R
E
S
E
T
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
T1IN
T2IN
R1IN
R2IN
T1OUT
T2OUT
P1.2
D7
P
1
.
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
P
1
.
6
TXD
R28 10K
D
2
P
1
.
5
U1 AT89C51
9
18
19
29
30
3
1
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
R
S
T
XTAL2
XTAL1
PSEN
ALE/PROG
E
A
/
V
P
P
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
P
3
_
8
9
C
2
0
5
1
1
2
3
4
5
6
7
8
C23
10p
RXD1
D3
A
8
A
1
0
D3
WR
Y2
JP8
P
3
_
C
P
U
1
2
3
4
5
6
7
8
VCC
D0
D1
C11
10uF
T
0
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ò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 5
PPI-8255A
PC2
PC7
PC5
PC3
JP12
PB
_8255
1
2
3
4
5
6
7
8
PC1
PC2
PC5
JP14
PC
2_8255
1
2
3
4
5
6
7
8
PC4
PC6
PC7
PC4
PC0
PC3
PC6
PC1
JP10D
EC
O
D
E_8255
1
2
3
4
5
6
7
8
JP11
PA
_8255
1
2
3
4
5
6
7
8
PC0
JP9
D
A
TA
_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
PC
1_8255
1
2
3
4
5
6
7
8
VCC
U18
LM555
3
4 8
5
2
6
7
OUT
R
S
T
V
C
C
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ò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 6
S5
JP21
C
O
N
T
R
O
L
_
L
E
D
7
S
1
2
3
4
5
6
7
8
S1
S3
D25
D16
LED
R43
270
S5
W1
U16
ULN2803
1
0
1 2 3 4 5 6 7 8
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
C
O
M
I
N
1
I
N
2
I
N
3
I
N
4
I
N
5
I
N
6
I
N
7
I
N
8
O
U
T
1
O
U
T
2
O
U
T
3
O
U
T
4
O
U
T
5
O
U
T
6
O
U
T
7
O
U
T
8
D26
S5
R37 15K
S6
S1
S5
W4
Q12
A1013
R39
270
S2
MATRIX LED 8x5
MLED1
1 2 1
3
1
2
1
0
1
8
3 4 7 1
1
16
15
17
14
8
5
6
9
B
1
B
2
B
3
B
4
B
5
R
1
R
2
R
3
R
4
R
5
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
JP22DATA_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
C
1
C
2
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
1
0
1 2 3 4 5 6 7 8
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
C
O
M
I
N
1
I
N
2
I
N
3
I
N
4
I
N
5
I
N
6
I
N
7
I
N
8
O
U
T
1
O
U
T
2
O
U
T
3
O
U
T
4
O
U
T
5
O
U
T
6
O
U
T
7
O
U
T
8
U17
ULN2803
1
0
1 2 3 4 5 6 7 8
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
C
O
M
I
N
1
I
N
2
I
N
3
I
N
4
I
N
5
I
N
6
I
N
7
I
N
8
O
U
T
1
O
U
T
2
O
U
T
3
O
U
T
4
O
U
T
5
O
U
T
6
O
U
T
7
O
U
T
8
W5
D29
S7
S6
S4
LED4
7
6
4
2
1
9
10
5
3 8
a
b
c
d
e
f
g
p
C
1
C
2
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
C
1
C
2
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
C
1
C
2
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
C
1
C
2
C31 104
C32 104
D14
LED
S8
MATRIX 8x5 AND LCD
B
1 1Monday , 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
C
1
C
2
THIS IS THE LCD
2 LINES x 16 CHARACTERS L A
M
P
LCD1
7 8 9 1
0
1
1
1
2
1
3
1
4
4 5 6 3 1 2 1
5
1
6
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
R
S
R
/
W
C
S
C
O
N
S
T
G
N
D
V
C
C
A K
U15
ULN2803
1
0
1 2 3 4 5 6 7 8
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
C
O
M
I
N
1
I
N
2
I
N
3
I
N
4
I
N
5
I
N
6
I
N
7
I
N
8
O
U
T
1
O
U
T
2
O
U
T
3
O
U
T
4
O
U
T
5
O
U
T
6
O
U
T
7
O
U
T
8
S1
S4
LED5
7
6
4
2
1
9
10
5
3 8
a
b
c
d
e
f
g
p
C
1
C
2
D9
LED
VCC
S7
R33 15K
S2 S2
Q10
A1013
D28R34 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
C
1
C
2
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ò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 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
S
T
E
P
_
M
O
T
O
R
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ò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 8
INC
JP29
D
A
TA
_SW
1
2
3
4
5
6
7
8
MODE
C19
101
ENTER
C21
101
DEC
C20
101
C22
101
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 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
1
4
1
5
2
1
3
5
6
7
8
9
10
11
12
4
GND
VEE
COMPS
V
R
E
F
+
V
R
E
F
- Iout
V
C
C
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
D
A
T
A
_
D
A
C
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ò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 10
VCC
JP16
D
A
TA
_A
D
C
1
2
3
4
5
6
7
8-VCC
-
+
U8A
JR4558
3
2
1
8
4
R8
1K
-
+
U8B JR4558
5
6
7
8
4
VCC
R3 470K
U9
LM35
2
3
1
V
S
+
ADJ
G
N
D
R9
1K
-VCC
R1
1K
C2
100uF/25V
JP17 C
O
N
TR
O
L_A
D
C
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ò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 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, : 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