13
C. HỆ THỐNG ĐIỀU KHIỂN LED MA TRẬN. A. MỤC ĐÍCH: Thực hành lập trình ứng dụng trên máy tính, biên dịch chương trình, nạp vào vi điều khiển và sử dụng mô hình thí nghiệm để kiểm chứng. Điều khiển thiết bị ngoại vi bằng các port của vi điều khiển. Điều khiển việc hiển thị bằng cách sử dụng LED ma trận. Ứng dụng thực hiện việc hiển thị các thông tin tĩnh và động trên LED ma trận dạng quang báo). B. YÊU CẦU: Nắm vững tập lệnh của vi điều khiển MCS-51. Biết cách viết các chương trình điều khiển LED ma trận ở các chế độ khác nhau. Nắm được sơ đồ và nguyên lý hoạt động của khối LED ma trận trên mô hình thí nghiệm. Nắm được nguyên lý điều khiển LED ma trận ở các chế độ khác nhau. Biết cách viết các chương trình quang báo để hiển thị các thông tin được yêu cầu (thông tin dạng tĩnh và dạng động).

He Thong Dieu Khien LED Ma Tran

Embed Size (px)

Citation preview

Page 1: He Thong Dieu Khien LED Ma Tran

C. HỆ THỐNG ĐIỀU KHIỂN LED MA TRẬN.

A. MỤC ĐÍCH:

Thực hành lập trình ứng dụng trên máy tính, biên dịch chương trình, nạp vào vi điều khiển và sử dụng mô hình thí nghiệm để kiểm chứng.

Điều khiển thiết bị ngoại vi bằng các port của vi điều khiển. Điều khiển việc hiển thị bằng cách sử dụng LED ma trận. Ứng dụng thực hiện việc hiển thị các thông tin tĩnh và động trên LED ma trận dạng quang báo).

B. YÊU CẦU:

Nắm vững tập lệnh của vi điều khiển MCS-51. Biết cách viết các chương trình điều khiển LED ma trận ở các chế độ khác nhau. Nắm được sơ đồ và nguyên lý hoạt động của khối LED ma trận trên mô hình thí nghiệm. Nắm được nguyên lý điều khiển LED ma trận ở các chế độ khác nhau. Biết cách viết các chương trình quang báo để hiển thị các thông tin được yêu cầu (thông tin dạng tĩnh và

dạng động).

Page 2: He Thong Dieu Khien LED Ma Tran

C. HỆ THỐNG ĐIỀU KHIỂN LED MA TRẬN. Bài 1: Chương trình điều khiển hiển thị chữ A màu đỏ trên LED ma trận (COL-RED được nối với Port1 có sử

dụng bộ đệm đảo, ROW được nối với Port2).

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm. Tắt nguồn cấp cho mô hình thí nghiệm. Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển với J95 (INPUT 1) ở khối đệm dữ liệu. Dùng dây bus 8 nối J96 (OUTPUT 1) ở khối đệm dữ liệu với J9 (COLUMN RED MATRIX) ở khối LED

ma trận. Dùng dây bus 8 nối J65 (PORT2 / A8..A15) ở khối vi điều khiển với J13 (ROW MATRIX) ở khối LED

ma trận. Dùng hai dây bus 3 nối J116 (POWER) ở khối LED ma trận và J109 (POWER) ở khối đệm dữ liệu với

nguồn +5V ở khối nguồn.

ÑEÄM - ÑAÛODÖÕ LIEÄU

INP

UT

3

OU

TP

UT

3IN

PU

T4

OU

TP

UT

4

OU

TP

UT

2IN

PU

T2

OU

TP

UT

1IN

PU

T1

PO

WE

R

LED MA TRAÄN

CO

L.

RE

D

CO

L.

GR

EE

N

POWER ROW MAT.

VI ÑIEÀU KHIEÅN

PO

RT

0

A0..A7

PO

RT

1P

OR

T 3

PO

RT

2

SELECT CHIP

CLOCK OUT

PO

RT

1P

OR

T 3

40

PIN

S

20

PIN

S

POWERSW

NGUOÀN

+5V

3

8

8

8

3

1.2 Sơ đồ nguyên lý của hệ thống:

AD7

AD0

AD0AD1AD2AD3AD4AD5AD6

AD7AD6AD5AD4AD3AD2AD1

Q1

Q8

Q2

Q7

Q6

Q5

Q4

Q3

Q8Q7Q6Q5Q4Q3Q2Q1

P1.0 P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7 COL7

COL6COL5COL4COL3COL2COL1COL0

P1.1P1.2P1.3P1.4P1.5P1.6P1.7

RO

W7

RO

W6

RO

W5

RO

W4

RO

W3

RO

W2

RO

W1

RO

W0

COL0COL1COL2COL3COL4COL5COL6COL7

RO

W0

RO

W1

RO

W2

RO

W3

RO

W4

RO

W5

RO

W6

RO

W7

