TODOPIC
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
26 de Octubre de 2014, 00:39:20

Ingresar con nombre de usuario, contraseña y duración de la sesión
Buscar:     Búsqueda Avanzada
350320 Mensajes en 39301 Temas por 41053 Usuarios
Último usuario: jlondono
* Inicio Ayuda Buscar Calendario Ingresar Registrarse
Buscar en TodoPIC
+  TODOPIC
|-+  Microcontroladores PIC
| |-+  Lenguaje Basic para microcontroladores PIC (Moderadores: dogflu66, doppel, jansuini, Marioguillote, aitopes)
| | |-+  Comenzando con Mikrobasic
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18 Marcar como favorito Imprimir
Autor Tema: Comenzando con Mikrobasic  (Leído 116024 veces)
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #160 : 28 de Marzo de 2007, 11:43:12 »

Antes de modificar  tu programa ya que tambien lo veo bien inserta dentro del for y antes del next un IF

        for i=0 to 7
              portb.i=1
              delay_ms(250)
              portb.i=0
              delay_ms(250)
         IF porta.0=1 then
             goto init
         endif
         next i


con eso debe de sacarlo del ciclo y si aun no queda cambiemos instrucciones.

Intenta con WHILE

Saludos
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
Mazinyerz
PIC10
*
Desconectado Desconectado

Mensajes: 15


« Respuesta #161 : 31 de Marzo de 2007, 00:23:12 »

Amigos tengo experiencia Programando microcontroladores PIC en Assembler y desde hace poco tiempo me ha interesado la programacion de estos micro en Basic, he trabajado un poco con el PBP, pero instale el Mikrobasic y me parece que tiene un buen ambiente de trabajo, pero vi algunas diferencias en cuanto a las instrucciones que con el PBP.

Quisiera aprender sobre el Mikrobasic por lo que quisiera que por favor me ayuden enviandome o diciendome donde puedo encontrar un Manual de este compilador y de sus instrucciones y algunos programas sencillos de ejemplo.

Muchas gracias...
En línea
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #162 : 31 de Marzo de 2007, 12:17:16 »

El manual viene en la ayuda, una pequeña traduccion la encontraras en el www.elrebujito.es en la zona de descargas. No inlcuye los comandos eso aun me falta. Para ejemplos esta el Hilo de Ejemplitos MKB y Proteus aqui mis mo en le foro.

Saludos
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
rasec_1984
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 29


« Respuesta #163 : 31 de Marzo de 2007, 18:00:22 »

Nvaismo, toda la razon, el programa ya me funciono, solo faltaba el cmcon=7, al parecer ese dia tenia mucho sueño y cometi un error en el programa, pero ya esta todo OK. Muchas gracias por el datito y los consejos, sin tu ayuda no hubiese podido avanzar en mi aprendisaje. Saludos;)
En línea

........Los grandes espíritus siempre han encontrado una violenta oposición de parte de mentes mediocres.....
enricar883
PIC10
*
Desconectado Desconectado

Mensajes: 18


« Respuesta #164 : 17 de Abril de 2007, 14:59:31 »

Hola a todos,

Estoy empezando a programar con el Mikrobasic, vengo del PBP. La primera pega en la frente. Tengo una placa diseñada con una conexion a una pantalla LCD. La conexion la hago con 8 bit. Los puertos que se utilizan son los puertos B para las 8 lineas de datos y el Puerto A para RS,RW,E.

¿Pregunta? ¿Como puedo modificar en Mikrobasic los puertos para utilizar la placa? porque en el manual viene solo LCD8_Init para configurar con con los datos a los puertos D y las señales de control a los puertos B.

Gracias a todos

Saludos

 
En línea
PAOLA09
Moderadores
PIC18
*****
Desconectado Desconectado

Sexo: Femenino
Colombia Colombia

Mensajes: 332



« Respuesta #165 : 17 de Abril de 2007, 15:49:59 »

Hola

ese comando que mencionas es el que necesitas según la ayuda es asi:

 Lcd8_Init( ctrlport, dataport)

puedes usar ahi mismo el puerto que desees implementar para los datos o para control.No necesariamente es con d y b en la misma ayuda usan otros puertos de referencia.

