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

Temas similares

30/10/2011 #1


Interrupciones del PIC16F84 en PICBasic Pro
Un saludo desde la república dominica y quisiera una mano para lograr una parada
en pic basic pro por medio de una interrupción con la condición de permanecer parado el conteo hasta que desaparezca el flanco de subida muchas gracias de ante mano

Código:
'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2011 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 05/10/2011                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************


X1  var portb.1
X2  var portb.2
X3  var portb.3
X4  var portb.4
X5  var portb.5
X6  var portb.6  
X7  var portb.7
BOTON var portA.0
X10 var portA.1
pito var porta.2





          
Trisb=0
TRISA=1

if BOTON=1 then FOUL
 



low porta.1: low portb.1: high portb.2: low portb.3: low portb.4:high portb.5: low portb.6:low portb.7 ;24
pause  1500
high porta.1: high portb.1:low portb.2:low portb.3::low portb.4:high portb.5:low portb.6:low portb.7 ;23
pause 1500
low porta.1: high portb.1:low portb.2:low portb.3::low portb.4:high portb.5:low portb.6:low portb.7  ;22
pause 1500
high porta.1: low portb.1:low portb.2:low portb.3::low portb.4:high portb.5:low portb.6:low portb.7  ;21
pause 1500
low porta.1: low portb.1:low portb.2:low portb.3::low portb.4:high portb.5:low portb.6:low portb.7  ;20
pause 1500
high porta.1: low portb.1:low portb.2:high portb.3::high portb.4:low portb.5:low portb.6:low portb.7  ;19
pause 1500
low porta.1: low portb.1:low portb.2:high portb.3::high portb.4:low portb.5:low portb.6:low portb.7  ;18
pause 1500
high porta.1: high portb.1:high portb.2:low portb.3::high portb.4:low portb.5:low portb.6:low portb.7  ;17
pause 1500
low porta.1: high portb.1:high portb.2:low portb.3::high portb.4:low portb.5:low portb.6:low portb.7  ;16
pause 1500
high porta.1: low portb.1:high portb.2:low portb.3::high portb.4:low portb.5:low portb.6:low portb.7  ;15
pause 1500
 



 FOUL: 
low porta.1: low portb.1:high portb.2:low portb.3::high portb.4:low portb.5:low portb.6:low portb.7  ;14
pause 1500
high porta.1: high portb.1:low portb.2:low portb.3::high portb.4:low portb.5:low portb.6:low portb.7  ;13
pause 1500
low porta.1: high portb.1:low portb.2:low portb.3::high portb.4:low portb.5:low portb.6:low portb.7  ;12
pause 1500
high porta.1: low portb.1:low portb.2:low portb.3::high portb.4:low portb.5:low portb.6:low portb.7  ;11
pause 1500
low porta.1: low portb.1:low portb.2:low portb.3::high portb.4:low portb.5:low portb.6:low portb.7  ;10
pause 1500
high  porta.1: low portb.1:low portb.2:high portb.3::low portb.4:low portb.5:low portb.6:low portb.7  ;09
pause 1500
low porta.1: low portb.1:low portb.2:high portb.3::low portb.4:low portb.5:low portb.6:low portb.7  ;08
pause 1500
high porta.1: high portb.1:high portb.2: low portb.3::low portb.4:low portb.5:low portb.6:low portb.7  ;07
pause 1500
low porta.1: high portb.1:high portb.2: low portb.3::low portb.4:low portb.5:low portb.6:low portb.7  ;06 
pause 1500
high  porta.1: low portb.1:high portb.2: low portb.3::low portb.4:low portb.5:low portb.6:low portb.7  ;05
pause 1500
low   porta.1: low portb.1:high portb.2: low portb.3::low portb.4:low portb.5:low portb.6:low portb.7  ;04
pause 1500
high  porta.1: high portb.1: low portb.2: low portb.3::low portb.4:low portb.5:low portb.6:low portb.7  ;03
pause 1500
low  porta.1: high portb.1: low portb.2: low portb.3::low portb.4:low portb.5:low portb.6:low portb.7  ;02
pause 1500
high porta.1: low portb.1: low portb.2: low portb.3::low portb.4:low portb.5:low portb.6:low portb.7  ;01
pause 1500 
high pito: low  porta.1: low portb.1: low portb.2: low portb.3::low portb.4:low portb.5:low portb.6:low portb.7  ;00
pause 2500
low pito

end
30/10/2011 #2


Hola....veo que estas comenzando con la programación. Cuando quieras activar o no algún/os bit de un puerto puedes utilizar Ej: PORTB = %01110110 sin necesidad de escribir bit a bit cada instrucción high(1) o low(0) del puerto B en este caso. Deberías explicanos mejor que es lo que pretendes hacer en general por que el programa que posteaste no es compilable por tener errores como el ";Nº" en la terminación de las lineas que no se que utilidad tienen así como la definición de variables que luego no usas y no define el microcontrolado a usar ni los fusibles del mismo.
Saludos.

Ric.
31/10/2011 #3


saludos ante todo y muchas gracias por adelantado y mi programa consiste en un contador regresivo de 24 a 00 segundos y debe terner 4 condiciones
1) debe tener un reset
2) cuando llegue a 00 segundo activar un pin para conectar un transistor y un relay para una bocina de carro a 12v
3)tambien un pulsador para iniciar el conteo desde 14 a 00 segundos
4)un pulsador para parar el conteo cuando quieras



De todas estas condiciones lo unico que me falta es poder parar el conteo cuando yo quiera
estoy usando un decodificador 7447 y dos display de anodo comun
asi que si me puedes ayudar te lo agradeseria eternamente

A otra cosa y es que estoy programando en pic basic pro
con el micro code studio plus
31/10/2011 #4


ese parado que mencionas que tan preciso debe ser???

lo que quiero decir es que una interrupcion no detiene un pause....
y en tu codigo hay muchos!!!

si no es importante, entonces si intento ayudarte...
31/10/2011 #5


y queria hacerlo con una interrupcion pero no la se usar
el comando interrupt on

las pausa son para que el tiempo se parescan a los segundos
06/11/2011 #6


ayuda con mi contador regresivo de 24 a 00
con 4 condiciones
1)un boton de paro del conteo cuando los deses
2)un boton para comenzar el conteo desde 14 tambien cuando quieras
3)un boton de rset para reinicio del conteo
4) y cuando llegue a 00 en el conteo me active un pic en el pic para activar un relay

porfa es que nadie me puede ayudar como dice el famoso chapulin colorado
06/11/2011 #7


Hola amigo eduard007.

Te recomiendo que como estas iniciando al nundo de los pic primero lo primero, el mundo de la programacion es como un niño que resien empieza a caminar primero gatea, luego da sus primeros paso agarrado, luego camina solo y por ultimo corre... te recomiendo que inicie practicando algo basico y luego vas avanzar solo...

Es mi sugerencia ya que los foro no estan para hacerle el trabajo a otros si no para ayudarte en el camino que tu inicie....

Me corrigen si dije algo que ni iva...
09/11/2011 #8


gracias po los consejos los tomare en cuenta

pero no quiero que me hagan el trabajo y como puedes ver en el programa solo me hace falta ponerle una parada a el programa y no quiero que me lo hagan si el programa esta hecho de forma diferente a los demas pero le aseguro que si funciona porque lo tengo hecho y trabajando si quieres te envio el circuito en proteus
Respuesta
¿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 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.