Tải bản đầy đủ (.docx) (54 trang)

Đồ Án Môn Học - Giao Tiếp Vi Điều Khiển Với Phím Đơn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (465.99 KB, 54 trang )

ĐỒ ÁN MÔN HỌC
ĐỀ TÀI: GIAO TIẾP VI ĐIỀU KHIỂN VỚI PHÍM ĐƠN






MỤC LỤC
THIẾT KẾ HỆ THỐNG VỚI VĐK 1

GVHD :
LP : ĐH ĐT 3A
KHOA : ĐIN T-VIỄN THÔNG
THÀNH VIÊN : NHM 1
1.

Hà Nội – 05/2014
I. CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN PHÍM ĐƠN…………………………….3
1.Phương pháp ghép nối phím đơn mức tích cực âm.
2.Phương pháp ghép nối phím đơn mức tích cực dương.
II. CẤU TRÚC CHƯƠNG TRÌNH VÀ CÁC LỆNH DÙNG ĐIỀU KHIỂN PHÍM
ĐƠN………………………………………………………………………………4
1.Giải thuật chương trình điều khiển phím đơn.
2.Các lệnh điều khiển phím đơn.
2.1. Cấu trúc chương trình và cách dùng lệnh với phím đơn mức tích
cực 0.
2.2. Cấu trúc chương trình và cách dùng lệnh với phím đơn mức tích
cực 1.
III. MÔ PHỎNG GIAO TIẾP VĐK VỚI PHÍM ĐƠN VÀ LED ĐƠN 11
1. Ghép nối 8 phím đơn mức tích cực 0.


2. Ghép nối 8 phím đơn mức tích cực 1.
3. Ghép nối 4 phím đơn mức tích cực 0 và 4 phím mức tích cực 1.
IV. GIAO TIẾP VI ĐIỀU KHIỂN VỚI PHÍM ĐƠN VÀ LED 7 ĐOẠN………. 31
1. Ghép nối phím đơn mức tích cực 0.
2. Ghép nối phím đơn mức tích cực 1.
V. MỞ RỘNG PHÍM DÙNG IC151…………………………………………… 46
1. Sơ đồ chân và bảng trạng thái hoạt động của IC 74HC151.
2.Mô phỏng và chương trình.
I. CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN PHÍM ĐƠN.
THIẾT KẾ HỆ THỐNG VỚI VĐK 2
Có 2 phương pháp điều khiển phím đơn ghép nối với vi điều khiển ở mức
hoạt động khác nhau :
+ Mức tích cực âm.
+ Mức tích cực dương
1. Phương pháp ghép nối phím đơn mức tích cực 0.
2. Phương pháp ghép nối phím đơn mức tích cực 1.
THIẾT KẾ HỆ THỐNG VỚI VĐK 3
VCC
VCC
II. CẤU TRÚC CHƯƠNG TRÌNH VÀ LỆNH SỬ DÙNG ĐỂ ĐIỀU KHIỂN
PHÍM ĐƠN.
1. GIẢI THUẬT ĐIỀU KHIỂN PHÍM ĐƠN
Theo sơ đồ trên khi bắt đầu chương trình sẽ kiểm tra phím với chân kiểm tra là
chân của vi điều khiển. Chương trình sẽ liên tục kiểm tra khi nào có tín hiệu cho
phép thì thực hiện chương trình của phím đó. Sau khi thực hiện chương trình của
phím xong sẽ quay lại chương trình kiểm tra phím ban đầu.
2.CÁC LỆNH DÙNG ĐIỀU KHIỂN PHÍM ĐƠN.
Có 2 lệnh thường dùng trong điều khiển phím đơn :
+ Lệnh JNB Bit, Nhãn ( Lệnh nhảy tới Nhãn khi Bit = 0).
+ Lệnh JB Bit, Nhãn (Lệnh nhảy tới Nhãn khi Bit =1).

Tùy theo cách ghép nối giữa phím bấm với vi điều khiển mà chọn dùng lệnh nào.
THIẾT KẾ HỆ THỐNG VỚI VĐK 4
2.1. Cấu trúc chương trình và cách dùng lệnh với phím đơn mức tích cực 0.
Với ghép nối 4 phím mức tích cực âm như hình vẽ.
Cấu trúc chương trình dùng lệnh JNB:
ORG 00H
MOV P1,#0FFH ; THIET LAP P1
MAIN:
JNB P1.0,CT_1
JNB P1.1,CT_2
JNB P1.2,CT_3
JNB P1.3,CT_4
JMP MAIN
;
CT_1:

JMP MAIN
THIẾT KẾ HỆ THỐNG VỚI VĐK 5
CT_2:

JMP MAIN
CT_3:

JMP MAIN
CT_4:

JMP MAIN
;
END
Đối với nhưng chương trình dài lệnh JNB/JB nhảy không đến nhãn yêu cầu thì ta

nên gọi chương trình con trong nhãn đó thay vì viết cả chương trình trong nhãn.
Ví dụ :
;
CT_1:
CALL CHUONG_TRINH_1
JMP MAIN
CT_2:
CALL CHUONG_TRINH_2
JMP MAIN
CT_3:
CALL CHUONG_TRINH_3
JMP MAIN
CT_4:
CALL CHUONG_TRINH_4
JMP MAIN
;
CHUONG_TRINH_1:
……
RET
CHUONG_TRINH_2:
……
RET
THIẾT KẾ HỆ THỐNG VỚI VĐK 6
CHUONG_TRINH_3:
……
RET
CHUONG_TRINH_4:
……
RET
;

END
Cấu trúc chương trình dùng lệnh JB
ORG 00H
MOV P1,#0FFH
MAIN:
JB P1.0,BUT_1
CALL CT_1
BUT_1:
JB P1.1,BUT_2
CALL CT_2
BUT_2:
JB P1.1,BUT_3
CALL CT_3
BUT_3:
JB P1.1,BUT_4
CALL CT_4
BUT_4:
JMP MAIN
;
CT_1:

RET
CT_2:

RET
THIẾT KẾ HỆ THỐNG VỚI VĐK 7
CT_3:

RET
CT_4:


RET
;
END

2.2. Cấu trúc chương trình và cách dùng lệnh với phím đơn mức tích cực 1.
Với ghép nối như hình vẽ mức tích cực của phím là mức 1:
THIẾT KẾ HỆ THỐNG VỚI VĐK 8
Cấu trúc chương trình dùng lệnh JB.
ORG 00H
MOV P1,#00H ; THIET LAP P1
MAIN:
JB P1.0,CT_1
JB P1.1,CT_2
JB P1.2,CT_3
JB P1.3,CT_4
JP MAIN
;
CT_1:

JMP MAIN
CT_2:

JMP MAIN
CT_3:

JMP MAIN
CT_4:

JMP MAIN

;
END
Phần xư lý chương trình dài thì cấu trúc như trên đã trình bày.
Cấu trúc chương trình dùng lệnh JNB
ORG 00H
MOV P1,#0FFH
MAIN:
JNB P1.0,BUT_1
THIẾT KẾ HỆ THỐNG VỚI VĐK 9
CALL CT_1
BUT_1:
JNB P1.1,BUT_2
CALL CT_2
BUT_2:
JNB P1.1,BUT_3
CALL CT_3
BUT_3:
JNB P1.1,BUT_4
CALL CT_4
BUT_4:
JMP MAIN
;
CT_1:

RET
CT_2:

RET
CT_3:


RET
CT_4:

RET
;
END
THIẾT KẾ HỆ THỐNG VỚI VĐK 10
III. MÔ PHỎNG GIAO TIẾP VĐK VỚI PHÍM ĐƠN VÀ LED ĐƠN.
1.Kết nối 8 phím đơn được với port P1 với mức tích cực 0 và 8 led đơn được
kết nối với port P2.
Code dùng lệnh JNB.
ORG 00H
MOV P1,#0FFH
MOV P2,#0FFH
MAIN:
JNB P1.0,BUT_1
JNB P1.1,BUT_2
JNB P1.2,BUT_3
JNB P1.3,BUT_4
JNB P1.4,BUT_5
JNB P1.5,BUT_6
JNB P1.6,BUT_7
THIẾT KẾ HỆ THỐNG VỚI VĐK 11
JNB P1.7,BUT_8
JMP MAIN
;
BUT_1:
LCALL LED_1
LJMP MAIN
BUT_2:

LCALL LED_2
LJMP MAIN
BUT_3:
LCALL LED_3
LJMP MAIN
BUT_4:
LCALL LED_4
LJMP MAIN
BUT_5:
LCALL LED_5
LJMP MAIN
BUT_6:
LCALL LED_6
LJMP MAIN
BUT_7:
LCALL LED_7
LJMP MAIN
BUT_8:
LCALL LED_8
LJMP MAIN
; CAC CHUONG TRINH HIEN THI
LED_1:
MOV A,#11111110B
BACK_1:
MOV P2,A
CALL DELAY
THIẾT KẾ HỆ THỐNG VỚI VĐK 12
RL A
CJNE A,#11111110B,BACK_1
MOV P2,#0FFH