COL0

ROW7ROW6ROW5ROW4ROW3ROW2ROW1ROW0

COL1COL2COL3COL4COL5COL6COL7

XTAL218

XTAL119

ALE30

EA31

PSEN29

RST9

P0.0/AD039

P0.1/AD138

P0.2/AD237

P0.3/AD336

P0.4/AD435

P0.5/AD534

P0.6/AD633

P0.7/AD732

P1.01

P1.12

P1.23

P1.34

P1.45

P1.56

P1.67

P1.78

P3.0/RXD10

P3.1/TXD11

P3.2/INT012

P3.3/INT113

P3.4/T014

P3.7/RD17

P3.6/WR16

P3.5/T115

P2.7/A1528

P2.0/A821

P2.1/A922

P2.2/A1023

P2.3/A1124

P2.4/A1225

P2.5/A1326

P2.6/A1427

U1

AT89C51

C133p

C233p

X112MHz

23456789

1

RP1

10K

+5

V

MAÏCH ÑIEÀU KHIEÅN LED MA TRAÄN

Q1A1015

+5V

Q2A1015

+5V

R21K

R31K

Q3A1015

+5V

Q4A1015

+5V

R111K

R121K

Q5A1015

+5V

Q6A1015

+5V

R131K

R141K

Q7A1015

+5V

Q8A1015

+5V

R151K

R161K

1B1

2B2

3B3

4B4

5B5

6B6

7B7

8B8

1C18

2C17

3C16

4C15

5C14

6C13

7C12

8C11

COM10

U2

ULN2803

ROW COLUMN+5V

23456789

1

RP2

10K

+5V

C310uF

R110k

+5V

Caùc ñieän trôû naøy chæ söû duïngkhi ta chaïy moâ phoûng

Page 3: He Thong Dieu Khien LED Ma Tran

C. HỆ THỐNG ĐIỀU KHIỂN LED MA TRẬN. Bài 1: Chương trình điều khiển hiển thị chữ A màu đỏ trên LED ma trận (COL-RED được nối với Port1 có sử

dụng bộ đệm đảo, ROW được nối với Port2).

1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.

Cách 1:

;*************************************************** ;CHUONG TRINH HIEN THI KY TU A TREN MA TRAN LED ;***************************************************

Page 4: He Thong Dieu Khien LED Ma Tran

C. HỆ THỐNG ĐIỀU KHIỂN LED MA TRẬN. Bài 1: Chương trình điều khiển hiển thị chữ A màu đỏ trên LED ma trận (COL-RED được nối với Port1 có sử

dụng bộ đệm đảo, ROW được nối với Port2).

;KET NOI ROW -> PORT2, RED COLUMN -> PORT1 (CO DEM DAO) ;PHUONG PHAP: QUET COT (ACT = 1) - HIEN THI HANG (ACT = 0) ;*************************************************** ORG 00H MAIN: MOV P2,#07H ;XUAT MA HIEN THI RA HANG MOV P1,#01H ;XUAT MA QUET RA COT 1 LCALL DELAYLED MOV P1,#00H ;CHONG LEM MOV P2,#0DBH ;XUAT MA HIEN THI RA HANG MOV P1,#02H ;XUAT MA QUET RA COT 2 LCALL DELAYLED MOV P1,#00H ;CHONG LEM MOV P2,#0DDH ;XUAT MA HIEN THI RA HANG MOV P1,#04H ;XUAT MA QUET RA COT 3 LCALL DELAYLED MOV P1,#00H ;CHONG LEM MOV P2,#0DBH ;XUAT MA HIEN THI RA HANG MOV P1,#08H ;XUAT MA QUET RA COT 4 LCALL DELAYLED MOV P1,#00H ;CHONG LEM MOV P2,#07H ;XUAT MA HIEN THI RA HANG MOV P1,#10H ;XUAT MA QUET RA COT 5 LCALL DELAYLED MOV P1,#00H ;CHONG LEM MOV P2,#0FFH ;XUAT MA HIEN THI RA HANG MOV P1,#20H ;XUAT MA QUET RA COT 6 LCALL DELAYLED MOV P1,#00H ;CHONG LEM MOV P2,#0FFH ;XUAT MA HIEN THI RA HANG MOV P1,#40H ;XUAT MA QUET RA COT 7 LCALL DELAYLED MOV P1,#00H ;CHONG LEM MOV P2,#0FFH ;XUAT MA HIEN THI RA HANG MOV P1,#80H ;XUAT MA QUET RA COT 8 LCALL DELAYLED MOV P1,#00H ;CHONG LEM LJMP MAIN ;*************************************************** DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS PUSH 00H PUSH 01H MOV R1,#5 DEL: MOV R0,#250 DJNZ R0,$ DJNZ R1,DEL POP 01H POP 00H RET END

Page 5: He Thong Dieu Khien LED Ma Tran

