1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Vi Mạch MCS 51 - Ứng Dụng Thực Tế part 20 doc

9 208 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 436,19 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

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)

;***************************************************

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.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ị 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

Trang 2

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ự “WELLCOME” 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 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 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

MOV A , DPL

CJNE A ,#LOW(CODEDISP+48),MP1 ;KIEM TRA HIEN THI XONG CHUOI

;***************************************************

;CTC QUET MA TRAN 8 X 8

;***************************************************

;NAME: SCANMATRIXSTA

;OUTPUT: P1 = COLUMN MATRIX (NOT BUFFER)

;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

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

;***************************************************

Trang 3

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ự “WELLCOME” 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)

CODEDISP:

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ị 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

Trang 4

TRUNG 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 5

D HỆ THỐNG ĐIỀU KHIỂN BÀN PHÍM

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 các thiết bị ngoại vi bằng bàn phím (bàn phím thiết kế theo kiểu ma trận)

• Trình bày kỹ thuật quét phím cho dạng bàn phím ma trận 16 phím (4 hàng x 4 cột)

• Trình bày một số ứng dụng trong kỹ thuật điều khiển bàn phím

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 bàn phím ma trận

• Nắm được sơ đồ và nguyên lý hoạt động của khối bàn phím ma trận trên mô hình thí nghiệm

• Nắm được nguyên lý và kỹ thuật quét phím cho các dạng bàn phím ma trận

• Biết cách viết các chương trình ứng dụng có sử dụng bàn phím ma trận để điều khiển các thiết bị ngoại vi khác nhau

Trang 6

D HỆ THỐNG ĐIỀU KHIỂN BÀN PHÍM

Bài 1: Chương trình điều khiển bàn phím và hiển thị mã của phím nhấn trên 8 LED dưới dạng số

BIN (LED sáng = mức 1, LED tắt = mức 0), không phím nào được nhấn thì mã phím là FFH (KEYPAD được nối với Port0, LED được nối với Port1)

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 J11 (BAR LED 1) ở khối dãy LED

• Dùng dây bus 8 nối J63 (PORT0 / DATA) ở khối vi điều khiển với J15 (KEYBOARD) ở khối phím ma tr?n

• Dùng dây bus 3 nối J103 (POWER) ở khối dãy LED 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

;***************************************************

;CHUONG TRINH DIEU KHIEN BAN PHIM MA TRAN 4 X 4

;***************************************************

;KET NOI: LED -> PORT1 (CO DEM DAO), KEYPAD -> PORT0

;***************************************************

ORG 00H

MAIN:

LCALL SCANKEYPAD ;QUET KEYPAD

JC MP1 ;KIEM TRA CO NHAN PHIM (C = 1)

MOV A ,#0FFH ;KHONG NHAN PHIM A = FFH

MOV P1 , A ;XUAT MA PHIM RA LED HIEN THI DANG SO BIN

;***************************************************

SCANKEYPAD: ;CTC QUET BAN PHIM MA TRAN 4 X 4, CO CHONG DOI

PUSH 03H

MOV R3 ,#50 ;SO LAN LAP DE CHONG DOI

BACK:

ACALL GETKEY ;GOI CTC QUET PHIM

JNC NOPRESSED ;C = 0 -> THOAT KHI KHONG CO PHIM NHAN

DJNZ R3 ,BACK ;C = 1 -> CO PHIM NHAN, GIAM SO LAN LAP DE CHONG DOI

NOPRESSED:

POP 03H

RET

;***************************************************

GETKEY:

PUSH 05H

PUSH 06H

PUSH 07H

MOV A ,#0EFH ;BAT DAU TAI COT 0

MOV R6 ,#4 ;R6 LAM BO DEM COT

TEST:

MOV P0 , A ;TICH CUC COT

MOV A , P0 ;DOC LAI TU PORT 1

ANL A ,#0FH ;CACH LY CAC HANG

CJNE A ,#0FH,KEYPRESSED ;HANG TICH CUC ?

MOV A , R7 ;N -> DI CHUYEN TOI

Trang 7

D HỆ THỐNG ĐIỀU KHIỂN BÀN PHÍM

