|
发表于 2024-1-8 11:18:56
|
显示全部楼层
;测试程序2
mov wr0,#word2 PWMB_ARRH
mov wr2,#word0 PWMB_ARRH
mov a,#0ffh
mov @dr0,r11
mov @dr0+1,r11
mov wr2,#word0 PWMB_PSCRH
mov a,#byte1 0 ;319
mov @dr0,r11
mov a,#byte0 0 ;319
mov @dr0+1,r11
mov wr2,#word0 PWMB_CCR1H
mov a,#byte1 10000
mov @dr0,r11
mov a,#byte0 10000
mov @dr0+1,r11
mov wr2,#word0 PWMB_CCR2H
mov a,#byte1 15000
mov @dr0,r11
mov a,#byte0 15000
mov @dr0+1,r11
mov wr2,#word0 pwmb_cr1
mov a,#01h
mov @dr0,r11
mov wr2,#word0 PWMB_CCMR1
mov a,#00h
mov @dr0,r11
mov wr2,#word0 PWMB_CCMR2
mov a,#00h
mov @dr0,r11
mov wr2,#word0 pwmb_ccer1
mov a,#11h
mov @dr0,r11
mov wr2,#word0 PWMB_bkr
mov a,#80h
mov @dr0,r11
mov wr2,#word0 pwmb_eno
mov a,#05h
mov @dr0,r11
mov wr2,#word0 PWMB_CNTRH ;在PWM输出冻结模式下产生一次比较匹配
mov r10,@dr0
mov r11,@dr0+1
add wr10,#25
mov wr2,#word0 PWMB_CCR1H
mov @dr0,r10
mov @dr0+1,r11
mov wr2,#word0 PWMB_CCR2H
mov @dr0,r10
mov @dr0+1,r11
mov r10,#100 ;延时300个时钟
djnz b,$
mov a,#30h ;PWM输出设置为翻转模式
mov wr2,#word0 PWMB_CCMR1
mov @dr0,r11
mov wr2,#word0 PWMB_CCMR2
mov @dr0,r11 ;错误!设置完成后PWM输出为高电平
n1: mov r10,#100 ;延时300个时钟
djnz b,$
mov wr2,#word0 PWMB_CNTRH ;以下程序保证不会再产生比较匹配
mov r10,@dr0
mov r11,@dr0+1
add wr10,#1000
mov wr2,#word0 PWMB_CCR1H
mov @dr0,r10
mov @dr0+1,r11
mov wr2,#word0 PWMB_CCR2H
mov @dr0,r10
mov @dr0+1,r11
sjmp n1 |
|