Thông tin tài liệu
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 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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 Page | Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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 Page | Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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 Page | Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED 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 Page | Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED 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 vuông 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 Page | Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED 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 tố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 Page | Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED 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 Page | Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED 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 Page | Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED 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 Page | Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT CLEAR: MOV A,#01H ACALL WRITECOM RET INIT: MOV A,#38H ACALL WRITECOM MOV A,#06H ACALL WRITECOM MOV A,#0EH ACALL WRITECOM RET WRITECOM: MOV DPTR,#LCD_ADDR CLR LCD_RS SETB LCD_E MOVX @DPTR,A CLR LCD_E ACALL WAIT_LCD RET WRITETEXT: MOV DPTR,#LCD_ADDR SETB LCD_E SETB LCD_RS MOVX @DPTR,A CLR LCD_E ACALL WAIT_LCD RET WAIT_LCD: PUSH 7 PUSH 6 MOV R6,#60 L1: MOV R7,250 DJNZ R7,$ DJNZ R6,L1 POP Department of Electronics Page | 35 Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT POP RET END Thí nghiệm Mục tiêu: Nắm cách thức điều khiển serial port Yêu cầu: Viết chương trình nhận ký tự từ máy tính gửi đến EME-MC8 thơng qua cương trình Hercules (bằng cách gõ ký tự bàn phím chương trình Hercules) hiển thị lên LCD theo nguyên tắc sau: - Nếu ký tự chữ hiển thị lên LCD - Enter xuống hàng - ESC xóa hình LCD - Backspace xóa ký tự bên trái dấu nháy Kiểm tra: Biên dịch kiểm tra hoạt động chương trình Báo cáo: Đoạn chương trình thực u cầu thí nghiệm cho: LCD_E BIT P3.3 LCD_RS BIT P3.5 LCD_ADDR EQU 6000H ORG 2000H MAIN: Department of Electronics Page | 36 Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT LAP: XU_LY: NEXT: TT: MOV SCON,#01010011B MOV TMOD,#20H MOV TH1,#-3 ORL PCON,#80H SETB TR1 ACALL CLEAR ACALL INIT ACALL NHAN PUSH ACC ACALL XU_LY POP ACC ACALL PHAT SJMP LAP CJNE A,#41H,$+3; IN HOA JC TT CJNE A,#5BH,$+3 JC NEXT CJNE A,#61H ,$+3; IN THUONG JC TT CJNE A,#7BH,$+3 JNC TT ACALL WRITETEXT SJMP KT CJNE A,#8,TT1; BACKSPACE MOV A,#10H ACALL WRITECOM MOV A,#20H ACALL WRITETEXT MOV A,#10H ACALL WRITECOM Department of Electronics Page | 37 Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT TT1: TT2: DONG1: TIEP: KT: NHAN: PHAT: CLEAR: INIT: SJMP KT CJNE A,#0DH,TT2; ENTER JB F0,DONG1 MOV A,#0C0H SETB F0 SJMP TIEP CJNE A,#1BH,KT; ESC ACALL CLEAR SJMP KT MOV A,#80H CLR F0 ACALL WRITECOM RET JNB RI,$ CLR RI MOV A,SBUF RET JNB TI,$ CLR TI MOV SBUF,A RET MOV A,#01H ACALL WRITECOM RET MOV A,#38H Department of Electronics Page | 38 Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT ACALL MOV ACALL MOV ACALL RET WRITECOM A,#06H WRITECOM A,#0EH WRITECOM WRITECOM: MOV DPTR,#LCD_ADDR CLR LCD_RS SETB LCD_E MOVX @DPTR,A CLR LCD_E ACALL WAIT_LCD RET WRITETEXT: MOV DPTR,#LCD_ADDR SETB LCD_E SETB LCD_RS MOVX @DPTR,A CLR LCD_E ACALL WAIT_LCD RET WAIT_LCD: PUSH 7 PUSH 6 MOV R6,#60 L1: MOV R7,250 DJNZ R7,$ DJNZ R6,L1 POP POP RET END Department of Electronics Page | 39 Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT Thí nghiệm Mục tiêu: Nắm cách sử dụng ngắt serial port Yêu cầu: Viết chương trình làm song song cơng việc sau: - Nhận byte từ máy tính xuất ngược lại (echo) lên hình Hercules - Bật LED gắn vào P1.1 SW 317 (gắn vào P1.0) nhấn, tắt LED phím nhả Hướng dẫn: Sử dụng ngắt serial port, ngắt lả ngắt thu (cờ RI 1) xóa RI, đọc SBUF ghi trở lại vào SBUF Nếu TI xóa TI Tác vụ đọc Switch hiển thị LED viết chương trình Kiểm tra: Biên dịch kiểm tra hoạt động chương trình ORG 0000H JMP MAIN ORG 0023H JMP SPI_ISR MAIN: MOV SCON, #52H MOV TMOD, #20H ORL PCON, #80H MOV TH1, #-3 MOV TL1, TH1 SETB TR1 Department of Electronics Page | 40 Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT MOV IE, #90H AG: MOV C, P1.0 MOV P1.1, C JMP AG ;====================== SPI_ISR: JB RI, NEXT CLR TI JMP EXIT NEXT: CLR RI MOV A, SBUF MOV SBUF, A EXIT: RETI END Thí nghiệm Mục tiêu: Nắm cách sử dụng ngắt timer Yêu cầu: Viết chương trình hiển thị lên LED đoạn số có chữ số, ký số chứa nhớ 20H, 21H, 22H 23H Ơ nhớ 20H chứa số hàng nghìn Báo cáo: Đoạn chương trình thực u cầu thí nghiệm cho: ORG ORG JMP MAIN 000BH JMP T0_ISR Department of Electronics Page | 41 Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT ORG 000BH JMP T0_ISR MAIN: MOV TMOD, #01H MOV 20H, #1 MOV 21H, #2 MOV 22H, #3 MOV 23H, #4 MOV R1, #4 MOV R0, #20H MOV R2, 20H SETB ET0 SETB EA SETB TF0 JMP $ ;================== T0_ISR: CALL DisplayLED DJNZ R1, NEXT MOV R1, #4 MOV R0, #20H MOV R2, 20H JMP EXIT NEXT: INC R0 MOV 02H, @R0 EXIT: CLR TR0 MOV TH0, #HIGH(-10000) MOV TL0, #LOW(-10000) SETB TR0 RETI Department of Electronics Page | 444 Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT DisplayLED: ;HIEN THI GIA TRI CUA R2 TAI LED THU R1(4, 3, 2, 1) MOV B, R1 MOV A, #11110111B SHIFTLOOP: RL A DJNZ B, SHIFTLOOP ANL A, #0F0H PUSH ACC MOV A, R2 ANL A, #0FH MOV R2, A POP ACC ORL A, R2 MOV DPTR, #0 MOVX @DPTR, A RET END Thí nghiệm Mục tiêu: Vận dụng ngắt timer để lập trình Yêu cầu: Viết chương trình đếm số lần nhấn phím SW317, hiển thị lên LED đoạn Báo cáo: Đoạn chương trình thực u cầu thí nghiệm cho: ORG JMP MAIN ORG 000BH JMP T0_ISR MAIN: MOV 20H, #0 Department of Electronics Page | 43 Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT MOV 21H, #0 MOV 22H, #0 MOV 23H, #0 MOV TMOD, #01H MOV R1, #4 MOV R0, #20H MOV R2, 20H SETB ET0 SETB EA SETB TF0 LOOP: MOV R7, #50 AG: JB P1.0, LOOP DJNZ R7, AG INC 23H MOV A, 23H CJNE A, #10, NEXT MOV 23H, #0 INC 22H MOV A, 22H NEXT: CJNE A, #10, NEXT1 MOV 22H, #0 INC 21H MOV A, 21H NEXT1: CJNE A, #10, NEXT2 MOV 21H, #0 INC 20H NEXT2: JNB P1.0, $ JMP LOOP ;================== Department of Electronics Page | 44 Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT T0_ISR: CALL DisplayLED DJNZ R1, NXT MOV R1, #4 MOV R0, #20H MOV R2, 20H JMP EXIT NXT: INC R0 MOV 02H, @R0 EXIT: CLR TR0 MOV TH0, #HIGH(-10000) MOV TL0, #LOW(-10000) SETB TR0 RETI DisplayLED: ;HIEN THI GIA TRI CUA R2 TAI LED THU R1(4, 3, 2, 1) MOV B, R1 MOV A, #11110111B SHIFTLOOP: RL A DJNZ B, SHIFTLOOP ANL A, #0F0H PUSH ACC MOV A, R2 ANL A, #0FH MOV R2, A POP ACC ORL A, R2 MOV DPTR, #0 MOVX @DPTR, A RET END Department of Electronics Page | 45 Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT Thí nghiệm Mục tiêu: Vận dụng ngắt timer để lập trình Yêu cầu: Viết chương trình thực đồng hồ bấm giây, hiển thị lên LED đoạn Hai LED thể số giây, LED thể phần trăm giây - Khi SW310 nhấn, đồng hồ reset - Khi SW 311 nhấn, đồng hồ bắt đầu chạy - Khi SW 312 nhấn, đồng hồ dừng lại Báo cáo: Đoạn chương trình thực u cầu thí nghiệm cho: ORG JMP MAIN ORG 000BH JMP T0_ISR ORG 001BH JMP T1_ISR MAIN: MOV 20H, #0 MOV 21H, #0 MOV 22H, #0 MOV 23H, #0 MOV TMOD, #11H MOV R1, #4 MOV R0, #20H MOV R2, 20H SETB ET0 SETB ET1 Department of Electronics Page | 46 Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT SETB EA SETB TF0 LOOP: MOV A, P1 ANL A, #07H CJNE A, #07H, SW JMP LOOP SW: CJNE A, #06H, SW1 JMP MAIN ;RESET SW1: CJNE A, #05H, SW2 SETB TR1 JMP LOOP SW2: CJNE A, #03H, LOOP CLR TR1 JMP LOOP ;================== T0_ISR: CALL DisplayLED DJNZ R1, NXT MOV R1, #4 MOV R0, #20H MOV R2, 20H JMP EXIT NXT: INC R0 MOV 02H, @R0 EXIT: CLR TR0 MOV TH0, #HIGH(-10000) MOV TL0, #LOW(-10000) Department of Electronics Page | 47 Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT SETB TR0 RETI ;=============================== T1_ISR: INC 23H MOV A, 23H CJNE A, #10, NEXT MOV 23H, #0 INC 22H MOV A, 22H NEXT: CJNE A, #10, NEXT1 MOV 22H, #0 INC 21H MOV A, 21H NEXT1: CJNE A, #10, NEXT2 MOV 21H, #0 INC 20H NEXT2: CLR TR1 MOV TH1, #HIGH(-10000) MOV TL1, #LOW(-10000) SETB TR1 RETI ;======================= DisplayLED: ;HIEN THI GIA TRI CUA R2 TAI LED THU R1(4, 3, 2, 1) MOV B, R1 MOV A, #11110111B SHIFTLOOP: RL A DJNZ B, SHIFTLOOP Department of Electronics Page | 48 Microprocessor Laboratory TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED BAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LEDBAO.cao.THUC.HANH.bo.mon.vi.xu.ly.bai.THI.NGHIEM.1.lap.TRINH.GIAO.TIEP.nut.NHAN.don.va.LED
Ngày đăng: 24/12/2023, 14:07
Xem thêm: BÁO cáo THỰC HÀNH bộ môn vi xử ly bài THÍ NGHIỆM 1 lập TRÌNH GIAO TIẾP nút NHẤN đơn và LED