En línea
enricar883
PIC10
*
Desconectado Desconectado

Mensajes: 18


« Respuesta #166 : 19 de Abril de 2007, 15:40:16 »

Hola a todos,

Gracias PAOLA09. Creo que debo tener otro tipo de problema ya que incluso ese comando tampoco me lo lee.

Te voy a poner parte del codigo (entero es demasiado largo), este programa es para un aspirador en autoservicio. El cliente introduce una moneda y dependiendo de la moneda dispone del tiempo de aspirado. No me parece que el codigo sea el error. como no conozco mucho el Mikrobasic y esto estaba hecho para el PBP. Pregunta. ¿No debe de haber algunos archivos como el MODEFBAS que los hay en el PBP? ¿En Mikro tambien los hay?

Os voy a poner parte del codigo y abajo los errores del mikrobasic

Codigo

program Aspirador

TRISA=0
TRISB=0

Lcd8_Config(PORTB,0,1,2,3,4,5,6,7,PORTA,0,1,2)  error = Identifier Lcd8_Config was not declare
lcd_Cmd(LCD_CURSOR_OFF)


DIM tiempo AS word[10]  Error= Identifier DIM was not declare
dim moneda as word 'moneda var word
dim hour,dhour,minute,second,ticks,update as byte 'hour var byte ' Define hour variable
update var byte ' Define variable to indicate update of LCD
dim i,b,c,d,e as byte 'i var byte ' Debounce loop variable


' localiza la direccion de memoria para los contadores

addr1  = 0x0430
addr2 = addr1 + 1
addr3 = addr2 + 1
addr4 = addr3 + 1

Flash_Read(addr1, mon1)
Flash_Read(addr2, mon2)
Flash_Read(addr3, mon3)
Flash_Read(addr4, mon4)


i = 0
b = 0
c = 0
ADCON1 = 7 ' PORTA and E digital
Low PORTA.2 ' LCD R/W low = write
Pause 1000 ' Wait for LCD to startup
' tiempos de reglaje de la aspiradora

IF PORTA.3 = 1 AND PORTA.4 = 1 AND PORTA.5 = 1 THEN
BASE = 120
ENDIF

IF PORTA.3 = 1 AND PORTA.4 = 1 AND PORTA.5 = 0 THEN
base = 150
ENDIF

IF PORTA.3 = 1 AND PORTA.4 = 0 AND PORTA.5 = 1 THEN
BASE = 180
ENDIF

IF PORTA.3 = 0 AND PORTA.4 = 1 AND PORTA.5 = 1 THEN
BASE = 210
ENDIF

IF PORTA.3 = 0 AND PORTA.4 = 1 AND PORTA.5 = 0 THEN
BASE = 240
ENDIF

IF PORTA.3 = 0 AND PORTA.4 = 0 AND PORTA.5 = 0 THEN
BASE = 300
ENDIF

tiempo = 0
ASPIRA = 0

hour = 0 ' Set initial time to 00:00:00
minute = 0
second = 0
ticks = 0

update = 1 ' Force first display

' Set TMR0 to interrupt every 16.384 milliseconds
OPTION_REG = $55 ' Set TMR0 configuration and enable PORTB pullups
INTCON = $a0 ' Enable TMR0 interrupts
On Interrupt Goto tickint


Gracias a todos
En línea
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #167 : 19 de Abril de 2007, 18:53:11 »

vamos a empezar bien ese codigo parace una mezcla entre MKB y PBP si estas usando MKB debes seguir sus reglas de programacion: Usar el Main, no poner declaraciones fuera del MAIN terminar con END etc. Puedes bajar las miniguias  los links estan al inicio de este tema te pueden ayudar mucho. procura leer la ayuda de MKB conforme uses las librerias.

Saludos
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
PAOLA09
Moderadores
PIC18
*****
Desconectado Desconectado

Sexo: Femenino
Colombia Colombia

Mensajes: 332



« Respuesta #168 : 19 de Abril de 2007, 19:01:15 »

Hola

pues veo que cometes siempre varios errores.

