Bài giảng Vi điều khiển - Bàn phím nút nhấn - Nguyễn Đình Phú

Tóm tắt Bài giảng Vi điều khiển - Bàn phím nút nhấn - Nguyễn Đình Phú: ...2H1H0 = 1110  NHAÁN PHÍM SOÁ ‘1’ THè LAỉM H1=0 HAY H3H2H1H0 = 1101  NHAÁN PHÍM SOÁ ‘2’ THè LAỉM H2=0 HAY H3H2H1H0 = 1011  NHAÁN PHÍM SOÁ ‘3’ THè LAỉM H3=0 HAY H3H2H1H0 = 0111  NEÁU NHAÁN PHÍM SOÁ ‘4’ THè NOÁI HAỉNG H0=1(5V) VễÙI C1=1 (5V): CUỉNG AÙP 5V: KHOÂNG COÙ Gè THAY ẹOÅI COÄT C...ESS16: MOV MP,#00 MOV DEM,#4 MOV C3C0,#11111110B ;C0=0, H3H2H1H0=1111 KEYP2: MOV P3,C3C0 ;P3.0= 0=C0 (OUT) MOV A,P3 ;P3=H3H2H1H0C3C2C1C0 (IN) ANL A,#0F0H ;(A)=H3H2H1H0-0000 SWAP A ;(A)= 0000 - H3H2H1H0 CJNE A,#00001111B,KEYP1 ;NHAY NEU CO NHAN PHIM MOV A,MP ;MP:=MP+4 ADD A,...3H MOV P2,#11101111B CALL DELAY1MS MOV P2,#0FFH MOV P0,32H MOV P2,#11011111B CALL DELAY1MS MOV P2,#0FFH MOV P0,31H MOV P2,#10111111B CALL DELAY1MS MOV P2,#0FFH MOV P0,30H MOV P2,#01111111B CALL DELAY1MS MOV P2,#0FFH RET $INCLUDE(TV_DELAY.ASM) ẹaùi ...

pdf30 trang | Chia sẻ: havih72 | Lượt xem: 206 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Vi điều khiển - Bàn phím nút nhấn - Nguyễn Đình Phú, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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 9 
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 
VCC=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 
VCC=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 10 
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 
VCC=1
11 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 
VCC=1
11 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 
12 
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 
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. 
VẬY KHI QUÉT PHÍM THÌ PHẢI TẠO RA MÃ PHÍM NHẤ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 11 
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 
VCC=1
0 1 1 1 
H1=P3.5 
H2=P3.6 
H3=P3.7 
QUÉT PHÍM XUẤT MỨC 0 LẦN LƯỢT RA CÁC CỘT BẮT ĐẦU TỪ CỘT C0, SAU ĐÓ 
KIỂM TRA CÁC HÀNG H3H2H1H0=1111. 
 NẾU H3H2H1H0=1111(ĐÚNG) THÌ KHÔNG NHẤN PHÍM – HOẶC NHẤN PHÍM 
KHÁC, PHẢI QUÉT CỘT TIẾP THEO CHO ĐẾN KHI HẾT TẤT CẢ CÁC CỘT. 
 NẾU H3H2H1H0 ≠ 1111(SAI) THÌ CÓ NHẤN PHÍM – PHẢI XEM HÀNG NÀO BẰNG 
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 12 
BEGIN
‘0’, ‘1’, ‘2’, ‘3’
MP:=00
C3C2C1C0=1110
END
S
Đ
H3H2H1H0=1111
MP:=04
C3C2C1C0=1101
‘4’, ‘5’, ‘6’, ‘7’
S
Đ
H3H2H1H0=1111
MP:=08
C3C2C1C0=1011
‘8’, ‘9’, ‘10’, ‘11’
S
Đ
H3H2H1H0=1111
MP:=12
C3C2C1C0=0111
‘12’, ‘13’, ‘14’, ‘15’
S
Đ
H3H2H1H0=1111
MP:=FFH 
H3H2H1H0=1110 LÀ ‘0’
H3H2H1H0=1101 LÀ ‘1’
H3H2H1H0=1011 LÀ ‘2’
H3H2H1H0=0111 LÀ ‘3’
H3H2H1H0=1110 LÀ ‘4’
H3H2H1H0=1101 LÀ ‘5’
H3H2H1H0=1011 LÀ ‘6’
H3H2H1H0=0111 LÀ ‘7’
H3H2H1H0=1110 LÀ ‘8’
H3H2H1H0=1101 LÀ ‘9’
H3H2H1H0=1011 LÀ ‘10’
H3H2H1H0=0111 LÀ ‘11’
H3H2H1H0=1110 LÀ ‘12’
H3H2H1H0=1101 LÀ ‘13’
H3H2H1H0=1011 LÀ ‘14’
H3H2H1H0=0111 LÀ ‘15’
MP=00
MP=04
MP=08
MP=12
XOAY PHẢI H3H2H1H0
C = 0
END
Đ
S
MP:= MP +1
S
NẾU KHÔNG CÓ NHẤN PHÍM THÌ THOÁT VỚI MÃ PHÍM = FFH 
 NẾU NHẤN PHÍM SỐ 0 
