Fyrkantsvåg med Picbasic
Postat: 20 mars 2007, 10:54:51
Jag skulle behöva en justerbar fyrkantsvåg från en 16F628. Tittade på exemplet nedan, men den ger på tok för hög frekvens. Jag har ändrat PR2 = xx men kommer inte lägre än 3-4 kHz. Annars är det perfekt att ha en fyrkantsvåg liggande i bakgrunden eftersom den ska gå hela tiden men ändras pga andra händelser. Jag skulle behöva kunna justera frekvensen mellan kanske 100 och 1000 Hz.
Några idéer?
PicBasic Pro Code:
' Setting up hardware PWM for 38KHz operation.
DEFINE LOADER_USED 1'Setup for boot-loader programming
TRISC.2 = 0 ' CCP1 (PortC.2 = Output)
PR2 = 25 ' Set PWM Period for approximately 38KHz
CCPR1L = 13 ' Set PWM Duty-Cycle to 50%
CCP1CON = %00001100 ' Select PWM Mode
T2CON = %00000100 ' Timer2 = ON + 1:1 prescale
TRISB.0 = 0
ADDRESS VAR BYTE
DAT VAR BYTE
ID VAR BYTE
ADDRESS = 10
ID = 25
BEGIN:
FOR DAT = 0 TO 255
SEROUT PORTB.0,4,[ID,ADDRESS,DAT]
PAUSE 100
NEXT
GOTO BEGIN
Några idéer?
PicBasic Pro Code:
' Setting up hardware PWM for 38KHz operation.
DEFINE LOADER_USED 1'Setup for boot-loader programming
TRISC.2 = 0 ' CCP1 (PortC.2 = Output)
PR2 = 25 ' Set PWM Period for approximately 38KHz
CCPR1L = 13 ' Set PWM Duty-Cycle to 50%
CCP1CON = %00001100 ' Select PWM Mode
T2CON = %00000100 ' Timer2 = ON + 1:1 prescale
TRISB.0 = 0
ADDRESS VAR BYTE
DAT VAR BYTE
ID VAR BYTE
ADDRESS = 10
ID = 25
BEGIN:
FOR DAT = 0 TO 255
SEROUT PORTB.0,4,[ID,ADDRESS,DAT]
PAUSE 100
NEXT
GOTO BEGIN