C. HỆ THỐNG ĐIỀU KHIỂN LED MA TRẬN. Bài 1: Chương trình điều khiển hiển thị chữ A màu đỏ trên LED ma trận (COL-RED được nối với Port1 có sử

dụng bộ đệm đảo, ROW được nối với Port2).

Cách 2:

CẤT TẠM GIÁ TRỊ CỦA ACC, R0, R1 VÀO STACK

SCANMATRIXSTANAME: SCANMATRIXSTA - QUÉT HIỂN THỊ LED MA TRẬN.INPUT: DPTR = VÙNG NHỚ CHỨA DỮ LIỆU HIỂN THỊ. OUTPUT: P1 = CỘT MA TRẬN (CÓ SỬ DỤNG BỘ ĐẢO).

P2 = HÀNG MA TRẬN. MODE: HIỂN THỊ HÌNH ẢNH TĨNH 8 x 8, QUÉT CỘT (TÍCH

CỰC MỨC 1), HIỂN THỊ HÀNG (TÍCH CỰC MỨC 0).

SCANMATRIXSTA:

LẤY LẠI GIÁ TRỊ CHO ACC, R0, R1 TỪ STACK

NẠP VỊ TRÍ CỦA DỮ LIỆU HÀNG CHO CỘT ĐẦU TIÊN TRONG VÙNG MÃ (OFFSET CỦA DỮ LIỆU ĐẦU TIÊN)

(R0) = 00H

NẠP MÃ QUÉT CHO CỘT ĐẦU TIÊN(R1) = 00000001B = 01H

SCAN:

XUẤT MÃ QUÉT RA CỘT(P1) = (R1)

GỌI CTC TẠO TRỄ CHO 1 LEDDELAYLED

LẤY VỊ TRÍ CỦA DỮ LIỆU HÀNG CHO CỘT KẾ TIẾP TRONG VÙNG MÃ (OFFSET CỦA DỮ LIỆU KẾ TIẾP)

(R0) = (R0) + 1

CHỐNG LEM - BỎ CHỌN CỘT(P1) = 00000000B = 00H

DỊCH MÃ QUÉT CỘTRL A - QUÉT CỘT KẾ TIẾP

QUÉT LED ?(CHƯA QUÉT XONG)

Đ

S

RET

DELAYLED(XEM CTC NÀY TẠI VÍ DỤ B3.1 MBI)

NẠP ĐỊA CHỈ VÙNG MÃ(DPTR) = CODEDISP

BEGIN

GỌI CTC QUÉT LED MA TRẬNSCANMATRIXSTA

MAIN:

C1.2

LẤY DỮ LIỆU HIỂN THỊ HÀNG TRONG VÙNG MÃ THEO VỊ TRÍ ĐÃ XÁC ĐỊNH

(A) = (R0)(A) = (@A+DPTR)

XUẤT DỮ LIỆU HIỂN THỊ RA HÀNG(P2) = (A)

VÙNG DỮ LIỆU HIỂN THỊ CODEDISP07H,DBH,DDH,DBH,07H,FFH,FFH,FFH

;*************************************************** ;CHUONG TRINH HIEN THI KY TU A TREN MA TRAN LED ;*************************************************** ;KET NOI ROW -> PORT2, RED COLUMN -> PORT1 (CO DEM DAO) ;PHUONG PHAP: QUET COT (ACT = 1) - HIEN THI HANG (ACT = 0) ;*************************************************** ORG 00H MAIN: MOV DPTR,#CODEDISP ;NAP DIA CHI VUNG MA HIEN THI LCALL SCANMATRIXSTA ;HIEN THI DU LIEU LJMP MAIN ;*************************************************** ;CTC QUET MA TRAN 8 X 8. ;***************************************************

Page 6: He Thong Dieu Khien LED Ma Tran

C. HỆ THỐNG ĐIỀU KHIỂN LED MA TRẬN. Bài 1: Chương trình điều khiển hiển thị chữ A màu đỏ trên LED ma trận (COL-RED được nối với Port1 có sử

dụng bộ đệm đảo, ROW được nối với Port2).

;NAME: SCANMATRIXSTA. ;OUTPUT: P1 = COLUMN MATRIX (NOT BUFFER). ; P2 = ROW MATRIX. ;INPUT: DPTR = VUNG NHO CHUA DU LIEU HIEN THI. ;MODE: STATIC DISP, SCAN COLUMN (ACT = 1) - DISPLAY ROW (ACT = 0). ;*************************************************** SCANMATRIXSTA: PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH 00H PUSH 01H MOV R0,#00H ;VI TRI CUA DU LIEU COT DAU TIEN TRONG VUNG MA MOV R1,#01H ;MA QUET COT DAU TIEN SCAN: MOV A,R0 MOVC A,@A+DPTR ;LAY MA HIEN THI TRONG VUNG MA THEO VI TRI MOV P2,A ;XUAT MA HIEN THI RA HANG MOV P1,R1 ;XUAT MA QUET RA COT LCALL DELAYLED MOV P1,#00H ;CHONG LEM INC R0 ;LAY DU LIEU KE TIEP MOV A,R1 ;DICH MA QUET - MA QUET CHO COT KE TIEP RL A MOV R1,A CJNE R0,#08H,SCAN ;KIEM TRA QUET CAC COT (MA TRAN GOM 8 COT) POP 01H ;PHUC HOI GIA TRI CHO CAC THANH GHI POP 00H POP ACC RET ;*************************************************** DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS PUSH 00H PUSH 01H MOV R1,#5 DEL: MOV R0,#250 DJNZ R0,$ DJNZ R1,DEL POP 01H POP 00H RET ;*************************************************** CODEDISP: DB 07H,0DBH,0DDH,0DBH,07H,0FFH,0FFH,0FFH ;CHU A END

