báo cáo thí nghiệm VXL

80 6 0
báo cáo thí nghiệm VXL

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỤC TIÊU Nắm được cách sử dụng kit thí nghiệm, phần mềm lập trình Nắm được cách lập trình giao tiếp IO port Nắm được cách lập trình tạo thời gian trễ dùng các lệnh CHUẨN BỊ Đọc và làm bài thí nghiệm 0 tại nhà Đọc bài chuẩn bị thí nghiệm 1 tại nhà Chuẩn bị cho thí nghiệm 1 Viết chương trình và mô phỏng trên Proteus tất cả các bài trong thí nghiệm 1 dựa trên bài chuẩn bị 1 (Prelab 1) và thí nghiệm 0 Nộp tất cả các kết quả (bài thí nghiệm 0 và bài chuẩn bị thí nghiệm 1) cho GVHD trước khi vào lớp S.

BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP NÚT NHẤN ĐƠN VÀ LED MỤC TIÊU  Nắm cách sử dụng kit thí nghiệm, phần mềm lập trình  Nắm cách lập trình giao tiếp IO port  Nắm cách lập trình tạo thời gian trễ dùng lệnh CHUẨN BỊ  Đọc làm thí nghiệm nhà  Đọc chuẩn bị thí nghiệm nhà  Chuẩn bị cho thí nghiệm 1: Viết chương trình mơ Proteus tất thí nghiệm dựa chuẩn bị (Prelab_1) thí nghiệm  Nộp tất kết (bài thí nghiệm chuẩn bị thí nghiệm 1) cho GVHD trước vào lớp Sinh viên không thực nộp thiếu khơng có lí đáng khơng tham gia thí nghiệm bị đánh vắng buổi Mọi hình thức gian lận, chép bị xử lý đáng 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) Kiểm tra: ORG 2000H LOOP: MOV C,P1.0 MOV P3.0,C SJMP LOOP END  Biên dịch thực thi chương trình để kiểm tra kết thực Câu hỏi:  Thử giải thích có đến led bị tác động nhấn thả nút? o Giải thích: Khi nhấn Switch nối với Port 1.0 Cathode LED nối với P1.0 nốiGround, 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 DELAY_1s: MOV R5, #8 LP1: MOV R6, #250 LP2: MOV R7, #250 DJNZ R7, $ DJNZ R6, LP2 DJNZ R5, LP1 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 ORG 2000H LOOP: CPL P1.0 ACALL DELAY_1s SJMP LOOP DELAY_1s: MOV R5, #8 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 LP1: MOV R6, #250 LP2: MOV R7, #250 DJNZ R7, $ DJNZ R6, LP2 DJNZ R5, LP1 RET END  Thay đổi chương trình để tần số chớp tắt 1KHz ORG 2000H LOOP: CPL P1.0 ACALL DELAY_500us SJMP LOOP DELAY_500us: LP1: MOV R5, #250 DJNZ R5, LP1 RET END 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 - tạo vòng lặp nhảy chỗ 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 - Với fosc = 12Mhz tCLK(timer) = 1MC = 1μs tDelay = 1s = 1000000MC  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 sáng liên tục thời gian chớp tắt nhanh  Sinh viên thay đổi chương trình để tần số chớp tắt 1KHz? f = 1Khz → T = 1ms → tDelay = 1ms = 1000MC DELAY_500us: LP1: MOV R5, #250 DJNZ R5, LP1 RET END 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 vuông 0.5Hz (chu kỳ nhiệm vụ 50%) 1Hz (chu kỳ nhiệm vụ 30%) chân P1.0 P1.1 ORG 2000H MAIN: SETB P1.0 SETB P1.1 ACALL DELAY03S CLR P1.1 ACALL DELAY02S ACALL DELAY05S CLR P1.0 SETB P1.1 ACALL DELAY03S CLR P1.1 ACALL DELAY02S ACALL DELAY05S SJMP MAIN DELAY03S: MOV R5, #3 LP1: MOV R6, #200 LP2: MOV R7, #250 DJNZ R7, $ DJNZ R6, LP2 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, LP1 RET DELAY02S: MOV R5, #2 LP1: MOV R6, #200 LP2: MOV R7, #250 DJNZ R7, $ DJNZ R6, LP2 DJNZ R5, LP1 RET DELAY05S: MOV R5, #5 LP1: MOV R6, #200 LP2: MOV R7, #250 DJNZ R7, $ DJNZ R6, LP2 DJNZ R5, LP1 RET END 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? 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ác chương trình viết với thời gian trễ 0.3s, 0.2s, 0.5s  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 u cầu tốn, vịng trễ viết nào? 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 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 ORG 2000H LOOP: MOV A,#0FFh MOV R1,#8 PHASE: MOV P1,A CLR C RLC A ACALL DELAY_1s DJNZ R1,PHASE SJMP LOOP DELAY_1s: MOV R5, #8 LP1: MOV R6, #250 LP2: MOV R7, #250 DJNZ R7, $ DJNZ R6, LP2 DJNZ R5, LP1 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 RET END 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? - kết nối với MSB port1 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 ORG 0000H MOV R0,#0000B MOV A,#11100000B ADD A,R0 LOOP: ACALL DISPLAY_LED SJMP LOOP DISPLAY_LED: MOV DPTR, #0000H MOVX @DPTR,A RET END  Viết chương trình hiển thị số lên LED đoạn số cách cho R0 Department of Electronics Microprocessor Laboratory Page | 10 BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT START Dừng ngắt, lại giá timer, Dừngtimer, timer,xóa xóacờcờ ngắt, đặthiển lại giá timer, chophép phéptimer timerchạy chạy Lấy giáđặt trị END thịtrịtrị LED vàocho R0 Hiển thị LED tương ứng Cập nhật giá trị R1 Department of Electronics Microprocessor Laboratory Page | 66 BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT ORG 2000H LJMP BEGIN ORG 201BH ;Interrupt vector of Timer LJMP ISR_TIMER1 ORG 2030H BEGIN: MOV R0,#0; ;thứ tự LED MOV 20H,#1 MOV 21H,#2 MOV 22H,#3 MOV 23H,#4 MOV R1,#1FH MOV TMOD,#10H SETB EA SETB ET1 SETB TF1 //ÉP NGẮT SJMP $ ISR_TIMER1: ; INC R0 ;Tang R0 CJNE R0,#5,JUM MOV R0,#0 JUM: INC R1 CJNE R1,#24H,JUM2 MOV R1,#1FH JUM2: Department of Electronics Microprocessor Laboratory Page | 67 BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT Call DisplayLED CLR TR1 MOV TH1,#HIGH(-10000) //0.01s MOV TL1,#LOW(-10000) SETB TR1 RETI DisplayLED: MOV B, R0 MOV A, #11110111B SHIFTLOOP: RL A DJNZ B, SHIFTLOOP ANL A, #0F0H ORL A, @R1 MOV DPTR,#0000H MOVX @DPTR,A RET END Department of Electronics Microprocessor Laboratory Page | 68 BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT Department of Electronics Microprocessor Laboratory Page | 69 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 đếm số lần nhấn phím SW317, hiển thị lên LED đoạn Hướng dẫn:  Kiểm tra nút nhấn, nút nhấn nhấn, giá trị cập nhật vào ô nhớ 20H, 21H, 22H 23H Ô nhớ 20H chứa số hàng nghìn Việc đếm số lần nhấn phím thực chương trình  LED đoạn quét thí nghiệm dùng ngắt timer Kiểm tra:  Biên dịch kiểm tra hoạt động chương trình ORG 2000H LJMP BEGIN ORG 201BH LJMP ISR_TIMER1 ORG 2030H BEGIN: MOV R0,#0; MOV 20H,#0 MOV 21H,#0 MOV 22H,#0 MOV 23H,#0 MOV R1,#1FH MOV TMOD,#10H Department of Electronics Microprocessor Laboratory Page | 70 BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT SETB EA SETB ET1 SETB TF1 MAIN: JB P1.0,$ CALL DELAY_50MS JB P1.0,MAIN WAIT: CALL DELAY_50MS JNB P1.0,WAIT INC R4 CJNE R4,#10, OUT MOV R4,#00H INC R5 CJNE R5,#10, OUT MOV R5,#00H INC R6 CJNE R6,#10, OUT MOV R6,#00H INC R7 CJNE R7,#10, OUT MOV R7,#00H OUT: MOV 20H,R4 MOV 21H,R5 Department of Electronics Microprocessor Laboratory Page | 71 BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT MOV 22H,R6 MOV 23H,R7 JMP MAIN ISR_TIMER1: INC R0 CJNE R0,#5,JUM MOV R0,#0 JUM: INC R1 CJNE R1,#24H,JUM2 MOV R1,#1FH JUM2: Call DisplayLED CLR TR1 MOV TH1,#HIGH(-10000) //0.01s MOV TL1,#LOW(-10000) SETB TR1 RETI DisplayLED: MOV B, R0 MOV A, #11110111B SHIFTLOOP: RL A DJNZ B, SHIFTLOOP Department of Electronics Microprocessor Laboratory Page | 72 BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT ANL A, #0F0H ORL A, @R1 MOV DPTR,#0000H MOVX @DPTR,A RET DELAY_50MS: MOV R2,#100 LOOP: MOV R3,#250 DJNZ R3,$ DJNZ R2,LOOP RET end Department of Electronics Microprocessor Laboratory Page | 73 BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT Department of Electronics Microprocessor Laboratory Page | 74 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 Hướng dẫn:  LED đoạn quét thí nghiệm dùng ngắt timer  Khi đồng hồ chạy, giá trị thời gian cập nhật dùng ngắt timer Giá trị cập nhật vào ô nhớ 20H, 21H, 22H 23H  Việc kiểm tra nhấn phím SW310, SW311, SW312 xử lý chương trình Kiểm tra:  Biên dịch kiểm tra hoạt động chương trình ORG 2000H LJMP BEGIN ORG 200BH LJMP ISR_TIMER0 ORG 201BH ;Interrupt vector of Timer LJMP ISR_TIMER1 ORG 2030H Department of Electronics Microprocessor Laboratory Page | 75 BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT BEGIN: MOV R0,#0; MOV 20H,#0 MOV 21H,#0 MOV 22H,#0 MOV 23H,#0 MOV R1,#1FH MOV TMOD,#11H SETB EA SETB ET1 SETB PT0 SETB TF1 CLR F0 RESET: MOV R4,#0 MOV R5,#0 MOV R6,#0 MOV R7,#0 CLR ET0 CLR TF0 MAIN: MOV R3,#50 HERE0: JB P1.1,NETX0 DJNZ R3,HERE0 JNB P1.1,$ Department of Electronics Microprocessor Laboratory Page | 76 BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT SETB ET0 SETB TF0 NETX0: MOV R3,#50 HERE1: JB P1.2,NETX1 DJNZ R3,HERE1 JNB P1.2,$ CLR ET0 NETX1: MOV R3,#50 HERE2: JB P1.0,NEXT2 DJNZ R3,HERE2 JNB P1.0,$ JMP RESET NEXT2: CJNE R4,#10, OUT MOV R4,#00H INC R5 CJNE R5,#10, OUT MOV R5,#00H INC R6 CJNE R6,#10, OUT MOV R6,#00H INC R7 Department of Electronics Microprocessor Laboratory Page | 77 BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT CJNE R7,#6, OUT JMP RESET OUT: MOV 20H,R4 MOV 21H,R5 MOV 22H,R6 MOV 23H,R7 JMP MAIN ISR_TIMER1: INC R0 ;Tang R0 CJNE R0,#5,JUM MOV R0,#0 JUM: INC R1 CJNE R1,#24H,JUM2 MOV R1,#1FH JUM2: Call DisplayLED CLR TR1 MOV TH1,#HIGH(-10000) //0.01s MOV TL1,#LOW(-10000) SETB TR1 RETI ISR_TIMER0: Department of Electronics Microprocessor Laboratory Page | 78 BÀI THÍ NGHIỆM LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT INC R4 MOV TH0,#HIGH(-10000) //0.01s MOV TL0,#LOW(-10000) SETB TR0 RETI DisplayLED: MOV B, R0 MOV A, #11110111B SHIFTLOOP: RL A DJNZ B, SHIFTLOOP ANL A, #0F0H ORL A, @R1 MOV DPTR,#0000H MOVX @DPTR,A RET end Department of Electronics Microprocessor Laboratory Page | 79 ... CHUẨN BỊ  Đọc chuẩn bị thí nghiệm nhà  Chuẩn bị cho thí nghiệm 3: Viết chương trình mơ Proteus tất thí nghiệm dựa chuẩn bị thí nghiệm  Nộp tất kết (bài chuẩn bị thí nghiệm 3) cho GVHD trước... Proteus tất thí nghiệm dựa chuẩn bị thí nghiệm ⮚ Nộp tất kết (bài chuẩn bị thí nghiệm 2) cho GVHD trước vào lớp Sinh viên không thực nộp thiếu khơng có lí đáng khơng tham gia thí nghiệm bị đánh... kit thí nghiệm, phần mềm lập trình ⮚ Nắm cách giao tiếp LCD ADC ⮚ Nắm cách lập trình timer CHUẨN BỊ ⮚Đọc chuẩn bị thí nghiệm nhà ⮚ Chuẩn bị cho thí nghiệm 2: Viết chương trình mơ Proteus tất thí

