
Originally Posted by
BH_epuk
Don't know what happend to the code i posted earlier in the thread, it seems to have been reformatted missing bits so would never work...
The top left icon above the post box has two As; click on it to get SOURCE mode. That will leave your code intact.
To have your post box in SOURCE mode by default:
- click on SETTINGS at top right.
- click on General Settings on left side.
- scroll down to Miscellaneous Options.
- click on Standard Editor - Extra formatting controls
Robert
Code:
'************************************************************************************
'* HPWM Demo Code for PIC18F24K22 *
'* *
'* *
'* *
'************************************************************************************
asm
__CONFIG _CONFIG1H, _FOSC_INTIO67_1H & _PLLCFG_OFF_1H & _PRICLKEN_ON_1H & _FCMEN_OFF_1H & _IESO_OFF_1H
__CONFIG _CONFIG2L, _PWRTEN_ON_2L & _BOREN_OFF_2L & _BORV_285_2L
__CONFIG _CONFIG2H, _WDTEN_NOSLP_2H & _WDTPS_512_2H
__CONFIG _CONFIG3H, _CCP2MX_PORTB3_3H & _PBADEN_OFF_3H & _CCP3MX_PORTB5_3H & _HFOFST_OFF_3H & _T3CMX_PORTB5_3H & _P2BMX_PORTB5_3H & _MCLRE_EXTMCLR_3H
__CONFIG _CONFIG4L, _STVREN_ON_4L & _LVP_OFF_4L & _XINST_OFF_4L & _DEBUG_OFF_4L
__CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L
__CONFIG _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H
__CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L
__CONFIG _CONFIG6H, _WRTC_OFF_6H & _WRTB_OFF_6H & _WRTD_OFF_6H
__CONFIG _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L
__CONFIG _CONFIG7H, _EBTRB_OFF_7H
ENDASM
Define OSC 8
LED2 var PORTA.0 ' Status LED
LED1 var PORTA.1 ' Status LED
RA2 var PORTA.2 '
RA3 var PORTA.3 '
RA4 var PORTA.4 '
RA5 var PORTA.5 '
RA6 VAR PORTA.6 ' Xtal
RA7 var PORTA.7 ' Xtal
PWM1 VAR PORTB.0 ' CH1 PWM Output
RB1 VAR PORTB.1 '
RB2 VAR PORTB.2 '
PWM2 VAR PORTB.3 ' CH2 PWM Output
RB4 VAR PORTB.4 ' Spare
PWM3 VAR PORTB.5 ' CH3 PWm Output
RB6 VAR PORTB.6 ' PGC / TX2
RB7 VAR PORTB.7 ' PGD / RX2
RC0 var PORTC.0 '
RC1 var PORTC.1 '
RC2 var PORTC.2 '
RC3 var PORTC.3 '
RC4 var PORTC.4 '
RC5 var PORTC.5 '
TXD1 var PORTC.6 ' TX1
RXD1 var PORTC.7 ' RX1
RE0 VAR PORTE.0 ' VPP/nMCLR
ch1 var byte
ch2 var byte
ch3 var byte
update var bit
OSCCON = %01100010 ' Set internal 8Mhz OSC
OSCCON2 = %00001100
while OSCCON.2 = 0 : WEND ' Wait for stable flag
clear
PORTA = %00100000 ' Setup ports
PORTB = %00000000
PORTC = %00000000
ANSELA = %00000000
ANSELB = %00000000
ANSELC = %00000000 ' Config A2d
ADCON2 = %10101101
ADCON1 = %00001000
ADCON0 = %00011000
VREFCON0 = %10100000 ' Enable voltage referance 2.048V
TRISA = %00000000 ' Setup TRIS
TRISB = %10000110
TRISC = %10011000
GOTO start
'-------------------------------------------------------------------------------
' Main program starts here
'-------------------------------------------------------------------------------
start:
ch1 = 64 ' load some levels for the outputs
ch2 = 128
ch3 = 192
update = 1 ' set flag to update PWM outputs
'-------------------------------------------------------------------------------
' Main Loop
'-------------------------------------------------------------------------------
main:
if update then ' If the flag is set to update then
hpwm 4,ch1,500 ' load the PWM outputs with new values
hpwm 3,ch2,500
hpwm 2,ch3,500
update = 0 ' clear update flag
endif
goto main
end
Bookmarks