aMSP430 C8 Course Lesson5 ADC

You might also like

You are on page 1of 28

Cu lc b

Nghin cu Khoa hc Khoa in in t

A. GII THIU S LC V ADC: l thuyt, ng dng,


B. MODULE ADC CA MSP430 G2553:
Gii thiu chung
Cc bc cu hnh
Nguyn tc hot ng

C. THC HNH TRN MSP 430 G2553:


V d n gin
Bi tp ng dng

A. GII THIU S LC V ADC: ng dng


ADC l b chuyn i tn hiu tng t thnh tn hiu s
Sensors

Dng
p

Analog
Nhit , m,
m thanh, nh sng,
p sut, gia tc,

ADC

Digital

A. GII THIU S LC V ADC: l thuyt


Nhim v chuyn i 1 i lng lin tc thnh 1 i
lng digital ri rc (continuous to discrete)
(Ri rc ho tn hiu lin tc)

A. GII THIU S LC V ADC: l thuyt


Sample and Hold

A. GII THIU S LC V ADC: l thuyt


Sample and Hold

Sample Time:
Chu k ly mu

A. GII THIU S LC V ADC: l thuyt

Resolution: phn gii


phn gii n-bit ngha l ADC c th biu din c 2n gi tr
ca tn hiu analog ng vo
Voltage reference (Vref)
Khi V_in = Vref ADC c v gi tr max: 1111111 (n-bit 1)
Vref phi l ngun p rt n nh

B. MODULE ADC CA MSP430 G2553: gii thiu chung


C 2 module ADC trong MSP430 G2553 l ADC 10 bit v
ADC 12 bit.
ADC 10 bit:
10 bit
Vref c th c cp t ngun ngoi hay t ngun bn
trong ( 2.5V, 1.5V).
8 knh chuyn i ngoi ( A0->A7) v 4 lin kt ni (
A 10: temperature, A 11: Vmid, )
Kt qu lu vo thanh ghi ADC10MEM
Pht ra ngt khi hon thnh chuyn i (ADC10IFG)

B. MODULE ADC CA MSP430 G2553: gii thiu chung

B. MODULE ADC CA MSP430 G2553: cc bc cu hnh

2 thanh ghi ADC10CTL0 v ADC 10CTL1


ch c th c chnh sa khi bit ENC = 0

B. MODULE ADC CA MSP430 G2553: cc bc cu hnh

Chn in p qui chiu Vref:


Ngun ni: REFON = 1 ( REF2_5V = 1-> Vref = 2.5V;
REF2_5V = 0-> Vref = 1.5V )
Ngun ngoi : REFOUT = 1 ( Vref (+) --> P1.4; Vref (-)--> P1.3 )

B. MODULE ADC CA MSP430 G2553: cc bc cu hnh

ADC10ON: bt tt b ADC10.
ADC10IE : cho php ngt trong ADC10, c ngt s c set
mi khi chuyn i xong (t reset mi khi vo chng trnh
ngt).
ENC ( enabled conversion ), ADC10SC ( start conversion ) :
s c set khi chng ta bt u chuyn i.

B. MODULE ADC CA MSP430 G2553: cc bc cu hnh

MSC: la chn khi ng bng tay sau mi ln chuyn i


hoc t ng chuyn i lin tc ADC (ch dng trong mode
1,2,3).
SREFx : la chn ngun quy chiu ( v d: 000 Vr (+) = VCC;
Vr (-) = Vss).

B. MODULE ADC CA MSP430 G2553: cc bc cu hnh

INCHx: chn knh chuyn i ADC ( v d: 0000 : A0,


1010: temperature sensor,..).
ADC10SSELx (chn ngun xung clock cho ADC), ADC10DIVx
(b chia tn cho xung clock ADC) .
v d: ADC10SSELx = 10 : MCLK clock hot ng ca ADC
ADC10DIVx = 001 : clock ADC = MCLK/2;

B. MODULE ADC CA MSP430 G2553: cc bc cu hnh

