Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Circuito de programacin
Programa (B):
CdSin:
inicio:
Goto CdSin
'Nota
'la Configuracin de programacin se establece de la siguiente manera:
'1) FOSC - INTOSC (GP4: I / O); WDTE - Habilitar; PWRTE - Activar
'MCLR - Internas (por lo que MCLR no requiere resistencia a conexin Vdd)
'BODEN - Habilitar! CD - Desactivar, CDP - Desactivar.
! !
UTILIZACIN DE LA FUNCIN DE ADC 12F675 (TRES LEDS DE
VISUALIZACIN PARA NIVEL DE ENTRADA DE LA LUMINOSIDAD)
El PIC 12f675 posee un modulo ADC que se utiliza para saber la tensin en su
entrada, este modulo convierte una seal anloga a digital de 10 bit. Tiene cuatro
entradas anlogas pero solo una de ellas puede leer a un tiempo, la entrada activa
se selecciona mediante un multiplexor interno dedicado a este propsito que la
conecta al circuito sample and hold. Para poder realizar la conversin al ADC
necesita una fuente de tensin de referencia que pueda seleccionarse desde dos
orgenes distintos, uno puede ser la alimentacin del PIC y el otro puede ser una
tensin de referencia externa suministrada al pin destinado para este propsito y
que ocupa una de las entradas anlogas, y por ltimo se necesita una fuente de
pulsos de reloj. El resultado de la conversin se obtiene en dos registros de 8 bit
cada uno.
La conversion interna del ADC siempre se de 10 BIT pero se puede programar para
que la muestre en dos formatos:
10 y 8 BITS, los registros de lectura son ADRESH y ADREL , son el valor mayor y
menor de la lectura respectivamente y ambos se usan con el formato de salida de
10 BITS. Si se eligio el formato ede salida de 8 BITS el valor de la conversion se
leee en el registro ADRESH.
Con los bits ADCS2: ADCS0se seleciona el tiempo de adquisicion del modulo ADC
que se de 11 Tad (1tad= 1.6 us para este ADC). Conocido esto solo queda
configurar los bits del divisor segn la tabla trabajando con un cristal de 4 Mhz,
como no existe un multiplo que de 1.6 us exactos se elige el inmediatamente
superior que es 2us (001 = 8Tosc).
Conclusion:
ANSEL
ANSEL
Modo ebreviado:
ANSEL = %00011000 Fosc/8 (4Mhz/8 = 2uSeg), AN3 analogo y resto I/O( bit 3-0).
TRISIO = %11011011 Se definen los pines como entrada = 1 salida = 0
% en lengueje BASIC significa que el numero siguiente esta expresado en binario.
ADCON
ADON = 1 Activa el modo
GO/_DONE Se pone a 1 para activar el proceso de conversion , solo cuando el
modulo ya se estable con la configuracion.
CHS1:CHS0 selecciona el pin analogo ( canal) que se asigna al ADC para su
lectura.
CHS1 = 1
CHS0 = 0
Modo abreviado:
ADCON0 = &10001101 ADC salida con 10 bits ,refenecia a VDD, canal AN3 (bit
3-2) , adc On.
Circuito
Similar al ejercicio 1 la diferencia con el PIC12F629 es: GP0 entrada de sensor CDS
(pin 7), LED de color rojo y amarillo, GP1 GP2 (pin 6,5). La sensibilidad de sensor
CDS se ajusta con el potencimetro de 10K (que es como un crculo azul) es visible.
Programacin
Cuando la luz no sea percibida por el sensor CDS, en repetidas ocasiones el LED
rojo - amarillo - verde se encienden intermitente en orden.
Vin> 800
800> = Vin> 500
500> = Vin> 300
Vin = <300
Cada una de las luces LED son de color rojo, amarillo, verde. Adems, se
establecido el voltaje del umbral de la conversin a Vdd, por ejemplo, cuando Vdd
= 5V, corresponde 5V a 1023 (5000mV/1023 =4.88mV/step). De hecho, cuando
Vdd = 5V, est en relacin con GP0 (pin 7), es decir a la tensin entre GND se
encontr lo siguiente:
Por supuesto, al cambiar el contenido del rango por encima de 4, puede cambiar la
forma en que no se iluminan o se encienden. Adems, cada uno de los patrones de
flash LED, ON - 0.1seg, OFF - es de 0,5 segundos.
Programa (B)
ADCloop:
Low LedR
Low LedY
Low LedG
ADCIN 0, Vin 'leer canal ADC ch-0 y guardar enVin (rango 0-1023)
Conclusin:
Resumen
Circuito
Se ha utilizado el esquema del manual Basic Compiler PicBasic Pro (PBP) donde
figura la combinacin de la pantalla LCD y 16F84, se aplica el cableado a la pantalla
LCD y 16F819. El Sensor de temperatura LM35DZ tiene un rango de 000-100 C,
10,0 mV / tasa de conversin C, con una precisin de un C. En otras palabras,
es til para la produccin de forma lineal es decir con cada 10.0mV aumente un C
de temperatura.
Programacin
El objetivo de las dos lneas del LCD, es mostrar en la lnea 1 "= Volt 0.xxV" la
salida de voltaje del sensor directamente, y el uso de los datos en la segunda lnea
es "Temp = XXC" Temperatura en grados centgrados (C).
Define ADC_BITS 10
Define ADC_CLOCK 3
Define ADC_SAMPLEUS 50
Samples=0
ADCloop:
For Sample=1 to 10
ADCIN 0, Vin 'leer canal 0 y guarder en variable Vin '(rang0 0-1023)
Samples=Samples + Vin
Pause 100
Next sample
Vin=Samples/10
Vin=(Vin*/500)>>2
Lcdout $fe,1 'Clear LCD
Lcdout $fe,2, "Volt=",dec(Vin/100),".",DEC2 Vin
LCDOUT $FE,$C0
Lcdout "Temp=",Dec2 Vin,"C"
Samples=0
goto ADCLoop
..SIGUE MAS