1 0
H3 H2 H1 H0
11 X
C
TRƯỚC KHI THỰC HIỆN
SAU KHI THỰC HIỆN
1 1
H3 H2 H1 H0
1x 0
C
NẾU NHẤN PHÍM SỐ 0 THÌ THỐT VỚI MP = 00H 
 NẾU NHẤN PHÍM SỐ 1, MÃ PHÍM XUẤT PHÁT: MP=00 
Đạ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 13 
0 1
H3 H2 H1 H0
11 X
C
TRƯỚC KHI THỰC HIỆN
XOAY LẦN 1, MP:=MP+1
1 0
H3 H2 H1 H0
1x 1
C
XOAY LẦN 2
1 1
H3 H2 H1 H0
xx 0
C
NẾU NHẤN PHÍM SỐ 1 THÌ THỐT VỚI MP = 01H 
 NẾU NHẤN PHÍM SỐ 7, MÃ PHÍM XUẤT PHÁT: MP=04 
1 1
H3 H2 H1 H0
10 X
C
TRƯỚC KHI THỰC HIỆN
XOAY LẦN 1, MP:=MP+1 = 05
1 1
H3 H2 H1 H0
0x 1
C
XOAY LẦN 2, MP:=MP+1 = 06
0 1
H3 H2 H1 H0
xx 1
C
XOAY LẦN 3, MP:=MP+1=07
x 0
H3 H2 H1 H0
xx 1
C
XOAY LẦN 4
x x
H3 H2 H1 H0
xx 0
C
NẾU NHẤN PHÍM SỐ 7 THÌ THỐT VỚI MP = 07H 
LƯU ĐỒ GỌN HƠ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 14 
S
KEYPAD
DEM:=4
MP:=0
C3C2C1C0 = 1110
H3H2H1H0 = 1111
Đ
MP:=MP+4
XOAY TRÁI C3C2C1C0 
DEM:= DEM -1
MP:=FF
END
XOAY PHẢI
C=0
DEM=0
MP:=MP+1
SĐ
Đ
S
BÀI SỐ 6-1: CTR QUÉT PHÍM MA TRẬN VÀ HIỂN THỊ TRÊN 1 LED 7 ĐOẠN 
 VIẾT CHƯƠNG TRÌNH 
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 
VCC=1
0 1 1 1 
H1=P3.5 
H2=P3.6 
H3=P3.7 
;CHUONG TRINH CON QUET MA TRAN PHIM 4×4 
;PORT 3 NOI VOI MA TRAN 4x4 
 DEM EQU 40H ;SO LAN QUET COT 
Đạ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 15 
 MP EQU 41H ;MAPHIM 
 C3C0 EQU 42H ;C3C2C1C0 
KEYPRESS16: MOV MP,#00 
 MOV DEM,#4 
 MOV C3C0,#11111110B ;C0=0, H3H2H1H0=1111 
KEYP2: MOV P3,C3C0 ;P3.0= 0=C0 (OUT) 
 MOV A,P3 ;P3=H3H2H1H0C3C2C1C0 (IN) 
 ANL A,#0F0H ;(A)=H3H2H1H0-0000 
 SWAP A ;(A)= 0000 - H3H2H1H0 
 CJNE A,#00001111B,KEYP1 ;NHAY NEU CO NHAN PHIM 
 MOV A,MP ;MP:=MP+4 
 ADD A,#4 
 MOV MP,A 
 MOV A,C3C0 ;ROTATE LEFT C3C0 
 RL A 
 MOV C3C0,A 
 DJNZ DEM,KEYP2 
 MOV MP,#0FFH ;THOAT KHONG NHAN PHIM 
 RET 
