La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programar PIC`s en lenguaje C18 En 64 horas.

Presentaciones similares


Presentación del tema: "Programar PIC`s en lenguaje C18 En 64 horas."— Transcripción de la presentación:

1 Programar PIC`s en lenguaje C18 En 64 horas.
El siguiente material está desarrollado como complemento didáctico para la materia de microcontroladores, puede ser utilizados por docentes y estudiantes con disciplina de autoaprendizaje. Programar PIC`s en lenguaje C18 En 64 horas. Autor: Ramdhar Hadit Yusseff Vanegas Esp. En control e instrumentación industrial                            Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 2.5 Colombia.

2 Configuración de los registros e interruptores ADC.
Tema 13 Configuración de los registros e interruptores ADC.

3 Ejemplo de aproximaciones sucesivas con 10 bits
Clase 7 Ejemplo de aproximaciones sucesivas con 10 bits

4 Clase 7 Configuración del ADC
En el capitulo 21 del datasheet del microcontrolador 18f4550. indica : The Analog-to-Digital (A/D) converter module has 10 inputs for the 28-pin devices and 13 for the 40/44-pin devices. This module allows conversion of an analog input signal to a corresponding 10-bit digital number. The module has five registers:  A/D Result High Register (ADRESH) A/D Result Low Register (ADRESL) A/D Control Register 0 (ADCON0) A/D Control Register 1 (ADCON1) A/D Control Register 2 (ADCON2) Datasheet 18F4550

5 Conversor Analógico Digital (ADC)
Clase 7 Conversor Analógico Digital (ADC) Es un modulo de los microcontroladres que permite convertir una señal analógica en una digital o en datos binarios. Con este sistema se pueden leer los cambios de voltaje en una entrada del Microcontrolador. Cada señal de entrada analógica se puede discriminar en 2014 partes diferentes.

6 Clase 7 ADCON0: A/D CONTROL REGISTER 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3
CHS3 CHS2 CHS1 CHS0 GO/DONE ADON bit 7-6 Unimplemented: Read as ‘0’ bit 5-2 CHS3:CHS0: Analog Channel Select bits 0000 = Channel 0 (AN0) 0001 = Channel 1 (AN1) 0010 = Channel 2 (AN2) 0011 = Channel 3 (AN3) 0100 = Channel 4 (AN4) 0101 = Channel 5 (AN5)(1,2) 0110 = Channel 6 (AN6)(1,2) 0111 = Channel 7 (AN7)(1,2) 1000 = Channel 8 (AN8) 1001 = Channel 9 (AN9) 1010 = Channel 10 (AN10) 1011 = Channel 11 (AN11) 1100 = Channel 12 (AN12) 1101 = Unimplemented(2) 1110 = Unimplemented(2) 1111 = Unimplemented(2) bit 1 GO/DONE: A/D Conversion Status bit When ADON = 1: 1 = A/D conversion in progress 0 = A/D Idle bit 0 ADON: A/D On bit 1 = A/D converter module is enabled 0 = A/D converter module is disabled

7 Clase 7 ADCON1: A/D CONTROL REGISTER 1 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3
VCFG0 PCFG3 PCFG2 PCFG1 PCFG0 bit 7-6 Unimplemented: Read as ‘0’ bit 5 VCFG0: Voltage Reference Configuration bit (VREF- source) 1 = VREF- (AN2) 0 = VSS bit 4 VCFG0: Voltage Reference Configuration bit (VREF+ source) 1 = VREF+ (AN3) 0 = VDD Datasheet 18f4550 bit 1 GO/DONE: A/D Conversion Status bit When ADON = 1: 1 = A/D conversion in progress 0 = A/D Idle bit 0 ADON: A/D On bit 1 = A/D converter module is enabled 0 = A/D converter module is disabled

8 Clase 7 ADCON2: A/D CONTROL REGISTER 2 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3
ADFM ACQT2 ACQT1 ACQT0 ADCS2 ADCS1 ADCS0 bit 7-ADFM: A/D Result Format Select 1 = Right justified 0 = Left justified bit 6 Unimplemented: bit 5-3 ACQT2:ACQT0: A/D Acquisition Time Select bits 111 = 20 TAD 110 = 16 TAD 101 = 12 TAD 100 = 8 TAD 011 = 6 TAD 010 = 4 TAD 001 = 2 TAD 000 = 0 TAD(1) bit 2-0 ADCS2:ADCS0: A/D Conversion Clock Select bits 111 = FRC (clock derived from A/D RC oscillator)(1) 110 = FOSC/64 101 = FOSC/16 100 = FOSC/4 011 = FRC (clock derived from A/D RC oscillator)(1) 010 = FOSC/32 001 = FOSC/8 000 = FOSC/2

