preparatorio 10
Short Description
Descripción: Preparatorio 10 Sistemas microprocesados EScuela Politecnica Nacional...
Description
ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
LABORATORIO DE SISTEMAS MICROPROCESADOS TRABAJO PREPARATORIO Práctica No: Tema:
10 CONVERSOR ANALOGO/DIGITAL
Paralelo: Grupo:
Realizado por:
Estefanía Erreyes Edwin Cabrera
Fecha de Entrega:
2016-07-27 Semestre 2016A
Escuela Politécnica Nacional Facultad de Ingeniería Eléctrica y Electrónica LABORATORIO DE SISTEMAS MICROPROCESADOS
ESCUELA POLITÉCNICA NACIONAL Campus Politécnico "J. Rubén Orellana R." FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA LABORATORIO DE SISTEMAS MICROPROCESADOS PRÁCTICA Nº10 TEMA:
CONVERSOR ANALOGO/DIGITAL
OBJETIVO:
Implementar un sistema microcontrolado que funcione simultáneamente como voltímetro digital o termómetro utilizando conversor A/D del uC ATMega164p.
DESARROLLO: .include "m164pdef.inc" .def .def .def .def
tempo=r16 aux=r17 monitorsl=r18 monitorsh=r19
.dseg .org 0x100 bcd: .byte 5 segmentos: .byte 5 resultado: .byte 3 palarma: .byte 1 pasofuncion: .byte 1 pasounidad: .byte 1 lectura_adcl: .byte 1 lectura_adch: .byte 1 .cseg .org 0x0 rjmp inicio .org 0x2 rjmp cambiar_canal .org 0x4 rjmp cambiar_unidad inicio: ldi tempo,0 sts pasofuncion,tempo ldi tempo,0 sts pasounidad,tempo ;puerto A entrada análoga los 2 bits LSB, demás salida digital ldi tempo,0b11111100 out ddra,tempo clr tempo out porta,tempo ;puertoB salida a segmentos ser tempo out ddrb,tempo clr tempo out portb,tempo ;´puertoC bit MSB entrada demas salidas ldi tempo,0b01111111 out ddrc,tempo com tempo out portc,tempo
Escuela Politécnica Nacional Facultad de Ingeniería Eléctrica y Electrónica LABORATORIO DE SISTEMAS MICROPROCESADOS ;puertoD 4 MSB salida a transistores, demás entradas ldi tempo,0b11110000 out ddrd,tempo ser tempo out portd,tempo ;configuración del PUD in tempo,mcucr andi tempo,0b11101111 out mcucr,tempo ;inicialización del stack point ldi tempo,high(ramend) out sph,tempo ldi tempo,low(ramend) out spl,tempo ;interrupción INT0 e INT1, falco de bajada ldi tempo,0b00001010 sts eicra,tempo ldi tempo,0b00000011 out eimsk,tempo ;activación global de interrupciones sei ldi sts ldi sts
r16,0b00000011 didr0,r16 r16,0b01000000 admux,r16
monitor:ldi tempo,0b11000110 sts adcsra,tempo monitor1: lds tempo,adcsra sbrc tempo,6 rjmp monitor1 ldi xl,low(resultado) ldi xh,high(resultado) lds tempo,adcl lds aux,adch sts lectura_adcl,tempo sts lectura_adch,aux lds r20,pasofuncion sbrs r20,0 rjmp modotermometro ldi monitorsl,low(4888) ldi monitorsh,high(4888) rjmp contmonitor modotermometro: lds r20,pasounidad sbrc r20,0 rjmp modotermometro22 modotermometro11: ;ldi monitorsl,low(4888) ;ldi monitorsh,high(4888) ldi monitorsl,low(2542) ldi monitorsh,high(2542) rjmp contmonitor modotermometro22: ;ldi monitorsl,low(8798) ;ldi monitorsh,high(8798) ldi monitorsl,low(4560) ldi monitorsh,high(4560) contmonitor: mul mov mov mul add clr adc mov mul
tempo,monitorsl r2,r0 r3,r1 aux,monitorsl r3,r0 r0 r1,r0 r4,r1 monitorsh,tempo
Escuela Politécnica Nacional Facultad de Ingeniería Eléctrica y Electrónica LABORATORIO DE SISTEMAS MICROPROCESADOS mov mov add adc clr clr adc mul add adc
continuar0:
r5,r0 r6,r1 r3,r5 r4,r6 r5 r6 r5,r6 aux,monitorsh r4,r0 r5,r1
lds r20,pasofuncion sbrc r20,0 rjmp continuar0 lds r20,pasounidad sbrs r20,0 rjmp continuar0 ldi tempo,0 ldi aux,0xe2 ldi r20,0x4 add r2,tempo adc r3,aux adc r4,r20 st x+,r2 st x+,r3 st x+,r4 lds tempo,pasofuncion sbrc tempo,0 rjmp ledsapagados
continuar_leds: lds tempo,adcl lds aux,adch cpi tempo,83 brsh encenderled cpi r16,62 brlo apagarled rjmp contruti encenderled: in tempo,pinc ori tempo,0b11000000 out portc,tempo rjmp contruti apagarled: in tempo,pinc andi tempo,0b10111111 ori tempo,0b10000000 out portc,tempo rjmp contruti ledsapagados: in tempo,portc andi tempo,0b10001111 out portc,tempo contruti: call bin_bcd call segmentosdisp call barridodisp ;mostrar conversor en leds: lds tempo,lectura_adcl lds aux,lectura_adch ldi r20,4 mul tempo,r20 mov tempo,r0 andi tempo,0b11111100 out porta,tempo in tempo,pinc andi tempo,0b11110000 out portc,tempo mov tempo,r1 ldi r20,4
;desactivar pull up en adc0 y adc1
Escuela Politécnica Nacional Facultad de Ingeniería Eléctrica y Electrónica LABORATORIO DE SISTEMAS MICROPROCESADOS andi aux,0b00000011 mul r20,aux mov aux,r0 or tempo,aux in aux,pinc or aux,tempo out portc,aux rjmp monitor ;interrupción INT0, cambiar_canal cambiar_canal: push r16 in r16,sreg push r16 lds r16,pasofuncion sbrc r16,0 rjmp funtermometro funvoltimetro: ldi r16,1 sts pasofuncion,r16 ldi r16,0b01000000 sts admux,r16 rjmp salircambs
;no pull up en adc1
funtermometro: clr sts ldi sts
r16 pasofuncion,r16 r16,0b01000001 admux,r16
salircambs: pop r16 out sreg,r16 pop r16 reti ;interrupción INT1, cambiar_unidad cambiar_unidad: push r16 in r16,sreg push r16 lds r16,pasofuncion cpi r16,1 breq salircamun lds r16,pasounidad cpi r16,0 breq unidad unidadc:
clr r16 sts pasounidad,r16 in tempo,pinc ori tempo,0b10100000 andi tempo,0b11101111 out portc,tempo rjmp salircamun
unidadf:
ldi r16,1 sts pasounidad,r16 in tempo,pinc ori tempo,0b10010000 andi tempo,0b11011111 out portc,tempo
salircamun: pop r16 out sreg,r16 pop r16 reti ;rutina de binario a BCD
;no pull up en adc0
Escuela Politécnica Nacional Facultad de Ingeniería Eléctrica y Electrónica LABORATORIO DE SISTEMAS MICROPROCESADOS bin_bcd:push r16 push push push push push push push push push push push push push
siguiente:
restar:
r17 r18 r19 r20 r21 r22 r23 xl xh yl yh zl zh
clr r20 ldi r21,5 ldi zl,low(constantes
View more...
Comments