hdsd md kbv2
DESCRIPTION
vi dieu khienTRANSCRIPT
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 1. KHỐI NGUỒN
Khối nguồn có nhiệm vụ như sau: - Khối nguồn có nhiệm vụ chuyển đổi điện áp +24VDC ngõ vào sang điện áp +5VDC
cấp cho tất cả chip trên KIT, +12VDC và -12VDC cấp cho khối DAC0808 ( Digital Analog Converter), +6VDC và +13VDC và +21VDC cấp cho khối Programmer, +24VDC cấp cho khối Realy + Triac và khối Step Motor . . .
- Rắc DC nhận nguồn ngõ vào. - Công tắc gạt dùng để ON – OFF nguồn cho KIT. - Led đỏ chỉ thị nguồn sẽ sáng khi công tắc nguồn ở vị trí ON.
2. Khối Programmer
- Giao tiếp với PC qua cổng USB - Tự động dò tìm chip để nạp, không cần chọn chip thủ công
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
- Với 2 ZIF Socket 32 và 28 chân dùng nạp chương trình ở chế độ “HV MODE” cho hầu hết họ Vi Điều Khiển AT89, Serial Eprom họ 24, 93 và Parallel Eprom họ 27 và họ 28. Chi tiết xem hướng dẫn sử dụng board nạp “Eprom_V5” sẵn trên CD.
- Một chức năng rất hay, rất tiện lợi của khối Programmer này là chức nạp chip với chế độ “ISP MODE”. Nạp chip ngay trên Socket Tes Run, nạp xong chương trình sẽ thực thi ngay tiết kiệm rất nhiều thời gian tháo lắp chip từ socket nạp sang Socket Test Run.
Socket Test Run
Socket Test Run nằm trong khối 8051 MCU.
- Socket Test Run này tương thích với tất cả các chip thuộc cấu trúc 8051. - Socket này hổ trợ nạp chương trình trực tiếp cho các Chip: 89S51 – 89S52 – 89S53
– 89LS53 – 89S8252 – 89LS8252 – 89S8253. - Tất cả các chip này sẽ tự động thi hành chương trình sau khi nạp. - Chức năng nạp nối tiếp này rất tiện lợi cho việc lập trình, test chương trình. Bạn chỉ
cần biên soạn chương trình → biên dịch sang File.hex → nạp chương trình xuống chip → kiểm tra thực thi của chương trình. Nếu chương trình sai thì điều chỉnh lại → biên dịch → nạp → kiểm tra.
3. Khối 8051 MCU
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
P1.6
+5VDC
+5VDC
P1.5
PORT3 CON8
12345678
P0.2
PORT0 CON8
12345678
P2.0
P1.3
P3-BUF CON8
12345678
UB374HC573 20
101
11
23456789
1918171615141312
VCC
GN
D
OC
C
1D2D3D4D5D6D7D8D
1Q2Q3Q4Q5Q6Q7Q8Q
UB174HC573 20
101
11
23456789
1918171615141312
VCC
GN
D
OC
C
1D2D3D4D5D6D7D8D
1Q2Q3Q4Q5Q6Q7Q8Q
P3.3
P3.6
P1.2
+5VDC
P0.0
P0.5
P3.0
P1.7
P2.5
P0.1P1.0
P3.5
P0.7
P1-BUF CON8
12345678
P0.6
UB274HC573 20
101
11
23456789
1918171615141312
VCC
GN
D
OC
C
1D2D3D4D5D6D7D8D
1Q2Q3Q4Q5Q6Q7Q8Q
P1.1
P0.4
P2.1
P2.4
PORT2 CON8
12345678
P0.3
P0-BUF CON8
12345678
P2.6
P2-BUF CON8
12345678
P2.3
P1.4
P3.2
+5VDC
P2.7
PORT1 CON8
12345678
UB074HC573 20
101
11
23456789
1918171615141312
VCC
GN
D
OC
C
1D2D3D4D5D6D7D8D
1Q2Q3Q4Q5Q6Q7Q8Q
P3.7
P2.2
P3.4
P3.1
+5VDC
P1.2
P2.2
+5VDC
CS2102P
P3.2
P0.6+5VDC
CS130p
P3.0
P0.7
P1.1
OE\
S_MISO
P0.2
CS330p
S_SCK
P2.7
P1.5
RE0 10K
1 2 3 4 5 6 7 8 9
P2.5
P2.3
S_RST
+5VDC
RS510K
P3.7
P1.4
P3.6
+5VDC
P2.0
P1.6
P1.3P0.4
ALE
P2.4
P3.3
U6A
74HC08
1
23
147
P2.6
P0.1P0.0
P37
U5
AT89S52
11121314151617
18
19
20
2122232425262728
29
3031
3233343536373839
40
123456789
10
P3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD
XTAL2
XTAL1
GN
D
P2.0/A8P2.1/A9
P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15
PSE
N
ALE/PROGEA/VPP
P0.7/AD7P0.6/AD6P0.5/AD5P0.4/AD4P0.3/AD3P0.2/AD2P0.1/AD1P0.0/AD0
VC
CP1.0/T2P1.1/T2EXP1.2P1.3P1.4/SSP1.5/MOSIP1.6/MISOP1.7/SCKRST
P3.0/RXD
P3.5
P1.0
Y2
11.059MHz
P0.5
123
4
RESET SW2
READ-RAM
S_RST
S_MOSI
CS4
30p
P0.3
P3.4
OE\
P2.1
CS510uF
READ-ROM
P1.7
P3.1
EACON3 1
23
- Khối 8051 MCU gồm Socket Test Run tương thích với tất cả các chip thuộc cấu trúc 8051.
- Phím nhấn “Reset” dùng reset chương trình cho MCU - Gần phím nhấn Reset có đế 2 chân dùng gắn thạch anh cho MCU, tùy theo ứng
dụng mà ta gắn thạch anh tương ứng. - Jumper 3 chân “EA”. Jumper nối chân EA lên VCC thì MCU sẽ thi hành chương trình
trong ROM + RAM nội, Jumper nối chân EA xuống MASS thì MCU sẽ thi hành chương trình trong ROM + RAM ngoại
- Port Pin Header 16 chân “J5” dùng nối Port 0 tới Port Data cho LCD1602 và GLCD128x64, mặc định nối Port này không ảnh hưởng đến hoạt động của MCU
- 4 Port Pin Header 8 chân “PORT0”, “PORT1”, “PORT2”, “PORT3” chính là các Port Pin của MCU được kết nối tới giúp người sử dụng dễ dàng kết nối thiết bị ngoại vi tới MCU.
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
- 4 Port Pin Header 8 chân “P0-BUF”, “P1-BUF”, “P2-BUF”, “P3-BUF”, chính là các Port Pin của MCU được đệm dòng qua 4 IC 74HC573.
4. LCD 16 x 2 (LCD 16 kí tự 2 hàng)
P0.7
RBL21.5k
RBL110k
P0.4GND
VCC
Vo RS R/W
E DBO
DB1
DB2
DB3
DB4
DB5
DB6
DB7
A K
LCD MODULE 16 CHARACTERS X 2 LINE
LCD
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
P2.0
VCC
JLCD CON3
123
P2.2
P0.3
ENA
BLE
P0.1
VCC
CD4104pF
P0.5
P2.1
P0.0 BL
P0.2
P0.6
- Port data của LCD (DB0 ÷ DB7) nối tới Port 0 của MCU. - Các chân điều khiển LCD: RS nối P2.0, R/W nối P2.1, E nối P2.2 hay MASS thông
Jumper “JLCD. - Để điều khiển LCD thì Jumper nối P2.2 tới chân E (Enable) của LCD. Ngược lại để
vô hiệu hóa LCD khỏi Port 0 và các đường điều khiển Port 2 thì Jumper nối chân E (Enable) của LCD xuống MASS.
- Jumper “GB” sẽ cấp nguồn Back Light cho LCD. 5. Khối GLCD 128x64
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
P0.7
CD5104pF
GBLCON2
12
P0.1
VCC
P0.3P2.1 P2.3
P0.2
VCC
P0.0
RBL410K
GN
DVC
CVo R
SR
/W E DB
OD
B1
DB
2D
B3
DB
4D
B5
DB
6D
B7
CS1
CS2
GRAPHIC LCD 128 x 64
KARST
VEE(
-Vou
t)
GLCD
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
- 4.9
V
P2.0
P0.5
KHOI GRAPHIC LCD
- 3.3
3VBL
P2.4
P0.4P2.2
P0.6
RBL31.5K
VCC
- Được thiết kế dạng Socket Pin Header 20 chân sẵn sàng cho lắp GLCD128x64.
GLCD cũng được điều khiển qua Port 0 và Port 2. Lưu ý khi điều khiển GLCD thì Pin Header 3 chân “JLCD” của LCD1602 phải được Jumper tới vị trí MASS để tách LCD1602 ra khỏi Port 0 và Port 2.
6. Real Time Clock DS1307 (Thời gian thực)
- DS1307 là CPU chạy ngày - giờ - tháng – năm với Pin 3V backup khi hệ thống mất nguồn. Pin 3V giúp DS1307 chạy đúng thời gian mặc cho hệ thống mất nguồn.
P3.5
P3.7
BAT
3VDC
JRTL
CON6A
1 23 45 6
SQW/OUT
GND
VCC
VBAT
X2
X1
SDA
SCL
RTLDS1307
1
2
3
4
5
6
7
8
+5VDC
YI1
32.768K
P3.6
- Để điều khiển khối DS1307 thì sử dụng 3 Jumper nối P3.5 với chân SQW/OUT, nối P3.6 với SCL, nối P3.7 với SDA.
7. 7-Segment Display (Khối 8 led 7 đoạn)
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
p
d
a
RL46
4.7K
AB
D
FG
CE
L7S4
1e
2d
3AC
4c 5p
6b
7a
8AC
9f
10g
+5VDC+5VDC
b
p
AB
D
FG
CE
L7S1
1e
2d
3AC
4c 5p
6b
7a
8AC
9f
10g
P0.0
RL41
4.7K
e
AB
D
FG
CE
L7S5
1e
2d
3AC
4c 5p
6b
7a
8AC
9f
10g
e
f
RL39120
g g
RL43
4.7K
f
P2.1
b
d
P2.3
c
+5VDC
P0.5
RL33 120
f
QS7
Q2SA1015
RL36120
P2.7
P0.4
fa
RL48
4.7K
p
RL40 120
P2.6
gRL37120
d
c c
AB
D
FG
CE
L7S7
1e
2d
3AC
4c 5p
6b
7a
8AC
9f
10g
pP0.2
g
aP0.7
d
QS1
Q2SA1015
e
QS6
Q2SA1015
b
p
RL34120
p
d
+5VDC
RL47
4.7K+5VDC
a
b
fa
P0.3 c
b
P2.0
QS8
Q2SA1015
P0.1
e
b
e
P0.6
c
d
AB
D
FG
CE
L7S3
1e
2d
3AC
4c 5p
6b
7a
8AC
9f
10g
b
DATA
CON16A
1 23 45 67 89 10
11 1213 1415 16
+5VDC
e
d
P2.4
f
+5VDC
a
g
SCA
CON16A
1 23 45 67 89 10
11 1213 1415 16
g
c
AB
D
FG
CE
L7S6
1e
2d
3AC
4c 5p
6b
7a
8AC
9f
10g
RL45
4.7K
f f
e
g
aAB
D
FG
CE
L7S2
1e
2d
3AC
4c 5p
6b
7a
8AC
9f
10g
QS2
Q2SA1015
p
QS4
Q2SA1015
g
p
b
f
RL35120
e
c
+5VDC
d
a
QS5
Q2SA1015
c
AB
D
FG
CE
L7S8
1e
2d
3AC
4c 5p
6b
7a
8AC
9f
10g
RL42
4.7K
a
b
c
RL44
4.7K
p
g
d
RL38120
P2.2
e
QS3
Q2SA1015
P2.5
- Nhìn hình ta thấy 8 Led 7 đoạn được nối song song với nhau. Các đoạn A, B, C, D, E, F, G, P của LED được nối tới Port 0 của MCU thông qua Pin Header “DATA”16 chân.
- 8 transistor A1015 cấp nguồn cho 8 Led được điều khiển qua Port 2 của MCU thông qua Pin Header “SCA”16 chân.
- Điều khiển khối này ta sử dụng giải thuật quét LED. Ban đầu Turn OFF tất cả 8 transistor, gởi mã 7 đoạn cho Led 1 thông qua Port 0 và turn ON Transistor 1 thông qua Port 2. Kế tiếp gởi mã 7 đoạn cho Led 2 và Turn ON Transistor 2 . . . tiếp tục cho đến hết led thứ 8 thì ta quay về lại led thứ 1.
8. 8x8 LED DOT MATRIX (Khối led ma trận)
- Nguyên lý điều khiển khối này tương tự như khối 8 led đoạn. Gởi mã ra cột và quét hàng
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
JS12
QB2
QD1
QC74
RC761K
P2.5
RC711K
G
QA1
ST
QC77
P2.6
ST
QC76
US2
74HC595
12
10
11
14
151234567
9
13
ST_CLK
MR
SH_CLK
SER_IN
QAQBQCQDQEQFQGQH
SER_OUT
OE
MA
CON16A
1 23 45 67 89 10
11 1213 1415 16
U10
74HC138
15141312111097
1
5
23
6
4
Y0Y1Y2Y3Y4Y5Y6Y7
A
G2B
BC
G1
G2A
+5V
RD72 130
QG2
RD71 130
SH
+5VDC
US1
74HC595
12
10
11
14
151234567
9
13
ST_CLK
MR
SH_CLK
SER_IN
QAQBQCQDQEQFQGQH
SER_OUT
OE
RX76 100
RX73 100
QG2
QC1
QE1
QD2RX75 100
QA2
P2.1
+5V
RX72 100
QD1
+5VDC
RX74 100
RX77 100QF1
QH2
RC751K
QD2
QF1
A
B
QH1
QF2
QC71
+5VDC
QC2
QB1
RD74 130
RD73 130
RC771K
RC741KOE
QG1
OE
QH1 QH2
RX71 100
QG1
QB1
+5VA
QC78
RD78 130
QE1
P2.0
QC73
QE2
P2.7
+5V
QC75
ST
QC1
RD77 130
P2.2
RD75 130
P2.3
R
+5V
R
+5V
QA1
P2.4
QA2
RD76 130QE2
SH
RC721K
RC731K
CD4 CX4
H5
CD3
H6
CX2
CX3CD2
CD1
H8H7
CX1
CX8
CD5CX6
CX7
CX5
CD7
CD6
CD8H1 H4H3H2
KC-D05882NPK
M23088A/BEGROW
COLUMN
M7 MATRIX
1 2
34 5
6
7 8
9
10 11
1213
1415
16
1718
19
2021
22
2324
+5V
QB2
C
SH
B
QC2
C
QF2
+5V
RX78 100
QC72
RC781K
G
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
- Mạch điện được xây dựng đúng như các ứng dụng thực tế. Thanh ghi dịch 74HC595 USE1 đảm nhiệm xuất mã cột cho led màu đỏ, USE2 xuất mã cột cho Led màu xanh, USE3 IC giải mã 74HC138 dùng để quét 8 hàng cho Led.
- Sử dụng Jumper nối Pin Header 2 chân “JS” thì sẽ kết hợp 2 IC 74HC595 thành ghi dịch 16 bit với ngõ vào dữ liệu chân “R”, chân “G” trong trường hợp này không sử dụng.
- Trường hợp không Jumper Pin Header 2 chân “JS” thì lúc này 2 thanh ghi dịch 74HC595 sẽ tách rời thành 2 thành 2 thanh ghi dịch 8 bit với 2 ngõ vào dữ liệu “R” và “G”
- “SH” xung clock nhận từng bit dữ liệu - “ST” lệnh xuất dữ liệu từ Buffer của 74HC595 ra các ngõ ra bên ngoài của
74HC595. - Các đường địa chỉ A, B, C giải mã 8 hàng quét led. - Chân OE mức cao thì turn OFF 8 hàng, OE mức thấp thì 1 trong 8 hàng kích hoạt. - Sử dụng Port 2 để điều khiển Matrix Led thong qua Pin Header 16 chân “MA”
9. Khối ma trận 16 phím (4x4 Matrix KeyPad)
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
P1.0
1 234
S10
9 1 234
S11
A
P1.1
PUSH
CON16A
1 23 45 67 89 10
11 1213 1415 16
1 234
S3
2
1 234
S14
D
P1.2
1 234
S1
0
1 234
S15
E
P1.4
1 234
S13
C 1 234
S16
F
1 234
S6
5
1 234
S2
1
1 234
S7
6
P1.7P1.5P1.6
1 234
S8
71 234
S5
4
P1.3
1 234
S12
B1 234
S9
8
1 234
S4
3
- Sử dụng Port 1 để quét 16 phím, mặc định 8 bit trong Port 1 ở mức cao. - P1.0 ÷ P1.3 đảm nhiệm 4 cột phím, P1.4 ÷ P1.7 đảm nhiệm nhận 4 bit dữ liệu cho
từng phím trong từng cột phím. Tại 1 thời điểm chỉ 1 cột được kích xuống mức thấp. - Ví dụ quét 4 phím ở cột 1: xóa bit P1.0 xuống mức 0, sau đó đọc giá trị 4 bit P1.4 ÷
P1.7. Nếu P1.4 = 0 thì phím S1 đang nhấn, S6 nhấn thì P1.5 sẽ ở mức thấp, S9 nhấn thì P1.6 = 0 và S13 nhấn thì P1.7 = 0. Tương tự ta chuyển sang quét cột thứ 2 bằng cách xóa bit P1.1 = 0 . . .
10. 8 PUSH BUTTON (8 phím nhấn)
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
1 234
K6
5 1 234
K8
7
P1.4P1.3
1 234
K3
2
P1.2
P1.7P1.6
1 234
K7
61 234
K4
4
PUSH
CON16A
1 23 45 67 89 10
11 1213 1415 16
P1.5
1 234
K1
0 1 234
K4
31 234
K2
1
P1.0P1.1
- Mặc định Port 1 ở mức cao - Sử dụng Port 1 nhận tín hiệu phím. Bất kỳ phím nào nhấn thì bit tương ứng trong
Port 1 sẽ bị kéo xuống mức thấp các bit khác phím không nhấn sẽ ở mức cao. 11. Giao tiếp Eprom 93C46
U93
AT93CXXX
1
2
3
4 5
6
7
8CS
SK
DI
DO GND
ORG
DC
VCC
P3.6
J93
CON8A
1 23 45 67 8
P3.3P3.4
+5VDC
P3.5
- Sử dụng Port 3 để điều khiển Eprom 93C46 - Pin P3.3 làm tín hiệu CS (Chip Select) - Pin P3.4 tín hiệu xung clock - Pin P3.5 xuất data tới 93C46 - Pin P3.6 read data từ 93C46
12. Giao tiếp Eprom 24C04
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
J24
CON4A
13
24P3.3
U24
AT2402
123
4
5
67
8
A0A1A2
GN
D
SDA
SCLWP
VC
C
+5VDC
P3.4
- P3.3 làm ngõ vào ra data - P3.4 làm ngõ vào xung clock
13. Bộ nhớ ngoại (EXTERNAL MEMORY)
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
AD4AD3
A11
ROM1
2764
109876543
25242123
2
1112131516171819
2814
22
27
1
20
A0A1A2A3A4A5A6A7A8A9A10A11A12
O0O1O2O3O4O5O6O7
VCC
GN
D
OE
PGM
VPP
CEP36
A6
A12
A8
U8
74HC138
15141312111097
1
5
23
64
168
Y 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7
A
G2B
BC
G1G2A
VCC
GN
D
CS\0
A3
A13
AD0
P0.3
P2.5
A11
A3
CS\1
P2.1
A2
A5
A10
AD2
A5
AD0
A9
A0
P2.3
+5VDC
A10
CS\0
U774HC573
2010 1
11
23456789
1918171615141312
VCC
GN
DO
C
C
1D2D3D4D5D6D7D8D
1Q2Q3Q4Q5Q6Q7Q8Q
A4
A2
AD7
AD2
P2.0
AD5
A0P0.0
P3.6
AD1
J1
CON16A
1 23 45 67 89 10
11 1213 1415 16
AD0
+5VDC
A9
A12+5VDC
OE\
A8
AD1A4
P0.5
AD3
A11P2.2
AD2AD1
A1
AD6A5
A4P0.6
AD7
AD5
+5VDC
AD4
P0.1P0.2
P2.4
CS\1
AD5
A7A6
AD3
OE\
A7
A1
A8
A12
AD7P0.7A7
A3
AD6
A2P0.4
+5VDC
AD4
P37
A6
RAM1
6264
109876543
252421232
1112131516171819
2814
22
27
20
26
A0A1A2A3A4A5A6A7A8A9A10A11A12
D0D1D2D3D4D5D6D7
VCC
GN
D
OE
WE
CS1
CS2
A10
A0
ALE+5VDC
J2
CON16A
1 23 45 67 89 10
11 1213 1415 16P3.7
A1
AD6
A9
+5VDCP36A13
- Để khai chức năng truy cập bộ nhớ ngoại của 8051 KIT tích hợp 16 Kbyte ROM +
RAM ngoại của. - Khả năng của 8051 giao tiếp up to 64Kbyte bộ nhớ ngoại, nhưng vì nhiều lý do
khách quan khác nhau KIT MD-KBV2 chỉ thiết kế 16 Kbyte ROM + RAM ngoại với địa chì như sau:
- 8 Kbyte ROM 27C64 có địa chỉ truy cập từ 0000h ÷ 1FFFh - 8 Kbyte RAM 6264 có địa chỉ truy cập từ 2000h ÷ 3FFFh
14. Khối ADC 8 kênh ( ADC0809 Analog Digital Converter)
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
VA2
10K
IN3
UOSC1
LM555C
3
48
1
526
7
OUT
RS
T
VC
C
GN
D
CVTRGTHR
DSCHG
+5VDC
IN3IN1
VRA10K
+5VDC+5VDC
JA
CON4
1234
CA1151P
RA210k
IN1
IN4
500KHz
ADC OUT
DIGITAL OUT
12345678
VA1
10K
+5VDC
12345
67
8
9
10
11
1415
1819
21
22
2423
20
17
16
13
12
25
262728
UA1
ADCMIC14
IN3
START
D3
EOC
D0
D4D5D6
ALEA2
CLK
VCC
VREF+
GND
D1D2
VREF-
IN4IN5IN6IN7
OE
D7
A1A0
IN0IN1IN2
ADC DRI
CON6
123456
IN4 IN2
VA4
10K
VA3
10K IN2
+5VDC
RA110k
- Khối 8 kênh chuyển đổi analog sang digital với chip ADC0809, HA17555 cung cấp
xung clock cho ADC, VA1 ÷ VA4 ngõ vào tín hiệu anglag cho 4 kênh đầu tiên, kênh thứ 4 ÷ 7 được nối ra Pin Header JA sẵn sang nhận tín hiệu analog từ bên ngoài
- Biến trở REF là biến trở điều chỉnh điện thế tham khảo cho khối ADC - Pin Header “ADC DRI” là các đường điều khiển ADC, A0 ÷ A2 là 3 ngõ vào chọn
kênh Analog cần chuyển sang tín hiệu số - Pin Header “ADC OUT” ngõ ra 8 bit tín hiệu số
15. Khối DAC0808 (Digital to Analog Converter)
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
VRD10K
RH41K
DO1LED
+5VDC
RH1
4.7K
RH14.7K
-12VDC
D_IN
DIGITAL IN
12345678
+12VDC
56789101112
14
15
2
16
3
13
4U20
DACPAR8
VREF-
A0A1A2A3A4A5A6A7
IOUT
VDD
GND
VEEVREF+
COMPEN
AO
CON2A
1 2
-12VDC-12VDC
CH110uF
RH310K
-
+
U19LM741
3
26
714
5
+12VDC
- Khối DAC0808 chuyển đổi 8 bit tín hiệu số sang analog 0 ÷ 10VDC - Pin Header 8 chân “Digital In” ngõ vào tín hiệu số - Pin Header 2 chân “AO” ngõ ra tín hiệu analog cho phép jumper tới LED. Cường độ
sang của Led sẽ lệ thuộc vào điện áp ra của khối DAC - LM741 chuyển dòng sang áp - Biến trở VRD điều chỉnh điện thế tham khảo cho khối DAC.
16. Khối mắt hồng ngoại (IR REMOTE)
RI2 10
CI1
10uF
+5VDC
+5VDC
P3.3SIGGNDVCC
IR
SENSOR
1
2
3
JI
CON2AP
12
RI1
10K
- Khối này ta sử dụng ngắt ngoài thứ 1 tại chân P3.3 của VĐK để nhận tín hiệu Remote
17. Khối NE555
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
+5VDC
RO21M
+5VDC
CO1104P
P3.5
UO
LM555C
3
48
1
526
7
OUT
RS
T
VC
C
GN
D
CVTRGTHR
DSCHG JO
CON2A
1 2
RO1200K
- Khối này ta thực tập chức năng Counter của VĐK sử dụng Counter thứ 1 tại chân
P3.5 để nhận tín hiệu xung từ IC NE555. 18. Khối nhiệt độ 12 bit DS18B20
JT
CON2AP
1 2
+5VDCUT 18B2032
1
VDDDO
GN
DP3.2
RI3
10K
+5VDC
19. Khối giap tiếp với PC (RS232)
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
P3.0
URS
HIN232
1214
11
1516
13
1
3
4
5
26
R1OUTT1OUT
T1IN
GN
DVC
C
R1IN
C1+
C1-
C2+
C2-
V+V-
P3.1
JRS
CON4A
13
24
CRS4CRS2
CRS3
CRS1
+5VDC
P1
CONNECTOR DB9
594837261
+5VDC
CRS1 to CRS4: 10uF/50V
- Khối này thực tập chức năng truyền data của VĐK. Pin P3.1 chức năng truyền, pin
P3.0 nhận data.
20. Step Motor
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
STE
P
CON4
1
2
3
4
REDORG
YELWHIBRO
BLU
STEP MOTOR
123
456
U18
ULN2803
1
2
3
4
5
6
7
8
9 10
11
12
13
14
15
16
17
18
+24VDC
+24VDC+24VDC
21. Khối Relay, Triac
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
CT1473p630V
RT447 1% 1/2W
+24VDC
DR3
DR1
LR3
TD2
MOC3021
1
2
64
LR4
LR5
+24VDC
TR2BTA12
CT2473p630V
K4
32
145
LR4
RT5
180
LR6
LR3
JK
CON6
123456
KO3
CON3
1
2
3
+24VDC
DR6LED
DR2LED
KO4
CON3
1
2
3
LR2
RT61.2K
+24VDC
+24VDC
U18
ULN2803
1
2
3
4
5
6
7
8
9 10
11
12
13
14
15
16
17
18
DR7
TD1
MOC3021
1
2
64
K2
32
145
LR1
DR8LED
LR6
LR5
DR5
DR4LED
+24VDC
DT2LED
+24VDC
RT3
180
TR1BTA12
LR2
DT1LED
KO2
CON3
1
2
3
OUTIN
TRO1
CON2
1
2
LR1
+24VDC
RT21.2K
RK5
RESISTOR SIP 9
123456789
K3
32
145
RT147 1% 1/2W
KO1
CON3
1
2
3
K1
32
145
OUTIN
TRO2
CON2
1
2
- Khối triac và Relay, mức logic 1 thì Relay ON, Triac dẫn. Ngược lại Logic 0 Relay OFF, Triac ngưng dẫn
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
22. Khối 32 led đơn
LED21 RED-LED
LED12 RED-LED
QA2
QG2
RL9 220
LED24 GRE-LED
QE2QD2
LED29 RED-LED
RL11 220LED10 RED-LED
PL2
CON16A
1 23 45 67 89 10
11 1213 1415 16
LED15 RED-LED
LED9 RED-LEDRL26 220
RL4 220
RL16 120
PL3
CON16A
1 23 45 67 89 10
11 1213 1415 16
LED3 RED-LED
QG1
RL1 220
LED18 RED-LED
LED25 RED-LED
LED5 RED-LED
PL11
2
3
4
5
6
7
8
LED16 GRE-LED
LED17 RED-LED
QC1
RL3 220LED2 RED-LED
RL21 220
LED6 RED-LED
RL32 120
LED4 RED-LED QD1
LED11 RED-LED LED27 RED-LED
LED23 RED-LED
LED13 RED-LED
RL15 220
RL6 220
LED1 RED-LED
RL31 220
RL13 220
RL7 220
RL24 120
LED26 RED-LED
LED7 RED-LED
PL01
2
3
4
5
6
7
8
RL30 220
QB2
QE1RL5 220 QF1
RL8 120
RL17 220
RL22 220
LED30 RED-LEDRL23 220
RL10 220
QF2
RL25 220
LED19 RED-LED
QH1
RL28 220RL20 220
QA1RL27 220
LED32 GRE-LED
RL14 220
LED14 RED-LED LED22 RED-LED
QB1QC2
LED31 RED-LED
RL29 220LED20 RED-LED
QH2
RL18 220
LED8 GRE-LED
RL2 220
RL12 220
LED28 RED-LED
RL19 220
- Mức logic 1 led sẽ sang - Port Pin Header 16 chân PL2 và PL3 sẵn sàng cho phép kết nối các ngõ ra của 2
thanh ghi dịch 74HC595 bên khối Matrix Led tới Led đơn, giúp thực tập điều khiển thanh ghi dịch với Led đơn trước khi điều khiển Led Matrix phức tạp hơn.
THỰC HÀNH VI ĐIỀU KHIỂN Một số qui định về kết nối:
Trên hệ thống I có 4 port 0, 1, 2, 3 và các port có ghi trên hệ thống. Port 0, 1, 2, 3 với các bit thứ 0 [LSB] đến bit thứ 7 [MSB] theo thứ tự từ trái sang
phải Khi kết nối chú ý phải theo thứ tự bit 0 của port với bit 0 của đối tượng điều khiển. Khi bit thứ 0 đúng thì các bit còn lại sẽ đúng. Tất cả các chương trình trong hệ thống này đều được kiểm tra rất kỹ vàviết đúng
theo thứ tự kết nối trên. Nếu 1 yêu cầu nào đó không đúng thì hãy xem lại phần kết nối và chương trình.
Chú ý: Khi viết chương trình thường xảy ra các lỗi như sau:
- Số không “0” thường được đánh nhầm bằng chữ o. - Sau lệnh end thì không còn một hàng hay một ký tự nào nếu không thì khi biên
dịch chương trình sẽ thông báo có lỗi. Lỗi này có thể bỏ qua. - Các nhản trong chương trình phải đánh đúng như trong sách hướng dẫn.
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
- Các chú thích cho các lệnh thì phải nằm sau dấu chấm phẩy “;”. Có phần chú thích hay không có cũng được.
- Giữa lệnh và thanh ghi phải có khoảng trắng, giữ “org “ và địa chỉ phải có khoảng trắng.
- Hãy dùng nút tab để viết chương trình cho thẳng hàng để dễ xem và tìm lỗi nhanh chóng.
- Nếu đánh 1 chương trình nào đó trong tài liệu hướng dẫn mà chương trình chạy không đúng thì hãy xem kỹ lại có đánh đầy đủ tất các lệnh của chương trình hay chưa? Tất cả các chương trình trong tài liệu hướng dẫn đã được chạy thử và luôn luôn đúng.
- Hãy đọc kỹ các yêu cầu trước khi thực hành.
ỨNG DỤNG KHỐI LED ĐƠN
BÀI 1: CHƯƠNG TRÌNH ĐIỀU KHIỂN LED CHÓP TẮT. Mục đích yêu cầu: Nắm vững lệnh điều khiển xuất dữ liệu ra các port, biết cách viết chương trình con delay. Làm quen với phần mềm soạn thảo chương trình, cách hiệu chỉnh lỗi.
- Dùng bus dây (8 sợi ) kết nối Port 0 với một trong bốn Pin Header của dãy 32 led. ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh dieu khien 8 led chop tat ket noi voi port 0 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Org 0000h ;khai bao dia chi bat dau cua chuong trinh
main: mov p0,#00h ;nap 00 vao port0 de tat 8 led
lcall delay ;goi chuong trinh con delay mov p0,#0ffh ;nap FF vao port0 de sang 8 led lcall delay ;goi chuong trinh con delay sjmp main ;nhay den de lam lai tu dau ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con delay ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
delay: mov r6,#0ffh ;nap hang so FFH vao thanh ghi r6
de: mov r7,#0ffh ;nap hang so FFH vao thanh ghi r7
djnz r7,$ ;giam r7 di 1 va nhay khi r7 khac 00 djnz r6,de ;giam r6 di 1 va nhay khi r6 khac 00 ret ;thoat khoi chuong trinh con
end
BÀI 2: CHƯƠNG TRÌNH ĐIỀU KHIỂN 16 LED CHÓP TẮT.
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
Mục đích yêu cầu: Nắm vững lệnh điều khiển xuất dữ liệu ra các port, biết cách viết chương trình con delay. Làm quen với phần mềm soạn thảo chương trình, cách hiệu chỉnh lỗi.
- Dùng bus dây (8 sợi ) kết nối Port 0 với một Port_LED 0, Port 1 với Port_LED 1 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh dieu khien port 16 led chop tat dung port0, 1 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0000h ;khai bao dia chi bat dau cua chuong trinh
main: mov p0,#00h ;tat port0 mov p1,#00h ;tat port1
lcall delay ;delay mov p0,#0ffh ;sang 8 led mov p1,#0ffh ;sang 8 led lcall delay ;delay sjmp main ;lam lai tu dau ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con delay ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
delay: mov r6,#0ffh
de: mov r7,#0ffh
djnz r7,$ djnz r6,de ret
end BÀI 3: CHƯƠNG TRÌNH ĐIỀU KHIỂN PORT 0 SÁNG DẦN TẮT HẾT Mục đích yêu cầu: hiểu cách sử dụng lệnh xoay 8 bit, lệnh nhảy có điều kiện để thực hiện chương trình điều khển led sáng dần, tắt dần. Cách 1:
- Dùng bus dây (8 sợi ) kết nối Port 0 với một Port Led đơn bất kỳ ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh dieu khien port 0 sang dan len va tat het - cach I ;ket noi port 0 den 8 led bang cap 8 soi ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
org 0000h
port0_022:
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
mov p0,#00000000b ;tat port 0 lcall delay ;goi chuong trinh con delay mov p0,#00000001b ;sang 1 led lcall delay ;goi chuong trinh con delay mov p0,#00000011b ;sang 2 led lcall delay ;goi chuong trinh con delay mov p0,#00000111b ;sang 3 led lcall delay ;goi chuong trinh con delay mov p0,#00001111b ;sang 4 led lcall delay ;goi chuong trinh con delay mov p0,#00011111b ;sang 5 led lcall delay ;goi chuong trinh con delay mov p0,#00111111b ;sang 6 led lcall delay ;goi chuong trinh con delay mov p0,#01111111b ;sang 7 led lcall delay ;goi chuong trinh con delay mov p0,#11111111b ;sang 8 led lcall delay ;goi chuong trinh con delay sjmp port0_022 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con delay ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
delay: mov r6,#0ffh
de: mov r7,#0ffh
djnz r7,$ djnz r6,de ret
end
Trong lập trình có nhiều cách viết chương trình từ đơn giản dễ hiểu nhưng dài dòng đến chương trình phức tạp khó hiểu nhưng ngắn gọn tùy thuộc vào đối tượng nghiên cứu và đối tượng học. Ở đây trình bày luôn cả 2 cách viết. Cách 2: ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh dieu khien port 0 sang dan len va tat het – cach II ;ket noi port 0 den 8 led bang cap 8 soi ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0000h
lb:
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
mov p0,#00h ;tat port 0 lb1:
lcall delay ;goi chuong trinh con delay setb c ;lam cho bit C = 1 mov a,p0 ;chuyen noi dung port0 vao thanh ghi A rlc a ;xoay noi dung thanh ghi A sang trai mo p0,a ;tra lai cho port0 jnc lb1 ;nhay ve de thuc hien tiep sjmp lb ;sau khi 8 led sang het thi quay lai tu dau ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con delay ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
delay: mov r6,#0ffh
de: mov r7,#0ffh
djnz r7,$ djnz r6,de ret
end BÀI 4: CHƯƠNG TRÌNH ĐIỀU KHIỂN PORT 0 SÁNG DẦN TẮT DẦN 1. Chương trình điều khiển port 0 sáng dần và tắt dần: ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh dieu khien port 0 sang dan len va tat dan ;ket noi port 0 den 8 led bang cap 8 soi ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
org 0000h lb:
mov p0,#00h ;tat port 0 lb1:
lcall delay ;goi chuong trinh con delay setb c ;lam cho bit C = 1 mov a,p0 ;chuyen noi dung port0 vao thanh ghi A rlc a ;xoay noi dung thanh ghi A sang trai mov p0,a ;tra lai cho port0 jnc lb1 ;nhay ve de thuc hien tiep khi c=0
lb2: lcall delay ;goi chuong trinh con delay
clr c ;lam cho bit C = 0 mov a,p0 ;chuyen noi dung port0 vao thanh ghi A rlc a ;xoay noi dung thanh ghi A sang trai mov p0,a ;tra lai cho port0 jc lb2 ;nhay ve de thuc hien tiep khi c=1 sjmp lb ;quay ve lam lai tu dau ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
;chuong trinh con delay ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
delay: mov r6,#0ffh
de: mov r7,#0ffh
djnz r7,$ djnz r6,de ret
end
BÀI 5: CHƯƠNG TRÌNH ĐIỀU KHIỂN PORT 0, 1 SÁNG DẦN TẮT DẦN 2. Chương trình điều khiển port 0 và port 1 sáng dần và tắt dần: ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh dieu khien port 0, 1 sang dan len va tat dan ;ket noi port 0 den 8 led bang cap 8 soi tuong tu cho port1 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0000h
lb: mov p0,#00h ;tat port 0
mov p1,#00h ;tat port 1
lb1: lcall delay ;goi chuong trinh con delay
setb c ;lam cho bit C = 1 mov a,p0 ;chuyen noi dung port0 vao thanh ghi A rlc a ;xoay noi dung thanh ghi A sang trai mov p0,a ;tra lai cho port0 mov a,p1 ;chuyen noi dung port1 vao thanh ghi A rlc a ;xoay noi dung thanh ghi A sang trai mov p1,a ;tra lai cho port1 jnc lb1 ;nhay ve de thuc hien tiep khi c=0
lb2: lcall delay ;goi chuong trinh con delay
clr c ;lam cho bit C = 0 mov a,p0 ;chuyen noi dung port0 vao thanh ghi A rlc a ;xoay noi dung thanh ghi A sang trai mov p0,a ;tra lai cho port0 mov a,p1 ;chuyen noi dung port1 vao thanh ghi A rlc a ;xoay noi dung thanh ghi A sang trai mov p1,a ;tra lai cho port1 jc lb2 ;nhay ve de thuc hien tiep khi c=1 sjmp lb ;quay ve lam lai tu dau ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con delay
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx delay:
mov r6,#0ffh de:
mov r7,#0ffh djnz r7,$ djnz r6,de ret
end BÀI 6: CHƯƠNG TRÌNH DELAY SỬ DỤNG TIMER Mục đích yêu cầu: Biết cách tính toán các thông số delay của timer để viết các chương trình delay chính xác. Dùng bus dây (8 sợi ) kết nối Port 1 với một Port Led đơn bất kỳ
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; chuong trinh sang tat port1 su dung timer lam bo dinh thoi delay 65536 micro giay ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0000h b61: mov p1,#00h lcall delay ;delay 65536 micro giay mov p1,#0ffh lcall delay sjmp b61 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; chuong trinh con delay 65535 micro giay delay: clr tf0 ; xoa co ngat cua timer 0 mov tl0,#0 ; nap 0 vao TL0 mov th0,#0 ; nap 0 vao TH0 mov tmod,#01 ; khoi tao timer T0 mode 1 dem 16 bit setb tr0 ; cho phep timer 0 bat dau dem xung del1: jnb tf0,del1 ; kiem tra co tran ret end
Giải thích : bài sáng tắt port1 trên giống như bài đã làm trước đây chỉ khác là thay chương trình delay bằng một chương trình sử dụng timer để việc tính toán thời gian dễ dàng hơn.
Với chương trình trên thì timer T0 sẽ đếm từ gía trị nạp ban đầu 0000H đến 100000H [tức cờ tràn bằng 1 – các số về 0000H -> kết thúc 1 chu kỳ đếm] kết quả số xung đếm được là 10000H –0000H = 10000 (65536) xung và mỗi xung có chu kì 1 micro giây nên lượng thời gian mà timer T0 đếm được là 65536 micro giây.
Để đếm lượng thời gian nhỏ hơn ta hãy tham khảo bài mẫu dưới đây: ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
; chuong trinh sang tat port1 su dung timer lam bo dinh thoi delay 250 micro giay ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; chuong trinh sang tat port1 su dung timer lam bo dinh thoi delay 250 micro giay org 0000h b62: mov p1,#00h lcall delay ; delay 65535 micro giay mov p1,#0ffh lcall delay sjmp b62 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; chuong trinh con delay 250 micro giay delay: clr tf0 ; xoa co ngat cua timer 0 mov tl0,#06h ; nap 05 vao TL0 mov th0,#0FFh ; nap FF vao TH0 mov tmod,#01 ; khoi tao timer T0 mode 1 dem 16 bit setb tr0 ; cho phep timer 0 bat dau dem xung del1: jnb tf0,del1 ret end
Giải thích : lượng thời gian của bài này chỉ có 250 micro giây, vì giá trị ban đầu nạp cho timer là FF05H nên khi đếm đến 10000H kết quả xung đếm được 10000H – FF06H = 00FA (250) và mỗi xung có chu kỳ 1 micro giây nên lượng thời gian mà timer T0 đếm đượclà 250 micro giây.
ỨNG DỤNG KHỐI LED 7 ĐOẠN
Mục đích yêu cầu: biết được cách tìm mã điều khiển led 7 đoạn , biết nguyên lý điều khiển led theo phương pháp quét và cách viết chương trình điều khiển led 7 đoạn. Sinh viên phải hiểu rằng 1 yêu cầu điều khiển có thể thực hiện bằng nhiều chương trình khác nhau.
- Dùng bus dây kết nối port 0 đến Pin Header “LED-DATA” điều khiển các đoạn a,b,c,d,e,f,g,dp của led 7 đoạn
- Dùng bus dây kết nối port 2 đến Pin Header “SCAN-LED” điều khiển quét cột. Bài 1: Led 7 đoạn thứ nhất sáng số “9” ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; chuong trinh thu led D1 sang so 9 org 0000h mov p2,#11111110b ; cho phep D1 sang
mov p0,#10010000b ; ma cua so 9 sjmp $ end Chương trình trên chỉ có tác dụng thử cho một led sáng. Để có thể sáng 8 led từ số 0 đến số 7 ta hãy viết chương trình sau:
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
Bài 2: 8 Led 7 đoạn thứ nhất sáng số “0 đến 7” ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh thu 8 led sang tu so 0 den so 7 ;port 0 dieu khien cac doan a,b,c,d,e,f,g ;port2 dieu khien cac transistor quet ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0000h b11: mov p2,#11111110b ; cho phep D1 sang mov p0,#11000000b ; ma cua so 0 lcall delay mov p2,#11111101b ; cho phep D2 sang mov p0,#11111001b ; ma cua so 1 lcall delay mov p2,#11111011b ; cho phep D3 sang mov p0,#10100100b ; ma cua so 2 lcall delay mov p2,#11110111b ; cho phep D4 sang mov p0,#10110000b ; ma cua so 3 lcall delay mov p2,#11101111b ; cho phep D5 sang mov p0,#10011001b ; ma cua so 4 lcall delay mov p2,#11011111b ; cho phep D6 sang mov p0,#10010010b ; ma cua so 5 lcall delay mov p2,#10111111b ; cho phep D7 sang mov p0,#10000010b ; ma cua so 6 lcall delay mov p2,#01111111b ; cho phep D8 sang mov p0,#11111000b ; ma cua so 7 lcall delay sjmp b11 delay: mov r6,#01h del2 : mov r7,#0ffh djnz r7,$ djnz r6,del2 ret
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
Ở ví dụ 2, để sáng cùng 1 lúc 8 led ta sử dụng phương pháp quét led tức là tại một thời điểm chỉ có 1 led sáng và khi giảm thời gian delay vừa với thời gian lưu ảnh của mắt. Lúc này, chúng ta sẽ thấy 8 led sáng cùng một lúc. Bài tập mẫu sau giống ví dụ 2 nhưng được viết theo kiểu khác: Bài 3: 8 Led 7 đoạn thứ nhất sáng số “0 đến 7” ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh hien thi 8 so tu 0 den 7 tren 8 led theo cach viet so 2 ;ket noi port 0 den pinhd dieu khien cac doan a,b,c,d,e,f,g,dp ;ket noi port 2 dem pinhd dieu khien quet hang ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx quet equ p2 led7 equ p0 org 0000h ;bat dau chuong trinh
b213: mov dptr,#datahthi ;nap dia chi vung ma vao dptr
mov r4,#08h ;bien dem 8 lan goi mov r3,#07fh ;ma quet 01111111h ;
b212: clr a
movc a,@a+dptr ;lay ma 7 doan mov led7,a mov quet,r3 lcall delay mov quet,#0ffh ;tat het de chong lem mov a,r3 rr a mov r3,a inc dptr djnz r4,b212 sjmp b213 ;quay lai lam lai tu dau
delay: mov r7,#01h
del2 : mov r6,#0ffh
djnz r6,$ djnz r7,del2 ret ;ma 7 doan tu so 0 - 9
datahthi: db 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h
end
Bài 4: Chương trình đếm giây hiển thị trên 2 LED
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh dem len tu 00 den 60 hien thi tren 2 led cua 8 led quet ;su dung ngat timer t0 de dem chinh xac ve thoi gian ;noi Port 0 toi Port LED DATA cua khoi 7 doan ;noi Port 2 toi Port SCAN cua khoi 7 doan ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx giay equ r2 ;gan bien dem giay la R2 bdn equ r1 ;gan bien dem ngat quet equ p2 led7 equ p0 org 0000h ;bat dau chuong trinh ljmp main ;nhay den chtr chinh org 000bh ljmp int_t0 ;nhay den chtr con ngat timer0 main: mov tmod,#01h ;timer0: mod 1 - dem 16 bit mov dptr,#ma7doan ;dptr quan ly vung ma 7 doan clr tf0 ;XOA CO TRAN TIMER0 mov IE,#10000010B ;CHO NGAT TIMER0 mov TH0,#3CH ;khoi tao timer delay 50ms mov TL0,#0B0H setb tr0 ;CHO TIMER0 BAT DAU DEM main0: mov giay,#00h ;giay=00 main1: mov bdn,#00 ;nap bien den so lan ngat lcall gma main2: lcall hthi ;goi chtr con hien thi cjne bdn,#20,main2 ;chua dung 20 lan [tuc 1 giay] mov a,giay ;chuyen giay sang A add a,#1 ;tang giay len 1 da a ;hieu chinh so BCD trong A mov giay,a ;tra lai cho giay cjne giay,#60h,main1 ;ss giay voi 60 sjmp main0 ;lam lai tu dau ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; chuong trinh con giai ma ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx gma: mov a,giay anl a,#0fh ;xoa 4 bit cao hang chuc giay movc a,@a+dptr ;lay ma 7 doan mov 27h,a ;cat ma vao o nho 20h mov a,giay
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
anl a,#0f0h ;xoa 4 bit thap hang dvi swap a ;chuyen 4 bit cao xuong vi tri thap movc a,@a+dptr ;lay ma 7 doan hang chuc mov 26h,a ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;CHUONG TRINH CON NGAT TIMER0 SAU KHOANG THOI GIAN 50MS ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx int_t0: INC bdn ;TANG BIEN DEM GIAY MOV TH0,#3CH ;khoi tao lai timer MOV TL0,#0B5H CLR TF0 RETI ;quay ve chuong trinh chinh ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con hien thi ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx hthi: mov a,#01111111b ;ma quet mov r0,#27h ht1: mov led7,@r0 mov quet,a lcall delay1 mov quet,#0ffh dec r0 rr a ;chuyen sang led ke cjne r0,#25h,ht1 ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con delay1 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx delay1: mov r7,#0fh djnz r7,$ ret ;khai bao ma 7 doan tu so '0' den so '9' ma7doan: db 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h end
ỨNG DỤNG KHỐI STEP MOTOR
- Dùng bus dây 4 sợi kết nối port 2 (Bit P2.0, P2.1, P2.2, P2.3) đến Pin Header “Step-Motor”
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
Bài 1: STEP MOTOR quay ngược ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chtr dieu khien step motor quay lien tuc theo chieu nguoc lai ;ket noi port2 (da dem dong) toi port STEP-MOTOR" ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0000h mov p2,#0 main: mov p2,#00000001b lcall delay mov p2,#0 lcall delay1giay mov p2,#00000010b lcall delay mov p2,#0 lcall delay1giay
mov p2,#00000100b lcall delay mov p2,#0 lcall delay1giay mov p2,#00001000b lcall delay mov p2,#0 lcall delay1giay sjmp main ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con delay voi thoi gian ngan hon ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx delay: mov r7,#0 djnz r7,$ djnz r7,$ djnz r7,$ djnz r7,$ ret delay1giay: mov 6ah,#2 xx3: mov 6bh,#0 xx2: mov 6ch,#0 djnz 6ch,$ djnz 6bh,xx2 djnz 6ah,xx3 ret end
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
Bài 1: STEP MOTOR quay thuận ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chtr dieu khien step motor quay lien tuc theo chieu nguoc lai ;ket noi port2 (da dem dong) toi port STEP-MOTOR" ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0000h mov p2,#0 main: mov p2,#00001000b lcall delay mov p2,#0 lcall delay1giay mov p2,#00000100b lcall delay mov p2,#0 lcall delay1giay mov p2,#00000010b lcall delay mov p2,#0 lcall delay1giay mov p2,#00000001b lcall delay mov p2,#0 lcall delay1giay sjmp main ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con delay voi thoi gian ngan hon ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx delay: mov r7,#0 djnz r7,$ djnz r7,$ djnz r7,$ djnz r7,$ ret delay1giay: mov 6ah,#1 xx3: mov 6bh,#0 xx2: mov 6ch,#0
HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn
djnz 6ch,$ djnz 6bh,xx2 djnz 6ah,xx3 ret end