Thks.so much!
yes, I need 8 Different PWM signals!!!
I looking this site,I found code for PWM,
but when I tried COMPILE,
I have so many errors,I dont now what is happed!!
Code is:
Code:
'****************************************************************
'* Name : Test_SPWM.pbp *
'* Author : Darrel Taylor *
'* Date : 9/30/2006 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
; Initialize your hardware first
DEFINE OSC 20
CLEAR
INCLUDE "DT_INTS-14.bas" ; Base Interrupt System
INCLUDE "SPWM_INT.bas" ; Software PWM module
DEFINE SPWM_FREQ 40 ; SPWM Frequency
DEFINE SPWM_RES 256 ; SPWM Resolution
DutyVars VAR BYTE[3] ; DutyCycle Variables
DutyVar1 VAR DutyVars[0] ; group them in an array for easy access
DutyVar2 VAR DutyVars[1] ; with FOR loops etc.
DutyVar3 VAR DutyVars[2]
ASM
SPWM_LIST macro ; Define PIN's to use for SPWM
SPWM_PIN PORTB, 0, _DutyVar1
SPWM_PIN PORTB, 1, _DutyVar2
SPWM_PIN PORTB, 2, _DutyVar3
endm
SPWM_INIT SPWM_LIST ; Initialize the Pins
ENDASM
ASM
INT_LIST macro ; IntSource, Label, Type, ResetFlag?
INT_Handler TMR1_INT, SPWMhandler, ASM, yes
endm
INT_CREATE ; Creates the interrupt processor
ENDASM
@ INT_ENABLE TMR1_INT ; enable Timer 1 interrupts
;_____________________________________________________________________________
RandVar VAR WORD : RandVar = 12345
LoopCount VAR WORD
Main: ; Simple Demo to fade/flash some LED's
DutyVar1 = 5 ; Start with 3 LED's at different
DutyVar2 = 50 ; brightness
DutyVar3 = 150
pause 3000
FOR LoopCount = 1 to 4 ; Reapeat 4 times
for DutyVar1 = 0 to 150 ; Fade LED1 UP
pause 10
RANDOM RandVar
DutyVar3 = RandVar & $3F ; Give LED3 a random dutycycle
next DutyVar1
for DutyVar1 = 150 to 0 STEP -1 ; Fade LED1 Down
pause 10
RANDOM RandVar
DutyVar2 = RandVar & $3F ; Give LED2 a random dutycycle
next DutyVar1
NEXT LoopCount
GOTO Main
and to many errors
Bookmarks