User Tag List

Resultados 1 al 10 de 11

Vista Híbrida

  1. #1
    <DANGER> Staff
    Avatar de Selket
    Fecha de Ingreso
    28 ene, 15
    Ubicación
    Parque Patricios, Buenos Aires, Argentina
    Mensajes
    2,106
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Cita Iniciado por Cuidadoso Ver Mensaje
    Falta un rato para la versión robot jaja
    Estuve trabajando un poco con el display lcd, resultados y código a disposición


    Código:
    #include <LiquidCrystal.h>
    LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
    int lcd_key     = 0;
    int adc_key_in  = 0;
    #define btnRIGHT  0
    #define btnUP     1
    #define btnDOWN   2
    #define btnLEFT   3
    #define btnSELECT 4
    #define btnNONE   5
    
    
    int read_LCD_buttons()  // para leer los botones
      { adc_key_in = analogRead(0);      // Leemos A0
        // Verificar valores de btns
        // Comparación con valores
        if (adc_key_in > 1023) return btnNONE;     // Sin pulsar btn 
        if (adc_key_in < 50)   return btnRIGHT; 
        if (adc_key_in < 250)  return btnUP;
        if (adc_key_in < 300)  return btnDOWN;
        if (adc_key_in < 450)  return btnLEFT;
        if (adc_key_in < 650)  return btnSELECT;
    
    
      
    
    
        return btnNONE;  // En mi caso limpiará la pantalla "       "
      }
      void setup()
       {  lcd.begin(16, 2);              // Inicializa el LCD
          lcd.setCursor(0,0);
          lcd.print("Cuidadoso Bander");
       }
    
    
    void loop()  {  //lcd.setCursor(9,1);              // Cursor a col 9, fila 2
          //lcd.print(millis()/1000);        // Imprime segundos
          lcd.setCursor(14, 1);            // Cursor a col 14, fila 2
          lcd.print(lcd_key);       // Imprime el valor leido en la puerta A0  lo cambie    lcd.print(lcd_key)
          lcd.setCursor(0,1);              // Cursor col 1, fila 2
     
    lcd_key = read_LCD_buttons();
          if( lcd_key == btnRIGHT)
                  lcd.print("ESTE ");
          else if ( lcd_key == btnLEFT 14)
                  lcd.print("OESTE  ");
          else if ( lcd_key == btnUP)
                  lcd.print("NORTE   ");
          else if ( lcd_key == btnDOWN)
                  lcd.print("SUR  ");
          else if ( lcd_key == btnSELECT)
                  lcd.print("SELECT");
          else if ( lcd_key == btnNONE)
                  lcd.print("       ");
       }
    Espero sus aportes!
    Esto lo hice en 5to con un Q2 de Freescale:



    ^Circuito del lcd con el 555.



    Este fue el codigo:

    Código:
    PROGRAMA: Por un display LCD se visualiza un texto enviado por el PORTB
    ;           este mensaje se cambia por medio de un pulsador.
    ;
    ; Estructura de Control:        "Bucle que se repite infinitamente"
    ; Programadores: Federico Juan Martin
    ;                         Blanco Matias
    ; Año y div: 5to ET 3ra
    ; ET N°1 OTTO KRAUSE
    ;****************************************************************************
    
    
    ;****************************************************************************
    ;    Incluir archivo con asociación entre etiqueta / nombre y las direcciones
    ;    de los registros asociados al microcontrolador
    ;----------------------------------------------------------------------------
    $Include  'C:\pemicro\ics08qtqyz\qtqy_registers.inc' ;se indica la ruta o PATH
    ;donde  esta el archivo
    ;                                                    
    ;ubicar el archivo .inc
    ;en la carpeta del .asm
    ;-----------------------------------------------------------------------------
    ;               Definición de orígenes de las memorias a utilizar
    ;-----------------------------------------------------------------------------
    RAMStart        EQU  $0080
    FLASHROMStart	EQU  $F800
    VECTORStart	EQU  $FFFE
    ;---------------------------------------------------------------------------
    ;               Especificación del inicio de la RAM
    ;---------------------------------------------------------------------------
                    ORG RAMStart
    ;-----------------------------------------------------------------------------
    ;              Reservar espacios de memoria ram y asignar etiquetas o números
    ;-----------------------------------------------------------------------------
    ;-----------------------------------------------------------------------------
    ;              Especificación del inicio del programa, que se almacena en la ROM               ;a partir de la dirección indicada
    ;-----------------------------------------------------------------------------
    		         ORG FLASHROMStart       ;
    ;-----------------------------------------------------------------------------
    ;   Subrutina que genera un retardo (Enable)
    ;-----------------------------------------------------------------------------
    retardo:        lda  #$FF
                    sta  $0080
    lazo2:          lda  #$40
                    sta	$0081
    lazo1:		dec	$0081
    		bne	lazo1
    		dec	$0080
    		bne	lazo2
    		rts
    ;-----------------------------------------------------------------------------
    ;    Configuración de registros, como el de OSC, EL CONFIG1 - COP -
    ;-----------------------------------------------------------------------------
    
    
    Init:		     mov	#$01,config1           ;
    ;-----------------------------------------------------------------------------
    ;    Configuración de registros de los puertos y los módulos
    ;-----------------------------------------------------------------------------
    		     mov  #$FF,DDRB               ;Todo portb es salida                                                                                               
    		     mov  #$30,DDRA               ;Pines de Rs y E son salida
    
    
    
    
    ;-----------------------------------------------------------------------------
    ;    Programa Principal
    ;-----------------------------------------------------------------------------
    ;-----------------------------------------------------------------------------
    ;    Inicialización del display
    ;-----------------------------------------------------------------------------
    main:           jsr     retardo
                    lda	#$10                     ;Enable nivel alto,Rs bajo                                                
         		     sta	PORTA                    ;Envía al puerto A el dato 
    		     lda	#$38			 ;Primer dato para la inicialización 
    		     sta	PORTB			 ;Envía el dato anterior al puerto B
                    clr  PORTA            ;Pone en 0 al porta para bajar el enable 
                    jsr	retardo                  ;Va a la subrutina de retardo 
                    lda	#$10
    		     sta	PORTA
    		     lda	#$06             ;Segundo dato para la inicialización
    		     sta	PORTB
                    clr  PORTA
    		     jsr	retardo
    		     lda	#$10
    		     sta	PORTA
    		     lda	#$0C
                    sta  PORTB
                    clr  PORTA          ;Tercer dato para la inicialización 
    		     jsr  	retardo
    
    
    ;-----------------------------------------------------------------------------
    ;     Mensaje 1
    ;-----------------------------------------------------------------------------
    mensaje1:       lda   #$10                    ;borrar
                    sta   PORTA
                    lda   #$01
                    sta   PORTB
                    clr   PORTA
                    jsr   retardo
                    lda	 #$30       ;E y Rs en nivel alto para cargar datos               
    		     sta	 PORTA
                    lda	 #'G'       ;Desde aquí se comienza a enviar los datos 
    		     sta	 PORTB       ;para visualizar el mensaje 1             
                    lda   #$20
                    sta   PORTA
    		     jsr	 retardo
                    lda	 #$30                     
    		     sta	 PORTA                    
    		     lda	 #'a'
    		     sta	 PORTB
                    lda   #$20
                    sta   PORTA
    		     jsr 	 retardo
                    lda	 #$30
    		     sta	 PORTA
    		     lda	 #'r'
    		     sta	 PORTB
                    lda   #$20
                    sta   PORTA
    		     jsr	 retardo
                    lda	 #$30
    		     sta	PORTA
    		     lda	#'c'
    		     sta	PORTB
        
        
    
    
                    lda  #$20
                    sta  PORTA
    		     jsr	retardo
                    lda	#$30
    		     sta	PORTA
    		     lda	#'i'
    		     sta	PORTB
                    lda  #$20
                    sta  PORTA
    		     jsr	retardo
                    lda	#$30
    		     sta	PORTA
    		     lda	#'a'
    		     sta	PORTB
                    lda   #$20
                    sta   PORTA
    		     jsr	retardo
                    lda   #$10                 ;Enable nivel alto,Rs nivel bajo 
                    sta   PORTA                
                    lda   #$C0                 ;Código para bajar a la 2da línea
                    sta   PORTB
                    clr   PORTA
                    jsr   retardo
                    lda	 #$30                     ;E y Rs en nivel alto
    		     sta	 PORTA
                    lda	 #'M'                     ;Se envían los datos para el  
    		     sta	 PORTB                    ;texto que será visualizado 
                    lda   #$20                     ;en la 2da línea del display
                    sta   PORTA
    		     jsr	 retardo
                    lda	 #$30
    		     sta	 PORTA
    		     lda	 #'e'
    		     sta	 PORTB
                    lda   #$20
                    sta   PORTA
    		     jsr	 retardo
                    lda	 #$30
    		     sta	 PORTA
    		     lda	 #'r'
    		     sta	 PORTB
                    lda   #$20
                    sta   PORTA
    		     jsr	 retardo
                    lda	 #$30
    		     sta	 PORTA
    		     lda	 #'l'
    		     sta	 PORTB
                    lda    #$20
                    sta    PORTA
    		     jsr	 retardo
                    lda	 #$30
    		     sta	 PORTA
    		     lda	 #'o'
    		     sta	 PORTB
                    lda    #$20
                    sta    PORTA
    		     jsr	 retardo
    bucle1:         brset  3,PORTA,mensaje2        ;bucle que se repite a menos
                    jmp    bucle1                  ;que se accione el pulsador,
                            	;de ser así pasa al 2do
    	;mensaje
    
    
    ;-----------------------------------------------------------------------------
    ;    Mensaje 2
    ;-----------------------------------------------------------------------------
    mensaje2:       jsr     retardo
                    lda     #$10                    ;borrar
                    sta     PORTA
                    lda     #$01
                    sta     PORTB
                    clr     PORTA
                    jsr     retardo
                    lda	   #$30                     ;E y Rs en nivel alto se 
    		     sta	   PORTA	;cargan los datos
                    lda	   #' '                     ;Desde aquí se comienza a 
    		     sta	   PORTB                    ;enviar los datos del texto
                    lda     #$20                      ;que va ser visualizado en     
                    sta     PORTA	;el display
    		     jsr	   retardo
                    lda     #$30
    		     sta	   PORTA
                    lda	   #' '
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
                    lda	   #'O'
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
    		     lda	   #'t'
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
    		     lda	   #'t'
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
    		     lda	   #'o'
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
    		     lda	   #' '
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
    		     lda	   #'K'
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
    
    
                    lda	   #$30
    		     sta	   PORTA
                    lda	   #'r'
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
                    lda	   #'a'
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
    		     lda	   #'u'
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
    		     lda	   #'s'
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
    		     lda	   #'e'
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda     #$10         ;E en nivel alto, Rs bajo para bajar a la
                    sta     PORTA        ;2da línea
                    lda     #$C0         ;Código para bajar a la 2da línea
                    sta     PORTB
                    clr     PORTA
                    jsr     retardo
                    lda	   #$30
    		     sta	   PORTA
                    lda	   #' '
        	sta	   PORTB
                    lda     #$20
                    sta     PORTA
    	jsr	   retardo
                    lda	   #$30
    	sta	   PORTA
                    lda	   #' '
    	sta	   PORTB
                    lda     #$20
                    sta     PORTA
    	jsr	   retardo
                    lda	   #$30
    	sta	   PORTA
                    lda	   #' '
    	sta	   PORTB
                    lda     #$20
                    sta     PORTA
    	jsr	   retardo
                    lda	   #$30
    	sta	   PORTA
                    lda	   #' '
    	sta	   PORTB
                    lda     #$20
                    sta     PORTA	
    	jsr	   retardo
    
    
                    lda	   #$30
    		      sta	   PORTA
                    lda	   #' '
    		      sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
                    lda	   #'5'
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
                    lda	   #' '
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
                    lda	   #'E'
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
                    lda	   #'T'
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
                    lda	   #' '
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
                    lda	   #$30
    		     sta	   PORTA
                    lda	   #'3'
    		     sta	   PORTB
                    lda     #$20
                    sta     PORTA
    		     jsr	   retardo
    bucle:          brclr   3,PORTA,asd                 ;Condición de salto                      
                    jmp     mensaje1                    ;al mensaje 1 o sino
    asd:            jsr     retardo                     ;continua en el bucle     
                    jmp     bucle	;infinitamente hasta que 
    	;se pulse el botón
    ;-----------------------------------------------------------------------------
    ;    Indicación del origen de los vectores de int.
    ;-----------------------------------------------------------------------------
    ;               ORG VECTORStart
    ;-----------------------------------------------------------------------------
    ;    Asignación de saltos para cada vector
    ;-----------------------------------------------------------------------------;               dw  init
    ;-----------------------------------------------------------------------------
    Despues si puedo en casa tengo la placa, pero es muy simple :P
    Última edición por Selket; 06/03/2017 a las 15:20
    Cita Iniciado por El TuTTe Ver Mensaje
    No, el AO sin agite es como el sexo con tu prima, sabes que algo no está bien



Thread Footer

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •