Tải bản đầy đủ (.pdf) (32 trang)

Vi điều khiển giao tiếp với phím nhấn- bàn phím

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 (963.02 KB, 32 trang )

Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: bàn phím nút nhấn 91
VI ĐIỀU KHIỂN GIAO TIẾP VỚI PHÍM NHẤN – BÀN PHÍM

PHÍM NHẤN, NÚT NHẤN, BÀN PHÍM DÙNG ĐỂ GIAO TIẾP GIỮA CON NGƯỜI VÀ THIẾT
BỊ ĐIỀU KHIỂN.
VÍ DỤ: BÀN PHÍM MÁY TÍNH, BÀN PHÍM ĐIỆN THOẠI, BÀN PHÍM MÁY BÁN XĂNG DẦU
DÙNG NHẬP SỐ TIỀN CẦN BÁN, SỐ LÍT CẦN BÁN, … MÁY GIẶT TỰ ĐỘNG CĨ BÀN
PHÍM ĐỂ CHỈNH CHẾ ĐỘ GIẶT, CHỌN MỰC NƯỚC, …
CĨ 2 DẠNG GIAO TIẾP:
HỆ THỐNG ÍT PHÍM: VÍ DỤ ĐK ĐỘNG CƠ BẰNG 3 PHÍM: START, STOP, INV, ĐỒNG HỒ
CĨ 3 ĐẾN 4 PHÍM ĐỂ CHỈNH THỜI GIAN.
HỆ THỐNG NHIỀU PHÍM: HỆ THỐNG BÁN XĂNG DẦU, …, MÁY TÍNH, ĐIỆN THOẠI,
 MẠCH ĐIỆN GIAO TIẾP – HỆ THỐNG ÍT PHÍM

HOẠT ĐỘNG CỦA PHÍM NHẤN:
SỬ DỤNG PHÍM THƯỜNG HỞ, NÊN CÁC NGÕ VÀO THƯỜNG Ở MỨC 1.
KHI NHẤN THÌ KÍN MẠCH HAY NGẮN MẠCH NỐI MASS LÀM NGÕ VÀO XUỐNG
MỨC 0 VÀ BUÔNG TAY – KHÔNG NHẤN NỮA THÌ TRỞ LẠI MỨC 1.
CHƯƠNG TRÌNH KIỂM TRA XEM CHÚNG TA CÓ NHẤN PHÍM HAY KHÔNG BẰNG
CÁCH KIỂM TRA MỨC LOGIC: NẾU MỨC LOGIC LÀ 1 THÌ KHÔNG NHẤN, LÀ 0 THÌ
CÓ NHẤN PHÍM THÌ TIẾN HÀNH XỬ LÝ THEO U CẦU.

Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: bàn phím nút nhấn 92
BÀI SỐ 5-1: CHƯƠNG TRÌNH ĐK ĐỘNG CƠ ĐC CHẠY THUẬN – NGỪNG CÓ 2 PHÍM
NHẤN: START, STOP
 NẾU ĐCƠ NGỪNG THÌ NHẤN START – ĐCƠ SẼ QUAY THUẬN
 NẾU ĐCƠ ĐANG QUAY MÀ NHẤN STOP THÌ ĐCƠ NGỪNG
 DÙNG 1 NGÕ RA ĐIỀU KHIỂN ĐC:


 VIẾT CHƯƠNG TRÌNH
;CHUONG TRINH DIEU KHIEN DONG CO QUAY THUAN NGHICH
START BIT P3.0 ;PHIM START NOI VOI P3.0
STOP BIT P3.1
DC1 BIT P1.0 ;XANH – DK DONG CO

ORG 0H
LB: CLR DC1 ;NGUNG DONG CO
JB START,$ ;CHO NHAN PHIM START
SETB DC1 ;DCO CHAY THUAN - XANH SANG
JB STOP,$ ;CHO NHAN STOP
JMP LB
$INCLUDE(TV_DELAY.ASM)
END

