Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?
02/03/2011 #901


curso pic basic
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
02/03/2011 #902

Avatar de MARCELINO74

la pura Ñ estoy haciendo un proyecto pic-plc-lcd . pero tengo que mostrar la palaba TEÑIDO en el proceso de teñido
02/03/2011 #903

Avatar de Nano24

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

sinonimo de teñido:

manchado, pintado, coloreado, pintarrajeado.
03/03/2011 #904

Avatar de MARCELINO74

GRACIAS . Nano24, la idea de los sinonimos es buena
06/03/2011 #905


Para MARCELINO 74:

EN LAS LCD 2X16 no es posible la Ñ en mayúscula pero si por ejemplo escribes Teñido, la ñ en minúscula corresponde al código ASii 238.
07/03/2011 #906

Avatar de Nano24

Que raro a mi ni en minuscula logro salir la ñ sale es un simbolo extraño.

ahaha quise decir que NO logro salir la letra me confundi
07/03/2011 #907

Avatar de javierdavid2006

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
08/03/2011 #908

Avatar de MARCELINO74

Grácias por los comentarios, en contre en la pagina 2 de este curso algo que me ayudo, se explica como hacer caracteres especiales, de lo cual investigue en la red y encontre en esta pagina:

Creación de nuevos caracteres en LCDs alfanuméricos.

Algo facil de entender.

Hice el caracter y lo grave en la memoria C GRAM.

No subo la simulacion porque no se, si me dicen . . . la subo
08/03/2011 #909

Avatar de MARCELINO74

Letra Ñ
Dejo el archivo de la letra ñ
Letra Ñ.rar

Agrego la imagen de TEÑIDO
Letra Ñ.rar
09/03/2011 #910

Avatar de Nano24

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

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?
12/03/2011 #911


muy buen aporte, pense que no se podia hacer
12/03/2011 #912


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.
13/03/2011 #913


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
16/03/2011 #914

Avatar de arturouc

31587 dijo: Ver Mensaje
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
16/03/2011 #915

Avatar de atricio

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
17/03/2011 #916

Avatar de arturouc

atricio dijo: Ver Mensaje
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
18/03/2011 #917

Avatar de atricio

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
18/03/2011 #918

Avatar de Nano24

Seria bueno que abrieran temas así para aprender a manejar esos módulos, no se que es eso de ccp1 y ccp2 tampoco.
19/03/2011 #919

Avatar de atricio

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
19/03/2011 #920

Avatar de arturouc

atricio dijo: Ver Mensaje
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
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.