Biết thạch anh 12 Mhz... Biết thạch anh sử dụng 12Mhz.
Trang 1BỘ 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
Trang 2Bài tập 1: Làm bài 1 điểm sáng chạy p1.0 đến p1.7 và đi 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
Trang 3DEL1: MOV R5,#255
DJNZ R5,$
DJNZ R6,DEL1
DJNZ R7,DEL
RET
End
Bài tập 2: làm bài sáng dồn và tắt dồn led p1 Setb c là cho cờ C bằng 1
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
Trang 4MOV 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 2 lần, sáng chạy led P1 3 lần
và sáng dồn 1 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
Trang 5LCALL 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
Trang 6Bà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
Trang 7Bài 5:Viết chương trình nhấn p3.5 lần 1 chớp tắt , lần 2 sáng chạy, lần 3 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
Trang 8JC 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 1 sáng chạy led P1, nhấn lần 2 sáng dồn led P1, lần 3 chớp tắt led P1, lần 4 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,$
Trang 9TANG:
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
Trang 10SJMP 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 1 đếm 00 đến 29 nhấn P3.5 lần 2 đếm 00-39 nhấn p3.5 lần 3 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,$
Trang 11LCALL 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
Trang 12CLR 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 cơ bước nhấn lần 1 quay thuận nhấn lần 2 quay nghịch nhấn lần 3 dừng
Trang 13CODE 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
Trang 14NGHICH:
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