BÀI SỐ 5-2: CHƯƠNG TRÌNH ĐK ĐỘNG CƠ DC QUAY THUẬN NGHỊCH CÓ 3 PHÍM
NHẤN: START, STOP, INV
 NẾU ĐCƠ NGỪNG THÌ NHẤN START – ĐCƠ SẼ QUAY THUẬN
 NẾU ĐCƠ ĐANG QUAY MÀ NHẤN STOP THÌ ĐCƠ NGỪNG
 NẾU ĐCƠ ĐANG QUAY MÀ NHẤN INV THÌ ĐCƠ ĐẢO CHIỀU
 DÙNG 2 NGÕ RA ĐIỀU KHIỂN ĐÈN XANH ĐỎ:
 2 ĐÈN TẮT – ĐCƠ NGỪNG
 XANH SÁNG THÌ ĐCƠ QUAY THUẬN
 ĐỎ SÁNG THÌ ĐCƠ QUAY NGHỊCH

DC1 DC2 TRẠNG THÁI
0 0 ĐC NGỪNG - 2 ĐÈN TẮT CLR DC1, CLR DC2
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: bàn phím nút nhấn 93
1 0 ĐC QUAY THUẬN – XANH SÁNG, ĐỎ TẮT SETB DC1

0 1

 LƯU ĐỒ ĐIỀU KHIỂN
2 LED TẮT
START?
Đ
BEGIN
S
LED XANH SÁNG
STOP?
Đ
INV?
S
S
ĐẢO LED
BEGIN
STOP ?
Đ
S
ĐỘNG CƠ NGỪNG
START ?
ĐỘNG CƠ QUAY THUẬN
Đ
INV ?
END
S
S
Đ
ĐẢO CHIỀU ĐỘNG CƠ


1. Lệnh nhảy khi bit = 1 :
 Cú pháp : JB BIT, REL
 Chức năng: nếu nội dung của bit có đòa chỉ bit [được xác đònh bởi byte thứ 2] bằng 1 thì vi điều khiển
sẽ nhảy đến thực hiện chương trình tại đòa chỉ rel.
2. Lệnh nhảy khi bit = 0 :
 Cú pháp : JNB BIT, REL
 Chức năng: nếu nội dung của bit có đòa chỉ bit [được xác đònh bởi byte thứ 2] bằng 0 thì vi điều khiển
sẽ nhảy đến thực hiện chương trình tại đòa chỉ bằng rel.

Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: bàn phím nút nhấn 94


CHÚ Ý: KHI BẮT ĐẦU THÌ ĐỘNG CƠ NGỪNG – CHỈ CẦN KIỂM TRA XEM CÓ NHẤN START KHÔNG?
NẾU KHÔNG NHẤN THÌ CHỜ – KHÔNG CẦN KIỂM TRA STOP VÀ INV VÌ CHÚNG KHÔNG CÓ TÁC
DỤNG. KHI ĐỘNG CƠ ĐÃ QUAY THÌ KIỂM TRA LẦN LƯT CÁC PHÍM STOP VÀ INV.
CHUONG TRINH DIEU KHIEN DONG CO QUAY THUAN NGHICH
START BIT P3.0 ;PHIM START NOI VOI P3.0
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: bàn phím nút nhấn 95
STOP BIT P3.1
INV BIT P3.2
DC1 BIT P1.0 ;XANH – DK DONG CO
DC2 BIT P1.2 ;DO – DK DONG CO
ORG 0H
LB: CLR DC1 ;NGUNG DONG CO
CLR DC2
JB START,$ ;CHO NHAN PHIM START
SETB DC1 ;DCO CHAY THUAN - XANH SANG


LB2: JNB STOP,LB ;NEU NHAN THI NHAY VE NGUNG 2 DC
JB INV,LB2 ;NHAY VE LB2 KHI KHONG NHAN INV
CPL DC1 ;NGHICH DAO COMPLEMENT
CPL DC2
JMP LB2
$INCLUDE(TV_DELAY.ASM)
END

