Professional Documents
Culture Documents
I. THNH LP NHM
Danh sch nhm
STT
H V TN
MSSV
Nguyn Hu Tr
20902928
T Phc Hong
20900946
20902156
20902087
BK - B
09:48:57 AM
GHI CH
II. TI
BK - B
09:48:57 AM
BK - B
09:48:57 AM
BK - B
09:48:57 AM
BK - B
09:48:57 AM
BK - B
09:48:57 AM
BK - B
09:48:57 AM
BK - B
09:48:57 AM
Sens
or
Nhit , m,
m Thanh, nh
Sng,
p Sut, .
BK - B
Dn
g
p
Analo
g
09:48:58 AM
AD
C
Digit
al
Ri rc ha tn hiu lin tc
BK - B
09:48:58 AM
Chu k ly mu
phn gii: 2n
Voltage reference(Vref)
Vref phi l ngun n nh.
V_in = Vref -> ADC c v
gi tr max: 111111(n
bit 1)
x
Vin
Vref
1023
BK - B
09:48:58 AM
BK - B
09:48:58 AM
BK - B
Port configuration
Channel seletion
ADC voltage reference selection
ADC conversion clock source
Interrupt control
Results formatting
09:48:58 AM
Port configuration
ANSEL Register -> Analog (Set bit =1)
ANSEL: i vi AN0 AN7.
ANSELH: i vi AN8 AN13.
TRIS Register Input (Set bit = 1)
Example: use ADC channel AN2 (RA2,
pin4)
ANSEL |= 0x04;
TRISA2 = 1;
BK - B
09:48:58 AM
Channel seletion
CHS bits CHS<2:0> chn knh cho vic
ly mu.
Example: CHS<2:0> = 0010 chn AN2
CHS3 = 0;
CHS2 = 0;
CHS1 = 1;
CHS0 = 0;
BK - B
09:48:58 AM
09:48:58 AM
BK - B
09:48:58 AM
Interrupt control
BK - B
Results formatting
09:48:58 AM
void adc_init()
{
//
ADCS
//
ADCS
//
ADCS
//
ADCS
ADCS1 = 0;
ADCS0 = 1;
<1:0>
<1:0>
<1:0>
<1:0>
=
=
=
=
00
01
10
11
Fosc/2
Fosc/8
Fosc/32
F_RC
Select AN0
Select AN1
Select AN2
Select AN13
BK - B
09:48:58 AM
void port_init()
{
ANS4 = 1; // Chon kenh ADC AN4
ANSELH = 0;
TRISA = 0b00100000;
//RA5 input
void int_init()
{
GIE = 1; //Global Interrupt Enable
PEIE = 1; //Peripheral Interrupt Enable
ADIE = 1; //ADC Interrupt Enable
ADIF = 0; //Clear ADC Interrupt Flag
}
BK - B
09:48:58 AM
IV. M PHNG
BK - B
09:48:58 AM
BK - B
09:48:58 AM