TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH BÁO CÁO THỰC HÀNH Bộ môn Vi Xử Lý Giảng viên hướng dẫn Trịnh Vũ Đăng Nguyên L P Ớ DT01 HK 213 NGÀY N P Ộ Thành viên Họ và[.]
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH BÁO CÁO THỰC HÀNH Bợ mơn: Vi Xử Lý Giảng viên hướng dẫn: Trịnh Vũ Đăng Nguyên LỚP DT01 - HK 213 NGÀY NỘP: Thành viên: Họ và Tên Huỳnh Minh Trí Trần Ngọc Phương Linh Ngưu Tuấn Giang Nguyễn Văn Cao Minh MSSV 2012279 1913962 1913192 1914172 MỤC LỤC BÀI THÍ NGHIỆM .1 Thí nghiệm Thí nghiệm Thí nghiệm Thí nghiệm Thí nghiệm Thí nghiệm Thí nghiệm Thí nghiệm 11 BÀI THÍ NGHIỆM 14 Thí nghiệm 14 Thí nghiệm 17 Thí nghiệm 20 Thí nghiệm 24 Thí nghiệm 29 Thí nghiệm 31 BÀI THÍ NGHIỆM 32 Thí nghiệm 32 Thí nghiệm 33 Thí nghiệm 36 Thí nghiệm 40 Thí nghiệm 41 Thí nghiệm 45 Thí nghiệm 48 Department of Electronics Microprocessor Laboratory Page | BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP NÚT NHẤN ĐƠN VÀ LED Thí nghiệm Mục tiêu: Nắm cách thức điều khiển trực tiếp ngoại vi thông qua port I/O 8051 Yêu cầu: Viết chương trình thực việc đọc liên tục trạng thái nút nhấn nối đến P1.0 hiển thị led nối chân P3.0 (bit thứ led BL202) Code: ORG 2000H LOOP: MOV C, P1.0 MOV P3.0, C SJMP LOOP END Kiểm tra: Biên dịch thực thi chương trình để kiểm tra kết thực - Kết thực hiện: Khi nhấn Switch nối với P1.0, đèn Port 1.0 3.0 sáng Câu hỏi: Thử giải thích có đến led bị tác động nhấn thả nút? - Giải thích: Khi nhấn Switch nối với Port 1.0 Cathode LED nối với P1.0 nối Ground, Anode nối với VCC nên LED sáng LED nối với P3.0 sáng chương trình nạp vào vi xử lý Tổng kết xem bit port dùng thí nghiệm giải thích sao? Các bit từ đến port dùng cổng nhập xuất nhập bit tính từ bit đến Department of Electronics Microprocessor Laboratory Page | BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP NÚT NHẤN ĐƠN VÀ LED Thí nghiệm Mục tiêu: Nắm cách viết chương trình để tạo trễ Yêu cầu: Viết chương trình Delay1s Code: Delay1s: MOV R5, #8 Loop1: MOV R6, #250 Loop2: MOV R7, #250 DJNZ R7, $ DJNZ R6, Loop2 DJNZ R5, Loop1 RET Dùng chương trình viết để chớp/tắt LED đơn gắn vào P1.0 sau khoảng thời gian 1s Code: ORG 2000H LAP: CPL P1.0 LCALL Delay1sIns SJMP LAP Delay1sIns: MOV R5, #8 L1: MOV R6, #250 L2: MOV R7, #250 DJNZ R7, $ DJNZ R6, L2 Department of Electronics Microprocessor Laboratory Page | BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP NÚT NHẤN ĐƠN VÀ LED DJNZ R5, L1 RET END Thay đổi chương trình để tần số chớp tắt 1KHz Code: Delay: MOV R5, #2 LOOP: MOV R6, 250 DJNZ R6, $ DJNZ R5, LOOP RET Kiểm tra: Biên dịch, thực thi kiểm tra chương trình cách quan sát LED đơn Câu hỏi: Thời gian 1s tạo nào? Tính tốn xác dựa chương trình viết Sai số nhỏ đạt so với yêu cầu bao nhiêu? Khi tần số chớp tắt 1Khz, cho biết tượng LED? - LED chớp nháy nhanh nhận biết tượng chớp nháy Sinh viên thay đổi chương trình để tần số chớp tắt 1KHz? - Tần số chớp tắt fled = KHz => Tled = 1/1000 = 10-3 s Tạo chương trình tạo trễ 10-3/2=0.0005s Department of Electronics Microprocessor Laboratory Page | BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP NÚT NHẤN ĐƠN VÀ LED Thí nghiệm Mục tiêu: Nắm cách viết chương trình để tạo trễ Yêu cầu: Viết chương trình tạo xung vng 0.5Hz (chu kỳ nhiệm vụ 50%) 1Hz (chu kỳ nhiệm vụ 30%) chân P1.0 P1.1 Code: ORG 2000H LOOP1: CPL P1.0 ACALL DelayP1-0 SJMP LOOP1 LOOP2: SETB P1.1 ACALL DelayP1-1muccao CLR P1.1 ACALL DelayP1-1mucthap SJMP LOOP2 END DelayP1-0: MOV R5, #11 L1: MOV R6, #200 L2: MOV R7, #209 DJNZ R7, $ DJNZ R6, L2 DJNZ R5, L1 RET DelayP1-1mucthap: MOV R5, #5 L1: MOV R6, #255 L2: MOV R7, #254 DJNZ R7, $ Department of Electronics Microprocessor Laboratory Page | BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP NÚT NHẤN ĐƠN VÀ LED DJNZ R6, L2 DJNZ R5, L1 RET DelayP1-1muccao: MOV R5, #3 L1: MOV R6, #220 L2: MOV R7, #210 DJNZ R7, $ DJNZ R6, L2 DJNZ R5, L1 RET Kiểm tra: Biên dịch, thực thi kiểm tra chương trình cách sử dụng oscilloscope để kiểm tra Câu hỏi: Vẽ giản đồ xung? Các chương trình viết với thời gian trễ bao nhiêu? Tại thời gian tạo trễ, chân P1.0 P1.1 xuất tín hiệu nào? Để tạo xung thỏa yêu cầu toán, vòng trễ viết nào? - Xung 0.5 Hz có chu kỳ s; nhiệm vụ 50% nên thời gian xung mức = thời gian mức = s Sử dụng lệnh DJNZ 2MCs = * 12/11.0592=2.17 µs => Lặp lại 106/2.17=460830 lần = 209*200*11 - Xung Hz có chu kỳ s; nhiệm vụ 30% nên thời gian xung mức = 0.3s => Lặp 138250 lần = thời gian xung mức = 0.7s => Lặp 322580 lần = 254*255*5 Department of Electronics Microprocessor Laboratory Page | BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP NÚT NHẤN ĐƠN VÀ LED Thí nghiệm Mục tiêu: Nắm cách hiển thị bar LED tạo hiệu ứng Yêu cầu: Viết chương trình tạo hiệu ứng quay LED: LED đơn BARLED1 sáng từ trái sang phải sau thời gian 1s lặp lại Sử dụng chương trình Delay1s viết Code: ORG 2000H MOV A, #01111111b LAP: MOV P1, A LCALL Delay1sIns RR A SJMP LAP Delay1sIns: MOV R5, #8 L1: MOV R6, #250 L2: MOV R7, #250 DJNZ R7, $ DJNZ R6, L2 DJNZ R5, L1 RET END Kiểm tra: Biên dịch, thực thi kiểm tra chương trình cách quan sát hiệu ứng bar led Department of Electronics Microprocessor Laboratory Page | BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP NÚT NHẤN ĐƠN VÀ LED Câu hỏi: Led bên trái kết nối đến MSB (most significant bit) hay LSB (less significant bit) port 1? - LED bên trái kết nối với MSB port Thí nghiệm Mục tiêu: Nắm cách thức giao tiếp với ngoại vi LED đoạn Yêu cầu: Viết chương trình DisplayLed hiển thị lên LED đoạn số giá trị chứa ghi R0 DislayLed: MOV A, #0E0H ADD A, R0 MOV DPTR, #0000H MOVX @DPTR, A RET Viết chương trình hiển thị số lên LED đoạn số cách cho R0 gọi chương trình DisplayLed ORG 2000H Main: MOV R0, #9 LCALL DislayLed DislayLed: MOV A, #0E0H ADD A, R0 MOV DPTR, #0000H Department of Electronics Microprocessor Laboratory Page | BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP NÚT NHẤN ĐƠN VÀ LED MOVX @DPTR, A RET END Thí nghiệm Mục tiêu: Kết hợp chương trình con: chương trình tạo trễ chương trình hiển thị LED đoạn Yêu cầu: Viết chương trình hiển thị lên LED đoạn số số từ đến sau khoảng thời gian 1s sử dụng chương trình Thí nghiệm Thí nghiệm ORG 2000H MAIN: MOV R0, #0 LOOP: LCALL DislayLed Delay1s INC R0 CJNE R0, #10, LOOP SJMP MAIN DislayLed: MOV A, #0E0H ADD A, R0 MOV DPTR, #000H MOVX @DPTR, A RET Delay1s: MOV R7, #8 Department of Electronics Microprocessor Laboratory Page | ... LED Thí nghiệm Mục tiêu: Nắm cách thức điều khiển trực tiếp ngoại vi thông qua port I/O 8051 Yêu cầu: Vi? ??t chương trình thực vi? ??c đọc liên tục trạng thái nút nhấn nối đến P1.0 hiển thị led nối... Download chương trình mẫu LCD.A51 trang web môn điện tử folder thí nghiệm sinh vi? ?n Biên dịch chạy thử chương trình Sửa chương trình để hiển thị tên sinh vi? ?n lên hàng đầu LCD_E BIT LCD_RS... xác dựa chương trình vi? ??t Sai số nhỏ đạt so với yêu cầu bao nhiêu? Khi tần số chớp tắt 1Khz, cho biết tượng LED? - LED chớp nháy nhanh nhận biết tượng chớp nháy Sinh vi? ?n thay đổi chương