KHUYẾT ĐIỂM LÀ NHẤN PHÍM BỊ DỘI PHÍM VÀ TỐC ĐỘ XỬ LÝ
NGUYÊN NHÂN THỨ 1 – DỘI PHÍM: DO PHÍM LÀM BẰNG CƠ CẤU CƠ KHÍ NÊN KHI
NHẤN THÌ LÒ XO ĐẨY PHÍM NGƯC LẠI LỰC TÁC ĐỘNG LÀM PHÍM TIẾP XÚC
NHIỀU LẦN TRƯỚC KHI ỔN ĐỊNH VÀ
NGUYÊN NHÂN THỨ 2: DO TỐC ĐỘ CỦA VXL HOẶC VĐK NHANH NÊN XEM NHƯ TA
NHẤN NHIỀU LẦN.
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: bàn phím nút nhấn 96


PHẢI CHỐNG DỘI PHÍM:
CHỐNG DỘI PHÍM: CÓ 2 CÁCH:
1. KIỂM TRA TRẠNG THÁI CỦA PHÍM NẾU CHUYỂN TRẠNG THÁI VÀ TỒN TẠI
ÍT NHẤT KHOẢNG 20 MS THÌ XEM NHƯ CÓ PHÍM NHẤN.
2. SAU KHI PHÁT HIỆN PHÍM NHẤN, THÌ KIỂM TRA BUÔNG PHÍM HOẶC CÓ
THỂ DELAY 20MS RỒI KIỂM TRA VÀ CHỜ CHO ĐẾN KHI BUÔNG PHÍM
 LƯU ĐỒ CHỐNG DỘI
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: bàn phím nút nhấn 97
BEGIN
Đ
S

PHÍM ?
DELAY10MS
Đ
PHÍM ?
END
S
Đ
PHÍM ?
DELAY10MS
S


;CHUONG TRINH DIEU KHIEN DONG CO QUAY THUAN NGHICH – CO C DOI PHIM
START BIT P3.0
STOP BIT P3.1
INV BIT P3.2
DC1 BIT P1.0 ;XANH
DC2 BIT P1.2 ;DO
ORG 0000H
MOV P1,#00
LB: CLR DC1 ;NGUNG 2 DONG CO
CLR DC2
JB START,$ ;CHO NHAN PHIM START
SETB DC1 ;DCO CHAY THUAN - XANH SANG
LB2: JNB STOP,LB
LB1: CALL PHIM_INV ;GOI CHTR KIEM TRA VA CHONG DOI
JMP LB2
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXFFFFFF
PHIM_INV:JB INV,LBD1 ;KTRA LAN 1, NHAY NEU KHONG AN
CALL DELAY10MS

JB INV,LBD1 ;KTRA LAN 2, NHAY NEU KHONG AN
CALL DELAY10MS
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: bàn phím nút nhấn 98
JB INV,LBD1 ;KTRA LAN 3, NHAY NEU KHONG AN
CPL DC1 ;DAO CHIEU DONG CO
CPL DC2
JNB INV,$ ;CHO NHA PHIM
LBD1: RET ;THOAT
$INCLUDE(TV_DELAY.ASM)
END

CHỐNG DỘI CÁCH 2 LÀ NHẤN PHÍM THỰC THI XONG CHỜ BUÔNG PHÍM

;CHUONG TRINH ĐIỀU KHIỂN DCO TRONG THỰC TẾ CÓ DELAY CHỜ ĐỘNG CƠ
DỪNG
START BIT P3.4
STOP BIT P3.5
INV BIT P3.6
DC1 BIT P1.0 ;XANH
DC2 BIT P1.2 ;DO
DCT1 BIT 00H ;BIT TAM
DCT2 BIT 01H

ORG 0000H
LB: SETB DCT1 ;NGUNG 2 DONG CO
SETB DCT2
CALL OUTDCO

JB START,$ ;CHO NHAN PHIM START

CLR DCT1 ;DCO CHAY THUAN - XANH SANG
CALL OUTDCO

LB2: JB STOP,LB1
JMP LB ;NEU NHAN THI NHAY VE NGUNG 2 DC

