miércoles, 28 de marzo de 2012

DISPLAY 7 SEGMENTO




DISPLAY:

El displays de 7 segmentos, es un componente que se utiliza para la representación de números en muchos dispositivos electrónicos.
Cada vez es más frecuente encontrar LCD´s en estos equipos (debido a su bajísima demanda de energía), todavía hay muchos que utilizan el display de 7 segmentos por su simplicidad.
Este elemento se ensambla o arma de manera que se pueda activar cada segmento (diodo LED) por separado logrando de esta manera combinar los elementos y representar todos los números en eldisplay (del 0 al 9).
El display de 7 segmentos más común es el de color rojo, por su facilidad de visualización.
Cada elemento del display tiene asignado una letra que identifica su posición en el arreglo del display. Ver el gráfico arriba
-Si se activan todos los segmentos se forma el número "8"
-Si se activan solo los segmentos: "a,b,c,d,f," se forma el número "0"
-Si se activan solo los segmentos: "a,b,g,e,d," se forma el número "2"
- Si se activan solo los segmentos: "b,c,f,g," se forma el número "4"
p.d. representa el punto decimal




El display ánodo común

En el display ánodo común, todos los ánodos de los diodos LEDunidos y conectados a la fuente de alimentación.



En este caso para activar cualquier elemento hay que poner el cátodo del elemento a tierra a través de una resistencia para limitar la corriente que pasa por el elemento

El display cátodo común

El display cátodo común tiene todos los ánodos de los diodos LED unidos y conectados a tierra. Para activar un segmento de estos hay que poner el ánodo del segmento a encender a Vcc (tensión de la fuente) a través de una resistencia para limitar el paso de lacorriente

También hay display alfanuméricos que permiten representar tanto letras como números




seminario google marketing gratis, las nuevas formulas del negocio electrónico.
http://fa78045bb6mvnvmlmo0hry5oe9.hop.clickbank.net/
Click Here! 


  1. PROCEDIMIENTO
MONTAGE EN PROTEUS

El microcontrolador tendrá conectadas las siguientes entradas:
Ø  en RB7 un pulsador
 Las salidas serán:
Ø  1 display 7 segmentos paralelo de cátodo común, conectado con el segmento a en RD0 hasta el segmento g conectado a RD6, a través de resistencias de 220 ohm(en proteus usen el RX8  es un paquete de resistencias).
Ø  RCO Y RC1como salidas.

2.  OPERACIÓN:
El sistema iniciará accionando el pulsador que está en RB7, con un conteo ascendente, desde 0 hasta 99, al llegar a 99 debe reiniciarse nuevamente a 0.  


1.     CÓDIGO DEL PROGRAMA EN MPLAB

#INCLUDE "P16F877A.INC"
CBLOCK .32
BANDERA
VAR1
VAR2
VAR3
UNID
DECE
TEMP
ENDC

ORG 0
BSF STATUS,RP0
CLRF TRISD
MOVLW B'11111100'
MOVWF TRISC
MOVLW .255
MOVWF TRISB
BCF OPTION_REG,7
BCF STATUS,RP0
CLRF BANDERA
CLRF UNID
CLRF DECE
GOTO INICIO

TABLA
ADDWF PCL,F
RETLW B'00111111'
RETLW B'00000110'
RETLW B'01011011'
RETLW B'01001111'
RETLW B'01100110'
RETLW B'01101101'
RETLW B'01111101'
RETLW B'00000111'
RETLW B'01111111'
RETLW B'01100111'


INICIO
CALL BOTON
BTFSC BANDERA,0
GOTO CUENTE
CALL VISUAL
GOTO INICIO
CUENTE
INCF UNID,1
MOVF UNID,W


XORLW .10
BTFSS STATUS,Z
GOTO SALIR
CLRF UNID
INCF DECE,1
MOVF DECE,W
XORLW .10
BTFSS STATUS,Z
GOTO SALIR
CLRF DECE

SALIR
MOVLW .50
MOVWF TEMP

BUCLE DECFSZ TEMP,1
GOTO MOSTRAR
GOTO INICIO
MOSTRAR
CALL VISUAL
CALL BOTON
GOTO BUCLE