1. en mkb se deben respetar el orden de programacio: interrupciones, declaraciones, asignacion registros, luego si el cuerpo del programa si no llevas esta estructura veras el error del dim.

2. el if se cierra con end if no con endif eso es en proton en mkb es distinto.

3. para lcd8 no hay lcd_config solo init.

4. on interrupt no hay solo con modificar el intcon.

5.el flash_read se usa distinto es var=Flas_read(addres)

6. hay variables que no puedes usar con libertad en mkb como hour entre otras. es decir todas aquellas que se te resalten en azul estas debes cambiarlas por otras.

7.aqui no se usa la instruccion pause se usa delay_ms o delay_us. ya puedes ver mas en la ayuda.

he modificado un poco tu programa, ya sabras lo que deseas hacer, como lo tengo el lcd anda probado con proteus.

Código:
program tpmkb

sub procedure interrupt
  TMR0 =  96
  INTCON = $20
end sub

main:
 dim text as char[20]
 dim tiempo as word[10]  'Error= Identifier DIM was not declare
 dim moneda as word 'moneda var word
 dim hour1,dhour,minute1,second1,ticks as byte 'hour var byte ' Define hour variable
 dim update as byte ' Define variable to indicate update of LCD
 dim i,b,cc,dd,e as byte 'i var byte ' Debounce loop variable
 dim base1 as word
 dim aspira as word
 dim addr1, addr2,addr3,addr4 as word
 dim mon1,mon2,mon3,mon4 as word

  OPTION_REG = $55 ' Set TMR0 configuration and enable PORTB pullups
  TMR0 =  96
  INTCON = $A0
  TRISA = 0
  TRISB = 0
  ADCON1 = 6 ' PORTA and E digital
Lcd8_Init(PORTB, 7, 6, 5, 4, 3, 2, 1, 0, PORTA, 0, 1, 2)
Lcd8_Cmd(Lcd_CURSOR_OFF)
Lcd8_Out(1, 1,"hola") ' Print text at LCD


addr1  = 0x0430
addr2 = addr1 + 1
addr3 = addr2 + 1
addr4 = addr3 + 1
mon1 = Flash_Read(addr1)
mon2 = Flash_Read(addr2)
mon3 = Flash_Read(addr3)
mon4 = Flash_Read(addr4)


i = 0
b = 0
cc = 0

PORTA.2=0 ' LCD R/W low = write  low no existe
delay_ms (1000) ' Wait for LCD to startup no hay pause
' tiempos de reglaje de la aspiradora

IF PORTA.3 = 1 then'AND PORTA.4 = 1 AND PORTA.5 = 1 THEN
BASE1 = 120
END IF

IF PORTA.3 = 1 then'AND PORTA.4 = 1 AND PORTA.5 = 0 THEN
base1 = 150
END IF

IF PORTA.3 = 1 then'AND PORTA.4 = 0 AND PORTA.5 = 1 THEN
BASE1 = 180
END IF

IF PORTA.3 = 0 then'AND PORTA.4 = 1 AND PORTA.5 = 1 THEN
BASE1 = 210
END IF

IF PORTA.3 = 0 then'AND PORTA.4 = 1 AND PORTA.5 = 0 THEN
BASE1 = 240
END IF

IF PORTA.3 = 0 then'AND PORTA.4 = 0 AND PORTA.5 = 0 THEN
BASE1 = 300
END IF

tiempo[0] = 0
ASPIRA = 0

hour1 = 0 ' Set initial time to 00:00:00
minute1 = 0
second1 = 0
ticks = 0

update = 1 ' Force first display

end.

Aqui te coloco solo lo del lcd para los demas que deseen usarlo

Lcd8_Init(PORTB, 7, 6, 5, 4, 3, 2, 1, 0, PORTA, 0, 1, 2)
Lcd8_Cmd(Lcd_CURSOR_OFF)
Lcd8_Out(1, 1,"hola") ' Print text at LCD


En línea
enricar883
PIC10
*
Desconectado Desconectado

Mensajes: 18


« Respuesta #169 : 19 de Abril de 2007, 19:44:24 »

Hola