KEYP3: INC MP ;TANG MA PHIM 
KEYP1: RRC A ;XU LY PHIM NHAN 
 JC KEYP3 ;NHAY KHI C=1 
 RET 
BÀI SỐ 6-2: CTR TEST QUÉT PHÍM MA TRẬN VÀ HIỂN THỊ TRÊN 1 LED 7 ĐOẠN 
CHƯƠNG TRÌNH TEST QUÉT MA TRẬN PHÍM XEM ĐÚNG HAY SAI BẰNG CÁCH 
GỌI CHƯƠNG TRÌNH QUÉT PHÍM VÀ GIẢI MÃ HIỂN THỊ MÃ PHÍM TRÊN 1 LED 
7 ĐOẠN. 
 ORG 0H 
 MOV DPTR,#CODE7SEG 
Đạ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 16 
MAIN1: CALL KEYPRESS16 
 MOV A,MP 
 CJNE A,#0FFH,MAIN2 
 JMP MAIN1 
MAIN2: MOV P1,MP ;CHO HIEN THI O P1 
MOVC A,@A+DPTR 
 MOV P0,A 
 JMP MAIN1 
CODE7SEG: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H 
 DB 080H,090H,088H,083H,0C6H,0A1H,086H,08EH 
BÀI SỐ 6-3: CTR CON QUÉT PHÍM MA TRẬN 8×8 
NẾU LÀ MA TRẬN 8×8 THÌ LƯU ĐỒ THAY ĐỔI CÁI GÌ? 
S
KEYPAD
DEM:=8
MP:=0
C7÷C0 = 11111110
H7÷H0 = 11111111
Đ
MP:=MP+8
XOAY TRÁI C7÷C0 
DEM:= DEM -1
MP:=FF
END
XOAY PHẢI
C=0
DEM=0
MP:=MP+1
SĐ
Đ
S
;CHUONG TRINH CON QUET MA TRAN PHIM 8×8 
;HANG LA P3, COT LA P1 
Đạ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 17 
 DEM EQU 40H 
 MP EQU 41H 
 C7C0 EQU 42H ;C7=>C0 
KEYPRESS64: MOV MP,#00 
 MOV DEM,#8 
 MOV C7C0,# 11111110B ;C0=0 
KEYP2: MOV P1,C7C0 ;P1=C7C6C5C4 C3C2C1C0 
 MOV A,P3 ;(A)=H7H6H5H4 H3H2H1H0 
 CJNE A,#11111111B,KEYP1 ;NHAY NEU CO NHAN 
 MOV A,C7C0 ;ROTATE LEFT 
 RL A 
 MOV C7C0,A 
 MOV A,MP 
 ADD A,#8 
 MOV MP,A 
 DJNZ DEM,KEYP2 
 MOV MP,#0FFH ;THOAT KHONG NHAN PHIM 
 RET 
KEYP3: INC MP 
KEYP1: RRC A 
 JC KEYP3 
 RET 
$INCLUDE(TV_DELAY.ASM) 
 END 
BÀI SỐ 6-4: CTR CON QUÉT PHÍM MA TRẬN 5×4 
NẾU 20 PHÍM MA TRẬN 5×4 THÌ LƯU ĐỒ THAY ĐỔI CÁI GÌ? 5 HÀNG + 4 CỘT = 9 
ĐƯỜNG TÍN HIỆU NÊN KHÔNG DÙNG ĐƯỢC 1 PORT MÀ PHẢI DÙNG 2 PORT 
Đạ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 18 
F
KEYPAD
DEM:=4 (SỐ CỘT)
MP:=0
C3C2C1C0 = 1110
H4-H0 = 11111
TNO PRESS
 PRESSED
MP:=MP+ 5(SỐ HÀNG) 
XOAY TRÁI C3C2C1C0 
DEM:= DEM -1
T
F
MP:=FF
END
X PHẢI H4-H0
C=0
T
F
DEM=0
MP:=MP+1
;CHUONG TRINH CON QUET MA TRAN PHIM 5×4 
;HANG LA P3, COT LA P1 (5 HÀNG + 4 CỘT = 9) 
 DEM EQU 40H 
 MP EQU 41H 
 C3C0 EQU 42H ;C3=>C0 
KEYPRESS16: MOV MP,#00 
 MOV DEM,#4 
 MOV C3C0,# 1110B ;C0=0 
