PRÁCTICA 3. Manejo del Temporizador OBJETIVO: Aprender
a utilizar el temporizador como sistema de medición de tiempo, y utilizarlas en tareas de
control de secuencias de tiempo. DESARROLLO:
1. Implemente el siguiente circuito, el cual se utiliza para controlar un servomotor, utilizando la técnica de PWM.
2. Programe al microcontrolador con el siguiente código, y compruebe el funcionamiento.
/ / Est e cód códi go con consi st e en en gen gene er ar PWM Rápi ápi do a 50Hz par par a el el con cont r ol de un un / / ser ser vom vomot or a par t i r del Ti mer 1 #i ncl ude
voi voi d Por t s_Se s_Set up( ) ; voi voi d Ti mer 1_Set _Set up( ) ; voi voi d Ti mer 1_St _St ar t ( ) ;
/ / Pr ot ot i po / / ser ser usad sado / / Pr ot ot i po / / ser ser usad sado / / Pr ot ot i po / / ser ser usad sado
f unci ón de con conf i gur aci ón de puer t os par a en en cu cual qui er par t e de del cód códi go con conf i gur aci ón de t empor i zad zador 1 par a en en cu cual qui er par t e de del cód códi go ar r anque del t empor i zad zador 1 par a en en cu cual qui er par t e de del cód códi go
voi d Po Por t s_Se s_Set up( ) { DDRB = 0x02 x02; / / Se conf conf i gur gur a el el pi n OC1A como sal i da par par a el el PWM r ápi ápi do } voi voi d Ti mer 1_Set _Set up( ) { / / PWM Rapi api do No No I nver nver so, OC1B descone desconect ct ado, ado, / / TOP esp espe eci f i cad cado po por el r egi st r o I CR1 TCC TCCR1A = ( 1<
Práctica 14
TCCR1B = ( 0<
/ / Se l l ama l a f unci ón de conf i gur aci ón de l os puer t os / / Se l l ama l a f unci ón de conf i gur aci ón del Ti mer 1 / / Se enci ende el Ti mer 1 / / Ci cl o ut i l a 25%
whi l e( 1) { } } 3. Investigue cuales son los registros relacionados con el temporizador, y describa brevemente el uso de cada uno de ellos, así como de los bit que se utilizan. 4. Implemente el temporizador para manejar un semáforo, utilizando el temporizador en lugar de la función delay. 5. Para el ejercicio 4 de la práctica 2, implementar el retardo de 250 ms utilizando el temporizador en lugar de la función delay.
PRÁCTICA 4. Conversión Analógica/Digital (ADC) OBJETIVO: Aprender
a configurar los registros del convertidor analógico‐digital, para digitalizar señales
analógicas. DESARROLLO:
1. Escriba y analice el siguiente código, el cual es para utilizar el convertidor analógico‐digital, y conteste las preguntas siguientes: a.
¿Cuántos canales de conversión Analógico‐Digital tiene el microcotnrolador?
b. ¿Cuál es el canal que se va a muestrear? c.
¿Cuál es el número de bit de conversión?
d. ¿Cuál es la frecuencia de muestreo? e. ¿Qué puerto es el que se utiliza para convertir? f.
¿En qué puertos se muestran los resultados?
g.
¿Cuál es el valor del voltaje de referencia?
h. Coloque comentarios al código que explique la configuración que se está utilizando para el microcontrolador. #include #include void Ports_Setup(); void ADC_Setup(); void Ports_Setup() { DDRD = 0xFF; DDRC = 0x03; } void ADC_Setup() { ADMUX = (0<
Práctica 14 ADC_Setup(); sei(); ADCSRA |= (1<
3.3V
b. 0.5V c.
1.2V
d. 4.5V e. 5V 3. Compruebe que el valor digital obtenido corresponde a los voltajes de entrada del punto 2. 4. Utilizando el código de la práctica 3 y de la práctica 4, realice un programa que permita variar el ciclo de trabajo de una señal PWM, de acuerdo al valor analógico que entra al convertidor, utilizando un potenciómetro en divisor de tensión. 5. Anote sus conclusiones.