Sie sind auf Seite 1von 8

Instituto Tecnolgico de Tepic.

Sabidura tecnolgica pasin de nuestro espritu.

Departamento de ingeniera Elctrica y Electrnica Ingeniera Mecatrnica Microcontroladores Portafolio unidad 8 y 9: El convertidor ADC y DAC, Puertos seriales y memoria EEPROM Catedrtico: Ing. Luis Alberto Castaeda Montao Alumno: Lucio Bueno Rojas No. De control: 10400440

Tepic, Nayarit a 2 de diciembre de 2013

Instituto Tecnolgico de Tepic

Ingeniera Mecatrnica

Introduccin
Hoy da los sistemas digitales se encuentran en un nivel tecnolgico avanzado, pero sin embargo, la gran mayora de los fenmenos que ocurren alrededor de estos sistema son manifestaciones analgicas como el sonido, la temperatura, la luz, la velocidad, etc. Los sistemas digitales pueden interactuar con estos fenmenos haciendo uso de convertidores Analgico-Digital y Convertidores Digital-Analgico. Es por ellos que se hace hincapi en este documento del manejo de los convertidores antes mencionados para lograr una comunicacin entre las manifestaciones naturales y los sistemas digitales. Por otra parte los sistemas digitales como los microcontroladores deben comunicarse con sistemas complejos como lo son las computadoras y sistemas de almacenamiento como las memorias EEPROM, FLASH, etc., con la finalidad de intercambiar informacin de algn proceso, esta comunicacin se simplifica haciendo uso de los sistemas de comunicacin serial como son el SPI, I2C, USART, etc., los cuales sern tratados en este documento.

Lucio Bueno Rojas

Pgina ii

Instituto Tecnolgico de Tepic

Ingeniera Mecatrnica

Contenido

PORTADA..............................................................................................I INTRODUCCION ............................................................................................ ..III TABLA DE CONTENIDO.......III ACTIVIDADES.....1 Realizar una lectura de la arquitectura interna de l convertidor A/D y D/A del microcontrolador y elaborar un mapa conceptual que contenga los componentes relevantes del convertidor como su configuracin y programacin.1 Realizar un programa de control de temperatura mediante el convertidor A/D y D/A del microcontrolador....2 Distinguir mediante un mapa conceptual la comunicacin de dispositivos a travs de los puertos seriales como el USART, SPI, TWI y otros protocolos...2 Realizar un programa que realice lectura y escritura de informacin en la memoria EEPROM.4

Conclusiones.5 Bibliografa.....5

Lucio Bueno Rojas

Pgina iii

Instituto Tecnolgico de Tepic

Ingeniera Mecatrnica

Actividades.
Unidad 8.
Realizar una lectura de la arquitectura interna de l convertidor A/D y D/A del microcontrolador y elaborar un mapa conceptual que contenga los componentes relevantes del convertidor como su configuracin y programacin.

Convertidor ADC-DAC

Registros de trabajo

ADRESH

ADRESL

ADCON0

ADCON1

Almacena 6 bits del resultado de la conversin en los 6 bit de mayor peso de este registro

Almacena 6 bits del resultado de la conversin en los 6 bit de menor peso de este registro

Controla la operacin del convertidor A/D

Configura los pines de los puertos como entradas analgicas o E/S digitales

Lucio Bueno Rojas

Pgina 1

Instituto Tecnolgico de Tepic

Ingeniera Mecatrnica

Realizar un programa de control de temperatura mediante el convertidor A/D y D/A del microcontrolador.

list p=16f877 ;Comando que indica el Pic usado include "p16f877.inc" ;Etiquetas genricas para el Pic16F877 ADC EQU 0x20 org 0x00 ;Inicio del programa en la posicin cero de memoria nop ;Libre (uso del debugger) _inicio bcf STATUS,RP0 ;Ir banco 0 bcf STATUS,RP1 movlw b'01000001' ;A/D conversion Fosc/8 movwf ADCON0 bsf STATUS,RP0 ;Ir banco 1 bcf STATUS,RP1 clrf TRISA ;PORTA salida clrf TRISB ;PORTB salida clrf TRISC ;PORTC salida clrf TRISD ;PORTD salida clrf TRISE ;PORTE salida movlw b'00000111' movwf OPTION_REG ;TMR0 preescaler, 1:156 movlw b'00001110' ;A/D Port AN0/RA0 movwf ADCON1 bsf TRISA,0 ;RA0 linea de entrada para el ADC bcf STATUS,RP0 ;Ir banco 0 bcf STATUS,RP1 clrf PORTC ;Limpiar PORTC _bucle btfss INTCON,T0IF

goto _bucle ;Esperar que el timer0 desborde bcf INTCON,T0IF ;Limpiar el indicador de desborde bsf ADCON0,GO ;Comenzar conversion A/D _espera btfsc ADCON0,GO ;ADCON0 es 0? (la conversion esta completa?) goto _espera ;No, ir _espera movf ADRESH,W ;Si, W=ADRESH movwf ADC ;ADC=W rrf ADC,F ;ADC /4 rrf ADC,F bcf ADC,7 bcf ADC,6 movfw ADC ;W = ADC movwf PORTC ;PORTC = W movlw D'32' ;Comparamos el valor del ADC para saber si es menor que 128 subwf ADC,W btfss STATUS,C ;Es mayor a 128? goto _desactivar ;No, desactivar RC7 bsf PORTC,7 ;Si, RC7 = 1 logico goto _bucle ;Ir bucle _desactivar bcf PORTC,7 ;RC7 = 0 logico goto _bucle ;Ir bucle end

