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ęOscyloskop na Atmeg8515 + graficzny 240*128
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Witam. robie wlasnie oscyloskop na atmegu i wys. graficznym 240*128 opartym na t6963C. Dzialanie tego ukladu wyglada tak na wejsciu jest przetwornik A/C (TDA8703), nastepnie sygnal cyfrowy jest zapamietywany w SRAM (IS61C256 z plyty gl. 15ns), pamiec te jest adresowaa za posrednictwem liczników, liczniki te i przetwornik A/C sa taktowane zegarem o zmiennej czestotliwosci, co wsumie daje na rozne probkowanie, ktore sie ustala w zaleznosci od czestotliwosci wejsciowej. Caly ten uklad zaamitywania i odczytania dziala mi, kiedy liczniki sie przepelnia na atmega idzie sygnal ze mozna odczytywac juz z pamiecii, przepelnienie liczników takez odcina zegar taktujacy je. Nastepnie procek resetuje liczniki ( dla pewnosci ze sa na wyjsciach same 0) i daje na nie tak zegarowy. Zapamietane wyniki ida na jeden z portów Atmega. I teraz mam problem jak moze zrobic aby mi postawał przebieg ktorego okres jest równy wartosci panujacej w danym adresie pamieci SRAM ??.
wykorzystaj COMPARE unit. zaladuj rejestr z ktorym porownywana jest wartosc timera (OCCRn lub cos takiego) wartoscia z RAMu podzielona przez 2, ustaw timer w tryb CTC i wyjscie OCn jako toggle na przepelnieniu timera.
brzydkie jest tylko to dzielenie przez 2 (reszta niezerowa dla nieparzystych), wiec mozesz pokombinowac z tym zeby okres byl dokladniutki (np. dla bajtu w RAMie 7 raz wpisujemy 4 a raz 3).
a - jesli mozna wiedziec - po co ci takie cos?
brzydkie jest tylko to dzielenie przez 2 (reszta niezerowa dla nieparzystych), wiec mozesz pokombinowac z tym zeby okres byl dokladniutki (np. dla bajtu w RAMie 7 raz wpisujemy 4 a raz 3).
a - jesli mozna wiedziec - po co ci takie cos?
$crystal = 16000000
$regfile = "m8515.dat"
Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8
Config Portd = Input
Cls
Cursor Off
Do
Lcd Portd
Loop
witaj napisalem sobie takii programik, i ne iwem czy jest on ok poniewaz na wyswietlaczy pokazuje mi sie caly czas 0
$regfile = "m8515.dat"
Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8
Config Portd = Input
Cls
Cursor Off
Do
Lcd Portd
Loop
witaj napisalem sobie takii programik, i ne iwem czy jest on ok poniewaz na wyswietlaczy pokazuje mi sie caly czas 0
Wszystko się zgadza jeśli nic nie podłączyłeś do portu D. Spróbuj wymusić stan wysoki na jednej z końcówek Portu D, a na wyświetlaczu pojawią się zaszłe zmiany. Przykładowo podepnij do plusa zasilania przez rezystor 1K końcówkę PD.0 a na wyświetlaczu pojawi się 1. PD.2 pojawi się 4 itd.Do
Lcd Portd
Loop
witaj napisalem sobie takii programik, i ne iwem czy jest on ok poniewaz na wyswietlaczy pokazuje mi sie caly czas 0
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 8 gości