Znalazłem coś takiego

Witam jakiś czas temu znalazłem artykół, w którym opisane zostało urządzenie na mikrokontrolerze PIC:

formatting link
Chciałbym zrobić coś takiego na AVR i poszukuję jak się tworzy tabele translacji jak w opisanym artykule. Szukałem na googlu no i nie znalazłem bardzo mało materiałów, z których mógłbym nauczyć się tworzenia takich tablic w AVR assembler.

Znalazłem coś takiego w AVRFREAKS:

formatting link
tak tworzy się takie tablice w AVR?

Jeśli ktoś z grupowiczów posiada jakieś materiały lub proste programy prezentujące to zagadnienie to proszę o pomoc.

pozdrawiam, dArek

Reply to
dArek
Loading thread data ...

Swego czasu robiłem coś takiego dla 2313. Tablicę z wartościami stworzyłem w excelu, a potem przekopiowałem do programu - też naszukałem się wzorów interpolacyjnych dla termistorów; takich, które liczyłyby rezystancję mając daną temperaturę. Znalazłem gdzieś na niemieckich stronach opis wielomianowy, ale adres zniknął w mroku dziejów ;-)

Pamiętam, że robiłem to dla termistora 1,5kOhm (czujnik temperatury w zamrażarce, dla temp. 25stC miał 1,5kOhm), ale żebym coś więcej pamiętał... Zrobiłem to 2 lata temu do domu (regulator temperatury do zamrażarki), udokumentowałem tak, że mi nawet trochę głupio :-/

Tak się tworzy tablice w pamięci FLASH dla procków niemających instrukcji LPM. Jeśli twój takową ma - wystarczy prosta rezerwacja .db czy tablica stałych w obszarze programu, jeśli to avr-gcc.

Do programu wstawiłem już wyniki konwersji (wartość licznika T0, bo to na komparatorze było).

Za chwilę wrzucę do

formatting link
program regulatora w asm (dość dobrze udokumentowany, chyba go już komuś pokazywałem ;>) i plik excela z obliczeniami (zero komentarzy, ale może ci się przyda).

Pozdrawiam

Reply to
Marcin Stanisz

Bardzo dziekuje, napewno przeanalizuje i postaram sie zrozumiec.

Reply to
dArek

On Tue, 05 Apr 2005 21:42:01 +0200, dArek wrote: <ciach, noż prosimy o cięcie cytatów ;-)>

nazwy plików: termistory.xls lodowka2.asm

Już są.

Pozdrawiam

Reply to
Marcin Stanisz

Zabieram sie do czytania :D.

pozdrawiam, dArek

Reply to
dArek

Marcin Stanisz napisał(a):

"Strona w budowie

Zajrzyj na stronę za jakiś czas, na razie autor nie uporał się z jej ukończeniem.

Jeśli jesteś właścicielem tej strony, powinieneś opublikować na swoim koncie plik o nazwie "index.html", który pokaże się zamiast zaślepki "Strona w budowie"." Zaglądałem o 23:25 - jakieś problemy ?

Reply to
Daniel Dawid <LightHouser> Majewski

Nie, wystarczy, że wskażesz konkretne pliki po adresie.

Pozdrawiam

Reply to
Marcin Stanisz

W sumie już doszedłem do tego... ;) P prostu myślałem, że jakaś skromna witrynka mnie przywita... ;)

Reply to
Daniel Dawid <LightHouser> Majewski

Użytkownik "dArek" snipped-for-privacy@tenbit.pl napisał w wiadomości news:d2uehe$jp4$ snipped-for-privacy@korweta.task.gda.pl...

Może spróbuj z innej strony, kiedyś w Elektronice Praktycznej był termometr na KTY10 i Atmelku 2051, może nie sam układ jest istotny, ale tam współczynniki zostały tak dobrane, że sama procedura robiła się liniowa, ładnie to wyprowadzono na wzorach. Piotr

Reply to
Piotr Pitucha

Użytkownik Marcin Stanisz napisał: [...]

Czy dzisiaj wszystko trzeba znaleźć w internecie, aby było ważne? ;-) Jeśli masz dane pomiarowe dla kilku punktów to regresję wielomianową policzysz nawet na kalkulatorze ;-)

Acha, piszę o tym zainspirowany bardzo negatywnymi opiniami o polskim szkolnictwie przewijającymi się przez grupę.

Takie opracowywanie danych było standardem na wszystkich laborkach, które przeszedłem. I osobiście myślę, że osobom CHCĄCYM powiększyć swą wiedzę nasz system szkolnictwa pomaga w tym.

Pozdrawiam Albert

Reply to
Albert Bartoszko

W taki sposob (uzywajac .db) mozna stworzyc tablice z "adresowaniem strony zerowej". Czyli adres komórki bedzie liczony od komórki zerowej. Chcialbym zrobic program z obliczaniem adresow. Nie uda mi sie ich rozmiescic komórka po komórce tylko beda jakies przerwy. Chce zrobic takie adresowanie wynik=x+y*100+z*10000. Jakie procedurki sie wtedy stosuje? Czy wynik w pamieci tez sie umieszcza przez instrukcje .db?

Reply to
dArek

Mam pytanie odnosnie programu: Czy dobrze zrozumiałem w TMP1 sa adresy komorek pamieci a w TMP2 sa wartosci dla tej komorki?

TMP1: .db 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03 .db 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x07 .db 0x07, 0x07, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x10, 0x10 .db 0x10, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13 .db 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x17 .db 0x17, 0x17, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x20, 0x20 .db 0x20, 0x21, 0x21, 0x21, 0x22, 0x22, 0x23, 0x23, 0x23, 0x24 .db 0x24, 0x24, 0x25, 0x25, 0x26, 0x26, 0x26, 0x27, 0x27, 0x28 .db 0x28, 0x28, 0x29, 0x29, 0x30, 0x30, 0x30, 0x31, 0x31, 0x32 .db 0x32, 0x33, 0x33, 0x34, 0x34, 0x35

TMP2: .db 0, 0, 1, 1, 1, 2, 2, 2, 3, 3 .db 4, 4, 4, 5, 5, 5, 6, 6, 6, 7 .db 7, 7, 8, 8, 8, 9, 9, 9, 10, 10 .db 10, 11, 11, 11, 12, 12, 12, 13, 13, 13 .db 14, 14, 14, 15, 15, 15, 16, 16, 16, 17 .db 17, 17, 18, 18, 18, 19, 19, 19, 20, 20 .db 20, 21, 21, 21, 22, 22, 23, 23, 23, 24 .db 24, 24, 25, 25, 26, 26, 26, 27, 27, 28 .db 28, 28, 29, 29, 30, 30, 30, 31, 31, 32 .db 32, 33, 33, 34, 34, 35

Reply to
dArek

dArek napisał(a):

Możesz też .dw użyc... A obliczasz adres i ładujesz godo pary rejestrów ZL:ZH.

Reply to
Daniel Dawid <Light-I> Majewski

Nie. W TMP1 są cyfry do wyświetlenia na LED, a w TMP2 liczby do obliczeń. Taka karkołomna konstrukcja, coby konwersji uniknąć.

Pozdrawiam

Reply to
Marcin Stanisz

Musiałbym odświeżyć sobie wiadomości albo korzystając z notatek z wykładów (są na strychu, a tam jest albo za zimno, albo za gorąco), albo... korzystając z Internetu ;-)

Pozdrawiam

Reply to
Marcin Stanisz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.