Microcontrolador 8051 Teclado Matricial

Buenas sabes tengo una duda con respecto a teclado matricial, quiero colocar los led para qUE a medida del numero que coloque encienda el led correspondiente ejemplo pulso en el display 5 debe encender el led 5 que configuracion debo usar y en donde deben ir los led?

; Control de un teclado matricial 4x4 con lenguaje assembler org 0000h inicio: mov p2,#11111110b mov b,#11111110b mov a,p2 cjne a,b,press_key mov p2,#11111101b mov b,#11111101b mov a,p2 cjne a,b,press_key mov p2,#11111011b mov b,#11111011b mov a,p2 cjne a,b,press_key mov p2,#11110111b mov b,#11110111b mov a,p2 cjne a,b,press_key ajmp inicio press_key: mov b,a mov dptr,#teclas mov r6,#0ffh seguir: inc r6 cjne r6,#16d,pasa ajmp inicio pasa: mov a,r6 movc a,@a+dptr cjne a,b,seguir mov a,r6 mov dptr,#display movc a,@a+dptr cpl a mov p3,a ajmp inicio teclas: db 11101110b ;7 db 11011110b ;8 db 10111110b ;9 db 01111110b ;/ db 11101101b ;4 db 11011101b ;5 db 10111101b ;6 db 01111101b ;* db 11101011b ;1 db 11011011b ;2 db 10111011b ;3 db 01111011b ;- db 11100111b ;on db 11010111b ;0 db 10110111b ;= db 01110111b ;+ display: db 07h ; 7 db 7fh ; 8 db 6fh ; 9 db 0h ; db 66h ; 4 db 6dh ; 5 db 7dh ; 6 db 0h ; db 06h ; 1 db 5Bh ; 2 db 4fh ; 3 db 0h ; db 0h ; db 3fh ; 0 db 0h ; db 0h ; delay: mov r7,#0ffh bucle: djnz r7,bucle ret end
 

Adjuntos

  • sdadasda.jpg
    sdadasda.jpg
    146.4 KB · Visitas: 12
Así sin un mísero comentario en el código no lo entiendes ni tu, por eso preguntas que es lo que estás haciendo.

Pon comentarios de lo que hace el código.

Faltan los condensadores del cristal.
Pides demasiada corriente a los puertos de tu micro, no dan tanta.
Falta ver cómo has configurado el reset, por defecto me parece que te faltan cosas si no lo configuras internamente. Creo recordar.
 
crees que pueda haber una forma mas facil de hacerlo, lo siento aun estoy aprendiendo un poco de esto y la verdad es porque tengo que hacer una simulacion que permita visualizar el encendido de un LED, en un arreglo de 8 led
conectados al microcontrolador, de tal manera que presionando un numero en el teclado matricial, se encienda el leds correspondiente en dicho arreglo
 
Como no sé que has hecho porque el código no está comentado y solo lo entiendes tú, no sé si es mejorable.
Aunque siempre* es mejorable el código .
Si no comentas tu código ni tu mismo serás capaz de entenderlo a la que pase un poco de tiempo. Te lo digo porque me ha pasado, lo que hoy me parecía avidente luego no lo era ni para mí.

*A no ser que esté re re re repasado para la máxima optimización.
 
¿Te parecería si te mando el código con todo y lo revisas?
Los led me encienden pero en código binario los numeros.
Esquema.jpg
Lo que quiero es que si pulso el 1 en el teclado me encienda el led 1 y de verdad no sé qué código agregarle.
Espero puedas ayudarme. :D
 

Adjuntos

  • Simulacion 2 - Display.rar
    37.5 KB · Visitas: 9
Me parecería absurdo que me mandes nada. Eso rompe el espíritu de los foros.
Publica lo que quieras.
Tienes que comentar el código si o si. Si no lo haces ni tu lo entenderás.
No sé por qué dices led yo no veo ninguno en el esquema.
 
Atrás
Arriba