ATtiny13a - ADC kezelés

2016-01-30

 

Ezzel a programmal az Analo-Digital Converter használatát ismerhetjük meg. Az ADC egységet egyszerűen 8 bite felbontásra állítottam. Mindig leírom, ha pontosabban kell mérnünk, akkor a mérő áramköröket is gondosabban kell kiviteleznünk, mondjuk 10 bites felbontáshoz 0,1% ellenállások tartoznak. A referenciának egyszerűen a tápfeszt választottam, vagyis ezt a feszültséget fogja az ADC 256 "részre felosztani". Talán helyessebb azt írni, hogy 1 osztás a tápfeszültség 256-od részének fog megfelelni. Néha célszerűbb lehet a belső 1,1V referencia feszültég vlasztása. Jól jöhet még az a megoldás is, hogy az ADC-vel mért értéket beírjuk az EEPROM-ba, majd a uC memóriájának tartalmát visszaolvasva megtudhatjuk mit mért.


/*******************************************************************************
*   Author       -  Kiraly Tibor
*                   http://www.tkiraaly.hu
*   Date         -  2016.01.27.
*   Chip         -  Atmel ATtiny13A
*   Compiler     -  avr-gcc ( WinAVR)
*
*   Meres ADC-vel, tarolas eepromba
*
********************************************************************************
*   PonyProg Configuration and Security Bits (bepipalva):
*
*   CKSEL1 -, CKSEL0 P      - Internal Oscillator 9,6 MHz
*   CKDIV8 P                - Divide clock by 8
*   
*******************************************************************************/
#define F_CPU    1,2 MHZ                    // orajel


#include "tkiraaly_attiny13a.h"
#include <util/delay.h>


int main( void)
{
   ADC_8BIT;                           // 8 bit felbonas
   ADC_VREF_AVCC;                      // a tap a referencia feszultseg
   ADC_IN2;                            // 2. bemenet kivalasztasa
   ADC_FREE_RUN;                       // folyamatos meres
   _delay_ms( 500);
   while( B_R( EECR, EEPE));           // varakozas elozo EEPROM muvelet befejezesere
   EEARL= 1;                           // cim
   EEDR= ADCH;                         // adat
   B_1( EECR, EEMPE);                  // EEPROM irasa
   B_1( EECR, EEPE);
   for(;;){}
}

Itt a vége, fuss el véle, legytek az én vendégeim, innen letölthetitek a programokat, miegymást összecsomagolva.