SHSx: sample and hold source select ( chn tn hiu iu


khin khu sample and hold)
v d: SHSx = 00 ADC10SC bit : tn hiu iu khin.
CONSEQx: chn mode hot ng.
ADC10DF: chn cch thc lu d liu.

B. MODULE ADC CA MSP430 G2553: cc bc cu hnh

ADC10AE0x: ADC10 analog enable, 0 : analog input disabled


1 : analog input enabled
Bit 0 A0, bit 1 A1,

ADC10MEM: kt qu chuyn i c lu vo ADC10MEM


di 2 dng : binary format, 2s complement format

B. MODULE ADC CA MSP430 G2553: cc bc cu hnh

chn mode hot ng CONSEQx ( ADC10CTL1).


chn thi gian ly mu thch hp ( ADC10CTL1 (ADC10SSELx,
ADC10SELLx), ADC10CTL0 ( ADC10SHTx ) ).
chn in th quy chiu: ADC10CTL0 ( SREFx), ngun ngoi ( ADC10CTL0
(REFOUT) ), ngun ni ( ADC10CTL0 ( REFON, REF2_5V) ).
chn knh chuyn i: ADC10CTL1 (INCHx), ADC10AE0.
chn tc ng vo ngt: GIE = 1; ADC10CTL0 ( ADC10IE = 1, ADC10IFG).
ngoi ra : ta cn set bit ADC10ON, ENC ( trong thanh ghi ADC10CTL0) v
chn tn hiu iu khin ADC (SHSx trong thanh ghi ADC10CTL1).

B. MODULE ADC CA MSP430 G2553: nguyn tc hot ng

C. THC HNH TRN MSP430 G2553: v d n gin

(REF2_5V = 0 => Vref = 1.5V)

C. THC HNH TRN MSP430 G2553: bi tp ng dng

Bi tp 1: c tn hiu in th, hin th ln LCD

C. THC HNH TRN MSP430 G2553: bi tp ng dng

Bi tp 1: c tn hiu in th, hin th ln LCD

C. THC HNH TRN MSP430 G2553: bi tp ng dng

Bi tp 1: c tn hiu in th, hin th ln LCD

C. THC HNH TRN MSP430 G2553: bi tp ng dng

Bi tp 1: c tn hiu in th, hin th ln LCD

C. THC HNH TRN MSP430 G2553: bi tp ng dng


Bi tp 2: c tn hiu t cm bin nhit ni (thit k trong
MSP430), chuyn i ra nhit v hin th ln LCD.
(V cm bin nhit ni, xem users guide trang 563-564)

C. THC HNH TRN MSP430 G2553: bi tp ng dng


Bi tp 2: c tn hiu t cm bin nhit ni
//*****************************************************************************
// Initialization for ADC10 module
//*****************************************************************************
void ADC10_Init(void)
{
ADC10CTL0 = SREF_1 + ADC10SHT_3 + ADC10ON + ADC10IE + REFON;
/*
* Vr+ = Vref+
* ADC sample and hold time = 64 ADC clocks: When using the temperature
sensor, the sample period must be greater than 30 s
* Turn on ADC10
* Enable ADC10 Interrupt
* Turn on reference generator
*/
ADC10CTL1 = INCH_10 + ADC10DIV_1 + ADC10SSEL_3 ;
/*
* Select Input chanel: Temperature Sensor
* ADC10DF = 0: The 10-bit conversion results are right justified
* ADC10 Clock divider: 4
* ADC10 clock source select: SMCLK
*/
}

C. THC HNH TRN MSP430 G2553: bi tp ng dng


Bi tp 2: c tn hiu t cm bin nhit ni
/**************************************************************
INTERRUPT PROGRAM
**************************************************************/
#pragma vector = ADC10_VECTOR
__interrupt void ADC10_Interrupt(void)
{
temp=((ADC10MEM - 673) * 423) / 1024;//Calculate temperature
/*
* VTEMP=0.00355(TEMPC)+0.986
* Vref = 1.5V
*/
_bic_SR_register_on_exit(LPM0_bits);//Exit LPM0
}

You might also like