Autor Tema: Empecemos con un Cursillo del compilador Pic Simulator IDE Basic.  (Leído 64812 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado RockLee_89

  • PIC16
  • ***
  • Mensajes: 140
Re: Empecemos con un Cursillo del compilador PIC Simulator IDE Basic.
« Respuesta #60 en: 08 de Febrero de 2013, 16:08:14 »
aqui el codigo del pic yo hice la cala con un pic16f877a y el sistema funciona mis ejemplo son hechos y montados, no me gusta hacerlos virtualmente, por que me an fallado, algunos
bueno, el ejemplo es sencillo utiliza lo que es el adc del pic usando para leer la lectura del sensor lm35 ,el puerto serie del pic via hardware y la interrupcion del pic en modo resepcion ya que es la que mejor me interesa para no estar checando el puerto del pic tan seguido y asi no se me pierde ninguna informacion

AllDigital

'CONFIGURACION DEL PUERTOS
'------------------------------------------
TRISA = %001011
TRISC = %10000000
TRISD = %00000011
'------------------------------------------

'CONFIGURACION DE ADC
'------------------------------------------
Define ADC_CLOCK = 3
Define ADC_SAMPLEUS = 50
ADCON0 = 0x00
ADCON1 = %10000100
'------------------------------------------

'CONFIGURACION DE INTERUPCION POR RECEPCION
'------------------------------------------
INTCON.GIE = 1
INTCON.PEIE = 1
PIE1.RCIE = 1
'------------------------------------------

'CONFIGURACION DE LCD
'------------------------------------------
Define LCD_BITS = 4
Define LCD_DREG = RB
Define LCD_DBIT = 4
Define LCD_RSREG = RB
Define LCD_RSBIT = 3
Define LCD_EREG = RB
Define LCD_EBIT = 2
Define LCD_COMMANDUS = 2000
Define LCD_DATAUS = 100
Define LCD_INITMS = 100
Lcdinit 0
'------------------------------------------

'CONFIGURACION DE VARIABLES DE TEMPERATURA
'------------------------------------------
Dim a1 As Word
Dim a2 As Byte
Dim a3 As Word
Dim a4 As Byte
a1 = 0
a2 = 0
a3 = 0
a4 = 0
'------------------------------------------


'CONFIGURACION DE VARIABLES DE RECEPCION

'------------------------------------------
Dim dato As Byte
dato = 0
'------------------------------------------

'COMUNICACION SERIAL 9600
'------------------------------------------
Hseropen 9600
'------------------------------------------

'CONFIGURACION PUERTO A CERO
'------------------------------------------
RD.3 = 0
RD.4 = 0
'------------------------------------------

inicio:

Lcdcmdout LcdLine1Home

Adcin 0, a1
a2 = a1 / 2
Lcdout "C " #a2
Hserout "tempin", #a2
WaitMs 5

Lcdcmdout LcdLine1Pos(7)
Adcin 1, a3
a4 = a3 / 2
Lcdout "C " #a4
Hserout "tempou", #a4
WaitMs 5

'CONTROL DE LAS IMAGENES VISUAL
'------------------------------------------
If RD.0 = 1 Then
Hserout "f1on"
Endif

If RD.0 = 0 Then
Hserout "f1of"
Endif

If RD.1 = 1 Then
Hserout "f2on"
Endif

If RD.1 = 0 Then
Hserout "f2of"
Endif
'------------------------------------------

Goto inicio
End                                               

On Interrupt
'------------------------------------------
PIE1.RCIE = 0
PIR1.RCIF = 0
Hserin dato

'LECTURA DE LA APLICACION BOTONES
'------------------------------------------
If dato = "A" Then
RD.3 = 1
dato = 0
Endif

If dato = "B" Then
RD.3 = 0
dato = 0
Endif

If dato = "C" Then
RD.4 = 1
dato = 0
Endif

If dato = "D" Then
RD.4 = 0
dato = 0
Endif
'------------------------------------------
PIE1.RCIE = 1

Resume               
« Última modificación: 02 de Febrero de 2016, 20:53:10 por dogflu66 »

Desconectado RockLee_89

  • PIC16
  • ***
  • Mensajes: 140
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #61 en: 08 de Febrero de 2013, 17:28:35 »
bueno aqui les dejo el link donde esta mi aplicacion hecha en visual basic 2010 expres , las espesificaciones se encuentran dentro saludos

http://www.4shared.com/rar/b-yXweYt/ControL_Casa.html

Desconectado fabio2012

  • PIC10
  • *
  • Mensajes: 8
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #62 en: 12 de Febrero de 2013, 23:05:57 »
hola a todo deje por un tiempo de pasar por el foro por falta de tiempo,estuvo estudiando matematica y fisica para rendir este sabado es mi ultima prueba,y creeria que la semana que viene subiria ejemplos de pic simuleirto ide  :) :) :) ,tengo varia programas mas, el contador de 4 digitos de display de 7 segmento y tambien le agregue una alarma para detenerlo en una determina cantidad. variador,ect
Espero subir lo mas ante posible asi sigue creciendo el foro ;-)

