TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: MarioMM en 26 de Septiembre de 2012, 02:37:59
-
¡Qué tal!
Soy nuevo por aquí, y también en esto de los pics.
Estoy trabajando en un proyecto, donde necesito que 8 LEDS conectados a las 8 patas del PORTB se enciendan al presionar 1 en el teclado, y se apaguen al presionar 0.
Cualquier otra tecla presionada no debe tener efecto.
Sin embargo, cuando presiono cualquier tecla no sucede nada :(
También tengo otro proyecto, al presionar teclas entre el 1 y el 8 se deben encender entre 1 y 8 LEDS respectivamente. La cosa es, que se encienden los LEDS correspondientes al valor numérico entrado
(por ejemplo, para el 1 se enciende el primero, para el 6, se enciende el 2 y el tercero) y no sé que está sucediendo.
Todo esto, sólo haciendo uso de las librerías del RS232 y de RETARDOS.
Ojalá alguien pueda brindarme algún consejo.
Adjunto los códigos asm con los de proteus, pues es probable que el circuito esté mal ensamblado (me ha pasado antes, y han pasado horas antes de que me de cuenta que los LEDS estaban al revés, aunque en esta ocasión han pasado días ya...)
Saludos, y gracias por cualquier respuesta que puedan darme.
Mingüer
-
Hola.por lo que dices en la segunda pregunta,si el valor numérico que estas pulsando aparece en el PORTB.
es porque estas enviando el valor contenido de registro rcreg.
Lo que tienes que hacer es una comparación de este registro.y activar los bits
Correspondientes del PORTB.
Ejem.
Valor leído del rcreg = 0 valor guardado en portb = 1
1. 2
2. 4
3. 8
4. 16
5. 32
6. 64
7. 128
Estos Serian valores decimales. O también puedes utilizal instrucciones
De activación/desactivación de bits
-
Bueno, ya lo pude solucionar, si a alguien le queda la duda, con mucho gusto podría adjuntar los códigos.
Aunque seguramente es "trivial" y "evidente" lo que estaba haciendo mal.
Me costó, pero ya lo conseguí.
Gracias de todas formas.
Pueden dar por cerrado este tema, si es que nadie tiene dudas.
-
Justamente iba a subir un ejemplo que hice hace ya un buen tiempo para la facultad, para tenerlo de guía pero bueno se me adelanto, felicitaciones por la solución.
Saludos!!
-
Justamente iba a subir un ejemplo que hice hace ya un buen tiempo para la facultad, para tenerlo de guía pero bueno se me adelanto, felicitaciones por la solución.
Saludos!!
No estaría de más que lo hicieras, así compartes tu conocimiento con el mundo ;)
Bueno, si es que alguien aún lo necesita.
-
Bueno Adjunto el código (ensamblador) y la simulación en proteus 7. El programa es muy básico, básicamente consiste en una interfaz RS232, en la cual, el microcontrolador actúa como dispositivo receptor de la misma, la idea es visualizar en un display de 7 segmentos cuando se teclea 1, 2, 3, 4 .....9. Espero que el ejemplo sirva de guía para los que inician con el protocolo RS232 en modo recepción.
Saludos!!!