Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
706,22 KB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA BÁO CÁO THÍ NGHIỆM VI XỬ LÝ Giảng viên hướng dẫn: Sinh viên thực : Nhóm Nguyễn Cơng Sang TP.HCM, Ngày 20 tháng 11 năm 2022 1914915 BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M NHO M NHO BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP NÚT NHẤN ĐƠN VÀ LED I MỤC MỤC TI TIÊU ÊU:: Nắm được cáchh sử dụng dụng kit thí nghiệm nghiệm,, phần m mềm ềm lập ttrình rình Nắm được cáchh lập trình trình ggiao iao tiếp tiếp IO pport ort Nắm được cáchh lập trình trình ttạo ạo thời thời gian trễ dù dùng ng llệnh ệnh II THÍ NGHIỆM NGHIỆM:: Thí nghiệm nghiệm 1: 1: Mục tiêu: Nắm 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 BL202) ) Chương trình: ORG 2000H LAP: MOV C, P1.0 MOV P3.0, C SJMP LAP END Kiểm tra tra Biên dịch thực thi chương trình để kiểm tra kết thực BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M NHO M NHO Channel A: chân P1.0, Channel B: chân P3.0 Kết thực hiện: Khi nhấn Switch nối với P1.0, đèn Port 1.0 3.0 sáng Thử giải thích có đến led bị tác động nhấn thả nút Giải thích: Vì chân P1.0 nối đến led led BL204 nên led nối với chân P3.0 bị tác động nhấn/thả nút nhấn led nối chân P1.0 bị tác động Tổng kết xem bit port dùng thí nghiệm giải thích Về nút nhấn: tất nút nhấn kết nối với bit Port sử dụng Về led hiển thị: trừ led nối với chân P3.6 chân P3.7 sử dụng để để làm led hiển thị (Khi sử dụng Port Port chương trình download xuống RAM ngồi, chạy chương ttrình rình vi xử lý làm việc việc chế độ giao tiếp nhớ Để giao tiếp nhớ ngồi tín RD (P3.7) WR (P3.6) sử dụng chương trình khơng thể sử dụng chân P3.6 P3.7 chân I/O port) BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M NHO M NHO Thí nghiệm nghiệm 2: 2: Mục tiêu: Nắm tiêu: Nắm cách cách viết chư chương ơng trình co conn để tạo trễ Yêu cầu: Viết chương trình Delay1s 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 Thay đổi chương trình để tần số chớp tắt 1KHz Chương trình: ORG 2000H LOOP: CPL P1.0 ACALL Delay1s SJMP LOOP Delay1s: MOV R5, #8 LP1: MOV R6, #250 LP2: MOV R7, #250 DJNZ R7, $ DJNZ R6, LP2 DJNZ R5, LP1 RET END EN D Kiểm tra: tra: Biên dịch, thực thi kiểm tra chương trình cách quan sát LED đơn Time/div = 0.25s, V/div = 1V cho Channel A: chân P1.0 BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M NHO M NHO 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 Thời gian 1s tạo vòng lặp: Sử dụng vịng lặp lịng vào xấp xỉ 2×m×n×k chu k mỏy( MCs ) = 2ìmìnìk às Tỡm c m=8, n=250, k=250 Sai số nhỏ đạt so với yêu cầu bao nhiêu? T min = 3(m + 1)*k + = 6753 MC = 6,753 ms Khi tần số chớp tắt 1Khz, cho biết tượng LED? LED chớp tắt nhanh Sinh viên thay đổi chương trình để tần số chớp tắt 1KHz? DELAY_0.5ms: BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M NHO M NHO MOV R7, #250 DJNZ R7, $ RET Thí nghiệm nghiệm 3: 3: Mục tiêu: Nắm tiêu: Nắm cách cách viết chư chương ơng trình co conn để tạo trễ u cầu: Viết chương trình tạo xung vng 0.5 Hz (chu kỳ nhiệm vụ 50%) 1Hz (chu kỳ nhiệm vụ 30%) chân P1.0 P1.1 Chương trình: ORG 2000H LOOP: CPL P1.0 SETB P1.1 ACALL DELAY_300ms CLR P1.1 ACALL DELAY_700ms SJMP LOOP DELAY_300ms: MOV R5, #6 LP1: MOV R6, #200 LP2: MOV R7, #250 DJNZ R7, $ DJNZ R6, LP2 DJNZ R5, LP1 RET DELAY_700ms: BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M MOV R5, #14 LP3: #200 MOV R6, NHO M NHO BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M LP4: NHO M NHO MOV R7, #250 DJNZ R7, $ DJNZ R6, LP4 DJNZ R5, LP3 RET END EN D Kiểm tra: tra: Biên dịch, thực thi kiểm tra chương trình cách sử dụng oscilloscope để kiểm tra Channel A: chân P1.0, Channel B: chân P3.0 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? Giản đồ xung hình Các chương trình viết với thời gian tạo trễ 0.3s 0.7s BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M NHO M NHO Tại thời gian tạo trễ, chân P1.0 P1.1 xuất tín hiệu nào? Tại thời gian tạo trễ chân P1.1 đảo tín hiệu xuất lần Sau tổng thời gian tạo trễ 0.3s 0.7s chân P1.0 đảo tín hiệu xuất lần Để tạo xung thỏa yêu cầu tốn, vịng trễ viết nào? DELAY_300ms: MOV R5, #6 LP1: MOV R6, #200 LP2: MOV R7, #250 DJNZ R7, $ DJNZ R6, LP2 DJNZ R5, LP1 RET DELAY_700ms: MOV R5, #14 LP3: MOV R6, #200 LP4: MOV R7, #250 DJNZ R7, $ DJNZ R6, LP4 DJNZ R5, LP3 RET Thí nghiệm nghiệm 4: 4: Mục tiêu: Nắm tiêu: Nắm cách cách hiển thị bar LED ttạo ạo hiệu ứn ứngg 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 BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M Delay1s viết Chương trình: 10 NHO M NHO BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M MOV A, R0 16 NHO M NHO BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M NHO M NHO MOV DPTR, #0000H MOVX @DPTR, A ACALL DELAY1s INC R0 CJNE R0, #0EAH, START SJMP MAIN DELAY1s: MOV R7, #8 L1: MOV R6, #250 L2: MOV R5, #250 DJNZ R5, $ DJNZ R6, L2 DJNZ R7, L1 RET END Kiểm tra: tra: 17 Biên dịch, thực thi kiểm tra chương trình BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M NHO M NHO Câu hỏi: Vẽ lưu đồ giải thuật chương trình Vịng lặp nhảy theo thứ tự: Nếu R0 sau sau tăn tăngg nhỏ 9, nhảy đến vvịị trí STA START: RT: gọi chương chương trình xuất giá trị chứa R0 lên LED Nếu R0 sau tăng 10 (lớn hơn 9), nhảy để vị trí MAI MAIN: N: thực xóa R0 sau tiếp tục vịng lặp Thí nghiệm nghiệm 7: 7: Mục tiêu: Nắm tiêu: Nắm cách cách thức dùng chương ttrình rình giao tiếp LED đoạn đoạn Yêu cầu: Viết chương trình DisplayLED xuất giá trị chứa ghi R0 lên LED đoạn có số thứ tự chứa ghi R1 Trong đó: R0 nằm tầm từ 0-9 R1 tầm từ 0-3 Sau dùng chương trình viết chương trình xuất giá trị lên LED đoạn số Chương trình: ORG 2000H MAIN: MOV R0, #1 MOV R1, # CALL DISPLAYLED SJMP MAIN DISPLAYLED: CJNE R1, #0, KHAC0 18 BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M MOV A, #0E0H ADD A, R0 19 NHO M NHO BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M MOV DPTR, #0000H MOVX @DPTR, A ACALL KHAC0: DELAY RET CJNE R1, #1, KHAC1 MOV A, #0D0H ADD A, R0 MOV DPTR, #0000H MOVX @DPTR, A ACALL DELAY RET KHAC1: CJNE R1, #2, KHAC2 MOV A, #0B0H ADD A, R0 MOV DPTR, #0000H MOVX @DPTR, A ACALL DELAY RET KHAC2: CJNE R1, #3, KT MOV A, #070H ADD A, R0 MOV DPTR, #0000H MOVX @DPTR, A ACALL DELAY KT: DELAY: 20 RET NHO M NHO BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M NHO M NHO MOV R7, #8 L1: MOV R6, #250 L2: MOV R5, #250 DJNZ R5, $ DJNZ R6, L2 DJNZ R7, L1 RET END Kiểm tra: tra: 21 Biên dịch, thực thi kiểm tra chương trình BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M NHO M NHO Câu hỏi: Viết lại chương trình phương pháp sử dụng bảng tra (Lookup table) Thí nghiệm nghiệm 8: 8: Mục tiêu: tiêu: Nắm phương phương pháp pháp quét LED LED đo đoạn ạn Yêu cầu: Viết chương trình hiển thị số lên LED7 đoạn 0, sau 1s hiển thị số lên LED đoạn 1, sau 1s hiển thị số lên LED đoạn 2, sau 1s hiển thị số lên LED đoạn Quá trình lặp lặp lại Việc hiển thị sử dụng chương trình DisplayLED viết Giảm thời gian trễ xuống 100 ms Quan sát tượng Tính tốn thời gian trễ cho khơng cịn thấy LED nhấp nháy áp dụng vào chương trình Giảm thời gian trễ xuống (không sử dụng hàm delay) Quan sát tượng Chương trình: 22 BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M ORG 2000H START: MOV R0, #1 MOV R1, #0 LOOP: CALL DISPLAYLED CALL DELAY INC R0 INC R1 CALL DISPLAYLED CALL DELAY INC R0 INC R1 CALL DISPLAYLED CALL DELAY INC R0 INC R1 CALL DISPLAYLED CALL DELAY INC R0 INC R1 23 NHO M NHO BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M CJNE R1, #4, LOOP SJMP START DISPLAYLED: CJNE R1, #0, KHAC0 MOV A, #0E0H ADD A, R0 MOV DPTR, #0000H 24 NHO M NHO BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M MOVX @DPTR, A ACALL DELAY RET KHAC0: CJNE R1, #1, KHAC1 MOV A, #0D0H ADD A, R0 MOV DPTR, #0000H MOVX @DPTR, A ACALL DELAY RET KHAC1: CJNE R1, #2, KHAC2 MOV A, #0B0H ADD A, R0 MOV DPTR, #0000H MOVX @DPTR, A ACALL DELAY RET KHAC2: CJNE R1, #3, KT MOV A, #070H ADD A, R0 MOV DPTR, #0000H MOVX @DPTR, A ACALL DELAY KT: RET DELAY: MOV R7, #10 25 NHO M NHO BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M BÁ L: NHO M NHO MOV R6, #250 DJNZ R6, $ DJNZ R7, L RET END Kiểm tra: tra: Biên dịch, thực thi kiểm tra chương trình Câu hỏi: Thời gian trễ để khơng cịn thấy LED nhấp nháy theo lý thuyết? Giải thích cách tính Số khun khungg hhìn ìnhh m mắt ng ngườ ườii có thể th thấy tr tron ongg ggiâ iâyy là 24 24 th thời ời gian gian tr trễễ giữ giữaa các khung 1 hình là 24 s hay llàà 24 s tro ng bốn số phải phải hhiển iển th thịị ttrên rên LED LED lần hiển thị Thời Thời gian gian ttrễ rễ 24 /4 0.0104s Thời gian trễ để khơng cịn thấy LED nhấp nháy theo lý thuyết 0.0104s 26 Khi giảm nhỏ thời gian trễ, tượng xảy gì? Giải thích BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M NHO M NHO Khi giảm nhỏ thời gian trễ, LED khơng cịn sáng Vì thời gian lần hiển thị số lên LED nhỏ làm cho LED không đủ th thời ời gian để làm sáng đèn nên ta không thấy LED sáng 27 BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M 28 NHO M NHO BÁ BÁ O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M 29 NHO M NHO ... O THÍ NGHÍỆ N GHÍỆ M NHO M NHO BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP NÚT NHẤN ĐƠN VÀ LED I MỤC MỤC TI TIÊU ÊU:: Nắm được cáchh sử dụng dụng kit thí nghiệm nghiệm,, phần m mềm ềm lập ttrình... được cáchh lập trình trình ggiao iao tiếp tiếp IO pport ort Nắm được cáchh lập trình trình ttạo ạo thời thời gian trễ dù dùng ng llệnh ệnh II THÍ NGHIỆM NGHIỆM:: Thí nghiệm nghiệm 1: 1: Mục... O CÁ CÁ O THÍ NGHÍỆ N GHÍỆ M NHO M NHO ORG 2000H START: MOV A, #11 111 110 B MOV R1,#8 LOOP: MOV P1, A CLR C RLC A CALL Delay1s DJNZ R1, LOOP SJMP START Delay1s: MOV R5,#8 L1: MOV R6,#250