KEYP2: MOV P1,C3C0 ;P1=xxxx C3C2C1C0 
 MOV A,P3 ;(A)=XXX H4 H3H2H1H0 
 ANL A,#00011111B ;XOA CAC BIT DU 
 CJNE A,#00011111B,KEYP1 ;NHAY NEU CO NHAN 
 MOV A,C3C0 ;ROTATE LEFT 
 RL A 
Đạ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 19 
 MOV C3C0,A 
 MOV A,MP 
 ADD A,#5 
 MOV MP,A 
 DJNZ DEM,KEYP2 
 MOV MP,#0FFH ;THOAT KHONG NHAN PHIM 
 CLR C ;BAO HIEU KHONG NHAN 
 RET 
KEYP3: INC MP 
KEYP1: RRC A 
 JC KEYP3 
 SETB C ;BAO HIEU CO NHAN PHIM 
 RET 
$INCLUDE(TV_DELAY.ASM) 
 END 
BÀI SỐ 6-5: CTR CON QUÉT PHÍM MA TRẬN 4×4 BỊ DỘI PHÍM 
;CHUONG TRINH CON QUET MA TRAN PHIM 4×4 BỊ DỘI 
; CHTR QUET PHIM HIEN THI TREN 8 LED DE THAY HIEN TUONG DOI PHIM 
 ORG 0H 
 MOV DPTR,#CODE7SEG 
 CALL XOAVNHTHI 
MAIN1: CALL KEYPRESS16 
 MOV A,MP 
 CJNE A,#0FFH,MAIN2 ;SS VOI FFH, KHAC FFH THI CO NP 
 CALL HIENTHI ;NEU KNP THI HIEN THI 
 JMP MAIN1 ;QUAY LAI LAM TIEP 
MAIN2: CALL DICHDATA 
 MOVC A,@A+DPTR 
 MOV 37H,A ;(37H) SE LUU SO MOI NHAT 
 JMP MAIN1 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
Đạ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 20 
;CT CON DICH CHUYEN VUNG NHO HIEN THI TU 37H DEN 30H SANG TRAI 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
DICHDATA: 
MOV 30H,31H 
 MOV 31H,32H 
 MOV 32H,33H 
 MOV 33H,34H 
 MOV 34H,35H 
 MOV 35H,36H 
 MOV 36H,37H 
 RET 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
;CT CON XOA VUNG NHO HIEN THI TU 37H DEN 30H 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
XOAVNHTHI: 
MOV 37H,#07FH ;HIEN THI DAU CHAM 
 MOV 36H,#0FFH 
 MOV 35H,#0FFH 
 MOV 34H,#0FFH 
 MOV 33H,#0FFH 
 MOV 32H,#0FFH 
 MOV 31H,#0FFH 
 MOV 30H,#0FFH 
 RET 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
;CT CON HIEN THI 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
HIENTHI: MOV P0,37H 
 MOV P2,#11111110B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,36H 
 MOV P2,#11111101B 
Đạ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 21 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,35H 
 MOV P2,#11111011B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,34H 
 MOV P2,#11110111B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,33H 
 MOV P2,#11101111B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,32H 
 MOV P2,#11011111B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,31H 
 MOV P2,#10111111B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,30H 
 MOV P2,#01111111B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 RET 
$INCLUDE(TV_DELAY.ASM) 
Đạ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 22 
$INCLUDE(TV_KEY16.ASM) 
CODE7SEG: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H 
 DB 080H,090H,088H,083H,0C6H,0A1H,086H,08EH 
 END 
BÀI SỐ 6-6: CTR CON QUÉT PHÍM MA TRẬN 4×4 CHỐNG DỘI BẰNG DELAY 
;CHUONG TRINH CON QUET MA TRAN PHIM 4×4 BỊ DỘI 
; CHTR QUET PHIM HIEN THI TREN 8 LED DE THAY HIEN TUONG DOI PHIM 
 ORG 0H 
 MOV DPTR,#CODE7SEG 
 CALL XOAVNHTHI 
MAIN1: CALL KEYPRESS16 
 MOV A,MP 
 CJNE A,#0FFH,MAIN2 ;SS VOI FFH, KHAC FFH THI CO NP 
 CALL HIENTHI ;NEU KNP THI HIEN THI 
 JMP MAIN1 ;QUAY LAI LAM TIEP 
MAIN2: CALL DICHDATA 
 MOVC A,@A+DPTR 
 MOV 37H,A ;(37H) SE LUU SO MOI NHAT 
 CALL DELAY100MS ;LAM CHAM LAI 
 JMP MAIN1 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