De nuevo gracias por la rapida respuesta.

Como he comentado es verdad que he programado en PBPy me he cambiado a MikroBasic, por eso aun no controla exactamente como van ordandos los bloques de programas.

Lo voy a probar, ahora parece con las modifcaciones que me habeis hecho que ya compila el programa.

cuando los pruebe os cuento.

Gracias......

En línea
enricar883
PIC10
*
Desconectado Desconectado

Mensajes: 18


« Respuesta #170 : 21 de Abril de 2007, 21:19:28 »

Hola a Todos,

He modificado el codigo de PBP que tenia de origen a Mikrobasic, según he visto en las correciones que me habeis hecho en mi programa.

Ya no me errores de las sentencias que uso, aun asi no me compila el programa por el siguiente error:

Link error: 0: not found
Link error: Bank not found: 0

Supongo que será porque no he identificado el Banco de memoria que quiero usar.

¿Me podeis explicar como se hace? o decirme donde lo puedo buscar en el manual.

Gracias.


P.D. si quereis que postee el codigo me lo decis.

En línea
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #171 : 21 de Abril de 2007, 22:00:08 »

Pues si primero  que nada es necesario leerse el manual y siempre es mejor meter el codigo para echarle un vistazo
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
enricar883
PIC10
*
Desconectado Desconectado

Mensajes: 18


« Respuesta #172 : 22 de Abril de 2007, 04:53:39 »

Hola

Aqui va el codigo

program Aspirador

sub procedure interrupt
  TMR0 =  96
  INTCON = $20
  GOTO tickint
end sub

main:
 dim text as char[20]
 dim tiempo,seg as byte  'Error= Identifier DIM was not declare
 dim moneda as word 'moneda var word
 dim hour1,dhour,minute1,second1,ticks as byte 'hour var byte ' Define hour variable
 dim update as byte ' Define variable to indicate update of LCD
 dim i,b,cc,dd,e as byte 'i var byte ' Debounce loop variable
 dim base1 as word
 dim aspira as word
 dim addr1, addr2,addr3,addr4 as word
 dim mon1,mon2,mon3,mon4 as word
 dim mon1_1,mon2_2,mon3_3,mon4_4,seg_1 as string[5]

  OPTION_REG = $55 ' Set TMR0 configuration and enable PORTB pullups
  TMR0 =  96
  INTCON = $A0
  TRISA = 0
  TRISB = 0
  ADCON1 = 6 ' PORTA and E digital
Lcd8_Init(PORTB, 7, 6, 5, 4, 3, 2, 1, 0, PORTA, 0, 1, 2)
Lcd8_Cmd(Lcd_CURSOR_OFF)
Lcd8_Out(1, 1,"hola") ' Print text at LCD


addr1  = 0x0430
addr2 = addr1 + 1
addr3 = addr2 + 1
addr4 = addr3 + 1
mon1 = Flash_Read(addr1)
mon2 = Flash_Read(addr2)
mon3 = Flash_Read(addr3)
mon4 = Flash_Read(addr4)


i = 0
b = 0
cc = 0

PORTA.2=0 ' LCD R/W low = write  low no existe
delay_ms (1000) ' Wait for LCD to startup no hay pause
' tiempos de reglaje de la aspiradora

IF PORTA.3 = 1 then'AND PORTA.4 = 1 AND PORTA.5 = 1 THEN
BASE1 = 120
END IF

IF PORTA.3 = 1 then'AND PORTA.4 = 1 AND PORTA.5 = 0 THEN
base1 = 150
END IF

IF PORTA.3 = 1 then'AND PORTA.4 = 0 AND PORTA.5 = 1 THEN
BASE1 = 180
END IF

IF PORTA.3 = 0 then'AND PORTA.4 = 1 AND PORTA.5 = 1 THEN
BASE1 = 210
END IF

IF PORTA.3 = 0 then'AND PORTA.4 = 1 AND PORTA.5 = 0 THEN
BASE1 = 240
END IF

IF PORTA.3 = 0 then'AND PORTA.4 = 0 AND PORTA.5 = 0 THEN
BASE1 = 300
END IF

tiempo = 0
ASPIRA = 0

