JNB ACC.3,ISREXIT
ANL PWMCFG,#NOT 08H
ISREXIT:
POP ACC
RETI
MAIN:
MOV SP, #5FH
MOV P0M0, #00H
MOV P0M1, #00H
MOV P1M0, #00H
MOV P1M1, #00H
MOV P2M0, #00H
MOV P2M1, #00H
MOV P3M0, #00H
MOV P3M1, #00H
MOV P4M0, #00H
MOV P4M1, #00H
MOV P5M0, #00H
MOV P5M1, #00H
MOV ADC_CONTR,# ADC_POWER | ADC_EPWMT
SETB EADC
MOV PWMSET,#01H ;Enable PWM module (The configuration is effective only after the
module is enabled.)
MOV P_SW2,#80H
CLR A
MOV DPTR,#PWMCKS
MOVX @DPTR,A ; The clock of PWM is the system clock
MOV A,#10H
MOV DPTR,#PWMCH ; Set the period of PWM to 1000H PWM clocks
MOVX @DPTR,A
MOV A,#00H
MOV DPTR,#PWMCL
MOVX @DPTR,A
MOV A,#01H
MOV DPTR,#PWM0T1H ; When the count value is 100H, the PWM0 channel outputs low
level
MOVX @DPTR,A
MOV A,#00H
MOV DPTR,#PWM0T1L
MOVX @DPTR,A
MOV A,#05H
MOV DPTR,#PWM0T2H ; When the count value is 500H, the PWM0 channel outputs high
level
MOVX @DPTR,A
MOV A,#00H
MOV DPTR,#PWM0T2L
MOVX @DPTR,A
MOV A,#02H
MOV DPTR,#PWMTADCH ; Set ADC trigger point
MOVX @DPTR,A
MOV A,#00H
MOV DPTR,#PWMTADCL
MOVX @DPTR,A
MOV A,#80H