VISUAL
MOVF UNID,W
CALL TABLA
MOVWF PORTD
MOVLW B'11111110'
MOVWF PORTC
CALL PAUSA

CLRF PORTD
MOVF DECE,W
CALL TABLA
MOVWF PORTD
MOVLW B'11111101'
MOVWF PORTC
CALL PAUSA
  

CLRF PORTD
RETURN
BOTON
BTFSC PORTB,7
GOTO SALGA
PRESIONADO
BTFSS PORTB,7
GOTO PRESIONADO
COMF BANDERA,1
SALGA
RETURN


PAUSA
MOVLW .20
MOVWF VAR1
MOVLW .45
MOVWF VAR2
MOVLW .2
MOVWF VAR3
DECFSZ VAR3,1
GOTO $-1
DECFSZ VAR2,1
GOTO $-5
DECFSZ VAR1,1
GOTO $-9
RETURN
END

seminario google marketing gratis, las nuevas formulas del negocio electrónico.
http://fa78045bb6mvnvmlmo0hry5oe9.hop.clickbank.net/
Click Here! 

Descargar Proteus Gratis

martes, 13 de marzo de 2012

conversor A/D temperatura y nivel de iluminación



INTRODUCCIÓN

Los microcontroladores están conquistando el mundo. Están presentes en nuestro trabajo, en nuestra casa y en nuestra vida, en general. Se pueden encontrar controlando el funcionamiento de los ratones y teclados de los computadores, en los teléfonos, en los hornos microondas y los televisores de nuestro hogar. Pero la invasión acaba de comenzar y el nacimiento del siglo XXI será testigo de la conquista masiva de estos diminutos computadores, que gobernarán la mayor parte de los aparatos que fabricaremos y usamos los humanos.


VÍDEO INTRODUCTORIO A LOS MICROCONTROLADORES:




AHORA SI AL PROYECTO
este proyecto consistirá en  medir la  temperatura y el nivel de iluminación 

El circuito contará con dos entradas analógicas así como se ve en el esquemático que esta abajo  ya montado en proteus a través de estas entradas, debe medirse la temperatura y el nivel de iluminación  en un cuarto o lugar que quieras . 


esquemático en proteus 

ahora se ira explicando cada etapa del montaje :

1 .ETAPA DE TEMPERATURA:
La primera etapa conectada a RA0 es un sensor de temperatura LM35:



El sensor entrega por su salida 10mV/ºC. Es decir, si la temperatura es de 1ºC la salida del Sensor es de 10 mV. Debido a que la resolución del conversor del micro es de 4,89mV, si Conectamos directamente el sensor al micro este solo podrá detectar cambios de temperatura De aproximadamente 2ºC, por lo que se hace necesario Amplificar la salida del sensor por un factor de 10.
Esto se logra con el amplificador operacional LM358 configurado como amplificador no inversor. 
 R1=330 y R2=2970  ya están Calculadas para lograr una ganancia de 10.
Así el sensor pasará de entregar 10 mV/ºC a Entregar 100 mV/ºC, y como la resolución del micro, como se dijo antes es de 4,89 mV, ahora alimentación del LM358 es de 9V.

2.ETAPA DE NIVEL DE ILUMINACIÓN:
Esta etapa utiliza el sensor conocido como LDR o Resistor dependiente de Luz, que es un dispositivo que varía su resistencia eléctrica en función de la luz:

Este dispositivo no tiene polaridad para ser conectado por lo que puede conectarse de Cualquier forma. Sin embargo, para convertir el valor de resistencia en voltaje debe colocarse Como un divisor de tensión, esto se muestra en el circuito cuando se conecta la LDR con la Resistencia R3. Fíjese que en R3 no se ha colocado el valor de la resistencia. Esta se debe Calcular o hallar experimentalmente. Cuando incide máxima luz sobre la LDR el valor de Resistencia varía entre 500 a 1000 y en oscuridad total entre 50 K a varios MΩ. Busque Una resistencia R3 tal que en máxima luz salga del divisor de tensión aproximadamente 5V y en Oscuridad total salgan 0V. Puede aplicar la teoría elemental de circuitos eléctricos y divisor de Tensión.