hour1 = 0 ' Set initial time to 00:00:00
minute1 = 0
second1 = 0
ticks = 0

update = 1 ' Force first display




OPTION_REG = $55 ' Set TMR0 configuration and enable PORTB pullups
INTCON = $a0 ' Enable TMR0 interrupts



mainloop:
PORTC.3 = 0
PORTD.4 = 0 ' PORTB lines low to read buttons
PORTD.5 = 0
PORTD.6 = 0
PORTD.7 = 0
TRISD = 0 ' Enable all buttons


If PORTD.7 = 1 Then
   goto MONEDA4
end if
If PORTD.6 = 1 Then
   goto MONEDA3
end if
If PORTD.5 = 1 Then
   goto MONEDA2
end if
If PORTD.4 = 1 Then
   goto MONEDA1
end if
IF PORTE.0 = 1 THEN
    Lcd8_Cmd(Lcd_Clear)
    ' PRIMERA FILA DE CONTADORES
    LCD8_OUT (1,1,"M1:")
    WORDTOSTR(MON1,MON1_1)
    LCD8_OUT (1,4,MON1_1)
    LCD8_OUT (1,11,"M2:")
    WORDTOSTR (MON2,MON2_2)
    LCD8_OUT (1,14,MON2_2)
    ' SEGUNDA FILA DE CONTADORES
    LCD8_OUT (2,1,"M3:")
    WORDTOSTR(MON3,MON3_3)
    LCD8_OUT (2,4,MON3_3)
    LCD8_OUT (2,11,"M4:")
    WORDTOSTR (MON4,MON4_4)
    LCD8_OUT (2,14,MON4_4)
    delay_ms (9000)
    delay_ms (9000)
END IF

chkup:
    If update = 1 Then   '*********************************
        if tiempo>0 then
            Lcd8_Cmd(Lcd_Clear)
            Lcd8_out (2,1,"TIEMPO:    ")
            wordtostr (seg,seg_1)
            lcd8_out (2,10,seg_1)

       else
            Lcd8_Cmd(Lcd_Clear)
            Lcd8_out (1,1,"    BIENVENIDOS")

            LCD8_OUT (2,1," INTRODUZCA MONEDAS")
            PORTD.1=0
        end if

    update = 0 ' Screen updated
    End if

Goto mainloop

' Incremento moneda 1

moneda1:
MON1=MON1+1
' Flash_write(addr1, mon1)
PORTD.1=1
PORTC.3=1
Lcd8_Cmd(Lcd_Clear)
LCD8_OUT (1,1,"MONEDA:  0,50 EURO")
tiempo = tiempo + base1
PORTC.2=1
Goto debounce

' Incremento moneda 2
moneda2:
MON2=MON2+2
'write 3,mon2
PORTD.1=1
PORTC.3=1
Lcd8_Cmd(Lcd_Clear)
LCD8_OUT (1,1,"MONEDA:  1,00 EURO")
tiempo = tiempo + (base1*2)
FOR B = 1 TO 2
    PORTC.2=1
    delay_ms (50)
NEXT B
Goto debounce

' Incremento moneda 3
moneda3:
MON3=MON3+4
'write 5,mon3
PORTD.1=1
PORTC.3=1
FOR C = 1 TO 4
    PORTC.2=1
    delay_ms (50)
NEXT C
PORTD.0=1
Lcd8_Cmd(Lcd_Clear)
LCD8_OUT (1,1,"MONEDA:  2,00 EURO")
tiempo = tiempo + (base1*4)
Goto debounce

' Incremento moneda 4
moneda4:
MON4=MON4+2
'write 7,mon4
PORTD.1=1
PORTC.3=1
PORTC.2=1
Lcd8_Cmd(Lcd_Clear)
LCD8_OUT (1,1,"MONEDA:  FICHA    ")
tiempo = tiempo + (base1*2)

  debounce: For i = 1 to 25
  delay_ms(10)
  Next i

  update = 1 ' Set to update screen

  Goto chkup


         tickint: ticks = ticks + 1 ' Count pieces of seconds
         If ticks < 61 Then goto tiexit ' 61 ticks per second (16.384ms per tick)

         ticks = 0
         second1 = second1 + 1
                 if tiempo > 0 then
                 tiempo = tiempo - 1
                 end if

          update = 1 ' Set to update LCD
          end if

