Beruflich Dokumente
Kultur Dokumente
10 bits de converso
8 canais de entrada
AN0 RA0
AN1 RA1
AN2 RA2
AN3 RA3
AN4 RA5
AN5 RE0
AN6 RE1
AN7 RE2
Tenses de referncia config.
Vref+ (superior)
Vref- (inferior)
UTFPR Campus Curitiba
Prof. Amauri Assef
PCFG3:PCFG0
PCFG3:PCFG0
UTFPR Campus Curitiba
Prof. Amauri Assef
Grandeza fsica
de processo
(temperatura,
umidade,
presso, etc.)
Sinal analgico
convertido em
Sinal analgico PIC16F877A
tenso ou
condicionado
corrente
Condicionamento
Transdutor
A/D
do sinal
Parmetros:
A/D de 8 bits
+ Vref = Vdd = 5V
- Vref = Vss = 0V
Resoluo de 19,61mV/bit
Parmetros:
A/D de 10 bits
+ Vref = Vdd = 5V
- Vref = Vss = 0V
Resoluo de 4,88mV/bit
Representao binria
B0000 0000
19,61m
B0000 0001
...
...
B1111 1111
Representao binria
4,88m
...
...
Parmetros:
A/D de 8 bits
+ Vref = Vdd = 5V
- Vref = Vss = 0V
Resoluo de 19,61mV/bit
2,5V = ?
Parmetros:
A/D de 10 bits
+ Vref = Vdd = 5V
- Vref = Vss = 0V
Resoluo de 4,88mV/bit
2,5V = ?
UTFPR Campus Curitiba
Prof. Amauri Assef
5V
2,5V
255
X
X = 127,5 128
5V
2,5V
1023
X
X = 511,5 512
8
10
11
12
13
2) Escrever, simular e testar o firmware para ler o resultado da converso do mdulo AD, canal 0.
Inicialmente piscar o LED do pino RD0 5 vezes com atraso de 1 segundo. Na sequncia,
movimentar o motor de acordo com o resultado da converso (RD1..RD4):
Valor do ADC
Descrio Sentido 1
Valor do ADC
Descrio Sentido 2
<= 0,5V
4 passos de 4ms
Motor parado
4 passos de 8ms
4 passos de 32ms
4 passos de 16ms
4 passos de 16ms
4 passos de 32ms
4 passos de 8ms
Motor parado
> 4,5V
4 passos de 4ms
3) Escrever o firmware para digitalizar o valor analgico do sensor de temperatura LM35 (10mV/C) e
apresentar a temperatura equivalente no LCD 16x2:
UTFPR Campus Curitiba
Prof. Amauri Assef
14
15pF
X1
CRYSTAL
C2
ADC_POT
ADC_LM35
15pF
VDD
RV1
50%
U1
13
14
2
3
4
5
6
7
VDD
8
9
10
ADC_POT
R11
10k
1k
OSC1/CLKIN
OSC2/CLKOUT
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
U2
27.0
VOUT
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
RE0/AN5/RD
RC1/T1OSI/CCP2
RE1/AN6/WR
RC2/CCP1
RE2/AN7/CS
RC3/SCK/SCL
RC4/SDI/SDA
MCLR/Vpp/THV
RC5/SDO
RC6/TX/CK
RC7/RX/DT
VDD
VDD
33
34
35
36
37
38
39
40
CH_1
CH_2
R9
R10
10k
10k
CH_1
CH_2
15
16
17
18
23
24
25
26
19
20
21
22
27
28
29
30
PIC16F877A
2
ADC_LM35
LM35
R1
R2
R3
R4
R5
R6
R7
R8
330
330
330
330
330
330
330
330
D1
D2
D3
D4
D5
D6
D7
D8
15
void main() {
TRISA = 0x01;
TRISD = 0X00;
while(1) {
temp_res = ADC_Read(0); // Le valor de 10 bits da converso
PORTD = temp_res >> 2; // Normaliza em 8 bits
}
}
UTFPR Campus Curitiba
Prof. Amauri Assef
16