em mới vào nghề, e đang tìm hiểu về lập trình nên chưa thành thạo cho lám, em thử viết 1 đoan chương trình điều khiển dộng cơ DC để nghiên cưu thư nhưng không được tốt cho lắm. nhờ các bác chỉ dạy và cho ý kiến cần khác phục va sửa lỗi . vấn đề cảu em là làm sao co thể tang giam dươc tốc độ động cơ.
đây là bài lập trình của em mong các bác giúp đỡ
ORG 000H
LJMP MAIN
ORG 0030H
MAIN:
MOV R0,#2
MOV TMOD,#00010000B
LOOP:
LCALL TANG
LOOP1:
LCALL GIAM
LOOP2:
MOV TH1,#HIGH(-5000)
MOV TL1,#LOW(-5000)
SETB TR1
JNB TF1,$
CLR TR1
CLR TF1
DJNZ R0,LOOP2
CPL P1.3
SJMP LOOP
TANG:
JB P1.0,LOOP1
LCALL DELAY
JB P1.0,LOOP1
DEC R0
RET
GIAM:
JB P1.1,LOOP2
LCALL DELAY
JB P1.1,LOOP2
INC R0
RET
DELAY:
MOV TMOD,#00000001B
LOOP3:
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
END
đây là bài lập trình của em mong các bác giúp đỡ
ORG 000H
LJMP MAIN
ORG 0030H
MAIN:
MOV R0,#2
MOV TMOD,#00010000B
LOOP:
LCALL TANG
LOOP1:
LCALL GIAM
LOOP2:
MOV TH1,#HIGH(-5000)
MOV TL1,#LOW(-5000)
SETB TR1
JNB TF1,$
CLR TR1
CLR TF1
DJNZ R0,LOOP2
CPL P1.3
SJMP LOOP
TANG:
JB P1.0,LOOP1
LCALL DELAY
JB P1.0,LOOP1
DEC R0
RET
GIAM:
JB P1.1,LOOP2
LCALL DELAY
JB P1.1,LOOP2
INC R0
RET
DELAY:
MOV TMOD,#00000001B
LOOP3:
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
END
Comment