[color=Green]'--------------------------
[PLAIN]'------[ SYMBOL DEFS ]-----[/PLAIN]
'--------------------------
'[/color]
[color=Blue]symbol [/color][color=Purple]pwmDutyCycle [/color][color=DarkCyan]= [/color][color=Purple]b2[/color]
[color=Blue]symbol [/color][color=Purple]pwmPeriod [/color][color=DarkCyan]= [/color][color=Purple]b3[/color]
[color=Green]'--------------------------
[PLAIN]'------[ DIRECTIVES ]------[/PLAIN]
'--------------------------[/color]
[color=Navy]#picaxe [/color][color=Black]28X2[/color]
[color=Navy]#NO_TABLE
#DEFINE [/color][color=Black]test2 [/color][color=Green]; <<<<< ******** CHANGE FOR EACH TEST ******** >>>>>
'--------------------------
[PLAIN]'------[ INITIALISE ]------[/PLAIN]
'--------------------------
'
'pwmDutyCycle = 31 ; default 31 for 500KHz at 50% @ 32MHz
'pwmPeriod = 15 ; default 15 for 500KHz at 50% @ 32MHz[/color]
[color=Purple]pwmDutyCycle [/color][color=DarkCyan]= [/color][color=Navy]15 [/color][color=Green]; default 15 for 1MHz at 50% @ 32MHz[/color]
[color=Purple]pwmPeriod [/color][color=DarkCyan]= [/color][color=Navy]7 [/color][color=Green]; default 7 for 1MHz at 50% @ 32MHz[/color]
[color=Blue]setfreq em32[/color]
[color=Green]' Set the freq & duty-cycle.
' Calculated for 1uSec period; 50% duty-cycle with a 32MHz system clock.[/color]
[color=Blue]pwmout C.1[/color][color=Black], [/color][color=Purple]pwmPeriod[/color][color=Black], [/color][color=Purple]pwmDutyCycle [/color][color=Green]; 1MHz at 50% @ 32MHz
'pwmout C.1, 15, 31 ; 500KHz at 50% @ 32MHz[/color]
[color=Blue]pause [/color][color=Navy]500
#ifdef [/color][color=Black]test1[/color]
[color=Green]'--------------------------
[PLAIN]'------[ TEST #1 ]---------[/PLAIN]
'--------------------------
' Initialize PWM at 1MHz. Stop PWM with PWMDUTY.
' Trigger scope with PULSOUT C.0, 100uSec
' Turn on PWM with PWMDUTY
' Repeat[/color]
[color=Black]test_one:[/color]
[color=Blue]pwmduty c.1[/color][color=Black], [/color][color=Navy]0[/color]
[color=Blue]pause [/color][color=Navy]1[/color]
[color=Blue]pulsout c.0[/color][color=Black], [/color][color=Navy]80 [/color][color=Green]; 100 uSec. @ 32 MHz[/color]
[color=Blue]pwmduty c.1[/color][color=Black], [/color][color=Purple]pwmDutyCycle[/color]
[color=Blue]pause [/color][color=Navy]1[/color]
[color=Blue]goto [/color][color=Black]test_one[/color]
[color=Navy]#endif
#ifdef [/color][color=Black]test2[/color]
[color=Green]'--------------------------
[PLAIN]'------[ TEST #2 ]---------[/PLAIN]
'--------------------------
' Initialize PWM at 1MHz. Stop PWM with PWMOUT duty cycle = zero.
' Trigger scope with PULSOUT C.0, 100uSec
' Turn on PWM with PWMOUT duty cycle = default
' Repeat[/color]
[color=Black]test_two:[/color]
[color=Blue]pwmout C.1[/color][color=Black], [/color][color=Purple]pwmPeriod[/color][color=Black], [/color][color=Navy]0 [/color][color=Green]; 1MHz at 50% @ 32MHz[/color]
[color=Blue]pause [/color][color=Navy]1[/color]
[color=Blue]pulsout c.0[/color][color=Black], [/color][color=Navy]80 [/color][color=Green]; 100 uSec. @ 32 MHz[/color]
[color=Blue]pwmout C.1[/color][color=Black], [/color][color=Purple]pwmPeriod[/color][color=Black], [/color][color=Purple]pwmDutyCycle [/color][color=Green]; 1MHz at 50% @ 32MHz[/color]
[color=Blue]pause [/color][color=Navy]1[/color]
[color=Blue]goto [/color][color=Black]test_two[/color]
[color=Navy]#endif
#ifdef [/color][color=Black]test3[/color]
[color=Green]'--------------------------
[PLAIN]'------[ TEST #3 ]---------[/PLAIN]
'--------------------------
' Initialize PWM at 1MHz.
' Do POKESFR to "duty" register
' Repeat[/color]
[color=Black]test_three:[/color]
[color=Green]'pwmout C.1, pwmPeriod, 0 ; 1MHz at 50% @ 32MHz[/color]
[color=Blue]pause [/color][color=Navy]1[/color]
[color=Green]'pulsout c.0, 80 ; 100 uSec. @ 32 MHz
'pwmout C.1, pwmPeriod, pwmDutyCycle ; 1MHz at 50% @ 32MHz[/color]
[color=Blue]pause [/color][color=Navy]1[/color]
[color=Blue]goto [/color][color=Black]test_three[/color]
[color=Navy]#endif
#ifdef [/color][color=Black]test4[/color]
[color=Green]'--------------------------
[PLAIN]'------[ TEST #4 ]---------[/PLAIN]
'--------------------------
' Initialize PWM at 500KHz. Stop PWM with PWMOUT duty cycle = zero.
' Trigger scope with PULSOUT C.0, 100uSec
' Turn on PWM with PWMOUT duty cycle = default
' Repeat[/color]
[color=Black]test_four:[/color]
[color=Blue]pwmout C.1[/color][color=Black], [/color][color=Purple]pwmPeriod[/color][color=Black], [/color][color=Navy]0 [/color][color=Green]; 500KHz at 50% @ 32MHz[/color]
[color=Blue]pause [/color][color=Navy]1[/color]
[color=Blue]pulsout c.0[/color][color=Black], [/color][color=Navy]80 [/color][color=Green]; 100 uSec. @ 32 MHz[/color]
[color=Blue]pwmout C.1[/color][color=Black], [/color][color=Purple]pwmPeriod[/color][color=Black], [/color][color=Purple]pwmDutyCycle [/color][color=Green]; 500KHz at 50% @ 32MHz[/color]
[color=Blue]pause [/color][color=Navy]1[/color]
[color=Blue]goto [/color][color=Black]test_four[/color]
[color=Navy]#endif[/color]