Ejemplo de como programar un 8255

En estos ejemplos podemos que es muy fácil programar los ports de un circuito 8255 para que queden configurados como entradas, salidas o mixto.

Para seleccionar un modo tenemos que direccionar el periférico en la dirección 03 que es donde tenemos la palabra de control (control word), según los bits que carguemos en este registro el circuito 8255 se comportara de una manera u otra.

8255_modos

 

 

 

 

 

 

 

 

 

 

Código ejemplo en assembler para el modo 0 como salida.

Se inicializa el 8255 en modo 0, y los tres puertos (A, B y C) son programados de salida.

MOV DX, 03
MOV AL, 80h; AL= 1000000b
OUT DX, AL

Código ejemplo para el modo 1 como entrada.

BIT5  EQU 20H
PORTC EQU 22H
PORTC EQU 20H
READ: IN AL, PORTC ; Lee el puerto C
      TEST AL, BIT5 ; verifica IBF
      JZ READ ; salta si IBF=0
      IN AL, PORTA ; lee dato

Programa ejemplo para el modo 1 como salida.

BIT1   EQU 2
PORTC  EQU 62H
PORTB  EQU 61H
CMD    EQU 63H
PRINT: IN AL, PORTC ; Obtiene OBF
       TEST AL, BIT1 ; Verifica OBF
       JZ PRINT ; salta si OBF = 0
       MOV AL, AH ; Obtiene el dato
       OUT PORTB, AL ; Imprime (envía al puerto B un dato)
       MOV AL, 8 ; Inicializa en 0 a DS (PC4 va hacia esta señal del dispositivo
       OUT CMD, AL ; Envía un pulso de datos a la impresora
       MOV AL, 9 ; Limpia en 0 a DS
       OUT CMD, AL

Programa ejemplo para el modo 2 (bidireccional)

BIT7   EQU 80H ; Este programa transmite AH por el bus bidireccional
PORTC  EQU 62H ; del puerto A
PORTA  EQU 60H
TRANS: IN AL, PORTC ; Obtiene OBF
       TEST AL, BIT7 ; Verifica OBF
       JZ TRANS ; Si OBF = 1
       MOV AL, AH ; Obtiene el dato
       OUT PORTA, AL ; Envía el dato
; Lee datos desde el puerto A bidireccional y los regresa en AL.
; El paso anterior y éste se pueden hacer en un solo programa.
BIT5  EQU 20H
PORTC EQU 62H
PORTA EQU 60H
READ: IN AL, PORTC ; Obtiene IBF
      TEST AL, BIT5 ; Verifica IBF
      JZ READ ; Si IBF=0
      IN AL, PORTA ; Lee el dato del PORTA

Código ejemplo para el modo inactivo. El siguiente código, envía un “1″ al Bit 5 del Puerto C.

MOV DX, 03
MOV AL, 0Bh; AL= 00001011b
OUT DX, AL

Como funciona un sensor de humedad

El principio que utilizan es que el agua no es un material aislante como lo es el aire, y la conductividad eléctrica es proporcional a la humedad.

La manera de construir un sensor casero seria colocando dos cables sin funda, colocados paralelos y lo mas próximos que podamos. Si el ambiente esta húmedo al aplicarle un voltaje en sus extremos circulará una pequeña corriente que podemos amplificar con algún transistor tipo Darlington para que active algún relé de utilización.

Hay que tener en cuenta que la medición de la humedad relativa no es instantánea y puede tardar varios segundos dependiendo del sensor utilizado, movimiento del aire y la temperatura.

 

Símbolo de sensor de humedad

Símbolo de sensor de humedad

Las aplicaciones mas destacadas son:

  • Meteorología.
  • Refrigeración.
  • Secadores.
  • Riego de plantas.
  • Instrumentación.
  • Control industrial.

Y una aplicación bastante útil y sorprendente es puesto en los pañales de los bebes, para detectar cuando lo han mojado.