ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

INTERFAZ HMI Assembler


Enviado por   •  11 de Junio de 2022  •  Ensayo  •  10.908 Palabras (44 Páginas)  •  52 Visitas

Página 1 de 44

INTERFAZ HMI

Laboratorio N°2

Bastian Miranda V.


Est.Ingeniería Civil en Electrónica
Universidad Tecnologica Metropolitana 


Diego Camousseight C.


Est.Ingeniería Civil en Electrónica

Universidad Tecnologica Metropolitana


  1. introducción

Se expondrán el desarrollo de aplicaciones utilizando la interfaz hombre-maquina, a través de instrucciones en Assembler de microcontroladores, y el uso de interruptores, teclados matriciales, displays de 7 segmentos y displays LCD

  1. Diagramas eléctricos

  1. Circuito 1

Para el desarrollo del ejercicio1 se utilizarán lo elementos de la figura 1.

[pic 1]

Figura 1

Lista de Materiales.

COMPONENTES

CANTIDAD

PIC16F887

1

DISPLAY DE 7 SEGMENTOS

2

RESISTENCIA 220[Ω]

14

RESISTENCIA 10k[Ω]

1

FUENTE DE ALIMENTACION DC

1

CRISTAL 4MHz

1

CONDENSADOR 22pF

2

PROTOBOARD

1

L7805

1

TECLADO MATRICIAL

1

  1. Circuito 2

Para el desarrollo de los algoritmos de Entrada y de Salidas del microcontrolador, se utilizará el siguiente diagrama electrónico, de la figura 2.

[pic 2]

Figura 2

Lista de Materiales.

COMPONENTES

CANTIDAD

PIC16F84

1

TECLADO MATRICIAL

1

FUENTE DE ALIMENTACION DC

1

CRISTAL 4MHz

1

DISPLAY LCD

1

  1. ALGORITMOS Y DIAGRAMAS DE FLUJO

Para este apartado se expresará los algoritmos utilizados y además, el diagrama de flujo que se siguió para cada circuito de la experiencia.

  1. Circuito 1

  • Diagrama de Flujo.

Se define el diagrama de flujo del circuito 1

 [pic 3]

[pic 4]

  1. Circuito 2

  • Diagrama de Flujo.

Se define el diagrama de flujo del circuito 2.

 

[pic 5]

  1. Codificación assembler

En esta sección se plasmarán los códigos de assembler que se utilizaron para la experiencia.

  1. Configuración de pines de Salidas

  1. Circuito 1.

;;   Donde

;;

;;        _A_            |            _A_            

;;     F|   |B            |     F|   |B            

;;        -G-            |            -G-            

;;     E|   |C            |     E|   |C            

;;        ---            |            ---            

;;         D            |             D            

;;    

;; Catodo Comun -> CC        |   Anodo Comun -> AC

;;   Enviar -> 1                |     Enviar -> 0

;;

;;--------------------------------------------------

;;   DEFINICION DE NUMEROS

;;

;;   NUMERO -> 0

;;   MOVLW   0x3f    ;b'0011 1111'

;;   MOVWF        PORTX

;;  

;;   NUMERO -> 1

;;   MOVLW   0x06    ;b'0000 0110'        

;;   MOVWF        PORTX

;    

;;   NUMERO -> 2

;;   MOVLW   0x5b    ;b'0101 1011'

;;   MOVWF        PORTX

;    

;;   NUMERO -> 3

;;   MOVLW   4F            ;b'0100 1111'

;;   MOVWF        PORTX

;    

;;   NUMERO -> 4

;;   MOVLW   66            ;b'0110 0110'

;;   MOVWF        PORTX

;    

;;   NUMERO -> 5

;;   MOVLW   6D            ;b'0110 1101'

;;   MOVWF        PORTX

;

;;   NUMERO -> 6

;;   MOVLW   7D            ;b'0111 1101'

;;   MOVWF        PORTX

;    

;;   NUMERO -> 7

;;   MOVLW   7            ;b'0000 0111'

;;   MOVWF        PORTX

;    

;;   NUMERO -> 8

;;   MOVLW   7F            ;b'0111 1111'

;;   MOVWF        PORTX

;    

;;   NUMERO -> 9

;;   MOVLW   7F            ;b'0111 1111'

;;   MOVWF        PORTX

;

;;   NUMERO -> A