Ngày đăng: 13/07/2022, 07:11

Hình ảnh liên quan

 Viết thêm chương trình con CLRSCREEN để xóa màn hình LCD. CLRSCREEN:; Hàm con xóa màn hình LCD - báo cáo thí nghiệm VXL

i.

ết thêm chương trình con CLRSCREEN để xóa màn hình LCD. CLRSCREEN:; Hàm con xóa màn hình LCD Xem tại trang 26 của tài liệu.
INIT_LCD: ;Các dòng lệnh cấu hình LCD ban đầu MOV A, #38H - báo cáo thí nghiệm VXL

c.

dòng lệnh cấu hình LCD ban đầu MOV A, #38H Xem tại trang 27 của tài liệu.
CLRSCREEN: ;Hàm con xóa màn hình LCD MOV A, #01H - báo cáo thí nghiệm VXL

m.

con xóa màn hình LCD MOV A, #01H Xem tại trang 27 của tài liệu.
LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER SETB LCD_E - báo cáo thí nghiệm VXL
LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER SETB LCD_E Xem tại trang 28 của tài liệu.
DISPLAYSTRING: ;Hàm con xuất chuỗi ký tự bằng cách tra bảng MOV R0,#1 - báo cáo thí nghiệm VXL

m.

con xuất chuỗi ký tự bằng cách tra bảng MOV R0,#1 Xem tại trang 28 của tài liệu.
 Cho biết mã lệnh dùng để xóa màn hình, dịch con trỏ đến vị trí thứ 1 của hàng 1 và vị trí thứ 1 của hàng 2 của LCD? - báo cáo thí nghiệm VXL

ho.

biết mã lệnh dùng để xóa màn hình, dịch con trỏ đến vị trí thứ 1 của hàng 1 và vị trí thứ 1 của hàng 2 của LCD? Xem tại trang 30 của tài liệu.
INIT_LCD: ;Các dòng lệnh cấu hình LCD ban đầu MOV A, #38H - báo cáo thí nghiệm VXL

c.

dòng lệnh cấu hình LCD ban đầu MOV A, #38H Xem tại trang 36 của tài liệu.
CLEAR: ;Hàm con xóa màn hình LCD MOV A, #01H - báo cáo thí nghiệm VXL

m.

con xóa màn hình LCD MOV A, #01H Xem tại trang 37 của tài liệu.
INIT_LCD: ;Các dòng lệnh cấu hình LCD ban đầu MOV A, #38H - báo cáo thí nghiệm VXL

c.

dòng lệnh cấu hình LCD ban đầu MOV A, #38H Xem tại trang 43 của tài liệu.
CLEAR: ;Hàm con xóa màn hình LCD MOV A, #01H - báo cáo thí nghiệm VXL

m.

con xóa màn hình LCD MOV A, #01H Xem tại trang 43 của tài liệu.
DISPLAYSTRING: ;Hàm con xuất chuỗi ký tự bằng cách tra bảng - báo cáo thí nghiệm VXL

