Подскажите, пожалуйста, что неверно в программе: почему у меня не генерируется последовательность 2 импульсов 10% скважность и 20%, а какой-то хаос. Если убрать в программе генерацию второго импульса, то все ОК-генерируется только один импульс скважностью 10%, период расчетный получается и скважность импульса. list p=16f877 #include <P16F877.INC> ;fosc=20MHz, fPWM=78,125kHz; org 0 clrf INTCON clrf CCP1CON clrf TMR2 ;---------------------; MOVLW .63 bsf STATUS, 5 MOVWF PR2;уст.периода ШИМ; bcf STATUS, 5 ;---------------------; L movlw b'00000110' movwf CCPR1L;длит.импульса; bcf CCP1CON, 5 bsf CCP1CON, 4
;---------------------; bsf STATUS, 5 bcf TRISC, 2;настр.ССР на выход; bcf STATUS, 5 ;---------------------; clrf T2CON bcf T2CON, 0 bcf T2CON, 1;коэф.предделит.=1; bsf T2CON, 2;вкл.TMR2; ;---------------------; bsf CCP1CON, 2 bsf CCP1CON, 3;вкл.ШИМ-режима; ;---------------------; movlw b'00001100' movwf CCPR1L bsf CCP1CON, 5 bsf CCP1CON, 4;длит.2имп.скважн.20%; ;--------------------; clrf T2CON bcf T2CON, 0 bcf T2CON, 1 bsf T2CON, 2 ;-------------------; bsf CCP1CON, 2 bsf CCP1CON, 3 ;-------------------; goto L END
|