Curso de programación de PIC en PICBasic Pro

Hola a todos. Quiciera solicitar ayuda con un conteo de pulsos externos con el TMR1 de un pic 16f628, estoy intentando hacer un frecuencímetro. Hasta ahora he logrado poner a trabajar el TMR0 generando interrupción cada 1 segundo y mostrandolo en un LCD; ahora lo que no sé es como y donde colocar el valor contado por el TMR1 para luego ser mostrado por el LCD este es mi programa. Mil gracias a todos los que puedan colaborarme.


cmcon = 7
frec var word
frec1 var word
frec2 var word
cuenta var byte
actual var byte
;var byte
;var bit
;var byte



TRISB = %00000001
trisa = %00000000

DEFINE LCD_BITS 4 'estas lineas pertenecen al manejo del LCD
DEFINE LCD_LINES 2 'son propias de él
DEFINE LCD_DREG PORTA '
DEFINE LCD_DBIT 0 '
define LCD_RSREG PORTB '
DEFINE LCD_RSBIT 1 '
DEFINE LCD_EREG PORTB '
DEFINE LCD_EBIT 2 '

PAUSE 10

frec = 0
frec1 = 0
cuenta = 0
actual = 1


ini:

option_reg = %1010110 ; prescaler de 1:128 lo que quiere decir que desborda TMR0 128 ;VECES y genera
; 1 interrupción
intcon = %10100000 ; solo permiso global de interrupciones e interrrupción del TMR0
t1con = %00000111 ;para habilitar el conteo de tmr1



on interrupt goto interrup

;*************** para mostrar por LCD ****************

actualiza:


if actual = 1 then

lcdout $fe,1
lcdout $fe,1," LA FRECUENCIA ES"
lcdout $fe,$c2,dec2 frec, "Hz"
actual = 0 ; bandera de actualización
endif
goto ini



;*****aquí se lleva a cabo la interrupción*******

interrup:
disable
cuenta = cuenta +1 ;incrementa en 1 cada vez que el TMR0 se ha desbordado 128 ;veces
tmr0 = 4 ;no inicia el TMRO desde cero sino en 4 hasta 256

if cuenta <31 then reset ;como el preescaler fue de 128, entonces 128 * 252(256-4 ;252) =32256ms
cuenta = 0 ; multiplicado por 31 , se acerca a 1segundo
frec = frec+1

actual = 1 ;actualiza el LCD
reset:
INTCON.2 =0 ; para borrar el señalizador de desbordamiento del tmr0 para otro desborde nuevo

resume

end
 
la pura Ñ estoy haciendo un proyecto pic-plc-lcd . pero tengo que mostrar la palaba TEÑIDO en el proceso de teñido
 
Pues te digo marcelino que no creo que tu lcd vaya a poder colocar esa letra "Ñ" ya he probado y no sale, vas a tener que usar un sinonimo de "teñido", total es lo mismo :D

sinonimo de teñido:

manchado, pintado, coloreado, pintarrajeado.
 
Que raro a mi ni en minuscula logro salir la ñ sale es un simbolo extraño. :eek:

ahaha quise decir que NO logro salir la letra :D me confundi
 
Última edición:
Hola foreros, necesito su ayuda en el manejo de interrupciones en Picbasic, tengo que manejar 2 interrupciones, la una corresponde a un pulsador que cuando es activado desenergiza una bobina, y la otra consiste en que cuando llega una comunicacion serial por parte de una computadora, el pic le ponga atencion a lo que dice, el problema que tengo es que no se como diferenciar las interrupciones, ya que con la frase "on interrupts goto"siempre va al mismo punto, me pueden ayudar en esta parte.

Gracias
David Nunez
Ecuador
 
Bueno eso de usar la memoria de la LCD no la entendí, hice unas simulaciones de mostrar dos figuras diferente en la linea de arriba y la de abajo y me daba un error, ambas figuras se salteaban, así que desistí de empecinarme con las memorias de la LCD :D

Que buen aporte Marcelino esto me ayudara un poco a experimentar con las LCD ota vez, es verdad que las GLCD no se pueden programar con Picbasic? que solo se puede en MikroBasic? :confused:
 
Última edición:
HOLA necesito porfa una ayuda con respecto a la instruccion PWM para ir incrementando el voltaje de un voltio hasta llegar a 5 voltios en el puertos RB0 a RB5 en el pic 16f877.
 
quisiera saber si alguien sabe de comunicacion SPI entre 2 pic´s 16f877a(POR INTERRUPCION), entiendo toda la logica k emplea este tipo de comunicacion excepto la parte la transmision y recepcion de datos, se k el maestro pone en bajo("o"logico) la linea de control (SS) para indicarle al esclavo q quiere enviar o recibir datos.. pero mi duda esta en q ambas partes reciben datos simultaneamente y estos se cargan en el registro SSPBUF ???? ....cualquier aporte es bien recibido, si cuentan con algo programita similar se los agradeceria eternamente....Graxxx de antemano :)
 
HOLA necesito porfa una ayuda con respecto a la instruccion PWM para ir incrementando el voltaje de un voltio hasta llegar a 5 voltios en el puertos RB0 a RB5 en el pic 16f877.

PWM puerto.bit, velocidad, ciclos
PWM puertoc.7, (0-255), numero entero
en velocidad un cero seria o volts, un 255 seria 5 volt, un 127 seria 2.5 volts
ecuacion voltaje = (velocidad/255)*5
 
alguien me pudiera explicar por favor como configurar el pwm con los modulos de pwm del micro estoy elaborando un seguidor quisiera lograr controlar la velocidad con estos modulos para los motores gracias de antemano estoy pensando usar un 16F873 o un 16F877A
 
alguien me pudiera explicar por favor como configurar el pwm con los modulos de pwm del micro estoy elaborando un seguidor quisiera lograr controlar la velocidad con estos modulos para los motores gracias de antemano estoy pensando usar un 16F873 o un 16F877A

en elpost anterior #1017 esta la explicacion, si estas utilizando pic basic pro es todo lo que necesitas
PWM PUERTO.BIT, VELOCIDAD (0-255), CICLOS
 
gracias por atender la pregunta pero quisiera saber como generar el pwm con los modulos ccp1 y ccp2 que poseen estos micros ya que la generacion de este pwm es por hadware ojala me puedan sacar de la duda
 
un poco que pude revisar son modulos dediccados para poder generar pwm con los que son generados por hadware y no por software incluso con unos companeros realizamos un dimer con estos modulos para generar los pulsos necesarios para un opto y este pasarlo a un triac la verdad yo le vi muy util pero la verdad no se usarlo bien
 
gracias por atender la pregunta pero quisiera saber como generar el pwm con los modulos ccp1 y ccp2 que poseen estos micros ya que la generacion de este pwm es por hadware ojala me puedan sacar de la duda

ya entendi lo que buscas...
yo estoy haciendo algo parecido, timmer1 para el encoder y timmer2 para el PWM

http://ww1.microchip.com/downloads/e...Doc/33023a.pdf
pag. 216 ejemplo del modulo pwm

en espaniol
http://es.scribd.com/doc/101179/pic16f877-en-espanol2

ESTOS EJEMPLOS ESTAN EN ENSAMBLADOR...PERO LOS QUIERO HACER CON
PIC BASIC PRO
 
Última edición:
Atrás
Arriba