Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Programowanie ADC

SACZI
-
-
Posty:21
Rejestracja:21 mar 2004, o 18:51
Lokalizacja:Iwonicz Zdrój, woj podkarpackie
Kontaktowanie:
Programowanie ADC

Postautor: SACZI » 6 maja 2004, o 22:04

Witam.
Mam problem z zaprogramowaniem przetwornika AD w procku ADUC812.
Program ma wykonywać POMIARY i dlatego wykorzystuję w tym celu przerwania. Wyniki pomiarów wysyłam przez RS232c do PC.

Mam dwa pomysły (obydwie wersje działają, ale błednie) na wykonanie tego programu, ale jakoś nie potrafie dokonac trafnego wyboru:

1) Przerwanie od Timera 2, a w nim wywołuję poczatek konwersji ADC. Wyniki zapisywane są do zmiennej typu static a program główny wysyła mi pomiar do PC.

2) Przerwanie od ADC, które wysyła mi wyniki pomiaru do PC. Pomiar ADC wyzwalany jest przepełnieniem Timera 2, a jego koniec zgłasza przerwanie.

Mam jeszcze prośbę, jeżeli ktoś wie w jaki sposób ustawiać czas przepełnień T2, prosiłbym o podanie wzoru wg, którego mógłbym to obliczać. Ja sie juz troszke pogubiłem w tamacie i błądze w ślepej uliczce.

GasM
-
-
Posty:92
Rejestracja:4 lut 2004, o 11:57

Postautor: GasM » 7 maja 2004, o 07:09

Nie znam tego układu od strony programowej, ale napisze jak ja bym to widział:

1 przerwanie od ADC (rozumiem że takowe w tym procku występuje), odczytuje wartość i wpisuje ją do zmiennej TEMP
2 główny program odczytuje TEMP i przetwarza, oblicza, i zapisuje do buforu transmisji RS232. TEMP musi być szybko zwolniony żeby nie został nadpisany
3 PC ciągle odpytuje o wynik badania i jeżeli procek przetworzył to mu wysyła

Jeżeli niema przerwania od ADC to przerwanie od TIMER'a np daje znać do odczytu ADC lub odczytuj tylko w przerwaniu a obliczaj w głównym programie

Było by dobrze żebyś ustawił najwyższy priorytet dla RS232 żeby nic nie zakłócało transmisji, ale też nie odpytuj za często o nowy pomiar.

Guru
-
-
Posty:250
Rejestracja:30 cze 2003, o 13:26
Lokalizacja:Kraków

Postautor: Guru » 7 maja 2004, o 11:05

A tak w ogóle to w czym jest problem? Co nie działa?
http://www.analog.com/UploadedFiles/Dat ... C812_e.pdf proponuję przeczytanie zwłaszcza stron 33 -35

SACZI
-
-
Posty:21
Rejestracja:21 mar 2004, o 18:51
Lokalizacja:Iwonicz Zdrój, woj podkarpackie
Kontaktowanie:

Postautor: SACZI » 10 maja 2004, o 21:57

Dobra, już sobie poradziłem.
W przerwaniu od T2 (co 50 ms) wywołuję konwersję ADC, Koniec konwersji ADC zgłasza przerwanie, a w nim zapisuję wyniki do zmiennych, które w programie głównym wysyłam do PC.
Problem mam jeszcze tylko z zapisem pomiarów. Musze troche popracowac nad tym, a jak sie pojawia problemy to odezwę się tutaj.

Guru, tego DataShhet'a znam chyba na pamięć, ale dzięki za linka :)

Wróć do „8051”

Kto jest online

Użytkownicy przeglądający to forum: Bing [Bot] i 11 gości