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 ...
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:
- bai_giang_vi_dieu_khien_ban_phim_nut_nhan_nguyen_dinh_phu.pdf