AD prevodník - 10 bit s mikroprocesorom NXP 80C552 - Diversant Software

Logo DSW
Logo DSW
Logo DSW
Prejsť na obsah

AD prevodník - 10 bit s mikroprocesorom NXP 80C552

Projekty > 8051 > Podprogramy
10 bitový AD prevodník
Mikroprocesor NXP 80C552 obsahuje integrovaný 8 kanálový 10 bitový AD prevodník ktorý vykoná prevod jedného kanála za 50 strojových cyklov procesora. Výsledkom je číslo ktoré je v rozsahu 0x0000 až 0x03FF kde nižšia časť výsledku (ADC.1 bit7, ADC.0 bit6)  prevodu je uložená v registri ADCON a vyššia časť prevodu je uložená v registri ADCH. Bit ADCI v registri ADCH je nastavený pri ukončení prevodu a je ho nutné programovými prostriedkami vynulovať a previesť výsledok z registrov ADCON a ADCH na číslo zodpovedajúce hodnote analógového napätia. Pre dosiahnutie požadovaných rýchlostných parametrov a efektivity bola rutina AD prevodníka napísaná v assembler-i.
AD prevodník - 10 bit s mikroprocesorom NXP 80C552
int ADC(unsigned char Channel)
{
#define ADCS 0x08
#define ADCI 0x10
ADCON=Channel;                            //Vyber kanalu pre prevod 0..7
ADCON|=ADCS;                              //Spustim prevod, bolo tu ADCON|=ADEX+ADCS;
while((ADCON&ADCI)==0x00);     //Cakam na ukoncenie prevodu cca. 80us
ADCON^=ADCI;                             //Nulujem priznak AD prevodnika
return(256*ADCH+(ADCON&0xC0)>>6);
}
Program si môžete stiahnúť kliknutím na nižšie uvedenú ikonu.
Aktualizácia údajov bola vykonaná dňa 15.04.2024.
Logo DSW
Logo DSW
Návrat na obsah