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.. Bài 1: Chương trình điều khiển hiển thị c
Trang 1B HỆ THỐNG ĐIỀU KHIỂN LED 7 ĐOẠN
(Ứng dụng điều khiển LED 7 đoạn tổng hợp)
Bài 5: Chương trình điều khiển hiển thị và dịch chuyển chuỗi ký tự “-HA-NOI-SAI-GON-“ trên tám LED từ
phải sang trái
DJNZ R1,DEL
POP 01H
POP 00H
RET
;***************************************************
CODEDISP: ;VUNG CHUA MA CHU HIEN THI
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;MA CHUOI XOA MAN HINH
DB 0BFH,89H,88H,0BFH,0C8H,0C0H,0F9H,0BFH ;MA CHUOI "-HA-NOI-"
DB 92H,88H,0F9H,0BFH,90H,0C0H,0C8H,0BFH ;MA CHUOI "SAI-GON-"
END
1.3 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ị và dịch chuyển chuỗi ký tự “-PEP-SI-“ trên tám LED từ phải sang trái Tự chọn lựa phương pháp kết nối LED 7 đoạn
• Bài 2: Hãy viết chương trình điều khiển hiển thị và dịch chuyển chuỗi ký tự “COCACOLA“ trên tám LED
từ trái sang phải Tự chọn lựa phương pháp kết nối LED 7 đoạn
• Bài 3: Hãy viết chương trình điều khiển hiển thị và dịch chuyển chuỗi ký tự “COMPUTER-CONTROLLER“ trên tám LED từ phải sang trái Tự chọn lựa phương pháp kết nối LED 7 đoạn
• Bài 4: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình
Trang 2TRUNG TÂM THÍ NGHIỆM THỰC HÀNH ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP TÀI LIỆU HƯỚNG DẪN
THÍ NGHIỆM - THỰC HÀNH
Trang 3C 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)
Trang 4C 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 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 dây bus 3 nối J116 (POWER) ở khối LED ma tr?n với nguồn +5V ở khối nguồn
1.2 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
;***************************************************
;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
Trang 5C 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)
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
• Cách 2:
;***************************************************
;CHUONG TRINH HIEN THI KY TU A TREN MA TRAN LED
;***************************************************
;ROW -> PORT2, RED COLUMN -> PORT1 (CO DEM DAO)
;PHUONG PHAP: QUET COT (ACT = 1) - HIEN THI HANG (ACT = 0)
;***************************************************
$MOD51
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
;***************************************************
;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 A,R1 ;DICH MA QUET - MA QUET CHO COT KE TIEP
RL A
MOV R1,A
CJNE R0,#8H,SCAN ;KIEM TRA QUET CAC COT (MA TRAN GOM 8 COT)
POP 01H ;PHUC HOI GIA TRI CHO CAC THANH GHI
POP 00H
Trang 6C 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)
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.3 Lưu chương trình và biên dịch chương trình
1.4 Kiểm tra lỗi và hiệu chỉnh lỗi nếu có
1.5 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.6 Nạp chương trình vào vi điều khiển
1.7 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.8 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
Trang 7C 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ữ S 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 Vẽ lưu đồ giải thuật và viết chương trình điều khiển
;***************************************************
;CHUONG TRINH HIEN THI KY TU A CHOP TAT 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
MOV R0,#50 ;BIEN LAP - THOI GIAN CUA 1 TRANG THAI MAN HINH LED
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 A,R1 ;DICH MA QUET - MA QUET CHO COT KE TIEP
RL A
MOV R1,A
CJNE R0,#8H,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
Trang 8C 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ữ S 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)
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.3 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ị 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
Trang 9C 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 Vẽ lưu đồ giải thuật và viết chương trình điều khiển
;***************************************************
;CHUONG TRINH HIEN THI CHUOI KY TU A,B,C,a,b,c 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:
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
LCALL DELAYLED
MOV A,R1 ;DICH MA QUET - MA QUET CHO COT KE TIEP
RL A
MOV R1,A
CJNE R0,#8H,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