hdsd md kbv2

33
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

Upload: lhthuong81

Post on 12-Jan-2016

267 views

Category:

Documents


0 download

DESCRIPTION

vi dieu khien

TRANSCRIPT

Page 1: Hdsd Md Kbv2

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

Page 2: Hdsd Md Kbv2

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

Page 3: Hdsd Md Kbv2

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.

Page 4: Hdsd Md Kbv2

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

Page 5: Hdsd Md Kbv2

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)

Page 6: Hdsd Md Kbv2

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

Page 7: Hdsd Md Kbv2

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

Page 8: Hdsd Md Kbv2

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)

Page 9: Hdsd Md Kbv2

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)

Page 10: Hdsd Md Kbv2

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

Page 11: Hdsd Md Kbv2

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)

Page 12: Hdsd Md Kbv2

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)

Page 13: Hdsd Md Kbv2

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)

Page 14: Hdsd Md Kbv2

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

Page 15: Hdsd Md Kbv2

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)

Page 16: Hdsd Md Kbv2

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

Page 17: Hdsd Md Kbv2

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

Page 18: Hdsd Md Kbv2

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

Page 19: Hdsd Md Kbv2

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.

Page 20: Hdsd Md Kbv2

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.

Page 21: Hdsd Md Kbv2

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:

Page 22: Hdsd Md Kbv2

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:

Page 23: Hdsd Md Kbv2

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

Page 24: Hdsd Md Kbv2

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

Page 25: Hdsd Md Kbv2

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

Page 26: Hdsd Md Kbv2

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:

Page 27: Hdsd Md Kbv2

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

Page 28: Hdsd Md Kbv2

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

Page 29: Hdsd Md Kbv2

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

Page 30: Hdsd Md Kbv2

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”

Page 31: Hdsd Md Kbv2

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

Page 32: Hdsd Md Kbv2

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

Page 33: Hdsd Md Kbv2

HƯỚNG DẪN SỬ DỤNG KIT MD-KBV2 www.machdien.com.vn

djnz 6ch,$ djnz 6bh,xx2 djnz 6ah,xx3 ret end