Вы находитесь на странице: 1из 10

a.

- Diseñar un código para microcontrolador para cumplir con los siguientes requerimientos :
Con un pulsador o interruptor haga que 8 leds conectados en el puerto B, se enciendan de derecha a
izquierda uno a la vez, empezando de B0 a B7, al final este último permanece encendido, con otro
pulsador o interruptor haga que los leds se desplacen uno a uno hacia la derecha, es decir desde B7
que fue el último y que está actualmente encendido se desplace hasta B0, las pausas son de 300 ms.
(2.5P)
b.- Realizar el comentario de lo ejecución cada línea del código correctamente (2.5P)
c,.-Realizar el Diagrama de flujo de la lógica de programación (2.5P)
d.- Realizar el diagrama de Conexión electrónica del microcontrolador con los periféricos de entrada y
salida (2.5P)

Declaración:

x var byte ; creo un espacio de memoria llamado x de 1 byte


leds var portb ; nombro el puerto b como leds
cmcon=7 ; puertos a como salidas
trisb=0 ; activo los puertos b
leds=1 ;carga el valor inicial de 0 a la variable leds
pulso var porta.1; nombro el puerto a.1 como pulso
boton var porta.2 ; nombro el puerto a.2 como boton
ariel:
if pulso=0 then cachos ; esta presionado el pulsador, entonse ir a cachos
goto ariel ; si no es haci regrese a ariel
cachos:
    for x=1 to 7
    leds=leds <<1
    pause 300
    next
    high portb.7
ariel2:
    if boton=0 then andres
    goto ariel2
    andres:
        for x=1 to 7
        leds=leds >>1
        pause 300
        next
        high portb.0
goto ariel
END
2 tema 10 puntos
a.- Diseña un código para microcontrolador para el control de nivel de depósito de líquido de la figura 9-
9 utiliza (las líneas del microcontrolador conectadas) (2.5P)
b.- Realizar el comentario de lo ejecución cada línea del código correctamente (2.5P)
c,.-Realizar el Diagrama de flujo de la lógica de programación (2.5P)
d.- Realizar el diagrama de Conexión electrónica del microcontrolador con los periféricos de entrada y
salida(2.5P)
- Tres sondas detectoras: SV, Sonda de Vacío (RA0); SLL, Sonda de
Llenado (RA1);SR, Sonda de Rebose (RA2).Dos bombas de agua: B1
(RB5),B2 (RB6). Cinco indicadores: Vacío (RB0), Llenándose (RB1),
Lleno (RB2), Rebose (RB3), Alarma (RB4).
Su funcionamiento:
- Cuando ninguna de las sondas está mojada se entiende que el depósito
está vacío y se accionarán las dos bombas. El indicador "Vacío" se
iluminará.
- Cuando el nivel del líquido toque la sonda de vacío "SV" seguirá
llenándose el depósito con las dos bombas. El indicador "Llenándose"
se ilumina.
- Cuando el nivel del líquido toca la sonda de llenado "SLL", para la
bomba B2, quedando B1 activada en modo mantenimiento. El indicador
"Lleno" se ilumina.
- Si el nivel del líquido moja la sonda de rebose "SR" se apaga
también la bomba B1, quedando las dos bombas fuera de servicio. El
indicador "Rebose" se enciende.
- Cuando se produce un fallo o mal funcionamiento en las sondas de
entrada (por ejemplo que se active la sonda de rebose y no active la
de vacío) se paran las dos bombas. El indicador "Alarma" se ilumina.
l nivel del líquido moja la sonda de rebose "SR" se apaga también la bomba B1,
; quedando las dos bombas fuera de servicio. El indicador "Rebose" se enciende.
; - Cuando se produce un fallo o mal funcionamiento en las sondas de entrada
(por
; ejemplo que se active la sonda de rebose y no active la de vacío) se paran
; las dos bombas. El indicador "Alarma" se ilumina.
;
; Según el enunciado del problema, teniendo en cuenta las conexiones citadas y
poniendo la
; salida no utilizada (RB7) siempre a cero, la tabla de verdad resultante es:
;
; RA2.. RA0 | RB7 ... ... RB0
; ------------|--------------------------------
; 0 0 0 | 0 1 1 0 0 0 0 1 (Configuración 0. Estado "Vacio").
; 0 0 1 | 0 1 1 0 0 0 1 0 (Configuración 1. Estado "Llenandose").
; 0 1 0 | 0 0 0 1 0 0 0 0 (Configuración 2. Estado "Alarma").
; 0 1 1 | 0 0 1 0 0 1 0 0 (Configuración 3. Estado "Lleno").
; 1 0 0 | 0 0 0 1 0 0 0 0 (Configuración 4. Estado "Alarma").
; 1 0 1 | 0 0 0 1 0 0 0 0 (Configuración 5. Estado "Alarma").
; 1 1 0 | 0 0 0 1 0 0 0 0 (Configuración 6. Estado "Alarma").
; 1 1 1 | 0 0 0 0 1 0 0 0 (Configuración 7. Estado "Rebose").
;
; ZONA DE DATOS
**********************************************************************