;CT CON DICH CHUYEN VUNG NHO HIEN THI TU 37H DEN 30H SANG TRAI 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
DICHDATA: 
MOV 30H,31H 
 MOV 31H,32H 
 MOV 32H,33H 
 MOV 33H,34H 
 MOV 34H,35H 
 MOV 35H,36H 
 MOV 36H,37H 
Đạ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 23 
 RET 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
;CT CON XOA VUNG NHO HIEN THI TU 37H DEN 30H 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
XOAVNHTHI: 
MOV 37H,#07FH ;HIEN THI DAU CHAM 
 MOV 36H,#0FFH 
 MOV 35H,#0FFH 
 MOV 34H,#0FFH 
 MOV 33H,#0FFH 
 MOV 32H,#0FFH 
 MOV 31H,#0FFH 
 MOV 30H,#0FFH 
 RET 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
;CT CON HIEN THI 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
HIENTHI: MOV P0,37H 
 MOV P2,#11111110B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,36H 
 MOV P2,#11111101B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,35H 
 MOV P2,#11111011B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,34H 
 MOV P2,#11110111B 
Đạ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 24 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,33H 
 MOV P2,#11101111B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,32H 
 MOV P2,#11011111B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,31H 
 MOV P2,#10111111B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,30H 
 MOV P2,#01111111B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 RET 
$INCLUDE(TV_DELAY.ASM) 
$INCLUDE(TV_KEY16.ASM) 
CODE7SEG: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H 
 DB 080H,090H,088H,083H,0C6H,0A1H,086H,08EH 
 END 
BÀI SỐ 6-7: CTR CON QUÉT PHÍM MA TRẬN 4×4 CHỐNG DỘI 
;CHUONG TRINH CON QUET MA TRAN PHIM 4×4 CÓ CHỐNG DỘI 
; CHTR QUET PHIM HIEN THI TREN 8 LED DE THAY HIEN TUONG DOI PHIM 
 ORG 0H 
 MOV DPTR,#CODE7SEG 
 CALL XOAVNHTHI 
Đạ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 25 
MAIN1: CALL KEYPRESS 
 MOV A,MP 
 CJNE A,#0FFH,MAIN2 ;SS VOI FFH, KHAC FFH THI CO NP 
 CALL HIENTHI ;NEU KNP THI HIEN THI 
 JMP MAIN1 ;QUAY LAI LAM TIEP 
MAIN2: CALL DICHDATA 
 MOVC A,@A+DPTR 
 MOV 37H,A ;(37H) SE LUU SO MOI NHAT 
 JMP MAIN1 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
;CT CON DICH CHUYEN VUNG NHO HIEN THI TU 37H DEN 30H SANG TRAI 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
DICHDATA: MOV 30H,31H 
 MOV 31H,32H 
 MOV 32H,33H 
 MOV 33H,34H 
 MOV 34H,35H 
 MOV 35H,36H 
 MOV 36H,37H 
 RET 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
;CT CON XOA VUNG NHO HIEN THI TU 37H DEN 30H 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
XOAVNHTHI: 
 MOV 37H,#07FH ;HIEN THI DAU CHAM 
 MOV 36H,#0FFH 
 MOV 35H,#0FFH 
 MOV 34H,#0FFH 
 MOV 33H,#0FFH 
 MOV 32H,#0FFH 
 MOV 31H,#0FFH 
Đạ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 26 
 MOV 30H,#0FFH 
 RET 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
;CT CON HIEN THI 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
HIENTHI: MOV P0,37H 
 MOV P2,#11111110B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,36H 
 MOV P2,#11111101B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,35H 
 MOV P2,#11111011B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,34H 
 MOV P2,#11110111B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,33H 
 MOV P2,#11101111B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,32H 
 MOV P2,#11011111B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
Đạ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 27 
 MOV P0,31H 
 MOV P2,#10111111B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 MOV P0,30H 
 MOV P2,#01111111B 
 CALL DELAY1MS 
 MOV P2,#0FFH 
 RET 
CODE7SEG: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H 
 DB 080H,090H,088H,083H,0C6H,0A1H,086H,08EH 
;CHUONG TRINH CON QUET MA TRAN PHIM 4×4 
;PORT 3 NOI VOI MA TRAN 4X4 
 DEM EQU 40H 
 MP EQU 41H 
 C3C0 EQU 42H ;C3C2C1C0 
 LAP EQU 43H 
 MP1 EQU 44H 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