Bài 1: Chương trình điều khiển bàn phím và hiển thị mã của phím nhấn trên 8 LED dưới dạng số

BIN (LED sáng = mức 1, LED tắt = mức 0), không phím nào được nhấn thì mã phím là FFH (KEYPAD được nối với Port0, LED được nối với Port1)

DJNZ R6 ,TEST

CLR C ;KHONG CO PHIM DUOC NHAN HAY NHAN NHIEU PHIM CUNG LUC

KEYPRESSED:

MOV R7 , A ;LUU TRONG R7

MOV A ,#4 ;CHUAN BI TINH

SUBB A , R6 ;4 - R6 = TRONG SO

MOV R6 , A ;LUU TRONG R6

MOV A , R7 ;PHUC HOI MA QUET

MOV R5 ,#4 ;DUNG R5 LAM BO DEM

AGAIN:

JNC DONE ;THUC THI XONG KHI C = 0

INC R6 ;CONG 4 CHO DEN KHI TIM THAY HANG TICH CUC

INC R6

INC R6

INC R6

DJNZ R5 ,AGAIN

DONE:

SETB C ;CO PHIM NHAN -> C = 1

EXIT:

POP 07H

POP 06H

POP 05H

RET

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 và hiển thị mã của phím nhấn trên LED 7 đoạn Tự lựa chọn phương pháp kết nối bàn phím và LED 7 đoạn

• Bài 2: Hãy viết chương trình điều khiển và hiển thị mã của phím nhấn trên LED ma trận Tự lựa chọn phương pháp kết nối bàn phím và LED ma trận

• Bài 3: Hãy viết chương trình điều khiển và hiển thị tên của phím nhấn trên LED 7 đoạn Tự lựa chọn phương pháp kết nối bàn phím và LED 7 đoạn

• Bài 4: Hãy viết chương trình điều khiển và hiển thị tên của phím nhấn trên LED ma trận Tự lựa chọn phương pháp kết nối bàn phím và LED ma trận

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

Trang 8

D HỆ THỐNG ĐIỀU KHIỂN BÀN PHÍM

Bài 2: Chương trình điều khiển bàn phím và biểu diễn các kiểu hiển thị trên tám LED thông qua các phím

được nhấn (KEYPAD được nối với Port0, LED được nối với Port1):

Nhấn phím “1”: 8 LED sáng tắt 3 lần

Nhấn phím “2”: 8 LED sáng dần và tắt dần

Nhấn phím “3”: 8 LED đếm lên nhị phân

Nhấn phím “ESC”: 8 LED sáng dồn

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 DIEU KHIEN LED HIEN THI CAC KIEU KHAC NHAU KHI

;TA NHAN CAC PHIM TREN BAN PHIM MA TRAN 4 X 4

;***************************************************

;KET NOI: LED -> PORT1 (CO DEM DAO), KEYPAD -> PORT0

;***************************************************

ORG 00H

MAIN:

LCALL SCANKEYPAD ;QUET KEYPAD

CJNE A ,#0CH,NEXT1 ;KHONG PHAI PHIM F1 -> KIEM TIEP

LCALL CHOPTAT ;PHIM F1 DUOC NHAN -> CHAY CHUONG TRINH CON TUONG UNG

NEXT1:

CJNE A ,#08H,NEXT2 ;KHONG PHAI PHIM F2 -> KIEM TIEP

LCALL SANGDAN ;PHIM F2 DUOC NHAN -> CHAY CHUONG TRINH CON TUONG UNG

NEXT2:

CJNE A ,#04H,NEXT3 ;KHONG PHAI PHIM F3 -> KIEM TIEP

LCALL DEMLEN ;PHIM F3 DUOC NHAN -> CHAY CHUONG TRINH CON TUONG UNG

NEXT3:

CJNE A ,#00H,NEXT4 ;KHONG PHAI PHIM F4 -> KIEM TIEP

LCALL SANGDON ;PHIM F4 DUOC NHAN -> CHAY CHUONG TRINH CON TUONG UNG

NEXT4:

;***************************************************

SCANKEYPAD: ;CTC QUET BAN PHIM MA TRAN 4 X 4, CO CHONG DOI

PUSH 03H

MOV R3 ,#50 ;SO LAN LAP DE CHONG DOI