;;   MOVLW   0x77   ;b'0111 0111'

;;   MOVWF        PORTX

;    

;;   NUMERO -> B

;;   MOVLW   0x7C   ;b'0111 1100'

;;   MOVWF        PORTX

;    

;;   NUMERO -> C

;;   MOVLW   0x39   ;b'0011 1001'

;;   MOVWF        PORTX

;    

;;   NUMERO -> D

;;   MOVLW   0x5E    ;b'0101 1110'

;;   MOVWF        PORTX

;    

;;   NUMERO -> E

;;   MOVLW   0x79    ;b'0111 1001'

;;   MOVWF        PORTX

;    

;;   NUMERO -> F

;;   MOVLW   0x71   ;b'0111 0001'

;;   MOVWF        PORTX

        

;;---------------------------------------------------------

;;   CONFIGURACION DE PUERTOS

;;

;;   SALIDA

;;

;;   CLRF        TRISA        ; PUERTA -> SALIDA

;;   CLRF        TRISB        ; PUERTB -> SALIDA

;;   CLRF        TRISC        ; PUERTC -> SALIDA

;;   CLRF        TRISD        ; PUERTD -> SALIDA

;;   CLRF        TRISE        ; PUERTE -> SALIDA

;    

;;   ENTRADA

;;   MOVLW B'11111111'

;;   MOVWF TRISA                ; PUERTA -> ENTRADA

;;   MOVWF TRISB                ; PUERTB -> ENTRADA

;;   MOVWF TRISC                ; PUERTC -> ENTRADA

;;   MOVWF TRISD                ; PUERTD -> ENTRADA

;;   MOVWF TRISE                ; PUERTE -> ENTRADA

;    

;; EJEMPLO

;;

;;    BSF STATUS, RP0

;    

;;    MOVLW B'11111111'

;;    MOVWF TRISA

;    

;;    CLRF        TRISB ; PUERTB -> SALIDA

;    

;;    BCF STATUS,RP0

;;

;;---------------------------------------

LIST P = 16F877A

include P16F877A.inc

        

CBLOCK 0x20

        Var01

        Var02

        Var03

        Var04

ENDC  

ORG 0

        CALL Teclado_Inicializa

        

        CALL CONFIGURACION

        CALL Teclear_01

        CALL Teclear_02

        

Cuenta

        btfss        Var03,0

        goto        Digito_0

        nop

        btfss        Var04,0

        goto        Digito_0_0

        nop

        call Retardo_1s

        decfsz        Var02,7

        clrf        Var03

        clrf        Var04

        goto        Cuenta

goto Teclear_01        

;----------------------------------------

    ;  Digitos Primer Display

;----------------------------------------

        

Digito_0

        btfsc        Var02,7

        goto        Digito_8

        nop

        btfsc        Var02,6

        goto        Digito_4

        nop

        btfsc        Var02,5

        goto        Digito_2

        nop

        btfsc        Var02,4

        goto        Digito_1

        nop

        movlw        0x3F;0

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Teclear_01

        

Digito_1

        movlw        0x06;1

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Cuenta

        

Digito_2

        btfsc        Var02,4

        goto        Digito_3

        nop

        movlw        0x5B;2

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Cuenta

        

Digito_3

        movlw        0x4F;3

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Cuenta

        

Digito_4

        btfsc        Var02,5

        goto        Digito_6

        nop

        btfsc        Var02,4

        goto        Digito_5

        nop

        movlw        0x66;4

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Cuenta

        

Digito_5

        movlw        0x6D;5

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Cuenta

Digito_6

        btfsc        Var02,4

        goto        Digito_7

        nop

        movlw        0x7D;6

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Cuenta

        

Digito_7

        movlw        0x07;7

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Cuenta

        

Digito_8

        btfsc        Var02,6

        goto        Digito_C

        nop

        btfsc        Var02,5

        goto        Digito_A

        nop

        btfsc        Var02,4

        goto        Digito_9

        nop

        movlw        0x7F;8

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Cuenta

        

Digito_9

        movlw        0x6F;9

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Cuenta

        

Digito_A

        btfsc        Var02,4

        goto        Digito_B

        nop

        movlw        0x77;A

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Cuenta

                

Digito_B

        movlw        0x7C;B

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Cuenta

        

        

