ArrutiSanchez 3CM14 P13
ArrutiSanchez 3CM14 P13
PROFESOR:
ALUMNOS:
Grupo: 3CM14
PRÁCTICA 13
Existen muchos parámetros de rendimiento clave de un ADC. Los dos principales son la
velocidad y la resolución de la muestra. La tasa de muestra del ADC es la frecuencia en la
que la señal de entrada se prueba. Esta velocidad de muestreo determina el ancho de banda
máximo de la señal de entrada y normalmente es mayor que el doble de la señal de entrada
más alta, también conocida como la tasa de Nyquist. La resolución del ADC determina la
precisión de la representación digital discreta que se puede producir sobre el rango de los
valores analógicos.
Existen muchos tipos diferentes de ADC disponibles. Los ADC flash (que no deben
confundirse con la memoria Flash) se utilizan para la conversión analógico a digital de alta
velocidad, pero tienen un consumo de energía relativamente alto. Los ADC de
aproximaciones sucesivas sacrifican velocidad y precisión para obtener una conversión de
bajo costo y baja potencia. Los ADC basados endelta-sigma utilizan el sobre muestreo y la
conformación de ruido de cuantificación para lograr una resolución muy alta a costa de la
velocidad. Los ADC de segmentación se utilizan en aplicaciones de alta velocidad con una
mayor necesidad de resolución a expensas de una mayor potencia y la latencia.
Generalmente, un conversor analógico-digital es un dispositivo electrónico que convierte
una entrada analógica de voltaje a un número digital. La salida digital puede usar
diferentes esquemas de codificación, como binario, aunque algunos dispositivos no
eléctricos o parcialmente eléctricos pueden ser considerados como conversores
analógicos-digitales.
La resolución de un conversor indica el número de valores discretos que este puede
producir sobre un rango de valores de voltaje. Generalmente es expresado en bits.
1
Códigos
1. Código de la configuración de los periféricos
2
57. // Mode: Normal top=0xFFFF
58. // OC1A output: Disconnected
59. // OC1B output: Disconnected
60. // Noise Canceler: Off
61. // Input Capture on Falling Edge
62. // Timer1 Overflow Interrupt: Off
63. // Input Capture Interrupt: Off
64. // Compare A Match Interrupt: Off
65. // Compare B Match Interrupt: Off
66. TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
67. TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);
68. TCNT1H=0x00;
69. TCNT1L=0x00;
70. ICR1H=0x00;
71. ICR1L=0x00;
72. OCR1AH=0x00;
73. OCR1AL=0x00;
74. OCR1BH=0x00;
75. OCR1BL=0x00;
76. // Timer/Counter 2 initialization
77. // Clock source: System Clock
78. // Clock value: Timer2 Stopped
79. // Mode: Normal top=0xFF
80. // OC2 output: Disconnected
81. ASSR=0<<AS2;
82. TCCR2=(0<<WGM20) | (0<<COM21) | (0<<COM20) | (0<<WGM21) | (0<<CS22) | (0<<CS21) | (0<<CS20);
83. TCNT2=0x00;
84. OCR2=0x00;
85. // Timer(s)/Counter(s) Interrupt(s) initialization
86. TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<OCIE0) | (0<<TOIE0);
87. // External Interrupt(s) initialization
88. // INT0: Off
89. // INT1: Off
90. // INT2: Off
91. MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00);
92. MCUCSR=(0<<ISC2);
93. // USART initialization
94. // USART disabled
95. UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
96. // Analog Comparator initialization
97. // Analog Comparator: Off
98. // The Analog Comparator's positive input is
99. // connected to the AIN0 pin
100. // The Analog Comparator's negative input is
101. // connected to the AIN1 pin
102. ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);
103. // ADC initialization
104. // ADC Clock frequency: 250.000 kHz
105. // ADC Voltage Reference: AVCC pin
106. // ADC High Speed Mode: Off
107. // ADC Auto Trigger Source: ADC Stopped
108. // Only the 8 most significant bits of
109. // the AD conversion result are used
110. ADMUX=ADC_VREF_TYPE;
111. ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (1<<ADPS1) | (0<<ADPS0);
112. SFIOR=(1<<ADHSM) | (0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0);
113. // SPI initialization
114. // SPI disabled
115. SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);
116. // TWI initialization
117. // TWI disabled
118. TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);
while (1){
// Place your code here
var=read_adc(0);
PORTB=var;
3
Circuitos
1. Circuito simulado en Proteus
2. Circuito armado
4
Conclusiones
5
Bibliografía