tiexit: INTCON.2 = 0 ' Reset timer interrupt flag



end.

Saludos
En línea
Carli
Colaborador
PIC16
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 109


« Respuesta #173 : 24 de Abril de 2007, 02:16:31 »

Hola compañeros/as, necesito ayuda, estoy leyendo un voltaje de alimentación, tengo el problema de no poder añadirle decimales a la lectura. Le lectura es fiel, pero me faltan los decimales. Embarassed
Les dejo el código a continuación.

     lcd_out(2,8," Bat")
     bateria = adc_read(1)
     voltajebateria = (bateria/63)
     wordtostr(voltajebateria,volbateriatest)
     lcd_out(2,10,volbateriatest)

Espero puedan ayudarme.

Desde ya muchas gracias.
En línea

Nueve de Julio - Buenos Aires - Argentina
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #174 : 24 de Abril de 2007, 10:56:04 »

 Carli ya definiste las variables como FLoat.


Por cierto Enricar retoma el consejo de Pao, necesitas una programacion mejor estructurada. checa bien los consejos que te puso en el post anterior al tuyo.
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
Carli
Colaborador
PIC16
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 109


« Respuesta #175 : 24 de Abril de 2007, 11:57:14 »

Gracias Navisimo, soy nuevo en esto y a decir verdad he copiado y pegado, con algún aporte de logica.

Los mantengo al tanto de mis avances.

Gracias.
En línea

Nueve de Julio - Buenos Aires - Argentina
pablobav
Visitante
« Respuesta #176 : 25 de Abril de 2007, 01:20:20 »

Hola que tal soy nuevo en esto de los pic, realice una prueba con mikrobasic.
La idea es que es que titile el led rojo, cuando toco el pulsador de portb.0 mande los caracteres y se prenda el led verde que me indica que los mando, pero cunado lo suelto tendria que seguir titilando el led rojo.  El led rojo se apaga y no se porque.
Ya se que es muy basica quizas la pregunta pero estoy trabado con esto, les agradezco.


program serie

main:
trisa=0
trisb=1

if portb.0=1 then
Usart_Init(9600)
Usart_Write("C")
Usart_Write("E")
Usart_Write("R")
Usart_Write("O")
Usart_Write("_")
porta.0=1                 ´enciendo led verde
delay_ms(1000)
porta.0=1                 ´apago led verde
delay_ms(1000)                       
end if

porta.2=0                   ´enciendo led rojo
delay_ms(500)
porta.2=1                   ´apago led rojo
delay_ms(500)
goto main:

end.
En línea
pablobav
Visitante
« Respuesta #177 : 26 de Abril de 2007, 23:34:57 »

me autorespondo el mensaje, el problema era que Usart_init(9600) lo debo iniciar solo una vez, como estaba en el bucle cuando esta iniciado y lo quiero volver a iniciar parece que se tilda el pic, OJO!! en proteus te simula como que todo anda bien pero no es asi, saludos.
En línea
Carli
Colaborador
PIC16
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 109


« Respuesta #178 : 29 de Abril de 2007, 08:51:30 »

Tengo problemas con Mkb, despúes de varias compilaciones de un mismo archivo, cuando vuelvo a compilar no me modifica el .hex, será alguna opción que desactive o alguna falladel programa?  redhot

Espero su respuesta.....

Gracias.
En línea

Nueve de Julio - Buenos Aires - Argentina
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #179 : 29 de Abril de 2007, 14:10:12 »

Que version de MKB usas, a mi me pasaba lo mismo y hasta me generaba un error y tenia que cerrar el programa y volverlo a abrir. con la que me daba esas broncas era con la version 5.0
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
TODOPIC
   

 En línea
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18 Imprimir 
« anterior próximo »
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.20 | SMF © 2006-2008, Simple Machines XHTML 1.0 válido! CSS válido!
Página creada en 0.622 segundos con 23 consultas.