Báo cáo thi nghiệm vy xử lý

15 2 0
Báo cáo thi nghiệm vy xử lý

Đ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

lOMoARcPSD|15978022 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO THI NGHIỆM VY XỬ LÝ Giáo viên hướng dẫn:NGUYỄN PHAN HẢI PHÚ Danh sách thành viên: VÕ KHANG KHANG 1913714 Phạm Thiên Khang Nguyễn Phạm Đăng Huy Nguyễn Hồng Tín L21 L21 L21 L21 lOMoARcPSD|15978022 2) BÀI THÍ NHIỆM LẬP TRÌNH GIAO TIẾP VỚI LCD, ADC VÀ TIMER 2.1 THÍ NHIỆM 2.1.1 CODE LCD_E BIT P3.3 LCD_RS BIT P3.5 LCDADDR EQU 6000H ORG 2000H MAIN: MOV @R0, 30H MOV DPTR, #LCDADDR ACALL CLEAR ACALL INIT_LCD ACALL DISPLAYSTRING SJMP $ INIT_LCD: MOV A, #38H ACALL WRITECOM MOV A, #0EH ACALL WRITECOM MOV A, #06H ACALL WRITECOM RET CLEAR: MOV A, #01H ACALL WRITECOM RET WRITECOM: MOV DPTR, #LCDADDR SETB LCD_E CLR LCD_RS MOVX @DPTR, A CLR LCD_E ACALL WAIT_LCD RET WRITETEXT: MOV DPTR, #LCDADDR SETB LCD_E SETB LCD_RS MOVX @DPTR, A CLR LCD_E ACALL WAIT_LCD RET DISPLAYSTRING: MOV A,#0 LOOP: lOMoARcPSD|15978022 MOV DPTR,#TEN MOV R0,A MOVC A,@A+DPTR JZ EXIT ACALL WRITETEXT MOV A,R0 INC A SJMP LOOP EXIT: RET WAIT_LCD: MOV DL1: MOV DJNZ DJNZ RET TEN: DB END R6,#10 R7, #250 R7, $ R6,DL1 "VO KHANG KHANG",0 2.1.2 CHẠY MÔ PHỎNG 2.1.3 TRẢ LỜI CÂU HỎI  Chương trình INT_LCD dùng để khởi tạo cấu hình ban đầu cho LCD, chương trình CLEAR dùng để xóa màng hình LCD, chương trình WRITECOM dùng để xuất lệnh LCD, chương trình WRITETEXT dùng để ghi ký tự lên LCD, chường trình DISPLAYSTRING dùng để xuất chuổi ký tự phương pháp tra bảng  Lưu đồ giãi thuật giao tiếp với LCD lOMoARcPSD|15978022 2.2 THÍ NGHIỆM 2.2.1CODE LCD_E BIT P3.3 LCD_RS BIT P3.5 LCDADDR EQU 6000H ORG 2000H MAIN: MOV @R0, 30H MOV DPTR, #LCDADDR ACALL CLEAR ACALL INIT_LCD CLR F0 ACALL DISPLAYSTRING SETB F0 ACALL DISPLAYSTRING SJMP $ INIT_LCD: MOV A, #38H ACALL WRITECOM MOV A, #0EH ACALL WRITECOM MOV A, #06H ACALL WRITECOM RET CLEAR: MOV A, #01H lOMoARcPSD|15978022 ACALL WRITECOM RET WRITECOM: MOV DPTR, #LCDADDR SETB LCD_E CLR LCD_RS MOVX @DPTR, A CLR LCD_E ACALL WAIT_LCD RET WRITETEXT: MOV DPTR, #LCDADDR SETB LCD_E SETB LCD_RS MOVX @DPTR, A CLR LCD_E ACALL WAIT_LCD RET DISPLAYSTRING: CALL COUNT JNB F0,TT MOV R0,#2 SJMP TT3 TT: MOV R0,#1 TT3: CALL GOTOXY MOV A,#0 LOOP: JB F0,TT1 MOV DPTR,#TEN SJMP TT2 TT1: MOV DPTR,#NHOM TT2: MOV R0,A MOVC A,@A+DPTR JZ EXIT ACALL WRITETEXT MOV A,R0 INC A SJMP LOOP EXIT: RET WAIT_LCD: MOV R6,#10 lOMoARcPSD|15978022 DL1: MOV R7, #250 DJNZ R7, $ DJNZ R6,DL1 RET COUNT: MOV R1,#0 MOV A,#0 LAP: JB F0,QUA MOV DPTR,#TEN SJMP QUA1 QUA: MOV DPTR,#NHOM QUA1: MOV R0,A MOVC A,@A+DPTR JZ THOAT INC R1 MOV A,R0 INC A SJMP LAP THOAT: MOV A,#16 SUBB A,R1 MOV B,#2 DIV AB MOV R1,A RET GOTOXY: CJNE R0,#2,TTT1 MOV A,#0C0H SJMP TTT2 TTT1: MOV A,#80H TTT2: ADD A,R1 CALL WRITECOM RET TEN: DB "VO KHANG KHANG",0 NHOM: DB "NHOM54",0 END 2.2.2 CHẠY MÔ PHỎNG lOMoARcPSD|15978022 2.2.3 TRẢ LỜI CÂU HỎI  Lệnh dùng đề xóa màng hình MOV A, #01H ACALL WRITECOM  Lệnh dùng đê di chuyển trỏ đến vị trí thứ hàng MOV A, #80H ACALL WRITECOM  Lệnh dùng đê di chuyển trỏ đến vị trí thứ hàng MOV A, #0C0H ACALL WRITECOM  Để canh màng hình LCD Ta đo độ dài chuỗi ký tự cần ghi, sau lấy 16 trừ độ dài chuỗi ký tự đó, lấy kết chi ta vị trí chuỗi ký tự 2.3 THÍ NGHIỆM 2.3.1 CODE LCD_E BIT P3.3 LCD_RS BIT P3.5 LCDADDR EQU 6000H ADCADDR EQU 4000H ORG MAIN: CALL READADC PUSH MOV DPTR, #LCDADDR CALL CLEAR CALL INIT_LCD CALL DISPLAYSTRING LCD MOV A,#0C0H CALL WRITECOM POP lOMoARcPSD|15978022 MOV A,R0 MOV B,#10 DIV AB MOV R7,B MOV B,#10 DIV AB MOV DPTR,#TAB MOVC A,@A+DPTR CALL WRITETEXT MOV A,B MOV DPTR,#TAB MOVC A,@A+DPTR CALL WRITETEXT MOV A,R7 MOV DPTR,#TAB MOVC A,@A+DPTR CALL WRITETEXT SJMP $ READADC: MOV DPTR,#ADCADDR ;Start ADC MOV A,#0 MOVX @DPTR,A ACALL WAIT_LCD MOVX A,@DPTR MOV R0,A MOV P1,A RET INIT_LCD: MOV A, #38H ACALL WRITECOM MOV A, #0EH ACALL WRITECOM MOV A, #06H ACALL WRITECOM RET CLEAR: MOV A, #01H ACALL WRITECOM RET WRITECOM: MOV DPTR, #LCDADDR SETB LCD_E CLR LCD_RS MOVX @DPTR, A CLR LCD_E ACALL WAIT_LCD lOMoARcPSD|15978022 RET WRITETEXT: MOV DPTR, #LCDADDR SETB LCD_E SETB LCD_RS MOVX @DPTR, A CLR LCD_E ACALL WAIT_LCD RET WAIT_LCD: MOV R6,#10 DL1: MOV R7, #250 DJNZ R7, $ DJNZ R6,DL1 RET DISPLAYSTRING: MOV A,#0 LOOP: MOV DPTR, #MESSAGE MOV R0,A MOVC A,@A+DPTR JZ EXIT ACALL WRITETEXT MOV A,R0 INC A SJMP LOOP EXIT: RET MESSAGE: DB "Gia tri kenh 0: ",0 TAB: DB "0123456789" END 2.3.2 CHẠY MÔ PHỎNG lOMoARcPSD|15978022 2.3.3 TRẢ LỜI CÂU HỎI Giá trị hiển thị gá trị thự điện áp Để có giá trị thự điện áp ta cần lấy giá trị chia 256 sau nhân 2.4 THÍ NGHIỆM 2.4.1 CODE LCD_E BIT P3.3 LCD_RS BIT P3.5 LCDADDR EQU 6000H ADCADDR EQU 4000H ORG MAIN: CALL READADC CALL CALADC PUSH PUSH MOV DPTR, #LCDADDR CALL CLEAR CALL INIT_LCD CALL DISPLAYSTRING LCD MOV A,#0C0H CALL WRITECOM POP MOV A,R0 MOV DPTR,#TAB MOVC A,@A+DPTR CALL WRITETEXT MOV A,#"." CALL WRITETEXT POP MOV A,R1 Downloaded by Quang Quang (khoa31141020806@gmail.com) lOMoARcPSD|15978022 MOV B,#10 DIV AB MOV DPTR,#TAB MOVC A,@A+DPTR CALL WRITETEXT MOV A,B MOV DPTR,#TAB MOVC A,@A+DPTR CALL WRITETEXT MOV A,#"V" CALL WRITETEXT SJMP $ READADC: MOV DPTR,#ADCADDR ;Start ADC MOV A,#0 MOVX @DPTR,A CALL WAIT_LCD ;EOC MOVX A,@DPTR ;OE MOV R0,A MOV P1,A RET CALADC: MOV B,#5 MUL AB MOV R0,B MOV B,#100 MUL AB MOV R1,B RET INIT_LCD: MOV A, #38H ACALL WRITECOM MOV A, #0EH ACALL WRITECOM MOV A, #06H ACALL WRITECOM RET CLEAR: MOV A, #01H ACALL WRITECOM RET WRITECOM: MOV DPTR, #LCDADDR SETB LCD_E CLR LCD_RS MOVX @DPTR, A Downloaded by Quang Quang (khoa31141020806@gmail.com) lOMoARcPSD|15978022 CLR LCD_E ACALL WAIT_LCD RET WRITETEXT: MOV DPTR, #LCDADDR SETB LCD_E SETB LCD_RS MOVX @DPTR, A CLR LCD_E ACALL WAIT_LCD RET WAIT_LCD: MOV R6,#10 DL1: MOV R7, #250 DJNZ R7, $ DJNZ R6,DL1 RET DISPLAYSTRING: MOV A,#0 LOOP: MOV DPTR, #MESSAGE MOV R0,A MOVC A,@A+DPTR JZ EXIT ACALL WRITETEXT MOV A,R0 INC A SJMP LOOP EXIT: RET MESSAGE: DB "VIN kenh 0: ",0 TAB: DB "0123456789" END 2.4.2 CHẠY MÔ PHỎNG Downloaded by Quang Quang (khoa31141020806@gmail.com) lOMoARcPSD|15978022 2.4.3 TRẢ LỜI CÂU HỎI Gí trị v đo 5v chênh lệc 0.02v 2.5 THÍ NGHIỆM 2.5.1 CODE ORG 2000H MOV TMOD,#01H LOOP: CPL P1.0 ;1MC MOV R1,#10 ;1MC LP1: ACALL DL ;2MC DJNZ R1,LP1 ;2MC SJMP LOOP ;2MC DL: MOV TH0,#HIGH(-46079) ;2MC MOV TL0,#LOW(-46079) ;2MC SETB TR0 ;1MC JNB TF0,$ ;2MC CLR TR0 ;1MC CLR TF0 ;1MC RET END 2.5.2 CHẠY MÔ PHỎNG Downloaded by Quang Quang (khoa31141020806@gmail.com) lOMoARcPSD|15978022 Chu kỳ hình khoảng 10 với thang đo 100ms nên chu kỳ khoảng 1s 2.5.3 TRẢ LỜI CÂU HỎI - để tạo sóng có tầần sơố 1hz có thẻ sử dụng tmer mode CODE thí nghiệm - để hạn chêố sai sơố ta nạp giá trị đầầu -45965 2.6 THÍ NHIỆM 2.6.1 CODE ORG 2000H MOV TMOD,#02H LOOP: CPL P1.0 ;1 MOV R1,#8 ;1 MOV TH0,#-250 ;2 MOV TL0,#-250 ;2 LP1: MOV R2,#230 ;1 LP2: SETB TR0 ;1 JNB TF0,$ ;2 CLR TR0 ;1 CLR TF0 ;1 DJNZ R2,LP2 ;2 DJNZ R1,LP1 ;2 SJMP LOOP ;2 SAI SO 0.014S END 2.6.2 CHẠY MÔ PHỎNG Downloaded by Quang Quang (khoa31141020806@gmail.com) lOMoARcPSD|15978022 Chu kỳ hình khoảng 10 với thang đo ô 100ms nên chu kỳ khoảng 1s 2.6.3 TRẢ LỜI CÂU HỎI Lệnh lầốy bù bit vầẫn ảnh hưởng đêố sai sơố thời giang tạo delay vó nằầm vịng l ặp Downloaded by Quang Quang (khoa31141020806@gmail.com)

Ngày đăng: 21/06/2023, 22:08

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

Tài liệu liên quan