FUNCIONAMIENTO DEL CIRCUITO
Al iniciar, la LCD mostrará lo siguiente:

Donde Ta y Tb indican temperatura alta y baja respectivamente, mientras     que Ia e Ib representan iluminación alta y baja respectivamente.  Por medio del teclado el usuario
ajustará un valor de temperatura baja y una alta de 00 a 50 º C y un nivel de iluminación bajo y  uno alto entre 00 y 99%, como en el siguiente ejemplo:


Cuando el usuario ingrese los valores, presionara una tecla de confirmación y el sistema empezará a visualizar la temperatura y el nivel de iluminación, en ambos casos con un decimal de precisión:

Mientras los valores de temperatura y de iluminación permanezcan dentro de los rangos establecidos por el usuario, el sistema visualizará como la figura anterior. Si cualquiera de los valores de temperatura o de iluminación se salen por debajo o por encima de los rangos preestablecidos, la visualización de la LCD respectiva reemplazará la medición por un letrero de alerta.
Por ejemplo, supongamos que la temperatura cayó por debajo del valor que estableció el usuario de 18ºC, entonces la LCD cambiará a:
Al mismo tiempo que uno de los 4 leds indicará temperatura baja encendiéndose hasta que la temperatura entre nuevamente en un rango normal. Lo mismo deberá suceder si el nivel de iluminación se sale de los rangos establecidos por el usuario. Los 4 leds respectivamente, servirán para indicar de forma luminosa: Temperatura baja, Temperatura alta, Iluminación baja e Iluminación alta.

bueno aquí les dejo el código para que lo pasen al programa de  proton ide lo prueben en proteus 



seminario google marketing gratis, las nuevas formulas del negocio electrónico.
http://fa78045bb6mvnvmlmo0hry5oe9.hop.clickbank.net/
Click Here!

 4. Código del programa
Device 16F877A
 XTAL=4
Declare LCD_INTERFACE 4  
Declare LCD_DTPIN PORTD.4        
Declare LCD_ENPIN PORTD.2          
Declare LCD_RSPIN PORTD.3
Declare KEYPAD_PORT PORTB
TRISC=000000
TRISD=000010
Dim    KEY As Byte
Dim VAR1 As Byte
Dim    KEY1 As Byte
Dim    KEY2 As Byte
Dim    KEY3 As Byte
Dim    KEY4 As Byte
Dim uno As Byte                                       
Dim VALOR As Word
Dim VALOR1 As Word
Dim tem As Word
Dim HTECL As Word  
Dim HRTECL As Word  
Dim LUZTECL As Word
Symbol MOT = PORTE.0
     ADIN_RES  10                       
     ADIN_TAD  FRC                      
     ADIN_STIME 100                      
