buenas a todos
este programa funciona en pic simulator ide, pero al cargarlo a un 16f877a el ancho de pulso siempre es el mismo
la idea es que hace medio ciclo y cambia el valor de portc.3 y portc.1 al opuesto cada cruce por cero, para elejir un tr de potencia.
programa en basic del pic simulator ide:
desde ya muchas gracias a todos.
este programa funciona en pic simulator ide, pero al cargarlo a un 16f877a el ancho de pulso siempre es el mismo
la idea es que hace medio ciclo y cambia el valor de portc.3 y portc.1 al opuesto cada cruce por cero, para elejir un tr de potencia.
programa en basic del pic simulator ide:
Código:
Define CONF_WORD = 0x3f72
TRISC = %00000000
AllDigital
PWMon 1, 9
Dim k As Byte
Dim k1 As Bit
Dim sin(32) As Byte
sin(0) = 0
sin(1) = 25
sin(2) = 49
sin(3) = 73
sin(4) = 96
sin(5) = 118
sin(6) = 137
sin(7) = 159
sin(8) = 177
sin(9) = 193
sin(10) = 208
sin(11) = 220
sin(12) = 231
sin(13) = 239
sin(14) = 245
sin(15) = 249
sin(16) = 250
sin(17) = 249
sin(18) = 245
sin(19) = 239
sin(20) = 231
sin(21) = 220
sin(22) = 208
sin(23) = 193
sin(24) = 177
sin(25) = 159
sin(26) = 137
sin(27) = 118
sin(28) = 96
sin(29) = 73
sin(30) = 49
sin(31) = 25
k = 0
k1 = 0
seno:
WaitUs 100
If k1 = 1 Then
PORTC.3 = 0
PORTC.1 = 1
Endif
If k1 = 0 Then
PORTC.3 = 1
PORTC.1 = 0
Endif
PWMduty 1, sin(k)
If k = 33 Then
k = 0
Toggle k1
Endif
k = k + 1
Goto seno
End
desde ya muchas gracias a todos.
Última edición por un moderador: