Ejercicio 08 CAD

1.923 visualizaciones

Publicado el

Comparación del Valor Medido por el Conversor A/D con un Máximo y Mínimo, ingresados por teclado.

0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
1.923
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
438
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Ejercicio 08 CAD

  1. 1. SISTEMAS MICROPROCESADOS: Aplicaciones mediante el uso de ACD Página 1 EJERCICIO QUE UTILIZA EL VALOR QUE SEINGRESA POR EL CONVERSOR DE ANALÓGICO A DIGITAL, PARA SER COMPARADO CON VALORES INGRESADOS POR TECLADOENUNCIADO DEL EJERCICIO:Desarrollar un programa para el microcontrolador ATmega164P que permita ingresarmediante el teclado un primer número decimal de tres dígitos que corresponde al ValorMáximo; luego ingresar del mismo modo un segundo número, menor que el primero,que será el Valor Mínimo. Finalmente, el programa debe leer el valor digital de 10 bitsque entrega el conversor A/D, resultante de la señal analógica entre 0 y 5 voltios queingresa por ADC7. El circuito donde se comprueba el programa consta delATmega164P, un teclado de 3x4 teclas y un LCD de 80 caracteres que ocupan 4 líneas,además del potenciómetro para el ingreso de la señal analógica, tal como se muestra acontinuación:INFORMACIÓN QUE SE MUESTRA EN EL LCD:Las 4 líneas del LCD se utilizan de la siguiente forma:  La primera línea: una indicación para el ingreso de los dos números y posteriormente para informar que se está mostrando el dato del conversor.  La segunda línea: para mostrar en decimal el Valor Medido.  La tercera y cuarta línea: para Mostar el Valor Máximo y Mínimo en cada línea y su relación respecto al Valor Medido mediante los símbolos de “Mayor que” (>) y “Menor que” (<).Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redesde Información
  2. 2. SISTEMAS MICROPROCESADOS: Aplicaciones mediante el uso de ACD Página 2 INFORMACIÓN QUE EL PROGRAMA MUESTRA AL INICIO INGRESO DE UN NÚMERO DE TRES DÍGITOSIng. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redesde Información
  3. 3. SISTEMAS MICROPROCESADOS: Aplicaciones mediante el uso de ACD Página 3 VALOR MÁXIMO INGRESADO INGRESO DEL SEGUNDO NÚMERO, MENOR AL ANTERIORIng. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redesde Información
  4. 4. SISTEMAS MICROPROCESADOS: Aplicaciones mediante el uso de ACD Página 4VALOR MÍNIMO INGRESADO, VALOR MEDIDO Y LA RELACIÓN QUE TIENE CON LOS VALORES INGRESADOSCODIFICACIÓN DEL PROGRAMA PRINCIPAL, SUBRUTINAS Y RUTINASDE INTERRUPCIÓN.NOLIST.INCLUDE "m164pdef.inc".LIST;.DEF AUX1 = R16 ; REGISTRO AUXILIAR1.DEF AUX2 = R17 ; REGISTRO AUXILIAR2.DEF AUX3 = R18 ; REGISTRO AUXILIAR3.DEF AUXI1 = R19 ; REGISTRO AUXILIAR1 INTERRUPCIONES; SEGMENTO DE DATOS o MEMORIA SRAM.DSEGVALMAX: .BYTE 2 ; VALOR MÁXIMO EN BINARIOVALMIN: .BYTE 2 ; VALOR MÍNIMO EN BINARIOVALMED: .BYTE 2 ; VALOR MEDIDO EN BINARIO; SEGMENTO DE CÓDIGO o MEMORIA FLASH.CSEG JMP PROGP.ORG $30 ; INTERRUPCIÓN DE CONVERSIÓN COMPLETA JMP INTADC; INICIALIZACIÓN DEL STACK Y DE LOS PÓRTICOSPROGP: LDI AUX1,LOW(RAMEND) ; INICIALIZACIÓN DEL SP OUT SPL,AUX1 LDI AUX1,HIGH(RAMEND) OUT SPH,AUX1; PROGRAMACIÓN DEL CONVERSOR; REFS1:0=01 VOLTAJE DE REFERENCIA AVCC; ADLAR=0 RESULTADO ALINEADO A LA DERECHA; MUX4:0=00111 SELECCIÓN DEL CANAL 7 - UN SOLO TERMINAL LDI AUX1,0B01000111 STS ADMUX,AUX1Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redesde Información
  5. 5. SISTEMAS MICROPROCESADOS: Aplicaciones mediante el uso de ACD Página 5; ADEN=1 HABILITACIÓN DEL CONVERSOR; ADSC=1 ENCENDIDO EL INICIO DE CONVERSIÓN; ADATE=0 APAGADO DISPARO AUTOMÁTICO DE LA CONVERSIÓN; ADIF=1 APAGADA BANDERA DE FIN DE CONVERSIÓN; ADIE=1 HABILITACIÓN DE LA INTERRUPCIÓN; ADPS2:0=000 FRECUENCIA DEL RELOJ DIVIDA PARA 2 LDI AUX1,0B11001000 STS ADCSRA,AUX1; ADTS2:0=000 MODO DE LIBRE CONVERSIÓN LDI AUX1,0B00000000 STS ADCSRB,AUX1; ADC7D= 1 DESHABILITA LA ENTRADA DIGITAL PA7 LDI AUX1,0B10000000 STS DIDR0,AUX1; INICIALIZACIÓN DEL LCD RCALL LCDRST; INGRESO DEL VALOR MÁXIMO LDI ZL,LOW(TXT1<<1) LDI ZH,HIGH(TXT1<<1) RCALL WRTMSJ LDI AUX1,14 LDI AUX2,3 RCALL INPUT LDI AUX1,52 RCALL WRTNUM RCALL BCD_A_BIN STS VALMAX,R3 STS VALMAX+1,R2; INGRESO DEL VALOR MÍNIMO LDI AUX1,0 RCALL POSCUR LDI ZL,LOW(TXT2<<1) LDI ZH,HIGH(TXT2<<1) RCALL WRTLIN LDI AUX1,14 LDI AUX2,3 RCALL INPUT LDI AUX1,72 RCALL WRTNUM RCALL BCD_A_BIN STS VALMIN,R3 STS VALMIN+1,R2; HABILITACIÓN DE LAS INTERRUPCIONES GLOBALES SEI; MOSTRAR EL VALOR DEL CONVERSOR LDI AUX1,0 RCALL POSCUR LDI ZL,LOW(TXT3<<1) LDI ZH,HIGH(TXT3<<1) RCALL WRTLIN RCALL OFFCURSHOW: LDS R21,VALMED LDS R22,VALMED+1 MOV R23,R21 MOV R24,R22 RCALL BCD_C LDI AUX1,32 RCALL BORRA LDI AUX1,32 RCALL WRTNUM LDI AUX1,56Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redesde Información
  6. 6. SISTEMAS MICROPROCESADOS: Aplicaciones mediante el uso de ACD Página 6 RCALL BORRA LDI AUX1,56 RCALL WRTNUM LDI AUX1,76 RCALL BORRA LDI AUX1,76 RCALL WRTNUM; RELACIÓN CON EL VALOR MÁXIMO LDI AUX1,55 RCALL POSCUR RCALL COMP1 BRCC SHOW1 LDI AUX1,> RJMP SHOW2SHOW1: LDI AUX1,<SHOW2: RCALL WRTCHR; RELACIÓN CON EL VALOR MÍNIMO LDI AUX1,75 RCALL POSCUR RCALL COMP2 BRCC SHOW3 LDI AUX1,> RJMP SHOW4SHOW3: LDI AUX1,<SHOW4: RCALL WRTCHR; CHEQUEO DE CAMBIO EN LA ENTRADA ANALÓGICASHOW5: LDS AUX1,ADCL LDS AUX2,ADCH CP AUX1,R24 BRNE SHOW CP AUX2,R23 BREQ SHOW5 RJMP SHOW; SUBRUTINAS; BORRA EL VALOR ANTERIORBORRA: RCALL POSCUR LDI AUX1, RCALL WRTCHR LDI AUX1, RCALL WRTCHR LDI AUX1, RCALL WRTCHR LDI AUX1, RCALL WRTCHR RET; COMPARACIÓN CON EL VALOR MÁXIMOCOMP1: LDS AUX1,VALMED LDS AUX2,VALMAX CP AUX1,AUX2 BRNE COMP11 LDS AUX1,VALMED+1 LDS AUX2,VALMAX+1 CP AUX1,AUX2COMP11: RET; COMPARACIÓN CON EL VALOR MÍNIMOCOMP2: LDS AUX1,VALMED LDS AUX2,VALMIN CP AUX1,AUX2 BRNE COMP21 LDS AUX1,VALMED+1 LDS AUX2,VALMIN+1Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redesde Información
  7. 7. SISTEMAS MICROPROCESADOS: Aplicaciones mediante el uso de ACD Página 7 CP AUX1,AUX2COMP21: RET; TRANSFORMACIÓN DE BCD A BINARIOBCD_A_BIN: LDS AUX1,BUFFER+7 LDI AUX2,100 MUL AUX1,AUX2 MOVW R2,R0 LDS AUX1,BUFFER+8 LDI AUX2,10 MUL AUX1,AUX2 ADD R2,R0 ADC R3,R1 LDS AUX1,BUFFER+9 ADD R2,AUX1 LDI AUX1,0 ADC R3,AUX1 RET; TRANSFORMACIÓN DE BINARIO A BCDBCD_C: LDI XL,LOW(BUFFER+6) LDI XH,HIGH(BUFFER+6) LDI ZL,LOW(TBLPOT<<1) LDI ZH,HIGH(TBLPOT<<1) LDI AUX3,3BCD_C1: LPM AUX1,Z+ LPM AUX2,Z+ CLR R20BCD_C2: SUB R22,AUX1 SBC R21,AUX2 BRCS BCD_C3 INC R20 RJMP BCD_C2BCD_C3: ADD R22,AUX1 ADC R21,AUX2 ST X+,R20 DEC AUX3 BRNE BCD_C1 ST X,R22 RET; TABLA DE POTENCIAS DE 10TBLPOT: .DW 1000,100,10; .DB "01234567890123456789"TXT1: .DB "INGRESE Vmax: " .DB "VAL.MEDIDO: " .DB "VAL.MAXIMO: " .DB "VAL.MINIMO: "TXT2: .DB "INGRESE Vmin: "TXT3: .DB "DATOS CONVERSOR A/D "; LECTURA DEL RESULTADO DEL CONVERSORINTADC: LDS AUXI1,ADCL STS VALMED+1,AUXI1 LDS AUXI1,ADCH STS VALMED,AUXI1 LDI AUXI1,0B11011000 STS ADCSRA,AUXI1 RETI;.INCLUDE "SUB80CHR.ASM".EXIT ; FIN DEL MODULO FUENTEIng. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redesde Información

×