RET
;
LED_2:
MOV A,#01111111B
BACK_2:
MOV P2,A
CALL DELAY
RR A
CJNE A,#01111111B,BACK_2
MOV P2,#0FFH
RET
;
LED_3:
MOV A,#0FFH
BACK_3:
CLR C
RLC A
MOV P2,A
CALL DELAY
CJNE A,#00H,BACK_3
MOV P2,#0FFH
RET
;
LED_4:
MOV A,#0FFH
BACK_4:
CLR C
RRC A
MOV P2,A
CALL DELAY

THIẾT KẾ HỆ THỐNG VỚI VĐK 13
CJNE A,#00H,BACK_4
MOV P2,#0FFH
RET
;
LED_5:
MOV DPTR,#MALED
MOV R1,#0
BACK_5:
MOV A,R1
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY
INC R1
CJNE R1,#30,BACK_5
MOV P2,#0FFH
RET
;
LED_6:
MOV R1,#01111111B
MOV R2,#11111110B
BACK_6:
MOV A,R1
ANL A,R2
MOV P2,A
CALL DELAY
MOV A,R1
RR A
MOV R1,A
MOV A,R2

RL A
MOV R2,A
CJNE R2,#11101111B,BACK_6
MOV P2,#0FFH
THIẾT KẾ HỆ THỐNG VỚI VĐK 14
RET
;
LED_7:
MOV R1,#11110111B
MOV R2,#11101111B
BACK_7:
MOV A,R1
ANL A,R2
MOV P2,A
CALL DELAY
MOV A,R1
RR A
MOV R1,A
MOV A,R2
RL A
MOV R2,A
CJNE R2,#11111110B,BACK_7
MOV P2,#0FFH
RET
;
LED_8:
MOV R1,#0FFH
MOV R2,#0FFH
BACK_8:
MOV A,R1

ANL A,R2
SWAP A
MOV P2,A
CALL DELAY
MOV A,R1
CLR C
RRC A
MOV R1,A
THIẾT KẾ HỆ THỐNG VỚI VĐK 15
MOV A,R2
CLR C
RLC A
MOV R2,A
CJNE R2,#11100000B,BACK_8
MOV P2,#0FFH
RET
;
DELAY:
PUSH 02
PUSH 01
MOV R1,#200
STOP:
MOV R2,#200
STOP_1:
DJNZ R2,STOP_1
DJNZ R1,STOP
POP 01
POP 02
RET
;

MALED:
DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7EH
DB 7DH,7BH,77H,6FH,5FH,3EH,3DH,3BH
DB 37H,2FH,1EH,1DH,1BH,17H,0EH,0DH
DB 0BH,6H,5H,2H,1H,0H
END
Code dùng lệnh JB.
ORG 00H
MOV P1,#0FFH
MOV P2,#0FFH
MAIN:
THIẾT KẾ HỆ THỐNG VỚI VĐK 16
JB P1.0,BUT_1
CALL LED_1
BUT_1:
JB P1.1,BUT_2
CALL LED_2
BUT_2:
JB P1.2,BUT_3
CALL LED_3
BUT_3:
JB P1.3,BUT_4
CALL LED_4
BUT_4:
JB P1.4,BUT_5
CALL LED_5
BUT_5:
JB P1.5,BUT_6
CALL LED_6
BUT_6:

JB P1.6,BUT_7
CALL LED_7
BUT_7:
JB P1.7,BUT_8
CALL LED_8
BUT_8:
JMP MAIN
; CAC CHUONG TRINH HIEN THI

END
THIẾT KẾ HỆ THỐNG VỚI VĐK 17
2.Kết nối 8 phím đơn được với port P1 với mức tích cực 1 và 8 led đơn được
kết nối với port P2.
Code dùng lệnh JB:
ORG 00H
MOV P1,#00H
MOV P2,#0FFH
MAIN:
JB P1.0,BUT_1
JB P1.1,BUT_2
JB P1.2,BUT_3
JB P1.3,BUT_4
JB P1.4,BUT_5
JB P1.5,BUT_6
THIẾT KẾ HỆ THỐNG VỚI VĐK 18
JB P1.6,BUT_7
JB P1.7,BUT_8
JMP MAIN
;
BUT_1:

LCALL LED_1
LJMP MAIN
BUT_2:
LCALL LED_2
LJMP MAIN
BUT_3:
LCALL LED_3
LJMP MAIN
BUT_4:
LCALL LED_4
LJMP MAIN
BUT_5:
LCALL LED_5
LJMP MAIN
BUT_6:
LCALL LED_6
LJMP MAIN
BUT_7:
LCALL LED_7
LJMP MAIN
BUT_8:
LCALL LED_8
LJMP MAIN
; CAC CHUONG TRINH HIEN THI
LED_1:
MOV A,#11111110B
BACK_1:
MOV P2,A
THIẾT KẾ HỆ THỐNG VỚI VĐK 19
CALL DELAY

RL A
CJNE A,#11111110B,BACK_1
MOV P2,#0FFH
RET
;
LED_2:
MOV A,#01111111B
BACK_2:
MOV P2,A
CALL DELAY
RR A
CJNE A,#01111111B,BACK_2
MOV P2,#0FFH
RET
;
LED_3:
MOV A,#0FFH
BACK_3:
CLR C
RLC A
MOV P2,A
CALL DELAY
CJNE A,#00H,BACK_3
MOV P2,#0FFH
RET
;
LED_4:
MOV A,#0FFH
BACK_4:
CLR C

RRC A
MOV P2,A
THIẾT KẾ HỆ THỐNG VỚI VĐK 20
CALL DELAY
CJNE A,#00H,BACK_4
MOV P2,#0FFH
RET
;
LED_5:
MOV DPTR,#MALED
MOV R1,#0
BACK_5:
MOV A,R1
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY
INC R1
CJNE R1,#30,BACK_5
MOV P2,#0FFH
RET
;
LED_6:
MOV R1,#01111111B
MOV R2,#11111110B
BACK_6:
MOV A,R1
ANL A,R2
MOV P2,A
CALL DELAY
MOV A,R1

RR A
MOV R1,A
MOV A,R2
RL A
MOV R2,A
CJNE R2,#11101111B,BACK_6
THIẾT KẾ HỆ THỐNG VỚI VĐK 21
MOV P2,#0FFH
RET
;
LED_7:
MOV R1,#11110111B
MOV R2,#11101111B
BACK_7:
MOV A,R1
ANL A,R2
MOV P2,A
CALL DELAY
MOV A,R1
RR A
MOV R1,A
MOV A,R2
RL A
MOV R2,A
CJNE R2,#11111110B,BACK_7
MOV P2,#0FFH
RET
;
LED_8:
MOV R1,#0FFH

MOV R2,#0FFH
BACK_8:
MOV A,R1
ANL A,R2
SWAP A
MOV P2,A
CALL DELAY
MOV A,R1
CLR C
RRC A
THIẾT KẾ HỆ THỐNG VỚI VĐK 22
MOV R1,A
MOV A,R2
CLR C
RLC A
MOV R2,A
CJNE R2,#11100000B,BACK_8
MOV P2,#0FFH
RET
;
DELAY:
PUSH 02
PUSH 01
MOV R1,#200
STOP:
MOV R2,#200
STOP_1:
DJNZ R2,STOP_1
DJNZ R1,STOP
POP 01

POP 02
RET
;
MALED:
DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7EH
DB 7DH,7BH,77H,6FH,5FH,3EH,3DH,3BH
DB 37H,2FH,1EH,1DH,1BH,17H,0EH,0DH
DB 0BH,6H,5H,2H,1H,0H
END
Code dùng lệnh JNB
ORG 00H
MOV P1,#00H
MOV P2,#0FFH
MAIN:
THIẾT KẾ HỆ THỐNG VỚI VĐK 23
JNB P1.0,BUT_1
CALL LED_1
BUT_1:
JNB P1.1,BUT_2
CALL LED_2
BUT_2:
JNB P1.2,BUT_3
CALL LED_3
BUT_3:
JNB P1.3,BUT_4
CALL LED_4
BUT_4:
JNB P1.4,BUT_5
CALL LED_5
BUT_5:

JNB P1.5,BUT_6
CALL LED_6
BUT_6:
JNB P1.6,BUT_7
CALL LED_7
BUT_7:
JNB P1.7,BUT_8
CALL LED_8
BUT_8:
JMP MAIN
; CAC CHUONG TRINH HIEN THI

END
THIẾT KẾ HỆ THỐNG VỚI VĐK 24
3. Kết nối 8 phím đơn được với port P1 trong đó 4 phím đầu là mức tích cực
0,4 phím sau mức tích cực 1 và 8 led đơn được kết nối với port P2.
Code
ORG 00H
MOV P1,#0FH
MOV P2,#0FFH
MAIN:
JNB P1.0,BUT_1
JNB P1.1,BUT_2
JNB P1.2,BUT_3
JNB P1.3,BUT_4
THIẾT KẾ HỆ THỐNG VỚI VĐK 25

×