5.4.3.2
AComp voorbeeld
Voorbeeld: gebruik van de analoge comparator
// AComp: analoge comparator
// Mega32:
ingang (+) PB2 (PortB.2) resp. band gap reference 1,22V
//
ingang (-) PB3 (PortB.3)
// Mega128: ingang (+) PE2 (PortE.2) resp. band gap reference 1,22V
//
ingang (-) PE3 (PortE.3)
// noodzakelijke Library: IntFunc_Lib.cc
// De functie AComp geeft de waarde van de comparator terug.
// Is de spanning op de ingang PB2/PE2 groter dan op de ingang PB3/PE3
// heeft de functie AComp de waarde 1.
// Mode:
// 0x00 externe ingangen (+)AIN0 en (-)AIN1 worden toegepast
// 0x40 externe ingang (-)AIN1 en interne Referentiespanning worden
// toegepast
// 0x80 analoge comparator wordt uitgeschakeld
// De oproep kan met de parameter 0 (beide ingangen worden toegepast)
// of 0x40 (interne referentiepanning op (+) ingang, externe ingang
// PB3/PE3) gebeuren.
//-------------------------------------------------------------------------
// Hoofdprogramma
//
void main(void)
{
while (true)
{
if (AComp(0x40)==1)
{
Msg_WriteChar('1');
}
else
{
Msg_WriteChar('0');
}
// De comparator wordt alle 500ms gelezen en uitgegeven
AbsDelay(500);
}
}
5.4.4
Analoge- digitale- omvormer
De microcontroller beschikt over een analoog-digitaal-omvormer met een resolutie van 10
bit. Dat betekent dat gemeten spanningen als gehele getallen van 0 tot 1023 weergegeven
worden. De referentiespanning voor de ondergrens is het GND-niveau, dus 0V. De
referentiespanning voor de bovengrens kan gekozen worden.
•
externe referentiespanning
•
AVCC met condensator op AREF
•
Interne spanningsreferentie 2,56V met condensator op AREF
109
// ingang (+) band gap reference 1,22V
// uitvoer: 1
// uitvoer: 0