Beruflich Dokumente
Kultur Dokumente
COMPILADOR C CCS
SISTEMAS EMBEBIDOS
DI
GIT
AL
ES
III:
1
MEMORIA EEPROM
PIC18F4550
DIGITALES III:
2
GAMA ALTA DE
MICROCONTROLADORES
GAMA ALTA DE
MICROCONTROLADORES
WRITE_EEPROM
Permite escribir datos en la memoria EEPROM del
microcontrolador, el dato es de tipo entero 8, como
parametro se envia la posicion en la cual se desea
escribir y el dato.
Estructura: WRITE_EEPROM(Posicion, DATO)
Posicin corresponde a un valor entre 0 y 255.
Ejemplo:
Int8 cuenta;
cuenta=read_eeprom(0);
SET_TIMER0(cuenta);
#ROM
Permite insertar datos en la memoria de programa, no
4
se recomienda su uso. Ejemplo:
EJERCICIO EN CLASE
El siguiente ejercicio guarda en memoria el valor de
la cuenta en RA4:
lcd_init();
contador=0;
printf(lcd_putc,"\fmodulo
contador");
if (read_eeprom(0)==255)
{
write_eeprom(0,0);
SET_TIMER0(0);
}
else
{
cuenta=read_eeprom(0);
SET_TIMER0(cuenta);
}
for(;;)
{
contador=get_timer0();
write_eeprom(0,contador);
printf(lcd_putc,"\nContador=
%u",contador);
delay_ms(1000);
}
PWM
PWM
MODULACION POR ANCHO DE PULSO
Aplicaciones: Controlar La Velocidad De Giro De
Motores, Intensidad De Brillo De Bombillas
Algenas,
GENERADOR DE FRECUENCIA.
PIC18F4550
DIGITALES III:
7
DIGITALES III: 9
Clculos de PR2
T = (PR2 + 1) 4 TOSC PRESCALERTMR2
1. Establecer el periodo T escribiendo en el
registro PR2.
Primero debemos calcular el periodo en PWM, para ello
se aplica la siguiente formula:
PWM period = [(PR2)+1] 4 TOSC (TMR2 prescaler
value)
Ejemplo: deseamos obtener una frecuencia de salida
de 320 Hz, con ello aplicamos la formula anterior, pero
es importante recordar que:
El periodo PWM es igual a : 1 / frecuencia solicitada
DIGITALES III: 10
Clculos de PR2
T = (PR2 + 1) 4 TOSC PRESCALERTMR2
TOSC, es el periodo del oscilador, y recuerde en este
caso que es igual a: 1 / frecuencia del oscilador
Una vez aclarados estos dos valores la funcin se
puede expresar como:
1/frecuencia = (PR2+1). 4 . (1/fosc) * Prescaler TMR2
1/frecuencia = (PR2+1). (4/fosc) * Prescaler TMR2
Con oscilador de fosc=4MHz y un Prescaler TMR2
= 16, se obtiene
que para 320Hz, se debe asignar PR2 el valor d194
DIGITALES III: 11
DIGITALES III: 13
14
PWM en CCS
Cuando se trabajaba en ensamblador era necesario
escribir un cdigo extenso para realizar el control del
PWM, CCS simplifica esta operacin, pero Usted debe
conocer que PWM desea generar, para ello ya debi
calcular el valor de carga del registro para establecer el
periodo y el calculo para establecer el Dutty.
El PICWIZARD le permite seleccionar la frecuencia
deseada y el porcentaje del ciclo Dutty, esta opcin se
selecciona en la etiqueta rotulado como: Otros, esta
pantalla desplegada por CCS se observa a
continuacin:
DIGITALES III: 15
16
DIGITALES III: 16
18
DIGITALES III: 18
set_pwm1_duty(valor)
Permite establecer el valor asignado a los registros
CCPRxL y en CCPxCON<5:4> este valor se obtiene de
la formula ya mencionada en secciones anteriores.
Valor puede ser una constante o una variable de 8 o 16
bits. Este valor se establece teniendo en cuenta el
preescaler del timer 2
Ejemplo:
set_pwm1_duty(391);
Para ello se establecer el timer2 con un preescaler de 16
y un postscale de 1
DIGITALES III: 19
setup_timer_2()
La sintaxis es: setup_timer_2 (modo, periodo,
postscale)
El modo puede ser una de las siguientes
opciones:
T2_DISABLED
T2_DIV_BY_1
T2_DIV_BY_4
T2_DIV_BY_16
DIGITALES III: 20
La
siguiente
grafica
funcionamiento:
ilustra
su
correcto
22
DIGITALES III: 22
Ejercicio en clase:
Desarrolle un programa que lea un canal de
conversin anloga a digital y segn esta
se afecte el duty de PWM, observe la
siguiente grfica para un pic 16f870:
DIGITALES III: 23
PIC18F4550
DIGITALES III:
24
2
3
GP1UM27XK Series
GP1UM27XK Series
DIGITALES III: 25
2
1
DIGITALES III: 27
Parmetros de funcionamiento
DIGITALES III: 28
http://www.puntoflotante.net/MODEXP
ANSION4.htm
DIGITALES III: 29
DIGITALES III: 30
DIGITALES III: 31
Tx
MICRO
PIC16F877
MICRO
PIC16F628
Rx
DIGITALES III: 32
1
1
0
0
Enciende
No Conduce pulsos
NPN
3904
parpadea
Conduce pulsos
1
NPN
3904
No Enciende
No Conduce PWM
1
1
NPN
3904
1
X
X X
NPN
3904
DIGITALES III: 34
PNP
3906
DIGITALES III: 35
DIGITALES III: 36
DIGITALES III: 37
DIGITALES III: 39
DIGITALES III: 41
DIGITALES III: 44
Hay una variacin del cdigo RC5 llamada RC5X que dispone
de 7 bits para determinar el comando (lo que permite 128
comandos diferentes vs. los 64 comandos del RC5 tradicional).
La forma de la trama es la misma, pero el segundo bit de start
(S2) es utilizado como el bit 7 del comando.
Actividad en clase:
ACTIVIDAD EN CLASE
Realice el montaje correspondiente en clase y construya el
protocolo en CCS.
El montaje se ilustra en la siguiente imagen:
DIGITALES III: 46
DIGITALES III: 48
DIGITALES III: 49
DIGITALES III: 50
51