Pregunta para usar 8051 (AT89S52) y CD4094BE

0

Quiero usar AT89S52 que se conecta con CD4094BE para controlar 8 bombillas LED. El programa lanuage es ASM.
                                                                                                                                                        Mi objetivo es que las luces LED sean las siguientes: 1011 0011, 1 = apagado, 0 = luces
Los programas son los siguientes:

       ORG 0000H

       AJMP MAIN


       MAIN: 

       SETB P1.4      ;STR 

       MOV A, #10110011           ;put the data into acc

       MOV P1.3 , A                    

       RRC A                            

       SETB P1.2                  ;CLK

       CLR P1.2                   ;CLK

       AJMP MAIN

¿Qué tiene de malo mi programa / el diagrama esquemático y cómo corregirlo? Gracias.

    
pregunta user37306

1 respuesta

2

Aquí hay algunos errores posibles:

  

MOV P1.3, A

no tiene sentido para mí, ¿cómo mueves 8 bits en un solo bit? Tal vez intente escribir MOV P1, A. En ese punto, P1.3 debería ser el cuarto bit de ACC.

  

RRC A

Esto no va a tener el efecto que usted desea, ya que cada vez que el código se repite en main, está escribiendo el mismo valor en A. La forma rápida de solucionar este problema es escribiendo AJMP TEST en lugar de AJMP MAIN. al final de su código, y coloque la etiqueta PRUEBA: debajo de la línea:

  

MOV A, # 10110011

¿Cuál es la velocidad de reloj de este microcontrolador? Si soluciona el problema de RRC A, puede ver el alias si es demasiado rápido, o puede parecer que todos están activados al mismo tiempo.

    
respondido por el VolT

Lea otras preguntas en las etiquetas