KEYPRESS: MOV LAP,#10 ;nhap so dem 10 lan 
KEYPRESS1 : CALL KEYPRESS16 ;Neu co phim an thi co c=1 
 JC KEYPRESS2 ;kiem tra tiep neu c = 1 
 RET ;Neu khong co phim nhan thi co c=0 
KEYPRESS2: DJNZ LAP,KEYPRESS1 ;Quay ve lap lai chong nay 
 MOV MP1,MP ;Cat noi dung ma phim 
KEYPRESS3: MOV LAP,#10 ;Nhap so dem 10 lan cho nha phim 
KEYPRESS4: CALL KEYPRESS16 ;Co phim nhan hay khong 
; CALL HIENTHI 
Đạ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 28 
 JC KEYPRESS3 ;Co thi kiem tra lai 
 DJNZ LAP,KEYPRESS4 ;Khong thi lap lai 50 lan va dam 
bao 
 MOV MP,MP1 
 RET ;ket thuc mot chuong trinh con 
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
KEYPRESS16: MOV MP,#00 
 MOV DEM,#4 
 MOV C3C0,#11111110B ;C0=0 
KEYP2: MOV P3,C3C0 
 MOV A,P3 ;P3=H3H2H1H0C3C2C1C0 
 ANL A,#0F0H ;(A)=H3H2H1H0-0000 
 SWAP A ;(A)= 0000 - H3H2H1H0 
 CJNE A,#00001111B,KEYP1 ;NHAY NEU CO NHAN 
 MOV A,MP 
 ADD A,#4 
 MOV MP,A 
 MOV A,C3C0 ;ROTATE LEFT 
 RL A 
 MOV C3C0,A 
 DJNZ DEM,KEYP2 
 MOV MP,#0FFH ;THOAT KHONG NHAN PHIM 
 CLR C 
 RET 
KEYP3: INC MP 
KEYP1: RRC A 
 JC KEYP3 
 SETB C 
 RET 
$INCLUDE(TV_DELAY.ASM) 
Đạ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 29 
 END 
BÀI SỐ 6-2: CHƯƠNG TRÌNH ĐIỀU KHIỂN ĐỘNG CƠ DC QUAY THUẬN NGHỊCH CÓ 
PHÍM ĐIỀU KHIỂN DÙNG BÀN PHÍM MA TRẬN 
START LÀ PHÍM SỐ 0, STOP LÀ PHÍM SỐ 1, INV LÀ PHÍM SỐ 2 
PHÍM SỐ 0 CÓ MÃ LÀ 00H, PHÍM SỐ 1 CÓ MÃ LÀ 01H, PHÍM SỐ 2 CÓ MÃ LÀ 02H, 
 LƯU ĐỒ ĐIỀU KHIỂN 
BEGIN
STOP ?
Đ
S
ĐỘNG CƠ NGỪNG
START ?
ĐỘNG CƠ QUAY THUẬN
Đ
INV ?
END
S
S
Đ
ĐẢO CHIỀU ĐỘNG CƠ 
 VIẾT CHƯƠNG TRÌNH 
;CHUONG TRINH DIEU KHIEN DONG CO DC DUNG BAN PHIM MA TRAN 
 START EQU 00H ;PHIM 0 
 STOP EQU 01H ;PHIM 1 
 INV EQU 02H ;PHIM 2 
 DC1 BIT P1.0 
 DC2 BIT P1.2 
 ORG 0000H 
Đạ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 30 
 MOV P1,#00 
LB: CLR DC1 
 CLR DC2 
LB1: CALL KEYPRESS ;GOI QUET PHIM TRONG THU VIEN 
 MOV A,MP 
 CJNE A,#START,LB1 
 SETB DC1 ;CHO DONG CO CHAY 
LB2: CALL KEYPRESS ;GOI QUET PHIM TRONG THU VIEN 
 MOV A,MP 
 CJNE A,#STOP,LB3 
 JMP LB ;NHAY VE DUNG DONG CO 
LB3: CJNE A,#INV,LB2 
 CPL DC1 
 CPL DC2 
 JMP LB2 
$INCLUDE(TV_KEY16.ASM) 
 END 

File đính kèm:

  • pdfbai_giang_vi_dieu_khien_ban_phim_nut_nhan_nguyen_dinh_phu.pdf