1.4 Lưu chương trình và biên dịch chương trình.

1.5 Kiểm tra lỗi và hiệu chỉnh lỗi nếu có.

1.6 Gắn chip vi điều khiển thí nghiệm vào socket tương ứng trên khối nạp chip và bật nguồn cho khối nạp chip hoạt động.

1.7 Nạp chương trình vào vi điều khiển.

1.8 Sử dụng vi điều khiển vừa nạp gắn vào socket tương ứng trên khối vi điều khiển.

1.9 Bật nguồn cho mô hình thí nghiệm. Quan sát kết quả hoạt động, nếu kết quả hoạt động không đúng yêu cầu của đề bài thì phải quay lại kiểm tra việc kết nối mạch, hiệu chỉnh chương trình và làm lại các bước từ bước 3 đến bước 9.

2 Bài tập: Bài 1: Hãy viết chương trình điều khiển hiển thị chữ M màu đỏ trên LED ma trận (COL-RED được nối với

Port1, ROW được nối với Port2). Bài 2: Hãy viết chương trình điều khiển hiển thị số 8 màu xanh trên LED ma trận (COL-GRE được nối với

Port1, ROW được nối với Port2). Bài 3: Hãy viết chương trình điều khiển hiển thị chữ A màu vàng trên LED ma trận (COL-RED được nối

với Port 1, COL-GRE được nối với Port2, ROW được nối với Port3). Bài 4: Hãy lập bảng mã cho tất cả các ký tự chữ, ký tự số và ký tự đặc biệt có trên bàn phím máy tính. Và

thử đưa các mã đã lập này vào chương trình điều khiển hiển thị ở trên để xem hình ảnh chúng như thế nào? Bài 5: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.

Page 7: He Thong Dieu Khien LED Ma Tran

C. HỆ THỐNG ĐIỀU KHIỂN LED MA TRẬN. Bài 2: Chương trình điều khiển hiển thị chữ A màu đỏ trên LED ma trận sáng tắt (COL-RED được nối với

Port1 có sử dụng bộ đệm đảo, ROW được nối với Port2).

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm. Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1.

1.2 Sơ đồ nguyên lý của hệ thống: Sơ đồ nguyên lý của hệ thống tương tự như Bài 1.

1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.

DELAYLED(XEM CTC NÀY TẠI VÍ DỤ B3.1 MBI)

VÙNG DỮ LIỆU HIỂN THỊ CODEDISP07H,DBH,DDH,DBH,07H,FFH,FFH,FFH

NẠP ĐỊA CHỈ VÙNG MÃ(DPTR) = CODEDISP

BEGIN

GỌI CTC QUÉT LED MA TRẬNSCANMATRIXSTA

MAIN:

C2

NẠP THỜI GIAN HIỂN THỊ(R0) = 50 - SỐ LẦN QUÉT

MP1:

Đ

S

GIÃM SỐ LẦN QUÉT - HIỂN THỊ

SỐ LẦN QUÉT ≠ 0(CHƯA QUÉT XONG)

GỌI CTC TẮT HIỂN THỊ LEDTATLED

SCANMATRIXSTA(XEM CTC NÀY TẠI VÍ DỤ C1.2)

TATLEDCHƯƠNG TRÌNH TẠO TRỄ 1S

CẤT TẠM GIÁ TRỊ CỦA R0 VÀO STACK

NẠP GIÁ TRỊ VÒNG LẶP(R0) = 100

DEL:

GIÃM SỐ LẦN LẶP

SỐ LẦN LẶP ≠ 0(CHƯA LẶP XONG)

Đ

SLẤY LẠI GIÁ TRỊ CHO R0 TỪ

STACK

RET

KHỞI ĐỘNG TIMER(TIMER 0, MODE 1)

(TMOD) = 01H

NẠP GIÁ TRỊ CHO TIMER(TDELAY = 10000.TMÁY)

(TH0/TL0) = -10000 = D8F0H

CHƯA ĐỦ THỜI GIAN(TF0) = 0

Đ

S

CHO TIMER HOẠT ĐỘNG(TR0) = 1

