BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH KHOA CƠNG NGHỆ ĐIỆN - - KỸ THUẬT VI XỬ LÝ BÀI BÁO CÁO GVHD: NGUYỄN ĐỨC TOÀN HỌ VÀ TÊN : NGUYỄN QUANG HƯNG MSSV: 19512431 0 Bài tập 1: Làm điểm sáng chạy p1.0 đến p1.7 p1.7 đến p1.0 CODE ASM: ORG 0000h ORG 0000H MOV 20H,#0FEH MOV 21H,#0FDH MOV 22H,#0FBH MOV 23H,#0F7H MOV 24H,#0EFH MOV 25H,#0DFH MOV 26H,#0BFH MOV 27H,#7FH TD1: MOV A,#0FFH CLR C X11: RLC A MOV P1,A LCALL DELAY JC X11 TD2: MOV A,#0EFH CLR C X12: RRC A MOV P1,A LCALL DELAY JC X12 SJMP TD1 DELAY: MOV R7,#3 DEL: MOV R6,#255 0 DEL1: MOV R5,#255 DJNZ R5,$ DJNZ R6,DEL1 DJNZ R7,DEL RET End Bài tập 2: làm sáng dồn tắt dồn led p1 Setb c cho cờ C CODE ASM: ORG 0000H TG EQU 20H KQ EQU 21H CK EQU 22H SLDL EQU 23H MAIN: MOV KQ,#0FFH MOV CK,#8 X1: MOV SLDL,CK MOV TG,#0FFH CLR C X0: MOV A,TG RLC A MOV TG,A ANL A,KQ MOV P1,A LCALL DELAY DJNZ CK,X1 SJMP MAIN 0 DELAY: MOV R5,#20 DEL: MOV TH1,#3CH MOV TL1,#0B0H SETB TR1 JNB TF1,$ CLR TR1 CLR TF1 DJNZ R5,DEL RET End Bài 3: Viết chương trình chớp tắt led P1 lần, sáng chạy led P1 lần sáng dồn lần với thời gian delay0.3s sử dụng Timer1 Biết thạch anh 12 Mhz CODE ASM: ORG 0000H TG EQU 20H KQ EQU 21H CK EQU 22H SLDL EQU 23H MOV TMOD,#10H TD1: MOV R1,#2 X11: LCALL CHOPTAT DJNZ R1,X11 MOV R1,#3 X12: LCALL SANGCHAY DJNZ R1,X12 0 LCALL SANGDON SJMP TD1 CHOPTAT: MOV P1,#0FFH LCALL DELAY MOV P1,#00H LCALL DELAY RET SANGCHAY: MOV A,#0FFH CLR C X3: RLC A MOV P1,A LCALL DELAY JC X3 RET SANGDON: TD11: MOV KQ,#0FFH MOV CK,#8 X1:MOV SLDL,CK MOV TG,#0FFH CLR C X0: MOV A,TG RLC A MOV TG,A ANL A,KQ MOV P1,A LCALL DELAY DJNZ SLDL,X0 MOV KQ,P1 DJNZ CK,X1 RET DELAY: MOV R5,#10 DEL: MOV TH1,#8AH MOV TL1,#0D0H SETB TR1 JNB TF1,$ CLR TR1 CLR TF1 DJNZ R5,DEL RET End 0 Bài 4: viết chương trình nhấn p3.5 chớp tắt led P1 nhấn P3.6 dừng với thời gian delay 0.2s sử timer0 Biết thạch anh sử dụng 12Mhz CODE ASM: ORG 0000h MOV TMOD,#01H MOV P1,#0FFH TD1: JNB P3.5,CHOPTAT SJMP TD1 CHOPTAT: MOV P1,#0FFH LCALL DELAY MOV P1,#00H LCALL DELAY SJMP CHOPTAT DUNG: MOV P1,#0FFH SJMP TD1 DELAY: MOV R7,#20 DEL: MOV TH0,#0B1H MOV TL0,#0E0H SETB TR0 KT: JNB P3.6,DUNG JNB TF0,KT CLR TR0 CLR TF0 DJNZ R7,DEL RET END 0 Bài 5:Viết chương trình nhấn p3.5 lần chớp tắt , lần sáng chạy, lần dừng CODE ASM: ORG 0000H MOV R1,#0 TD1: JB P3.5,TD1 TANG: JNB P3.5,$ LCALL DELAYCN INC R1 CJNE R1,#1,KT1 SJMP CHOPTAT KT1: CJNE R1,#2,KT2 SJMP SANGCHAY KT2: SJMP DUNG DUNG: MOV R1,#0 MOV P1,#0FFH SJMP TD1 CHOPTAT: MOV P1,#0FFH LCALL DELAY MOV P1,#00H LCALL DELAY SJMP CHOPTAT SANGCHAY: TT1: MOV A,#0FFH CLR C X3: RLC A MOV P1,A LCALL DELAY 0 JC X3 SJMP TT1 DELAY: MOV R7,#2 DEL2: MOV R6,#255 DEL1: MOV R5,#255 DEL: JNB P3.5,TANG DJNZ R5,DEL DJNZ R6,DEL1 DJNZ R7,DEL2 RET DELAYCN: MOV R7,#20 MOV R6,#30 DEL3: MOV R5,#250 DEL4: DJNZ R5,$ DJNZ R6,DEL3 DJNZ R7,DEL4 RET END Bài 7: viết chương trình nhấn P3.6 lần sáng chạy led P1, nhấn lần sáng dồn led P1, lần chớp tắt led P1, lần dừng CODE ASM: ORG 000H TG EQU 20H KQ EQU 21H CK EQU 22H SLDL EQU 23H MOV R4,#0 TD1:JB P3.6,$ 0 TANG: LCALL delayCN JNB P3.6,$ LCALL delayCN INC R4 CJNE R4,#1,KT1 SJMP SANGCHAY KT1:CJNE R4,#2,KT2 SJMP SANGDAN KT2:CJNE R4,#3,KT3 SJMP CHOPTAT KT3:MOV R4,#0 MOV P1,#0FFH SJMP TD1 SANGDAN: MOV KQ,#0FFH MOV CK,#8 N6: MOV SLDL,CK MOV TG,#0FFH CLR C N5: MOV A,TG RLC A MOV TG,A ANL A,KQ MOV P1,A LCALL delay DJNZ SLDL, N5 MOV KQ,P1 DJNZ CK,N6 SJMP SANGDAN CHOPTAT: MOV P1,#00H LCALL delay MOV P1,#0FFH LCALL delay SJMP CHOPTAT SANGCHAY: MOV A,#0FFH CLR C N4: RLC A MOV P1,A LCALL delay JC N4 0 SJMP SANGCHAY delay: MOV R0,#1 N1: MOV R1,#200 N2: MOV R2,#200 N3: JNB P3.6,TD1 DJNZ R2,N3 DJNZ R1,N2 DJNZ R0,N1 RET delayCN: MOV R7,#3 DEL: MOV R6,#255 DEL1: MOV R5,#255 DJNZ R5,$ DJNZ R6,DEL1 DJNZ R7,DEL RET End Bài 8: Viết chương trình nhấn P3.5 lần đếm 00 đến 29 nhấn P3.5 lần đếm 00-39 nhấn p3.5 lần dừng CODE ASM: ORG 0000H MOV TMOD,#10H MOV R1,#00 CLR P2.0 CLR P2.1 TD1: JNB P3.5,TANG SJMP TD1 TANG: JNB P3.5,$ 0 LCALL DELAYCN INC R1 CJNE R1,#1,KT MOV 25H,#30 SJMP CHINH KT: CJNE R1,#2,KT1 MOV 25H,#40 SJMP CHINH KT1: SJMP DUNG DUNG: MOV R1,#0 MOV P1,#0FFH SJMP TD1 CHINH: MOV R0,#00H X11: LCALL HEX_BCD LCALL BCD_7DOAN LCALL DELAY_HIENTHI INC R0 MOV A,R0 CJNE A,25H,X11 SJMP CHINH DELAY_HIENTHI: MOV R7,#2 DEL1: MOV R6,#250 DEL: LCALL HIENTHI JNB P3.5,TANG DJNZ R6,DEL DJNZ R7,DEL1 RET HEX_BCD: MOV A,R0 MOV B,#10 DIV AB MOV 20H,B;DONVI MOV 21H,A;CHUC RET BCD_7DOAN: MOV DPTR,#BANG MOV A,20H MOVC A,@A+DPTR MOV 30H,A MOV A,21H MOVC A,@A+DPTR MOV 31H,A RET HIENTHI: MOV P0,31H SETB P2.0 0 CLR P2.0 MOV P0,#0BBH SETB P2.1 CLR P2.1 LCALL DELAY; QUETLET MOV P0,#0FFH; CHONGLEM SETB P2.1 CLR P2.1 MOV P0,30H SETB P2.0 CLR P2.0 MOV P0,#77H SETB P2.1 CLR P2.1 LCALL DELAY MOV P0,#0FFH SETB P2.1 CLR P2.1 RET DELAYCN: MOV R5,#10 ;0.3s DELCN: MOV TH1,#8AH MOV TL1,#0D0H SETB TR1 JNB TF1,$ CLR TR1 CLR TF1 DJNZ R5,DELCN RET DELAY: MOV R2,#200 DJNZ R2,$ RET BANG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH End Bài 9: Viết chương trình điều khiển động bước nhấn lần quay thuận nhấn lần quay nghịch nhấn lần dừng 0 CODE ASM: ORG 0000H MOV R0,#0 NO: JB P2.3,NO YES: JNB P2.3,$ INC R0 MOV P3,#00H C1: CJNE R0,#1,C2 LCALL THUAN C2: CJNE R0,#2,C3 LCALL x11 C3: SJMP DUNG DUNG: MOV P3,#00H MOV R0,#0 SJMP NO DELAY: MOV R4,#7 L2: MOV R3,#50 LAP: MOV R2,#100 DEL: JNB P2.3,YES DJNZ R2,DEL DJNZ R3,LAP DJNZ R4,L2 0 RET NGHICH: SETB C MOV A,#00H X11: RLC A MOV P3,A LCALL DELAY JNB P3.3,X11 SJMP NGHICH RET THUAN: MOV A,#10H X12: RR A MOV P3,A LCALL DELAY JNB P3.0,X12 SJMP THUAN RET End 0 .. .Bài tập 1: Làm đi? ??m sáng chạy p1. 0 đến p1. 7 p1. 7 đến p1. 0 CODE ASM: ORG 00 00h ORG 00 00H MOV 20H,#0FEH MOV 21H,#0FDH MOV 22H,#0FBH MOV 23H,#0F7H MOV 24H,#0EFH MOV 25H,#0DFH MOV 26H,#0BFH... EQU 23H MOV TMOD, # 10 H TD1: MOV R1,#2 X 11: LCALL CHOPTAT DJNZ R1,X 11 MOV R1,#3 X12: LCALL SANGCHAY DJNZ R1,X12 0 LCALL SANGDON SJMP TD1 CHOPTAT: MOV P1, #0FFH LCALL DELAY MOV P1, #00 H LCALL DELAY RET... SETB P2 .0 CLR P2 .0 MOV P0, #77 H SETB P2 .1 CLR P2 .1 LCALL DELAY MOV P0,#0FFH SETB P2 .1 CLR P2 .1 RET DELAYCN: MOV R5, # 10 ;0. 3s DELCN: MOV TH1,#8AH MOV TL1,#0D0H SETB TR1 JNB TF1,$ CLR TR1 CLR TF1 DJNZ