BACK:

ACALL GETKEY ;GOI CTC QUET PHIM

JNC NOPRESSED ;C = 0 -> THOAT KHI KHONG CO PHIM NHAN

DJNZ R3 ,BACK ;C = 1 -> CO PHIM NHAN, GIAM SO LAN LAP DE CHONG DOI

NOPRESSED:

POP 03H

RET

;***************************************************

GETKEY:

PUSH 05H

PUSH 06H

PUSH 07H

MOV A ,#0EFH ;BAT DAU TAI COT 0

MOV R6 ,#4 ;R6 LAM BO DEM COT

TEST:

MOV P0 , A ;TICH CUC COT

MOV A , P0 ;DOC LAI TU PORT 1

ANL A ,#0FH ;CACH LY CAC HANG

CJNE A ,#0FH,KEYPRESSED ;HANG TICH CUC ?

MOV A , R7 ;N -> DI CHUYEN TOI

DJNZ R6 ,TEST

CLR C ;KHONG CO PHIM DUOC NHAN HAY NHAN NHIEU PHIM CUNG LUC

KEYPRESSED:

MOV R7 , A ;LUU TRONG R7

MOV A ,#4 ;CHUAN BI TINH

SUBB A , R6 ;4 - R6 = TRONG SO

Trang 9

D HỆ THỐNG ĐIỀU KHIỂN BÀN PHÍM

Bài 2: Chương trình điều khiển bàn phím và biểu diễn các kiểu hiển thị trên tám LED thông qua các phím

được nhấn (KEYPAD được nối với Port0, LED được nối với Port1):

Nhấn phím “1”: 8 LED sáng tắt 3 lần

Nhấn phím “2”: 8 LED sáng dần và tắt dần

Nhấn phím “3”: 8 LED đếm lên nhị phân

Nhấn phím “ESC”: 8 LED sáng dồn

MOV R6 , A ;LUU TRONG R6

MOV A , R7 ;PHUC HOI MA QUET

MOV R5 ,#4 ;DUNG R5 LAM BO DEM

AGAIN:

JNC DONE ;THUC THI XONG KHI C = 0

INC R6 ;CONG 4 CHO DEN KHI TIM THAY HANG TICH CUC

INC R6

INC R6

INC R6

DJNZ R5 ,AGAIN

DONE:

SETB C ;CO PHIM NHAN -> C = 1

EXIT:

POP 07H

POP 06H

POP 05H

RET

;***************************************************

CHOPTAT: ;CTC DIEU KHIEN 8 LED SANG TAT

MOV P1 ,#0FFH ;LED SANG

LCALL DELAY500MS

MOV P1 ,#00H ;LED TAT

LCALL DELAY500MS

MOV P1 ,#0FFH ;LED SANG

LCALL DELAY500MS

MOV P1 ,#00H ;LED TAT

LCALL DELAY500MS

MOV P1 ,#0FFH ;LED SANG

LCALL DELAY500MS

MOV P1 ,#00H ;LED TAT

LCALL DELAY500MS

RET

;***************************************************

DEMLEN: ;CTC DIEU KHIEN 8 LED DEM LEN NHI PHAN

PUSH ACC

LCALL DELAY500MS

DL:

MOV P1 , A

LCALL DELAY500MS

CJNE A ,#00H,DL ;KIEM TRA DEM LEN HOAN TAT

POP ACC

RET

;***************************************************

SANGDAN: ;CTC DIEU KHIEN 8 LED SANG DAN VA TAT DAN

PUSH ACC

MOV A ,#00H ;KHOI DONG GIA TRI BAN DAU

SD1:

MOV P1 , A ;HIEN THI

LCALL DELAY500MS

RLC A ;DICH BIT 1 SANG TRAI KEM C, SANG DAN

JNC SD1 ;CHUA SANG HET THI LAM TIEP

SD2:

MOV P1 , A ;HIEN THI

LCALL DELAY500MS

RLC A ;DICH BIT 1 SANG TRAI KEM C, TAT DAN

JC SD2 ;CHUA TAT HET THI LAM TIEP

POP ACC

RET

Ngày đăng: 09/07/2014, 23:20

TỪ KHÓA LIÊN QUAN