用51单片机输出pwm,周期不变,改变占空比
答案:1 悬赏:60
解决时间 2021-01-24 08:00
- 提问者网友:我们很暧昧
- 2021-01-23 23:28
用51单片机输出pwm,周期不变,改变占空比
最佳答案
- 二级知识专家网友:枭雄戏美人
- 2021-01-24 00:10
;这是呼吸灯的程序,PWM从P0.0输出
ORG 00H
SJMP MAIN
ORG 000BH
LJMP TIME0
ORG 001BH
JMP TI个ME1
ORG 0030H
MAIN:
MOV SP,#70H
MOV TMOD,#21H
MOV 30H,#50
MOV R7,30H
MOV R6,#100
MOV TL0 ,#LOW(65536-15000)
MOV TH0,#HIGH(65536-15000)
MOV TL1,#(256-200)
MOV TH1,#(256-200)
MOV TCON,#00H
SETB PT1
SETB EA
SETB ET0
SETB ET1
SETB TR0
SETB TR1
SJMP $
TIME1:
DJNZ R7,T1_1
; MOV R7,30H
CLR P0.0
T1_1:
DJNZ R6,T1_END
MOV R7,30H
MOV R6,#100
SETB P0.0
T1_END:
RETI
TIME0:
MOV TL0 ,#LOW(65536-15000)
MOV TH0,#HIGH(65536-15000)
JB F0,T0_1
INC 30H
MOV A,#99
CJNE A,30H,T0_END
SETB F0
SJMP T0_END
T0_1:
DEC 30H
MOV A,#01
CJNE A,30H,T0_END
CLR F0
T0_END:
RETI
ORG 00H
SJMP MAIN
ORG 000BH
LJMP TIME0
ORG 001BH
JMP TI个ME1
ORG 0030H
MAIN:
MOV SP,#70H
MOV TMOD,#21H
MOV 30H,#50
MOV R7,30H
MOV R6,#100
MOV TL0 ,#LOW(65536-15000)
MOV TH0,#HIGH(65536-15000)
MOV TL1,#(256-200)
MOV TH1,#(256-200)
MOV TCON,#00H
SETB PT1
SETB EA
SETB ET0
SETB ET1
SETB TR0
SETB TR1
SJMP $
TIME1:
DJNZ R7,T1_1
; MOV R7,30H
CLR P0.0
T1_1:
DJNZ R6,T1_END
MOV R7,30H
MOV R6,#100
SETB P0.0
T1_END:
RETI
TIME0:
MOV TL0 ,#LOW(65536-15000)
MOV TH0,#HIGH(65536-15000)
JB F0,T0_1
INC 30H
MOV A,#99
CJNE A,30H,T0_END
SETB F0
SJMP T0_END
T0_1:
DEC 30H
MOV A,#01
CJNE A,30H,T0_END
CLR F0
T0_END:
RETI
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