DỪNG TIMER(TR0) = 0

XÓA CỜ TRÀN TIMER(TF0) = 0

TATLED:

;*************************************************** ;CHUONG TRINH HIEN THI KY TU A CHOP TAT TREN MA TRAN LED ;*************************************************** ;KET NOI ROW -> PORT2, RED COLUMN -> PORT1 (CO DEM DAO) ;PHUONG PHAP: QUET COT (ACT = 1) - HIEN THI HANG (ACT = 0) ;*************************************************** ORG 00H MAIN: MOV DPTR,#CODEDISP ;NAP DIA CHI VUNG MA HIEN THI MOV R0,#50 ;BIEN LAP - THOI GIAN CUA 1 TRANG THAI MAN HINH LED

Page 8: He Thong Dieu Khien LED Ma Tran

C. HỆ THỐNG ĐIỀU KHIỂN LED MA TRẬN. Bài 2: Chương trình điều khiển hiển thị chữ A màu đỏ trên LED ma trận sáng tắt (COL-RED được nối với

Port1 có sử dụng bộ đệm đảo, ROW được nối với Port2).

MP1: LCALL SCANMATRIXSTA ;HIEN THI DU LIEU DJNZ R0,MP1 LCALL TATLED ;TAT MA TRAN LED LJMP MAIN ;*************************************************** ;CTC QUET MA TRAN 8 X 8. ;*************************************************** ;NAME: SCANMATRIXSTA. ;OUTPUT: P1 = COLUMN MATRIX (NOT BUFFER). ; P2 = ROW MATRIX. ;INPUT: DPTR = VUNG NHO CHUA DU LIEU HIEN THI. ;MODE: STATIC DISP, SCAN COLUMN (ACT = 1) - DISPLAY ROW (ACT = 0). ;*************************************************** SCANMATRIXSTA: PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH 00H PUSH 01H MOV R0,#00H ;VI TRI CUA DU LIEU COT DAU TIEN TRONG VUNG MA MOV R1,#01H ;MA QUET COT DAU TIEN SCAN: MOV A,R0 MOVC A,@A+DPTR ;LAY MA HIEN THI TRONG VUNG MA THEO VI TRI MOV P2,A ;XUAT MA HIEN THI RA HANG MOV P1,R1 ;XUAT MA QUET RA COT LCALL DELAYLED MOV P1,#00H ;CHONG LEM INC R0 ;LAY DU LIEU KE TIEP MOV A,R1 ;DICH MA QUET - MA QUET CHO COT KE TIEP RL A MOV R1,A CJNE R0,#08H,SCAN ;KIEM TRA QUET CAC COT (MA TRAN GOM 8 COT) POP 01H ;PHUC HOI GIA TRI CHO CAC THANH GHI POP 00H POP ACC RET ;*************************************************** DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS PUSH 00H PUSH 01H MOV R1,#5 DEL: MOV R0,#250 DJNZ R0,$ DJNZ R1,DEL POP 01H POP 00H RET ;*************************************************** TATLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 1S PUSH 00H MOV R0,#100 MOV TMOD,#01H TAT: MOV TH0,#0D8H MOV TL0,#0F0H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R0,TAT POP 00H RET ;*************************************************** CODEDISP: DB 07H,0DBH,0DDH,0DBH,07H,0FFH,0FFH,0FFH ;CHU A END

1.4 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên.

2 Bài tập:

Page 9: He Thong Dieu Khien LED Ma Tran

C. HỆ THỐNG ĐIỀU KHIỂN LED MA TRẬN. Bài 2: Chương trình điều khiển hiển thị chữ A màu đỏ trên LED ma trận sáng tắt (COL-RED được nối với

Port1 có sử dụng bộ đệm đảo, ROW được nối với Port2).

Bài 1: Hãy viết chương trình điều khiển hiển thị chữ W màu đỏ sáng tắt trên LED ma trận (COL-RED được nối với Port1, ROW được nối với Port2).

Bài 2: Hãy viết chương trình điều khiển hiển thị số 0 màu xanh sáng tắt trên LED ma trận (COL-GRE được nối với Port1, ROW được nối với Port2).

Bài 3: Hãy viết chương trình điều khiển hiển thị chữ H màu vàng sáng tắt trên sáng tắt LED ma trận (COL-RED được nối với Port 1, COL-GRE được nối với Port2, ROW được nối với Port3).

Bài 4: Hãy viết chương trình điều khiển hiển thị liên tục chữ A sáng màu đỏ, sau đó là màu xanh và cuối cùng là màu vàng trên LED ma trận (COL-RED được nối với Port 1, COL-GRE được nối với Port2, ROW được nối với Port3).

Bài 5: Hãy lập bảng mã cho tất cả các ký tự chữ, ký tự số và ký tự đặc biệt có trên bàn phím máy tính. Và thử đưa các mã đã lập này vào chương trình điều khiển hiển thị ở trên để xem hình ảnh chúng như thế nào?