LB1: JB INV,LB2
CALL DELAY10MS
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: bàn phím nút nhấn 99
JNB INV,$

SETB DC1
SETB DC2
CALL DELAY1S
CALL DELAY1S
CALL DELAY1S
CPL DCT1
CPL DCT2
CALL OUTDCO
JMP LB2

OUTDCO: MOV C,DCT1
MOV DC1,C
MOV C,DCT2
MOV DC2,C
RET
$INCLUDE(TV_DELAY.ASM)
END



HỆ THỐNG NHIỀU PHÍM - MA TRẬN PHÍM
 VỚI CÁCH 1 THÌ MỖI PHÍM SỬ DỤNG 1 NGÕ VÀO ĐỂ KẾT NỐI.
 16 PHÍM SẼ DÙNG 16 NGÕ VÀO – TỐN NHIỀU ĐƯỜNG TÍN HIỆU.
 VỚI CÁCH KẾT NỐI DẠNG MA TRẬN THÌ 16 PHÍM CHỈ DÙNG 8 TÍN HIỆU: 4
CHO HÀNG VÀ 4 CHO CỘT – GỌI LÀ MA TRẬN 4×4 = 16 PHÍM
 VÍ DỤ MA TRẬN 8×8 = 64 PHÍM
 ƯU ĐIỂM TIẾT KIỆM ĐƯỜNG ĐIỀU KHIỂN
 KHUYẾT ĐIỂM: CHƯƠNG TRÌNH PHỨC TẠP
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: bàn phím nút nhấn 100
H0=P3.4
C3=P3.3
C2=P3.2
C1=P3.1
C0=P3.0
0
4 8 C
1
2
3
5
6
7
V
CC
=1
0 1 1 1
H1=P3.5
H2=P3.6

H3=P3.7

TRONG MA TRẬN 4×4 THÌ CÓ 4 HÀNG VÀ 4 CỘT
HÀNG ĐƯC CHỌN LÀ TÍN HIỆU VÀO – CỘT ĐƯC CHỌN LÀ TÍN HIỆU RA
H0=P3.4
C3=P3.3
C2=P3.2
C1=P3.1
C0=P3.0
0
4 8 C
1
2
3
5
6
7
V
CC
=1
0 1 1 1
H1=P3.5
H2=P3.6
H3=P3.7

HÀNG THÌ TREO ĐIỆN TRỞ LÊN NGUỒN VCC – NÊN MỨC LOGIC LÀ 1
CÁC PHÍM NHẤN THƯỜNG HỞ NÊN HÀNG LUÔN Ở MỨC 1. H3H2H1H0 =1111
CỘT LÀ TÍN HIỆU RA CHÚNG TA ĐIỀU KHIỂN CHO 1 CỘT Ở MỨC 0, 3 CỘT CÒN LẠI
Ở MỨC 1.
VÍ DỤ CỘT C0 = 0, C1C2C3=111

Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: bàn phím nút nhấn 101
H0=P3.4
C3=P3.3
C2=P3.2
C1=P3.1
C0=P3.0
0
4 8 C
1
2
3
5
6
7
V
CC
=1
0 1 1 1
H1=P3.5
H2=P3.6
H3=P3.7

NẾU NHẤN PHÍM SỐ ‘0’ THÌ NỐI HÀNG H0=1(5V) VỚI C0=0 (0V): KHÁC ÁP – NGẮN
MẠCH LÀM CHO H0 = 0 – DO CÓ ĐIỆN TRỞ NÊN KHÔNG SAO, VẬY:
 NHẤN PHÍM SỐ ‘0’ THÌ LÀM H0=0 HAY H3H2H1H0 = 1110
 NHẤN PHÍM SỐ ‘1’ THÌ LÀM H1=0 HAY H3H2H1H0 = 1101
 NHẤN PHÍM SỐ ‘2’ THÌ LÀM H2=0 HAY H3H2H1H0 = 1011
 NHẤN PHÍM SỐ ‘3’ THÌ LÀM H3=0 HAY H3H2H1H0 = 0111
 NẾU NHẤN PHÍM SỐ ‘4’ THÌ NỐI HÀNG H0=1(5V) VỚI C1=1 (5V): CÙNG ÁP 5V:

KHÔNG CÓ GÌ THAY ĐỔI
CỘT C0=0 CHỈ PHÁT HIỆN 4 PHÍM ‘0’, ‘1’, ‘2’, ‘3’
NẾU KHÔNG NHẤN 4 PHÍM ‘0’, ‘1’, ‘2’, ‘3’ MÀ NHẤN CÁC PHÍM KHÁC THÌ TA PHẢI
LÀM C1 = 0, C0C2C3=111
H0=P3.4
C3=P3.3
C2=P3.2
C1=P3.1
C0=P3.0
0
4 8 C
1
2
3
5
6
7
V
CC
=1
0 1
1 1
H1=P3.5
H2=P3.6
H3=P3.7

 NHẤN PHÍM SỐ ‘4’ THÌ LÀM H0=0 HAY H3H2H1H0 = 1110
 NHẤN PHÍM SỐ ‘5’ THÌ LÀM H1=0 HAY H3H2H1H0 = 1101
 NHẤN PHÍM SỐ ‘6’ THÌ LÀM H2=0 HAY H3H2H1H0 = 1011
 NHẤN PHÍM SỐ ‘7’ THÌ LÀM H3=0 HAY H3H2H1H0 = 0111

LÀM C2 = 0, C0C1C3=111
Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú
Bộ môn điện tử công nghiệp bài giảng vi điều khiển: bàn phím nút nhấn 102
H0=P3.4
C3=P3.3
C2=P3.2
C1=P3.1
C0=P3.0
0
4 8 C
1
2
3
5
6
7
V
CC
=1
1
1
0
1
H1=P3.5
H2=P3.6
H3=P3.7

 NHẤN PHÍM SỐ ‘8’ THÌ LÀM H0=0 HAY H3H2H1H0 = 1110
 NHẤN PHÍM SỐ ‘9’ THÌ LÀM H1=0 HAY H3H2H1H0 = 1101
 NHẤN PHÍM SỐ ‘A’ THÌ LÀM H2=0 HAY H3H2H1H0 = 1011

 NHẤN PHÍM SỐ ‘B’ THÌ LÀM H3=0 HAY H3H2H1H0 = 0111
LÀM C3 = 0, C0C1C2=111
H0=P3.4
C3=P3.3
C2=P3.2
C1=P3.1
C0=P3.0
0
4 8 C
1
2
3
5
6
7
V
CC
=1
1
1
1
0
H1=P3.5
H2=P3.6
H3=P3.7

 NHẤN PHÍM SỐ ‘C’ THÌ LÀM H0=0 HAY H3H2H1H0 = 1110
 NHẤN PHÍM SỐ ‘D’ THÌ LÀM H1=0 HAY H3H2H1H0 = 1101
 NHẤN PHÍM SỐ ‘E’ THÌ LÀM H2=0 HAY H3H2H1H0 = 1011
 NHẤN PHÍM SỐ ‘F’ THÌ LÀM H3=0 HAY H3H2H1H0 = 0111


CÂU HỎI LÀM SAO ĐỂ PHÂN BIỆT CÁC PHÍM ?
CÂU TRẢ LỜI LÀ MỖI PHÍM CÓ MỘT MÃ SỐ HAY MÃ PHÍM (MP) KHÁC NHAU VÀ
CÓ 1 TÊN. CÁC CHƯƠNG TRÌNH DÙNG MÃ PHÍM ĐỂ ĐIỀU KHIỂN, CÒN TÊN TRÊN
PHÍM LÀ PHỤC VỤ CHO CON NGƯỜI.
CHÚNG TA XÂY DỰNG: PHÍM 0 CÓ MÃ LÀ 00H, PHÍM 1 CÓ MÃ LÀ 01, TƯƠNG TỰ
CHO CÁC PHÍM CÒN LẠI
CÓ THỂ TÊN PHÍM VÀ MÃ KHÔNG TRÙNG NHAU.

×