bueno ya consegui que funcionara con el pulseout y ademas poniendo un potenciometro para posicionar el servo, va bastante bien. ahora he probado y mirado lo del hwpm pero nada de nada no funciona
sera que estoy usando el mplab 8.10 + pbp 246 ??? porque lo que si que he visto es que el picbasic no es el mismo para el ide que se usa. he apreciado muchisimas variaciones entre los diferentes ide (entornos de derarrollo vease el proton,mikrobasic,picsimulator,etc...)
aqui os pongo el codigo para que me critiqueis

'**************************************************************
' IDE : mplab 8.10
' compilador : pbp 2.46
' debuger : ICD 2 por USB
' entrenador : PICDEM 2 PLUS
'**************************************************************
' definiciones y configuracion del LCD
' en el picdem 2 plus el lcd esta en el port b
clear
Define osc 4
Define LCD_DREG PORTD
Define LCD_BITS 4
Define LCD_DBIT 0
Define LCD_RSREG PORTD
Define LCD_RSBIT 4
Define LCD_EREG PORTD
Define LCD_EBIT 6
Define LCD_RWREG PORTD
Define LCD_RWBIT 5
Low PORTD.2
Define lcd_lines 2
Define LCD_COMMANDUS 4000
Define LCD_DATAUS 200
TRISD = %00000000
output portd.7
portd.7=1
ADCON1 = %00000111
pause 1000
trisb =%00000000
'**********************************************************
valor var byte
valorr var byte
Lcdout $fe, 1
inicio:
'leemo el portb pin2 potenciometro de 100k y condesador de 10nf
pot portb.2,255,valorr
'el servo va de 50 a 249 y el por de 5 a 25 multiplicamos *10
valor= valorr *10
'establecemos max y min
if valor <= 50 then valor =51
if valor =>250 then valor = 249
'pulso en portb pin 1 para mover el servo
pulsout portb.1,valor
' visualizamos en el lcd el valor del portb
Lcdout $fe, 1:lcdout #portb
goto inicio
ahora lo siguiente es conseguir lo mismo con el hpwm. que con los ejemplos que he recogido no funciona....