Bài 6: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.

Page 10: He Thong Dieu Khien LED Ma Tran

C. HỆ THỐNG ĐIỀU KHIỂN LED MA TRẬN. Bài 3: Chương trình điều khiển hiển thị lần lượt các chữ A, B, C, a, b, c màu đỏ trên LED ma trận (COL-RED

được nối với Port1 có sử dụng bộ đệm đảo, ROW được nối với Port2).

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm. Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1.

1.2 Sơ đồ nguyên lý của hệ thống: Sơ đồ nguyên lý của hệ thống tương tự như Bài 1.

1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.

DELAYLED(XEM CTC NÀY TẠI VÍ DỤ B3.1 MBI)

VÙNG DỮ LIỆU HIỂN THỊ CODEDISP07H,DBH,DDH,DBH,07H,FFH,FFH,FFH ;CHỮ A01H,6DH,6DH,6DH,93H,FFH,FFH,FFH ;CHỮ B83H,7DH,7DH,7DH,BBH,FFH,FFH,FFH ;CHỮ CBFH,57H,57H,57H,0FH,FFH,FFH,FFH ;CHỮ a01H,6FH,77H,77H,8FH,FFH,FFH,FFH ;CHỮ b8FH,77H,77H,77H,BFH,FFH,FFH,FFH ;CHỮ c

NẠP ĐỊA CHỈ VÙNG MÃ(DPTR) = CODEDISP

BEGIN

GỌI CTC QUÉT LED MA TRẬNSCANMATRIXSTA

MAIN:

C3

NẠP THỜI GIAN HIỂN THỊ 1 HÌNH ẢNH(R0) = 50 - SỐ LẦN QUÉT/TỐC ĐỘ ĐỔI HÌNH

MP1:

Đ

S

GIÃM SỐ LẦN QUÉT - HIỂN THỊ

SỐ LẦN QUÉT ≠ 0

(CHƯA QUÉT XONG)

DỊCH ĐỊA CHỈ VÙNG MÃ ĐI MỘT KHUNG MÀN HÌNH LED (8 VỊ TRÍ)

(DPTR) = (DPTR) + 8

MP2:

Đ

S

CHƯA HẾT VÙNG MÃCODEDISP+48)

SCANMATRIXSTA(XEM CTC NÀY TẠI VÍ DỤ C1.2)

;*************************************************** ;CHUONG TRINH HIEN THI CHUOI KY TU A,B,C,a,b,c LAN LUOT TREN MA TRAN LED ;*************************************************** ;KET NOI ROW -> PORT2, RED COLUMN -> PORT1 (CO DEM DAO) ;PHUONG PHAP: QUET COT (ACT = 1) - HIEN THI HANG (ACT = 0) ;***************************************************

ORG 00H MAIN: MOV DPTR,#CODEDISP ;NAP DIA CHI VUNG MA HIEN THI MP1: MOV R0,#50 ;BIEN LAP - THOI GIAN CUA 1 TRANG THAI MAN HINH LED MP2: LCALL SCANMATRIXSTA ;HIEN THI DU LIEU DJNZ R0,MP2 MOV A,DPL ;DICH DEN DIA CHI CUA KY TU KE TIEP ADD A,#8 ;ADDNEXT = ADDPREV + 8 (DO DAI KY TU = 8) MOV DPL,A CJNE A,#LOW(CODEDISP+48),MP1 ;KIEM TRA HIEN THI XONG TAT CA CAC CHUOI LJMP MAIN ;*************************************************** ;CTC QUET MA TRAN 8 X 8. ;*************************************************** ;NAME: SCANMATRIXSTA. ;OUTPUT: P1 = COLUMN MATRIX (NOT BUFFER). ; P2 = ROW MATRIX. ;INPUT: DPTR = VUNG NHO CHUA DU LIEU HIEN THI. ;MODE: STATIC DISP, SCAN COLUMN (ACT = 1) - DISPLAY ROW (ACT = 0). ;*************************************************** SCANMATRIXSTA: PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH 00H PUSH 01H MOV R0,#00H ;VI TRI CUA DU LIEU COT DAU TIEN TRONG VUNG MA MOV R1,#01H ;MA QUET COT DAU TIEN SCAN: MOV A,R0 MOVC A,@A+DPTR ;LAY MA HIEN THI TRONG VUNG MA THEO VI TRI MOV P2,A ;XUAT MA HIEN THI RA HANG MOV P1,R1 ;XUAT MA QUET RA COT

Page 11: He Thong Dieu Khien LED Ma Tran

C. HỆ THỐNG ĐIỀU KHIỂN LED MA TRẬN. Bài 3: Chương trình điều khiển hiển thị lần lượt các chữ A, B, C, a, b, c màu đỏ trên LED ma trận (COL-RED

được nối với Port1 có sử dụng bộ đệm đảo, ROW được nối với Port2).