ADCON1 = %10000010
Config xt_OSC, WDT_OFF , PWRTE_ON , BODEN_OFF , LVP_OFF, CP_OFF , DEBUG_OFF
Dim VOLTS As Float
Dim temp1 As Float
Dim HUM1 As Word
Dim HUM2 As Word
Dim VALOR3 As Word
Dim D2 As Byte 
Dim D3 As Byte
Dim VALOR2 As Float
Dim VALOR4 As Float                        
Dim CONVER As Word                  
Dim D As Word       
Dim CONTROL1 As Float         
Dim CONTROL2 As Float       
Dim TA As Word
Dim TB As Word
Dim LA As Word
Dim LB As Wor
Dim  luz1 As Float
TA=00
TB=00
LA=00
LB=00
CONTROL1=0
CONTROL2=0
Print $FE,1
Print At 1,1,"Ta= "
Print At 1,8,"Tb= "
Print At 2,1,"La= "
Print At 2,8,"Lb= "       
inicio:
A1: VAR1 = InKey      
KEY = LookUp VAR1, [10,0,12,0,7,8,9,0,4,5,6,0,1,2,3]
DelayMS 100        
If VAR1!=16 Then
Print At 1,5,Dec KEY 
GoTo A2
End If
GoTo A1
A2: VAR1 = InKey     
KEY1 = LookUp VAR1, [10,0,12,0,7,8,9,0,4,5,6,0,1,2,3]
DelayMS 100      
If VAR1!=16 Then
KEY1= (KEY*10)+KEY1
TA= KEY1
Print At 1,5,Dec KEY1
DelayMS 400
GoTo A4
End If
GoTo A2
A4: VAR1 = InKey     
KEY = LookUp VAR1, [10,0,12,0,7,8,9,0,4,5,6,0,1,2,3]
DelayMS 100
If VAR1!=16 Then
Print At 1,12,Dec KEY  ,
GoTo A5
End If
GoTo A4
A5: VAR1 = InKey      
KEY1 = LookUp VAR1, [10,0,12,0,7,8,9,0,4,5,6,0,1,2,3]
DelayMS 100        
If VAR1!=16 Then
KEY2= (KEY*10)+KEY1
TB= KEY2
Print At 1,12,Dec KEY2
DelayMS 400
GoTo A7
End If
GoTo A5
A7:
VAR1 = InKey     
KEY = LookUp VAR1, [10,0,12,0,7,8,9,0,4,5,6,0,1,2,3]
DelayMS 100
If VAR1!=16 Then
Print At 2,5,Dec KEY,
GoTo A8
End If
GoTo A7
A8: VAR1 = InKey      
KEY1 = LookUp VAR1, [10,0,12,0,7,8,9,0,4,5,6,0,1,2,3]
DelayMS 100       
If VAR1!=16 Then
KEY3= (KEY*10)+KEY1
LA=  KEY3
Print At 2,5,Dec KEY3 
DelayMS 400
GoTo A9
End If
GoTo A8 
A9: VAR1 = InKey      
KEY = LookUp VAR1, [10,0,12,0,7,8,9,0,4,5,6,0,1,2,3]
DelayMS 100
If VAR1!=16 Then
Print At 2,12,Dec KEY 
GoTo A10
End If
GoTo A9
A10: VAR1 = InKey    
KEY1 = LookUp VAR1, [10,0,12,0,7,8,9,0,4,5,6,0,1,2,3]
DelayMS 100        
If VAR1!=16 Then
KEY4= (KEY*10)+KEY1
LB=   KEY4
Print At 2,12,Dec KEY4 
DelayMS 500
 GoTo LL
 EndIf
 GoTo A10
 LL:
VAR1 = InKey     
KEY = LookUp VAR1, [10,0,12,0,7,8,9,0,4,5,6,0,1,2,3]
DelayMS 100
Print $FE,1
Print At 1,1, "PRESIONE #"
Print At 2,1, "PARA CONTINUAR"
If VAR1!=16 Then
DelayMS 200
If KEY=12 Then
DelayMS 200
Print $FE,1
GoTo COMPARACION
End If
EndIf
GoTo LL
clrf PORTC
COMPARACION:
GoSub LEER
 If  TA>temp1 Then
 If temp1> TB  Then
 Print At 1,1,"TEMP=       ",DEC2 temp1,""
 PORTC.0=1
 PORTC.1=0
 EndIf
End If
If   LA>luz1 Then
If luz1> LB  Then
PORTC.2=1
PORTC.3=0
Print At 2,1,"ILUM= ",DEC2 luz1,"%"
EndIf
End If
If  TA<temp1   Then
Print At 1,1,"!TEMP.ALTA!",DEC2 temp1 
PORTC.0=0
PORTC.1=1
EndIf
If  TB>temp1   Then
Print At 1,1,"!TEMP.BAJA!",DEC2 temp1
PORTC.0=0
PORTC.1=0
EndIf 
If  LA<luz1   Then
PORTC.2=0
PORTC.3=1
Print At 2,1,"!ILUM.ALTA!   ",DEC2 luz1
EndIf
If  LB>luz1   Then
PORTC.2=0
PORTC.3=0
Print At 2,1,"!ILUM.BAJA!   ",DEC2 luz1
EndIf
GoTo COMPARACION
LEER:
VALOR = ADIn
VALOR1 = ADIn 1
temp1 = (VALOR / 2)
VOLTS = VALOR1 / 10000 
luz1=(VOLTS)*1000

seminario google marketing gratis, las nuevas formulas del negocio electrónico.
http://fa78045bb6mvnvmlmo0hry5oe9.hop.clickbank.net/
Click Here!