m.

con xuất chuỗi ký tự bằng cách tra bảng Xem tại trang 44 của tài liệu.
LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT ACALL PHAT - báo cáo thí nghiệm VXL
LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT ACALL PHAT Xem tại trang 56 của tài liệu.
CLEAR: ;Hàm con xóa màn hình LCD MOV A, #01H - báo cáo thí nghiệm VXL

m.

con xóa màn hình LCD MOV A, #01H Xem tại trang 56 của tài liệu.
- ESC thì xóa màn hình LCD. - báo cáo thí nghiệm VXL

th.

ì xóa màn hình LCD Xem tại trang 59 của tài liệu.
- Nhận 1 byte từ máy tính và xuất ngược lại (echo) lên màn hình Hercules. - báo cáo thí nghiệm VXL

h.

ận 1 byte từ máy tính và xuất ngược lại (echo) lên màn hình Hercules Xem tại trang 62 của tài liệu.

Từ khóa liên quan

Mục lục

  • MỤC TIÊU

  • CHUẨN BỊ

  • MỤC TIÊU

  • CHUẨN BỊ

  • THÍ NGHIỆM 5

    • MỤC TIÊU

    • CHUẨN BỊ

    • THÍ NGHIỆM 7

Tài liệu cùng người dùng

Tài liệu liên quan