Digito_C

        btfsc        Var02,5

        goto        Digito_E

        nop

        btfsc        Var02,4

        goto        Digito_D

        nop

        movlw        0x39;C

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Cuenta

        

Digito_D

        movlw        0x5E;D

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Cuenta

        

Digito_E

        btfsc        Var02,4

        goto        Digito_F

        nop

        movlw        0x79;E

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Cuenta

        

        

Digito_F

        movlw        0x71;F

        movwf        PORTD

        movlw        0x01

        movwf        Var03

goto Cuenta

;----------------------------------------

    ;  Digitos Segundo Display

;----------------------------------------

Digito_0_0

        btfsc        Var02,3

        goto        Digito_2_8

        nop

        btfsc        Var02,2

        goto        Digito_2_4

        nop

        btfsc        Var02,1

        goto        Digito_2_2

        nop

        btfsc        Var02,0

        goto        Digito_2_1

        nop

        movlw        0x3F

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta

   

Digito_2_1

        movlw        0x06

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta

        

Digito_2_2

        btfsc        Var02,0

        goto        Digito_2_3

        nop

        movlw        0x5B ; 2

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta

        

Digito_2_3

        movlw        0x4F;3

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta        

        

Digito_2_4

        btfsc        Var02,1

        goto        Digito_2_6

        nop

        btfsc        Var02,0

        goto        Digito_2_5

        nop

        movlw        0x66 ; 4

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta

        

Digito_2_5

        movlw        0x6D ;5

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta

        

Digito_2_6

        btfsc        Var02,0

        goto        Digito_2_7

        nop

        movlw        0x7D        ; 6

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta

        

Digito_2_7

        movlw        0x07 ;7

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta

        

Digito_2_8

        btfsc        Var02,2

        goto        Digito_2_C

        nop

        btfsc        Var02,1

        goto        Digito_2_A

        nop

        btfsc        Var02,0

        goto        Digito_2_9

        nop

        movlw        0x7F; 8

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta

        

Digito_2_9

        movlw        0x6F; 9

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta

        

Digito_2_A

        btfsc        Var02,0

        goto        Digito_2_B

        nop

        movlw        0x77 ;A

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta

        

Digito_2_B

        movlw        0x7C; B

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta

                

Digito_2_C

        btfsc        Var02,1

        goto        Digito_2_E

        nop

        btfsc        Var02,0

        goto        Digito_2_D

        nop

        movlw        0x39 ;C

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta

        

Digito_2_D

        movlw        0x5E ; D

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta

        

Digito_2_E

        btfsc        Var02,0

        goto        Digito_2_F

        nop

        movlw        0x79 ; E

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta

        

Digito_2_F

        movlw        0x71 ;F

        movwf        PORTC

        movlw        0x01

        movwf        Var04

goto Cuenta

        

;----------------------------------------

    ;  CONFIGURACION

;----------------------------------------

    CONFIGURACION

        bsf        STATUS,RP0

        clrf        TRISC

        clrf        TRISD

        bcf        STATUS,RP0

        clrf        PORTC

        clrf        PORTD

        RETURN

;----------------------------------------

    ;  Teclear_01

;----------------------------------------        

    Teclear_01

        movlw        0x00

        movwf        STATUS

        call        Teclado_LeeOrdenTecla

        btfsc        STATUS,C

        goto        GUARDAR01

            goto Teclear_01

;----------------------------------------

    ;  Teclear_02

;----------------------------------------        

    Teclear_02

        movlw        0x00

        movwf        STATUS

        call        Teclado_LeeOrdenTecla

        btfsc        STATUS,C

        goto        GUARDAR02

            goto Teclear_02

;----------------------------------------

    ;  GUARDAR01 -> Guardar valor 1 y 2

;----------------------------------------

    GUARDAR01

        movwf        Var01

        movwf        Var02

        swapf        Var02

        call        Retardo_500ms

            goto Teclear_02        

;----------------------------------------

    ;   GUARDAR02 -> Sumar valor 2 y saltar a la cuenta

;----------------------------------------

    GUARDAR02

        addwf        Var02

        goto Cuenta

            goto GUARDAR02

include RETARDOS.INC

include KBD877.INC

include LCD877.INC

   

END

...

Descargar como (para miembros actualizados) txt (31 Kb) pdf (487 Kb) docx (361 Kb)
Leer 43 páginas más »
Disponible sólo en Clubensayos.com