Stap 12: Instellen van de Analoge Comparator
VOID initAnalogComparator(void)
{
//---------------------------------------------------------------------
ACSR instellingen
//---------------------------------------------------------------------
Wanneer dit stukje logica, de bevoegdheid om de analoge is geschreven
Comparateur wordt uitgeschakeld. Deze bit kan worden ingesteld op elk gewenst moment te schakelen
uit de Analoge Comparator. Dit zal verminderen energieverbruik
Actieve en inactieve modus. Bij het wijzigen van de ACD-bit, de analoge
Comparateur Interrupt moet worden uitgeschakeld door het selectievakje de ACIE bit in
ACSR. Anders kan een interrupt optreden wanneer de bit wordt gewijzigd.
CBI(ACSR,ACD);
Als deze bit is ingesteld, een vaste bandgap referentie spanning vervangt de
positieve bijdrage aan de Analoge Comparator. Als deze bit is uitgeschakeld,
AIN0 wordt toegepast op de positieve inbreng van de Analoge Comparator. Wanneer
de bandgap referance wordt gebruikt als input voor de Analoge Comparator, het
vindt een bepaalde tijd voor de spanning om te stabiliseren. Zoniet
gestabiliseerd, kan de eerste conversie geven een verkeerde waarde.
CBI(ACSR,ACBG);
Wanneer de ACIE beetje is logica een en de ik-bit geschreven in de Status
Register is ingesteld, de Analoge Comparator interrupt is geactiveerd.
Wanneer schriftelijke logica nul, de interrupt is uitgeschakeld.
CBI(ACSR,acie);
Wanneer schriftelijke logica een, dit stukje laat de input opnamefunctie
in Timer/Counter1 om te worden geactiveerd door de Analoge Comparator. De
Comparateur uitvoer is in dit geval direct aangesloten op de ingang
vastleggen van front-end logica, de comparator gebruiken het lawaai maken
canceler en rand selecteert u functies van de Input van de Timer/Counter1
Interrupt vastleggen. Wanneer schriftelijke logica nul, geen verband bestaat tussen
de Analoge Comparator en de input opnamefunctie bestaat. Aan
maken van de comparator die leiden tot het vastleggen van de Input van de Timer/Counter1
onderbreken, de ICIE1 bit in het Register voor het masker Timer onderbreken
(TIMSK1) moet worden ingesteld.
CBI(ACSR,ACIC);
Deze bits bepalen welke Comparateur gebeurtenissen die leiden de analoge tot
Comparateur de interrupt.
ACIS1 ACIS0-modus
0 0 toggle
0 1 voorbehouden
1 0 vallende rand
1 1 rising rand
SBI(ACSR,ACIS1);
SBI(ACSR,ACIS0);
//---------------------------------------------------------------------
DIDR1 instellingen
//---------------------------------------------------------------------
Als deze bit logica een geschreven is, de digitale ingang buffer op de
AIN1/0 pin is uitgeschakeld. De corresponderende PIN Register bits zal
Lees altijd als nul als deze bit is ingesteld. Wanneer een analoog signaal is
toegepast op de AIN1/0-pin en de digitale ingang van deze pin is niet
nodig, moet dit stukje worden geschreven logica te verminderen
verbruik in de digitale input buffer.
SBI(DIDR1,AIN1D);
SBI(DIDR1,AIN0D);
}