LCALL DELAYLED MOV P1,#00H ;CHONG LEM INC R0 ;LAY DU LIEU KE TIEP MOV A,R1 ;DICH MA QUET - MA QUET CHO COT KE TIEP RL A MOV R1,A CJNE R0,#08H,SCAN ;KIEM TRA QUET XONG CAC COT (MA TRAN GOM 8 COT) POP 01H ;PHUC HOI GIA TRI CHO CAC THANH GHI POP 00H POP ACC RET ;*************************************************** DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS PUSH 00H PUSH 01H MOV R1,#5 DEL: MOV R0,#250 DJNZ R0,$ DJNZ R1,DEL POP 01H POP 00H RET ;*************************************************** CODEDISP: DB 07H,0DBH,0DDH,0DBH,07H,0FFH,0FFH,0FFH ;CHU A DB 01H,6DH,6DH,6DH,93H,0FFH,0FFH,0FFH ;CHU B DB 83H,7DH,7DH,7DH,0BBH,0FFH,0FFH,0FFH ;CHU C DB 0BFH,57H,57H,57H,0FH,0FFH,0FFH,0FFH ;CHU a DB 01H,6FH,77H,77H,8FH,0FFH,0FFH,0FFH ;CHU b DB 8FH,77H,77H,77H,0BFH,0FFH,0FFH,0FFH ;CHU c END

1.4 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên.

2 Bài tập: Bài 1: Hãy viết chương trình điều khiển hiển thị số đếm BCD từ 0 lên 9 màu đỏ trên LED ma trận (COL-

RED được nối với Port1, ROW được nối với Port2). Bài 2: Hãy viết chương trình điều khiển hiển thị số đếm BCD từ 9 xuống 0 màu xanh trên LED ma trận

(COL-GRE được nối với Port1, ROW được nối với Port2). Bài 3: Hãy viết chương trình điều khiển hiển thị các ký tự từ A đến Z màu đỏ trên LED ma trận (COL-

RED được nối với Port1, ROW được nối với Port2). Bài 4: Hãy viết chương trình điều khiển hiển thị các ký tự từ Z đến A màu xanh trên LED ma trận (COL-

GRE được nối với Port1, ROW được nối với Port2). Bài 5: Hãy viết chương trình điều khiển hiển thị số đếm BCD từ 0 đến 9 trên LED ma trận (COL-GRE

được nối với Port1, ROW được nối với Port2). Với điều kiện màu của các số sẽ thay đổi liên tục ĐỎ – XANH – VÀNG mỗi khi con số trên LED ma trận thay đổi.

Bài 6: Hãy viết chương trình điều khiển hiển thị các ký tự từ A đến Z trên LED ma trận (COL-GRE được nối với Port1, ROW được nối với Port2). Với điều kiện màu của các ký tự sẽ thay đổi liên tục ĐỎ – XANH – VÀNG sau mỗi một giây đồng hồ.

Bài 7: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.

Page 12: He Thong Dieu Khien LED Ma Tran

C. HỆ THỐNG ĐIỀU KHIỂN LED MA TRẬN. Bài 4: Chương trình điều khiển hiển thị chuỗi ký tự “WELCOME” màu đỏ trên LED ma trận dịch chuyển từ

phải sang trái (COL-RED được nối với Port1 có sử dụng bộ đệm đảo, ROW được nối với Port2).

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm. Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1.

1.2 Sơ đồ nguyên lý của hệ thống: Sơ đồ nguyên lý của hệ thống tương tự như Bài 1.

1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.

DELAYLED(XEM CTC NÀY TẠI VÍ DỤ B3.1 MBI)

VÙNG DỮ LIỆU HIỂN THỊ CODEDISP81H,7FH,87H,7FH,81H,FFH ;CHỮ W01H,6DH,6DH,6DH,7DH,FFH ;CHỮ E01H,7FH,7FH,7FH,7FH,FFH ;CHỮ L83H,7DH,7DH,7DH,BBH,FFH ;CHỮ C83H,7DH,7DH,7DH,83H,FFH ;CHỮ O01H,FBH,F7H,FBH,01H,FFH ;CHỮ M01H,6DH,6DH,6DH,7DH,FFH ;CHỮ E

NẠP ĐỊA CHỈ VÙNG MÃ(DPTR) = CODEDISP

BEGIN

GỌI CTC QUÉT LED MA TRẬNSCANMATRIXSTA

MAIN:

C4

NẠP THỜI GIAN HIỂN THỊ 1 TRẠNG THÁI(R0) = 20 - SỐ LẦN QUÉT/TỐC ĐỘ DỊCH

MP1:

Đ

S

GIÃM SỐ LẦN QUÉT - HIỂN THỊ

SỐ LẦN QUÉT ≠ 0

(CHƯA QUÉT XONG)

DỊCH ĐỊA CHỈ VÙNG MÃ ĐI MỘT CỘT MÀN HÌNH LED (1 VỊ TRÍ)