Desconectado RockLee_89

  • PIC16
  • ***
  • Mensajes: 140
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #63 en: 15 de Febrero de 2013, 22:13:14 »
me da gusto que no desaparescas amigo fabio2012  y espero tus ejemplos
saludos

Desconectado fabio2012

  • PIC10
  • *
  • Mensajes: 8
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #64 en: 25 de Febrero de 2013, 16:41:08 »
Hola a todos,no puedo subir el ejemplo del contador de 4 digitos porque no me funciono el 7447 :( :( (lo queria subir con video para ver su funcionamiento por que en proteuz no se puede apreciar)
pero subo un un ejemplo de un variador (podemos a ser que prenda mas lijeros y mas lento), espero que sea de utilidad
aca va el ejemplo:
AllDigital
TRISA = %11111111
TRISB = %11111110
Dim xy As Byte
Dim veces As Byte
veces = 100
inicio:
PORTB = %00000001
Gosub timer
PORTB = %00000000
Gosub timer
Goto inicio
End                                               
timer:
If RA0 = 0 Then Gosub restar
If RA1 = 0 Then Gosub sumar
For xy = 100 To veces
WaitMs 5
Next xy
Return                                           
sumar:
If veces > 150 Then Return
veces = veces + 5
Return                                           
restar:
If veces < 10 Then Return
veces = veces - 5
Return             


subo tambien simulacion en proteuz
espero que sea de utilidad,voy a tratar de seguir subiendo ejemplos saludos :) :) :)                             

Desconectado borja

  • PIC10
  • *
  • Mensajes: 1
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #65 en: 08 de Mayo de 2015, 01:18:25 »
Aqui les déjo el codigo para un contador de 0-99 esta muy sencillo en programa : ) espero les ayude :-/ :mrgreen: (((:-)))

Device 16F628A
Declare Xtal = 10

Dim U As Word
Dim D As Word
Dim time As 4
Dim index As Word

inicio:
TRISB =0
PORTB =0
 D=0 
U=0

mostrar:
For index = 0 To 50
PORTB= %00010000 + U
DelayMS time
PORTB= %00100000 + D
DelayMS time
Next

If U<9 Then GoTo inc_U

inc_U:                                           
Inc U
If U>9 Then GoTo inc_D
GoTo mostrar

inc_D:
Inc D
If U>9 Then U = 0
If D>9 Then D = 0
GoTo mostrar
GoTo inicio
« Última modificación: 08 de Mayo de 2015, 01:22:26 por borja »

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #66 en: 09 de Mayo de 2015, 09:51:58 »
Hola Borja; gracias por la aportación.
He revisado tu código y en mi lenguaje me sale que las líneas de programa:

If U<9 Then GoTo inc_U y GoTo inicio

son código redundante, si se eliminan el programa debería seguir realizando la misma tarea.
Si tienes un rato intenta probar si esas líneas no afectan a tu programa en tu lenguaje y nos lo cuentas.

Aquí dejo la traducción al lenguaje Basic del PSI por si alguien lo quiere estudiar en su simulador.
También he modernizado el código ya que los Gotos no se suelen usar en programación.

'device 16f628a
Define CONFIG = 0x3f42
Define CLOCK_FREQUENCY = 10
'******************************************
'Rutina principal
main:
   Dim inicio As Byte
   Dim u As Word
   Dim d As Word
   Const time = 4
   Dim index As Word

   TRISB = 0
   PORTB = 0
   d = 0
   u = 0

   While inicio = inicio  'Bucle infinito
      For index = 0 To 50
         PORTB = %00010000 + u
         WaitMs time
         PORTB = %00100000 + d
         WaitMs time
      Next index

      If u < 9 Then Gosub inc_u
   Wend
End                                              
'****************************************
'Subrutinas y funciones
inc_u:
   u = u + 1
   If u > 9 Then Gosub inc_d
Return                                            
inc_d:
   d = d + 1
   If u > 9 Then u = 0
   If d > 9 Then d = 0
Return    

Si le veis algún fallo lo corregimos.                                        


« Última modificación: 09 de Mayo de 2015, 09:55:13 por dogflu66 »
Saludos desde Granada, España.


 

anything