9 Ejercicio 5 Configuración de conversor Analógico Digital
Clase 7 Ejercicio 5 Configuración de conversor Analógico Digital /**************Espacio para librerías*******************/ #include <p18f4550.h> #include <delays.h> /***********Configuración de fuses o pragma**************/ #pragma config PLLDIV = 5, CPUDIV = OSC1_PLL2, USBDIV = 1 #pragma config FOSC = HSPLL_HS, FCMEN = OFF,IESO = OFF #pragma config PWRT = ON,BOR = OFF,BORV = 0 #pragma config VREGEN = OFF, WDT = OFF,WDTPS = 32768 #pragma config MCLRE = ON,LPT1OSC = OFF,PBADEN = OFF,CCP2MX = OFF #pragma config STVREN = OFF,LVP = OFF,XINST = OFF,DEBUG = OFF #pragma config CP0 = ON,CP1 = ON,CP2 = ON #pragma config CPB = ON,CPD = ON #pragma config WRT0 = ON,WRT1 = ON,WRT2 = ON, WRT3 = ON #pragma config WRTB = ON,WRTC = ON,WRTD = ON #pragma config EBTR0 = ON,EBTR1 = ON,EBTR2 = ON, EBTR3 = ON #pragma config EBTRB = ON

10 Clase 7 Ejercicio 5 Configuración de conversor Analógico Digital
/*******Espacio para definiciones*************/ #define UnidadBit PORTAbits.RA0 #define DecenaBit PORTAbits.RA1 #define CentenaBit PORTAbits.RA2 unsigned char i; //Para controlar vizualización del Display unsigned char Display7Seg[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0xFF, 0x6F};   

11 Clase 7 Ejercicio 5 Configuración de conversor Analógico Digital
/***********Espacio Para Funciones*************/ void Visualizacion (void){ for(i=1;i<=20;++i){ LATB =Display7Seg[Unidad]; UnidadBit =1; //Enciendo Display Unidad.- Delay1KTCYx(5); //Demora de 5 ms (XT=4MHz) UnidadBit =0; LATB =Display7Seg[Decena]; DecenaBit =1; Delay1KTCYx(5); DecenaBit =0; LATB=Display7Seg[Centena]; CentenaBit =1; CentenaBit =0; //Apago Display Centena.- }

12 Clase 7 Ejercicio 5 Configuración de conversor Analógico Digital
void main(void){ TRISA = 0xF0; //Todos como entrada.- TRISB = 0X00; //Todos como salida.- PORTA = 0x00; char Unidad=0; char Decena=0; char Centena=0;   while(1){ Visualizacion(); ++Unidad; if(Unidad==10){ Unidad=0; ++Decena; if(Decena==10){ Decena=0; ++Centena; }

13 Clase 7 Ejercicio Propuesto. La empresa Netlanf ubicada en una zona con temperatura promedio de 15ºC, necesita crear un sistema que controle la temperatura de un auditorio y la muestre en grados Celsius en una LCD, la temperatura del salón se debe tomar en cuatro puntos diferentes utilizando LM35, y como actuadores cuenta con 2 ventiladores y 2 extractores, los cuales permiten modificar la cantidad de entrada y salida de aire. La temperatura del salón se debe mantener constante a 18º Celsius. Es necesario que los extractores y ventiladores varíen su velocidad con el fin de no trabajar siempre a máxima velocidad, aumentando su durabilidad. Se debe visualizar en una pantalla LCD de 16x2 las cuatro temperaturas al mismo tiempo y en tiempo real. Auditorio ventiladores Extractores LM 35

14 Bibliografía Tema 11 piccmania.blogspot.com www.unocero.com
Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas

15 Tema 11 Palabras clave Microcontrolador, PIC, 18f4550, Puertos, LCD, crear Librería, Puertos de salida, Código C18, control, temperatura, conversor analógico digital, ADC, LCD 16x2. Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas


Descargar ppt "Programar PIC`s en lenguaje C18 En 64 horas."

Presentaciones similares


Anuncios Google