(DPTR) = (DPTR) + 1

MP2:

Đ

S

CHƯA HẾT VÙNG MÃCODEDISP+42)

SCANMATRIXSTA(XEM CTC NÀY TẠI VÍ DỤ C1.2)

;*************************************************** ;CHUONG TRINH HIEN THI CHUOI KY TU WELLCOME LAN LUOT TREN MA TRAN LED ;*************************************************** ;ROW -> PORT2, RED COLUMN -> PORT1 (CO DEM DAO) ;PHUONG PHAP: QUET COT (ACT = 1) - HIEN THI HANG (ACT = 0) ;*************************************************** ORG 00H MAIN: MOV DPTR,#CODEDISP ;NAP DIA CHI VUNG MA HIEN THI MP1: MOV R0,#20 ;BIEN LAP - THOI GIAN CUA 1 TRANG THAI MAN HINH LED MP2: LCALL SCANMATRIXSTA ;HIEN THI DU LIEU DJNZ R0,MP2 INC DPTR ;DICH CHUOI DI MOT MA KY TU MOV A,DPL CJNE A,#LOW(CODEDISP+42),MP1 ;KIEM TRA HIEN THI XONG CHUOI SJMP MAIN ;SO MA KY TU CUA CHUOI = 7 KY TU * 6 MA = 42 MA KY TU ;*************************************************** ;CTC QUET MA TRAN 8 X 8. ;*************************************************** ;NAME: SCANMATRIXSTA. ;OUTPUT: P1 = COLUMN MATRIX (NOT BUFFER). ; P2 = ROW MATRIX. ;INPUT: DPTR = VUNG NHO CHUA DU LIEU HIEN THI. ;MODE: STATIC DISP, SCAN COLUMN (ACT = 1) - DISPLAY ROW (ACT = 0). ;*************************************************** SCANMATRIXSTA: PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH 00H PUSH 01H MOV R0,#00H ;VI TRI CUA DU LIEU COT DAU TIEN TRONG VUNG MA MOV R1,#01H ;MA QUET COT DAU TIEN SCAN: MOV A,R0 MOVC A,@A+DPTR ;LAY MA HIEN THI TRONG VUNG MA THEO VI TRI MOV P2,A ;XUAT MA HIEN THI RA HANG

Page 13: He Thong Dieu Khien LED Ma Tran

C. HỆ THỐNG ĐIỀU KHIỂN LED MA TRẬN. Bài 4: Chương trình điều khiển hiển thị chuỗi ký tự “WELCOME” màu đỏ trên LED ma trận dịch chuyển từ

phải sang trái (COL-RED được nối với Port1 có sử dụng bộ đệm đảo, ROW được nối với Port2).

MOV P1,R1 ;XUAT MA QUET RA COT LCALL DELAYLED MOV P1,#00H ;CHONG LEM INC R0 ;LAY DU LIEU KE TIEP MOV A,R1 ;DICH MA QUET - MA QUET CHO COT KE TIEP RL A MOV R1,A CJNE R0,#08H,SCAN ;KIEM TRA QUET XONG CAC COT (MA TRAN GOM 8 COT) POP 01H ;PHUC HOI GIA TRI CHO CAC THANH GHI POP 00H POP ACC RET ;*************************************************** DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS PUSH 00H PUSH 01H MOV R1,#5 DEL: MOV R0,#250 DJNZ R0,$ DJNZ R1,DEL POP 01H POP 00H RET ;*************************************************** CODEDISP: DB 81H,7FH,87H,7FH,81H,0FFH ;CHU W DB 01H,6DH,6DH,6DH,7DH,0FFH ;CHU E DB 01H,7FH,7FH,7FH,7FH,0FFH ;CHU L DB 83H,7DH,7DH,7DH,0BBH,0FFH ;CHU C DB 83H,7DH,7DH,7DH,83H,0FFH ;CHU O DB 01H,0FBH,0F7H,0FBH,01H,0FFH ;CHU M DB 01H,6DH,6DH,6DH,7DH,0FFH ;CHU E END

1.4 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên.

2 Bài tập: Bài 1: Hãy viết chương trình điều khiển hiển thị chuỗi ký tự “KHOA DIEN TU” màu xanh dịch chuyển từ

phải sang trái trên LED ma trận (COL-GRE được nối với Port1, ROW được nối với Port2). Bài 2: Hãy viết chương trình điều khiển hiển thị chuỗi ký tự “TRUONG DAI HOC CONG NGHIEP TP

HO CHI MINH – KHOA DIEN TU” màu đỏ dịch chuyển từ phải sang trái trên LED ma trận (COL-RED được nối với Port1, ROW được nối với Port2).

Bài 3: Hãy viết chương trình điều khiển hiển thị tương tự như bài tập 1 và 2 nhưng màu của ma trận LED sẽ thay đổi liên tục ĐỎ – XANH – VÀNG sau mỗi một giây đồng hồ.

Bài 4: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.