Unidad 9
Distinguir mediante un mapa conceptual la comunicacin de

dispositivos a travs de los puertos seriales como el USART, SPI, TWI y otros protocolos.

Lucio Bueno Rojas

Pgina 2

Instituto Tecnolgico de Tepic SSPBUF. Almacena los datos ledos o enviados. SSPSR. Convierte la informacin de paralelo a serie
Tres lneas de comunicacin. 1.Salida de datos 2.Entrada de datos 3.Reloj de sincronizacin

Ingeniera Mecatrnica Dos lneas de comunicacin. 1.Datos bidireccional 2. reloj de sincronizacin I2C

Registros

SPI

Modos Comunicacin Serial

USART Modo de trabajo Bloques de arquitectura

Asncrona (Full dplex, bidireccional)

Circuito de muestreo

Generador de baudios Sncronamaestro(Half dplex, unidireccional)

Transmisor asncrono

Receptor asncrono Sncronaesclavo(Half dplex, unidireccional)

Lucio Bueno Rojas

Pgina 3

Instituto Tecnolgico de Tepic

Ingeniera Mecatrnica

Realizar un programa que realice lectura y escritura de informacin en la memoria EEPROM.

list p=16f877 ;Comando que indica el Pic usado include "p16f877.inc" ;Etiquetas genricas para el Pic16F877 ADDR_L equ 0x20 DATA_L equ 0x21 org 0x000 ;Inicio del programa en la posicin cero de memoria nop ;Libre (uso del debugger) nop _inicio bsf STATUS,RP0 ;Ir banco 1 bcf STATUS,RP1 clrf TRISA ;PORTA salida clrf TRISB ;PORTB salida clrf TRISC ;PORTC salida clrf TRISD ;PORTD salida clrf TRISE bcf STATUS,RP0 ;Ir banco 0 bcf STATUS,RP1 clrf PORTC ;Limpiar PORTC clrf ADDR_L ;ADDR_L = 0x00 clrf DATA_L ;Limpiar registro de datos movlw 0x5A ;DATA_L = 0x5A movwf DATA_L call ESCRIBIR_EEPROM ;Llamar rutina de grabacin clrf EEDATA ;Limpiar EEDATA call LEER_EEPROM ;Llamar rutina de lectura _bucle movf DATA_L,W ;W = DATA_L movwf PORTC ;PORTC = W goto _bucle ;Ir _bucle ESCRIBIR_EEPROM bcf STATUS,RP0 ;Ir banco 0 bcf STATUS,RP1 movf ADDR_L,W ;EEADR = ADDR_L bcf STATUS,RP0 ;Ir banco 2 bsf STATUS,RP1 movwf EEADR bcf STATUS,RP0 ;Ir banco 0 bcf STATUS,RP1 movf DATA_L,W ;EEDATA = DATA_L bcf STATUS,RP0 ;Ir banco 2 bsf STATUS,RP1 movwf EEDATA

bsf STATUS,RP0 ;Ir banco 3 bsf STATUS,RP1 bcf EECON1,EEPGD ;Apuntar a la memoria EEPROM bsf EECON1,WREN ;Habilitar escritura bcf INTCON,GIE ;Deshabilita interrupciones movlw 55h movwf EECON2 ;Escribe 55 hexadecimal movlw 0xAA movwf EECON2 ;Escribe AA hexadecimal bsf EECON1,WR ;Habilita el bit de escritura ; bsf INTCON,GIE ;Habilita interrupciones _bucle1 btfsc EECON1,WR ;Espera el final de grabacin goto _bucle1 ;Si no termina la grabacin: Ir _bucle bcf PIR2,EEIF ;Si termina Borra bandera de interrupcin bcf EECON1,WREN ;Deshabilitar escritura bcf STATUS,RP0 ;Ir banco 0 bcf STATUS,RP1 return ;Retorno LEER_EEPROM bcf STATUS,RP0 ;Ir banco 0 bcf STATUS,RP1 movf ADDR_L,W ;Cargar direccin a leer bcf STATUS,RP0 ;Ir banco 2 bsf STATUS,RP1 movwf EEADR bsf STATUS,RP0 ;Ir banco 3 bsf STATUS,RP1 bcf EECON1,EEPGD ;Apunta a la memoria EEPROM bsf EECON1,RD ;Habilita ciclo de lectura bcf STATUS,RP0 ;Ir banco 2 bsf STATUS,RP1 movf EEDATA,W ;W = EEDATA (leer dato de EEPROM) bcf STATUS,RP0 ;Ir banco 0 bcf STATUS,RP1 movwf DATA_L ;DATA_L = W (almacena dato de EEPROM) return ;Retorno end

Lucio Bueno Rojas

Pgina 4

Instituto Tecnolgico de Tepic

Ingeniera Mecatrnica

Conclusiones. Es estrictamente necesario hacer uso de los convertidores analgico digital y viceversa, para la correcta integracin de los sistemas digitales como los microcontroladores al mundo real, puesto que un gran numero de eventos en los diversos procesos ocurren analgicamente, as mismo se deben utilizar sistemas de comunicacin serial para reducir el tamao de dichos sistemas as como agilizar este proceso de comunicacin entre los diversos sistemas digitales. Bibliografa.
Enrique Palacios, Fernando Remiro, Lucas J. Lpez. Microcontrolador PIC16F874A desarrollo de proyectos 3ra. Edicin

Lucio Bueno Rojas

Pgina 5