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

Temas similares

02/07/2009 #1


Problema con Bascom 8051 en el programa en basic
Holaa todos, les comento que soy novato en la programacion y bueno estoy haciendo un proyecto de fin de año para el colegio y me exigen que use el 8051, opte por basic porque es el que mas se, utilizando el bascom 8051.

Mi problema es puramente de programacion

El programa que quiero armar (que en parte esta armado) es que laburando con "IF" van llegando a 4 entradas al micro 16 combinaciones posibles... , y con cada una en especial el micro tendra que activar algunos bits de otros puertos

If p1 = &H01 (00000001) Cuento solo los 1ros cuatro desde la derecha then
P2.3 = 1 (ejemplo)
end if
If P1 = &H02 then (00000010)
P2.4 = 1
end if
If P1 = &H03 then (00000011)
P2.5 = 1

A partir de ahi biene el problema, si conocen como trabaja el bascom 8051, el simulador tiene una serie de lamparitas q uno prende y apaga que son los puertos (1 o 0) .... si yo aprieto el codifo &H01, todo joya, bien, lo saco, y ahora aprieto el siguente, &H02, tambien todo joya, ahora aprieto el siguente (Sin sacar el anterior porque lo uso en el q sigue) pongo &H03 y me "reconoce" y prende el p2.5 y P2.4 a la ves, cuando en realidad el codigo &H03 tiene que hacer prender solo P2.5, me explico? ,de todas las maneras q yo ponga el codigo, me lo mexcla con otro IF , ya probe haciendo variantes, constantes...no se me ocurre nada! Si alguien me da una mano, le agradeceria mucho. Saludos y Gracias
03/07/2009 #2
Excluido


Típico error en los bits... sobre todo en el simulador, puedes darme todo el código fuente, desearía ver las variables que tienes y cual es el Loop al que hace referencia
03/07/2009 #3


Si estube pensando que podia ser error en el simulador, voy a hacer una serie de pruebas, creo que en la realidad no voy a tener ese problema, porque los 4 bits de los codigos llegan simultenamente, por lo que no deberia haber problema... saludos
04/07/2009 #4


Bueno probe el micro y funciona igual que en el bascom, osea mal :S si alguien me puede ayudar... a que el if interprete q solo y solo si aparece tal codigo haga tal cosa... saludos
04/07/2009 #5
Excluido


porque no usas la técnica ANDING, o sea, leer el dato y volverlo a leer?
04/07/2009 #6


Me explicarias como es esa tecnica? Yo le asigne a cada codigo 0000 --- 1111 una accion y quiero que cuando aparesca tal codigo el micro haga SOLO esa accion, no se si me explico? Gracias
05/07/2009 #7


Nadie sabes como podria arreglar mi problema? Si mando 0001 quiero que haga una accion y si mando 0011 quiero que haga otra (un ejemplo) pero si mando 0001 y despues le actualizo el bit faltante para llegar a 0011 me hace las 2 acciones usando la instruccion If, ya nose que hacer :S saludos
07/07/2009 #8


Ningun alma caritativa q me pueda ayudar? saludos
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.