LIST P=16F84A
INCLUDE <P16F84A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

; ZONA DE CÓDIGOS
********************************************************************

ORG 0 ; El programa comienza en la dirección 0.


Inicio
clrf PORTB ; Debe estar a cero cuando el puerto se configure como
salida.
bsf STATUS,RP0 ; Acceso al Banco 1.
clrf TRISB ; Las líneas del Puerto B se configuran como salida.
movlw b'00011111' ; Las 5 líneas del Puerto A se configuran como
entrada.
movwf TRISA
bcf STATUS,RP0 ; Acceso al Banco 0.
Principal
movf PORTA,W ; Lee los sensores.
andlw b'00000111' ; Máscara para quedarse con el valor de los
sensores.
addwf PCL,F ; Salta a la configuración adecuada.
goto Configuracion0
goto Configuracion1
goto Configuracion2
goto Configuracion3
goto Configuracion4
goto Configuracion5
goto Configuracion6
goto Configuracion7
Configuracion0
movlw b'01100001' ; Estado "Vacio" (configuración 0).
goto ActivaSalida
Configuracion1
movlw b'01100010' ; Estado "Llenándose" (configuración 1).
goto ActivaSalida
Configuracion2
movlw b'00010000' ; Estado "Alarma" (configuración 2).
goto ActivaSalida
Configuracion3
movlw b'00100100' ; Estado "Lleno" (configuración 3).
goto ActivaSalida
Configuracion4
movlw b'00010000' ; Estado "Alarma" (configuración 4).
goto ActivaSalida
Configuracion5
movlw b'00010000' ; Estado "Alarma" (configuración 5).
goto ActivaSalida
Configuracion6
movlw b'00010000' ; Estado "Alarma" (configuración 6).
goto ActivaSalida
Configuracion7
movlw b'00001000' ; Estado "Rebose" (configuración 7).
ActivaSalida
movwf PORTB ; Visualiza por el puerto de salida.
goto Principal

END

Tema 2
Examen_bomba

Configura:
PORTB como salida
PORTA como entrada
principal

Se configura solo los tres bits del PORTA como entrada

NO

SI
PORTA=00000

NO (w)=b’01100001’

PORTA=001

(w)=b’01100010’
NO

PORTA=010
(w)=b’00010000’

PORTA=011
(w)=b’00100100’
NO
PORTA=100

SI

(w)= b'00010000'

NO
PORTA=101
SI

(w)= b'00010000'
NO

SI PORTA=110

(w)= b'00010000'

NO

SI
PORTA=110

(w)=b’00100100’

Activa la salida:

(W)=(PORTB)
Tema 3

V1 V2 V3 V4 V5  VALOR DADO VALOR ESPERADO


 128 129         1 257
 128 129         255 -1
 129 128         1 1
 128 129    1    1 -1
 128 129     -1    -1 -1
 129 128     1   1  1
 128 129      257  257 257
 6 60   104      104 360
           
           
           

V3=1 POR TIPO DE VARIABLE BYTE(8BIT-256), FALTA UN BIT PARA 257 TOMO VALOR DE 1
RESTANTE
V3=255 TIPO DE VARIABLE BYTE NO ASECTA NUMERO NEGATIVO, SE COPLEMENTA EL -1
11111110
00000001
11111111=255
V3=1 CUMPLE CON LA CONDICION DEL TIPO DE VARIABLE
V4=1 POR TIPO DE VARIABLE SHORT (-127 a 128) falta un bit para completar 257
V4= -1 POR TIPO DE VARIABLE SHORT (-127 a 128) puede visualizar números negativos
V4= 1 POR TIPO DE VARIABLE short está en el rango
V5= 257 muestra el valor correcto por tipo de variable integer está en el rango de numero de
16Bit
V3=104 por tipo de variable de 8bit esta fuera de rango por lo que toma los siguientes 8 bit
para visualizar el resultado.
Esperado=360
360-256=104
11111111 = 256
01101000=104
TEMA 4
CUAL ES EL
CANTIDAD DE
DATO
BIT UTILIZADOS
OBTENIDO DE
LOCALIDAD LOCALIDAD TAMAÑO DE PARA
LA
INICIAL FINAL MEMORIA DECLARAR LA
LOCALIDAD
LOCALIDAD
FINAL DE LA
FINAL
MEMORIA X
1 13H 50012 5M 23 11110000
2 2H 30001 12K 14 FF
3 00000010 300001 3M 22 11110000

Вам также может понравиться