3784495239

3784495239



Przykładowy program obsługi mikrokonwertera

(kolorem szarym zaznaczono linie źródłowe związane z zadawaniem częstości próbkowania)

#include <ADuC831.h>    // predefiniowane symbole ADuC831

#include <stdio.h>

#define SENSTEMP    8    // kanał 8

#define DMASTOP    15    // DMA-> STOP

#define DZ    18    // dzielnik Licznika2, zadawanie częstotliwości próbkowania

//    ZMIENNE DEFINIOWANE W WEWNĘTRZNEJ PAMIĘCI RAM

idata int xdata ”ptr; idata int num; bdata bit C;

sbit P32 = P3A2;    II linia INTO = Port3.2 - przełącznik IntO

sbit LED = P3A4;    // dioda LED

idata unsigned char ch;    // numer przetwarzanego kanału

xdata int DMASTART[1024]; // segment pamięci dla przesłań DMA

// Procedura obsługi przerwania generowanego sygnałem ADCI z przetw. ADC void end_of_adc(void) interrupt 6 {    // int_6"8+3 = 51dec = 33hex = ADCI

TR2=0;    II zakończ wyzwalanie przetwornika

C=0;    II zeruj wskaźnik

}

// Procedura obsługi przeiwania generowanego sygn. zewnętrznym INTO // W obsłudze tego przerwania realizujemy pomiar temperatury void interrupt_0 0 interrupt 0 {

int T;

// włączenie zasilania przetwornika // włączenie sensora temp.

II opóźnienie programowe

// rozkaz pojedynczej konwersji

II oczekiowanie na zakończeniu konwersji SCCONV<=0

// odbior wyniku przetwarzania

// wyłączenie zasiolania przetwornika

// wyświetlenie binarnej wartości wyniku przetwarzania A/C


ADCCON1 = 0x80;

ADCCON2 = SENSTEMP; for (T=0; T<100; T++);

SCONV= 1; while (IADCI);

T=((ADCDATAH & 0x0F) * 256) + ADCDATAL;

ADCCON1=OxOO;

printf ("\nTemperatura binarnie = %u bit",T);

}

mainO {

int i, DMACOUNT;

CFG831 =0x11;    // Uaktywnij pamięć 2kB pamięci RAM jako XDATA

// KONFIGURACJA portu transmisji szeregowej - UART

T3CON=0x085;    // specjalizowany licznik L3

T3FD= 0x08;    // szybkość transmisji 9600baud

SCON =0x052;

printf("%cTESTOWANIE PRZETWORNIKA A/C \n", 0x0C);

// Numer przetwarzanego kanału

//liczba: od Odo 14

// Liczba próbek mierzonego sygnału


printf("\nWprowadz numer kanału przetwarzania A/C (0-15): ?"); scanf r%bd", &ch); ch&=0xF;

printf("\nPodaj liczbę próbek sygnału pomiarowego DMACOUNT: ?") scanf ("%u”, &DMACOUNT);

printf("\nWybrales kanał nr=%bd i N=%d próbek sygnału badanego", ch, DMACOUNT);

// PRE-KONFIGURACJA zewnętrznej RAM dla DMA w pojedynczym kanale for(i=0; i<DMACOUNT; i++) DMASTARTji] = ch « 12;

DMASTART[i]=DMASTOP « 12;    // Zancznik końca bloku danych pomiarowych: Stop DMA

for (i=0; i<=DMACOUNT; i++) {    // Wydruk kontrolny prekonfigurowanego obszaru RAM

if (i % 8 ==0) printf("\n"); printf(”%3d=%04X ", i, DMASTARTji]); }

// KONFIGURACJA ADC dla konwersji typu DMA ...

DMAL=0;    // adres inicjujący kanał operacji DMA

DMAH=0;

DMAP=0;    II koniecznie w takim porządku: DMAL, DMAH, DMAP)

TL2,TH2=0;

//Fsys=11059200Hz //Tosc=12/Fosc -> 1.085us

RCAP2L=0x10000-DZ;    // okres próbkowania = T2 =(DZ*1,085us)

RCAP2H=(0x10000-DZ)»8;    //[RCAP2H,RCAP2L]= 65536 - DZ

ADCCON1 =0x9E;    II tryb zasilania -> normaly

ADCCON2=0x40;    //tryb przesyłania danych -> DMA

II wyzwalanie przetwornika -> Timer2 C=1;    //lokany wskaźnik warunku



Wyszukiwarka

Podobne podstrony:
6 (1595) 114 Aplikacje w Delphi. Przykłady Program można napisać korzystając tylko z jednej procedur
Kurs obsługi Corel cz 1 Kurs obsługi „Profesjonalnych ramek cyfrowych z iłami0 na przykładzie p
s382 382 Poznaj Linux miającc, na przykład dosowe programy obsługi kart muzycznych czy menu stanowe.
higeina 21 Przykłady programu świetlnego dla kurcząt-brojlerów Wiek Godzin światła na
0000039 4 180 Przykładowe programy postępowania pacjenta do operacji. Oznacza to nie tylko stosowani
s179 Rozdział 13Poczta elektronicznaAutor: Bill Bali Programy obsługi poczty elektronicznej dla połą
Program nauczania KOWEZiU _ : ** Wykorzystanie przykładowego programu nauczania dla zawodu technik g
Modyfikacje programu nauczania KOWE _ Modyfikacje przykładowego programu nauczania opracowanego w
Załącznik nr 1 /IR-21/PO-05 Data wydania: 2015-09-22 Strona 2 z 2 POLA OZNACZONE KOLOREM SZARYM WYPE
Kl V 2 Skiłłs z&ffe Przeczytaj program zajęć w Castle Lane School i zaznacz, co można tam robić
skanuj0341 ROZDZIAŁ DZIESIĄTY: Projektowanie i nakładanie tekstur 341Inne rzutowania Różne programy
Obraz8 PRÓGCDNAGRYWANIE Z PROGRAMATOREM Przykład: Programowanie nagrania na kanale 5, 24 grudnia 19
File1051(1) ® Ponownie prześledź linie przy pomocy palca.© Rysuj po śladzie zaznaczone linie przy po
File1051 1/Ponownie prześledź linie przy pomocy palca.Rysuj po śladzie zaznaczone linie przy pomocy
File1051 <© Ponownie prześledź linie przy pomocy palca.<© Rysuj po śladzie zaznaczone linie pr

więcej podobnych podstron