Hola a todos. Soy nuevo con los Atmega y aun mas con AVRstudio. TEngo que programar una aplicacion con el ATmega8 usando el AVRstudio. Y tengo una duda. Despues de leer varios tutoriales y post mas o menos tengo una idea de lo que tengo que hacer. Pero tengo ciertas dudas.La que quiero preguntaros es la siguiente.
Tengo que leer la señal de un potenciometro, con lo cual uso la opcion ADC del ATmega8. Esta opcion escribe en los registros ADCH y ADCL los diferentes valores que va tomando. Aqui entra mi duda...como puedo hacer para ir jugando con estos valoes, es decir, quiero comprarlos con otros y segun sea la comparacion hacer una cosa u otra. Este es el cacho de codigo que he escrito, se que esta mal, pero si es posible ayudenme a encontrar los errores:
n r16, ADCL
in r17, ADCH ; Ya tengo los valores
;Esto es un ejemplo de los posibles valores que podria tomar el potenciometro.
;0v -----> 0x000 (0d)
;5v -----> 0x0FF (255d)
;10v ----> 0x1FF (511d)
;15v ----> 0x2FF (767d)
;20v ----> 0x3FF (1023d)
Start:
cpi r16, 0x00 ; primera comparacion, si no coinciden comparo con el siguiente y en caso contrario, es decir que coincidan me voy a la funcion first_case
brne next_1
cpi r17, 0x00
brne first_case
next_1:
cpi r16, 0x03 ; segunda comparacion, mas de lo mismo.
brne next_2
cpi r17, 0x3f
brne second_case
next_2:
cpi r16, 0x07
brne next_3
cpi r17, 0x3f
brne third_case
next_3:
cpi r16, 0x0B
brne next_4
cpi r17, 0x3f
brne quarter_case
next_4:
cpi r16, 0x0F
brne Start
cpi r17, 0x3f
brne fifth_case