Aplicatii Practice ale MicrocontrolerelorFacultatea de Electronica, Telecomunicatii si Tehnologia...

14
1 Aplicatii Practice ale Microcontrolerelor

Transcript of Aplicatii Practice ale MicrocontrolerelorFacultatea de Electronica, Telecomunicatii si Tehnologia...

1

Aplicatii Practice ale Microcontrolerelor

2Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 2

• Configurarea ADC PIC16Fx / PIC18Fx.• Masurarea tensiunii de alimentare al unui dispozitiv electronic.• Cititrea unui senzor analogic.• Cititrea unui resistor variabil.

3Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 3

CONVERT

AI DO

Semnal Vocal

DriverSENZOR ADC

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 4

R1

R2

R3

C1 D1VBAT

VOVo’

VBAT = 6.01V

𝑉𝑂 = 𝑉𝐵𝐴𝑇 ∗𝑅2

𝑅1 + 𝑅2

5𝑉 = 𝑉𝐵𝐴𝑇 ∗𝑅2

𝑅1 + 𝑅2

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 5

R1R2R3 C1

D1

Diagrama Convertor Analog Digital

R1

R2

R3

C1 D1

VOVo’

VBAT

TRISx

ANSELx

ADCON0

ADCON1

ADCON2

ADC

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 6

S&H Cuantizare

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 7

ADRESH

Citire 8 Biti

Citire 10 BitiADRESL

ADRESLADRESH

Registrii Asociati Convertorului Analog Digital

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 8

TRISx

ANSLEx

Selectie pin intrare in MCU.

Selectie canal analogic cu ajutorul bitilor CHS.Diagrama Bloc Convertor Analog Digital

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 9

ADCON0

ADONGO DONECHS

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 10

ADCON1

VCFG1 VCFG0

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 11

ADCON2

ADFM

ADRESH Citire 8 Biti [ADFM=1]

Citire 10 Biti [ADFM=1]

Citire 8 Biti [ADFM=0]

Citire 10 Biti [ADFM=0]

ADRESL

ADRESLADRESH

ADRESLADRESH

ADRESH ADRESL

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 12

ADRESx

ADRESH [ADFM = 0] ADRESL [ADFM = 0]

ADRESH [ADFM = 1] ADRESL [ADFM = 1]

ADRES

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 13

unsigned int read_adc2(){

TRISAbits.RA2 = 1; // activare pin intrareANSELAbits.ANS2 = 1; // activare intrare analogicaADCON0bits.CHS = 0b0010; // selectie canal ADC: canal 2 (AN2)ADCON0bits.ADON = 0b1; //activare convertor analogADCON1bits.VCFG1 = 0b00; // selectare tensiune de referintaADCON2bits.ADFM = 0b1; // selectarte mod de citire (right justify)ADCON2bits.ACQT = 0b110; // selectare timp de achizitie ADCON2bits.ADCS = 0b110; // selectie frecventa clock (Fosc/64)__delay_ms(0.1); GO_nDONE = 1; // start conversiewhile(GO_nDONE); // conversie completa cand GODONE = 0;return ((ADRESH<<8)+ADRESL); // citire valoare ADC dupa conversie (returneza 10 biti)

}//end read

void main (void){

unsigned int read_adc2(); unsigned int adc2; //declar variabila locala de tip intwhile(1)

{adc2 = read_adc2(); // fac cu variabila adc2

}//end while}//end init

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 14