Ja w tego typu wyświetlanie zaprzęgam któryś licznik przepełniający się 100 do 200 razy na sekundę (w zależności od ilości segmentów) i tam przy każdym przepełnieniu aktywuje kolejny segment wyświetlając na niego daną ze zdefiniowanego wcześniej rejestru. Tak więc po dokonaniu pomiaru aktualizujesz tylko odpowiednie rejestry z których dane są wyświetlane...
taki sposób deklaracji jest jak najbardziej poprawny, jest nawet pod pewnymi względami lepszy, bo nie deklarujesz adresu każdej zmienej z osobna, więc pomiędzy już zadeklarowane zmienne możesz "wcisnąć" następne bez potrzeby zmiany reszty. W pamięci rozkłada się to tak, że DSEG AT 01H ustawia Ci licznik adresu zmiennych (a właściwie to symboli, bo widzę,...
Zamiast robić tam opóźnienie można policzyć ile taktów zajmie uartowi wysłanie ostatniej ramki i robić sobie inne potrzebne operacje ,które zajmują czas a po odpowiedniej ich liczbie zmienić stan porty i tyle . Asembler daje wiele możliwości wykorzystania czegoś co się nazywa opóźnieniem . A jak masz wolny licznik to można na nim zrealizować opóźnienie...
Witam Powstawiaj odpowiednie instrukcje tam gdzie napisałem zapal, zgaś itp. Powinien program zadziałać nie daję gwarancji że się nie machnołem. Niemniej idea chyba będzie widoczna i powinieneś w razie czego uruchomić ten program. Pozdrawiam ledequp1.7 buzerequp1.5 licznikequ21h ; licznik przerwań czas_led22h czas_buz23h czy_sequ1 ; czy sekunda org0000h...
ldi R16, TIMSK ; wlaczenie przerwania dla wyrowania ocr1a i licznika Wg mnie powinno byc: in R16,TIMSK Nie wiem czy to pomoze, narazie innego bledu nie widze. Pozdrawiam, Michal
Witam Procedura gotowa, działa na przerwaniu i wyrabia się w 40 cykli zegara (około), ale nie odkładam rejestrów licznika na stos, jeżeli licznik będzie w SRAM to trzeba dodać zachowanie na stosie rejestrów Y. Na razie popatrz na asembler i napisz co z tego rozumiesz, acha, algorytm jest inny niż twój. INT0INT1: push r16 ;odłożenie rejestrów i SREG...
Jeśli szukasz informacji o konkretnych instrukcjach x86, to chyba najlepiej sięgnąć do źródła, czyli do http://www.intel.com/products/processor/... (część 2A i 2B).
http://obrazki.elektroda.pl/4029783300_1... Układu SID (6581 stary i 8580 nowy), będącym muzyczną orkiestrą komputera Commodore 64 nie trzeba nikomu przedstawiać – między innymi dzięki jego brzmieniu owa maszyna osiągnęła tak dużą popularność. Warto tylko przypomnieć, że SID ma jedynie trzy kanały, ale umiejętności programistów...
Kolego, nawet nie chce Ci się przepisać programu... Już Ci pisałem - poczytaj o PRZERWANIACH. Przerwanie nie polega na ciągłym testowaniu jednej czy dwóch flag, tylko na pozostawieniu tego procesorowi. Przykład kodu z użyciem przerwania: org 0 ; adres wektora resetu sjmp start org 0bh ; adres wektora T0 sjmp t0_isr t0_isr: inc A anl A, #7 jnz t0_skip_blink...
witam wszystkich !!! Mam takie oto zadanie do wykonania : "Proces napełniania zbiornika" Zalać pojemnik ze zbiornika z1 do czujnika x2. Następnie ze zbiornika z2 dolać do czujnika x3 . Podgrzać do temperatury 40 stopni , po czym wylać przez z3. Ja sam zrobiłem to juz na bramkacha logicznych lecz nie moge sobie poradzic z napisaniem programu do tego...
Przypuszczam że to ma być rodzaj generatora sekwencji, stąd te diody... Chyba najprościej wogóle nie bawić się w liczniki tylko 1. zwiększenie zmiennej o 1 (np. P1) 2. odczekanie pewnego czasu 3. Jeśli wystąpiło przepełnienie to odpowiednio ustawiamy P3. 4 wracamy do początku.
Witam serdecznie, borykam się ze zrealizowaniem zadania o poniższej treści: Zaprojektować w asemblerze system mikroprocesorowy złożony z mikrokontrolera 8051. System ma realizować licznik modulo 100 generujący skalę czasową co 1s. Uruchomienie licznika i start od zera następuje poprzez podanie sygnału 1 na przycisku, wyłączenie przycisku (zero) powoduje...
http://obrazki.elektroda.pl/6086374500_1... Założenia: Przedstawioną konstrukcję wykonałem tylko z jednego względu - aby podczas nawijania transformatorów skupić swoją uwagę na dobrym ułożeniu zwojów na karkasie transformatora. Po części zmotywowało mnie do tego lenistwo - nie chciało mi się liczyć ilości zwojów w pamięci, zwłaszcza...
Programowałem już w C w basic ale jak wiadomo to to nie to co ten edytor ;) - niestety ;|. Zaczynam przygode nie bo chce ale bo musze. Ogólnie to potrzebuje napisać program, który będzie pobierał z czujnika z magistralą IIC wartość temperatury, i na podstawie wpisanych danych do komputera będzie storował dwoma przekaźnikami grzanie i chłodzenie obiektu....
Witam ! Mam do skonstruowania układ do zliczania długości przewodu z detekcją kierunku nawijania. Początkowo zastanawiałem się nad układem optycznym własnej konstrukcji ale myślę że dobrym rozwiązaniem byłby enkoder mechaniczny lub optyczny. Problem polega na procedurze obsługi (Asembler) takiego enkodera pracującego w kodzie Grey-a. Konfiguracja sprzętowa...
X1 - Quartz 4,864MHz U6 -4067 U16- 4067 U4 - 74HC4060 U2,3,7,8 - NE5532 C14,C16 - 100n C15,C16 - 10n (jutro postaram sie wydedukowac wiecej) to jutro to się dosyć odwlekło... niestety po intensywnych poszukiwaniach nie udało się znależć schematu. ale jako że jest dostępna płytka drukowana trzeba będzie zmontować ten koder wiec będę starał sie odtworzyć...
Witam, przedstawię króciutki kawałek kodu: .EQU OSC_FREQ = 4000000 ldi R16, (1<<CS01)|(1<<CS00) out TCCR0, R16 --------------------- jak dotąd wszystko jasne, tzn włączenie licznika 0; taktowanie z częstotliwością podzieloną w stos 1:64 .MACRO Laduj_Licznik ****************************************... ldi R16, 256-INT(((at)0) * OSC_FREQ/64000...
Skorzystaj z przerwań generowanych przez licznik TIMER1 (lub TIMER2 jeśli jest dostępny).
Witam mam do napisania dosc prosty(chyba) program w asemblerze na 51, problem ze mam z tego tylko 1 laborke na ktora musze oddac projekt, a samemu nie chce sie poznawac wszystkich tajnikow asemblera :) programem ma byc licznik wcisniecia przyciski, czyli po wcisnieciu przycisku(port P1.7) ma sie zapalic dioda(port P4.1), rejestr R1 ma sie zwiekszyc...
rejestr indeksowy zwiększasz o 2 w pętli. Do tablicy odwołujesz się poprzez ten rejestr indeksowy. Przenosisz znak do właściwego rejestru i wyświetlasz. Licznik pętli najlepiej ustawić na liczbę wprowadzonych znaków div 2 lub licznik również zwiększać o dodatkowy 1 przy każdym przebiegu pętli.
Witam. Pisze właśnie 48 kanałowy moduł PWM. Procesor to atmega 169. problem Polega na tym że odświeżanie jest trochę za wolne jak na moje oko - nie wiem czy nie przegiąłem z liczbą kanałów obsługiwanych przez jeden procesor. Pierwotnie napisałem program w bascomie - działa ale zdecydowanie za bardzo miga. Metoda chyba najszybsza z możliwych czyli programowy...
Bis -> niestety to nie to :( Starob -> Mam takt 6MHz więc licznik przepełnia się raz na 0,13s, więc przy inkremętacji rejestru R5 co taki czas, muszę coś zauważyć (chyba ;)
Czy to gdzieś w manualu powinienem szukać czy może w kodzie asm? Zrobiłem tez taki test że w main'e miałem: [syntax=c]AT91F_PIO_SetOutput(AT91C_BASE... AT91C_PIO_PC6); AT91F_PIO_ClearOutput(AT91C_BASE_PIOC, AT91C_PIO_PC6); licznik++; if(nHzTicker) { printf(licznik); }[/syntax] sam Timer szedł 1000Hz. Licznik naliczał zaledwie do około 279900, podczas...
Najprostszym sposobem jest skorzystanie z języka wyższego poziomu np.C. Wtedy sytuacja się znacznie upraszcza. Nie mniej jednak tak w asemblerze jak i w C całość należy zrealizować dość podobnie. Pierwszą metodą która sprawdza się gdy nie mamy nic więcej do zrobienia a tylko odmierzenie czasu i nie używamy przerwań albo gdy ich używamy ale na dokładności...
Osobiście nie ufam wewnetrznemu podciągnięciu na /RESET i dokładam 4,7-10kΩ do Vcc. Moje procedurki w petli głównej zerują również licznik watchdog-a w pętli głównej (plik Main.asm), który gdy osiągnie maksimum, resetuje mikrokontroler. Oprócz tego jest tam taki myk, że reset od watchdoga nie inicjalizuje zmiennych(danych w RAM, m.in. licznik "tyknięć"...
U Ciebie nic nie dzieje sie w przerwaniu - gdy tylko do niego dojdzie to program automatycznie z niego wyskakuje przez RETI. W przerwaniu powinienes umiescic zlicznie do 8 a nie gdzies indziej. Gdy zliczysz to wtedy przesuwasz bity na swoim porcie, zerujesz swoj licznik i kreci sie wszystko od nowa. BF na szybko (ni to C, ni to assembler ale idea:)...
To teraz postaram sie troche rozjaśnić sytuację oco naprawde biega. Piszę w Asemblerze TASM (Turbo Asembler). Napisałem taki oto program. .MODEL SMALL .STACK 256 .DATA OLD_ADRES DW 0000,0000 LICZNIK DW 0000 BYTE_TIMER DB 00 TSC_HIGH_DWORD DD 00000000 TSC_LOW_DWORD DD 00000000 .CODE START: .586 MOV AX,(at)DATA MOV DS,AX MAIN: RDTSC MOV AX,4C00H INT 21H...
Podobne zastosowanie (licznik sterujący multiplekserem), co prawda na AVR i w asemblerze ale zawsze sie moze przydać jest pod tym adresem : http://forum.mikrokontrolery.net/viewtop...
AVR studio (asembler) to nie Bascom... tu nie ma czegoś takiego jak komendy do obsługi sprzętowych liczników, musisz używać rozkazów uP i konfigurować odpowiednie rejestry i przede wszystkim odpowiednio używać przerwań, bo one są chyba najważniejszym elementem, którego używa się przy pracy z licznikami. Musisz wziąć notkę katalogową tego atmelka i przejrzeć,...
Po co w takim razie ten VHDL ? Istnieją jakieś funkcje tylko do symulacji i nijak się to ma do sprzętu, a przecież to język opisu sprzętu ... Czy oznacza to, że np instrukcja LOOP też jest niesyntezowalna ? Trochę się zawiodłem ... Czy faktycznie VHDL jest taki ważny i tak stosowany na świecie ? Jakoś nie widzę sensu uczenia się tego - więcej da chyba...
Kolego Excray masz po części rację. Błędu jednak nie będzie gdy wartość stałej będzie większa od wartości TL0 w chwili korekcji. Tak dla przykładu. Przyjmijmy, że przeładowujemy licznik #FFF5H czyli do TL0 ma trafić #0F5h z korekcją. Dla przypadku gdy będzie spełniony warunek, który podałem wyżej przyjmijmy wartość 3 w chwili korekcji w TL0. Dla przypadku...
Ja wiem jak to logicznie zrobić, ale asembler jest dla mnie nowym środowiskiem pracy. Dlatego komentarze są jak najbardziej potrzebne. W jaki sposób zrealizować do "przewijanie" i "cofanie" ? Konkretnie jakie polecenia funkcje? "Przewijanie" już użyłeś. Po prostu wpisz do Z adres pierwszego elementu tablicy. "Zapamiętywanie" i "odtwarzanie" najlepiej...
Witam! Najpierw tytułem wstępu: Kompilator - program tłumaczący kod zrozumiały (język wyższego poziomu np C, Delphi itd) dla człowieka na kod zrozumiały dla maszyny, czyli binarny lub na język niższego poziomu np asembler. - asembler jest programem tłumaczącym kod napisany w języku niższego poziomu na język wewnątrzny maszyny czyli jw - binarny, zrozumiały...
Ok dzięki za podpowiedź, zmieniłem program i tamto miejsce gra - przeszło bez błędu, natomiast zawiesił się teraz na końcu programu przy komendzie END SUB... co teraz zrobić? Sub Switch Select Case Licznik Case 1 : Relay1 = Not Relay1 Case 2 : Relay2 = Not Relay2 Case 3 : Relay3 = Not Relay3 Case 4 : Relay4 = Not Relay4 Case 5 : Relay5 = Not Relay5...
Witam Piszę program do urządzenia, które będzie w samochodzie: mierzyć napięcie, temperaturę w kilku punktach za pomocą DS18B20, pokazywać czas z obsługą PCF8583 i dodatkowo są dwa gniazda USB, do ładowarek różnej maści. Sterowanie będzie za pomocą impulsatora z przyciskiem, będzie też dźwięk z buzerka i regulacja jasności 6 wyświetlaczy LED za pomocą...
Jeżeli nie przeraża Cię asembler to coś w tym stylu powinno pomóc. Program do odczytu zewnętrznej pamięci danych AJMP START ORG 200H START: ;=======================================... ; Ustawienie timerow i przerwan dla liczników czasu i transmisji szeregowej ;=======================================...
Witam. Mam mały problem z ustaleniem prędkości przezkakiwania czy też zliczalnia. A mianowicie mam 2 wyświetlacze 7 seg ( w zasadzie to 8 ale ja kropki nie wykorzystuję) no i programik jest strasznie prosty. Dopiero wchodzę w programowanie. Program jest oparty na książce p. P.Borkowskiego który raczej na tym forum też jest ;] [syntax=asm];;; l8 ;;;...
Czemu tak komplikować program. Asembler ma rację, zawsze nastąpi moment, w którym pomimo, że samochód nadal się porusza, czas pomiaru minie zanim nadejdzie impuls. Dlatego należy przyjąć że samochód stoi lub próbować liczyć inaczej. Można (jeśli to potrzebne) pomyśleć nad zwiększaniem dokładności pomiaru poprzez podzielenie zakresu prędkości na dwie...
Witam, Wydaje mi sie, że wiem skąd wziął się mit o resetowaniu się PIC'ków u niedoświadczonych programistów... Otóż pamiętać trzeba o tym iż licznik programu składa sie z licznika PCL oraz rejestru pośredniczącego PCLATCH, który to zawiera najbardziej znaczące bity licznika programu. Przy skoku między stronami pamięci trzeba niestety samemu zadbać o...
;* ;***************************************... ;*PROCEDURA WYLICZANIA SUMY KONTROLNEJ Z NUMERU SERYJNEGO UKŁADU 1-Wire ;***************************************... ;* ;* ;*******************************OPIS****... ;*Kolejne bajty numeru seryjnego...
No zbyt trudne to nie było:). Mam pytanie wie ktoś może ile taki przetwornik TYP MPL10 produkcji PZO ma impulsów na obrót? Miał mieć 512 a wychodzi mi że ma 256. Na razie stworzyłem sobie taki programik: .INCLUDE "plik_definicji.txt" ;----------SEGMENT DANYCH-------------------------------- .DSEG .ORG 0x60 ;----------WEKTORY PRZERWAN------------------------------.....
A czy sam timer2 pracuje bo w tych procesorach należy przed inicjowaniem peryferii włączyć do nich zegar (dla timera TIM2 w rejestrze PCKENR1). Chyba że wykonuje to timer_init.
Kiedyś zrobiłem coś takiego dla s1200, 2313 itp. Jak chcesz to sobie przerób. Program odmierza czas, a po jego upłynięciu zaczyna migać żarówką (np wyłącza ją na 1s, potem zapala na 10s i tak 3 razy), a na koniec gasi żarówkę. Program nie jest jakoś super napisany, ale z tego co pamiętam działał. Do asemblacji radziłbym użyć oryginalnego assemblera...
co napisaliscie jako swoj pierwszy program na dany uC w danym jezyku (rozbudowy sie licza, byle by wciaz byla to ta sama baza) n. n. - literka, cyferke z przodu dodam sam. zachowujcie chronologie w swoich dokonaniach na roznych platformach jezykowych i sprzetowych, tak aby to mialo sens! ____________________ 0x1-a. Freddie Chopin - migacz diodkami o...
Z opisu funkcji wynika, że pętla używa 8-bitowego licznika. Gdzie w tej funkcji jest odniesienie do licznika.? W tej linii: dec %0 Po prostu jeden z rejestrów jest używany do odliczania opóźnienia i dlatego został "przezwany" licznikiem. Nie ma to nic wspólnego z fizycznymi licznikami/timerami. O wstawkach assemblerowych możesz przeczytać w manualu...
Grafy się rysuje dla wielu ,,stworzeń". To może być graf automatu, licznika.... Najlepiej narysuj to na kartce i wrzuć tu fotkę bo nie mogę sobie tego wyobrazić. Pozdrawiam.
Czesc ! Portu B nie musisz ustawiac , po starcie procesora wszystkie porty sa ustawione jako wejscia ponadto : movlw80h movwfTRISB ustawia Ci jako wejscie jedynie RB7, pozostale to wyjscia MOVLW 0 MOVWF TRISA teraz caly porta A ustawiles jako wyjscia, malo tego uzywajac timer 0 i podzielnika 1:256 pamietaj ze aby zwiekszyc jego stan o jeden...
Witam. Mam problem z pewnym programem. A mianowiciie chodzi o licznik impulsow na ukladzie AT89C4051. Mam w planie dwa wyswitlacze led i nie wiem jak mam zrobic zeby po zliczeniu ponad 9 impulsow oddzielic do jednego rejestru liczbe dziesiatek a do drugiego liczbe jednosci. Z gory dzieki za pomoc.
Mało danych. Chcesz, żeby dioda migała na przerwaniach? Czyli przerwanie włącza, następne wyłącza - tak to zrozumiałem. Co do obsługi T0 musisz zrobić obsługę przerwania od adresu 0x0BH (czyli wyzwalanie przez flagę TF0). Wstaw coś takiego po LJMP start na początku: [syntax=text]ORG 0Bh ; start przerwania CLR TF0 CPL P1.4 ; zmiana stanu wyjścia sterującego...
Jestem początkujący. Czy ktoś mógłby mi opisać jak zrobić opóźnienie na liczniku T0 w asemblerze. Ważne są ustawienia TMOD i TCON ale co dalej. Chce uzyskać opóźnienie około 1s (jak wywołać przerwanie od licznika i jak je realizowac aby trwało 1s) ? Kwarc 20MHz, cykl maszynowy trwa 0,8us.
znalazłem dużo przykładów jak posługiwać się licznikami, ale wszystko było w C a ja nie znam go i programuje w asemblerze. Mógłby ktoś opisać przykładowy licznik(tzn napisać program) i opisać? (chcę odmierzyć jakiś czas, ale najpierw chcę poznać zasadę działania liczników). najlepiej gdyby było coś o liczniku 0 i 1
Witam Pisze program w Asemblerze........... Niestety nie wiem co może być źle zaznaczę ze jestem początkującym programistą w asemblerze i liczę na wyrozumiałość załączam układ jaki stworzyłem na potrzeby projektu https://obrazki.elektroda.pl/4915933400_... ----------------------------------------... Odp: Wszystko masz błędnie(!)...
Witam, fajne kolejne propozycje Dar.El ;) ... teraz coś ode mnie, myślę wprawdzie, że to makro nie będzie już tak uniwersalne jak poprzednio zaproponowane, ale idąc za ciosem, bo było mi to akurat często potrzebne: ;Increment, Jump if No HIGH ; IJNH licznik,etykieta pętli ; licznik - tylko rejestry R16 - R31 .MACRO IJNH INC (at)0 CPI (at)0, 255 BRNE...
Witam ponownie 1) Co do trybów polecam poczytanie rozdziału 2.9 z [url=http://www.atmel.com/dyn/resources/... 2) Patrz manual 3) Właściwie nic nie trzeba robic po prostu go nie uruchamiasz, np używasz tylko T0 to go uruchamiasz TR0=1, a dla licznika T1 robisz TR1=0 (poczytaj manuala) 4) Można 5) Przepełnienie licznika...
Jeśli dobrze pamiętam to tak to się liczyło delay1: ldi R16, 0 ;1 cykl del1: inc R16 ;1cykl brne del1 ;2 cykle (1 gdy nie ma skoku) ret ;4 cykle ;razem (1+1+2)*256-1+4=1027 cykli delay2: ldi R17, 0 ;1 cykl del2: rcall delay1 ;3+1027 cykli inc R17 ;1 cykl brne del2 ;2 cykle (1 gdy nie ma skoku) ret ;4 cykle ;razem...
asembler licznik diody asembler dodawanie asembler
unknown device drukarka kontroler muzyczny pęknięta chłodnica
rotenso monoblok oscyloskop dt5200
Echolink EL-9000 HD GXSS1B Ver 3.0 Dump File Download, Recovery, and Flashing Guide Sterownik do wentylatora nadmuchowego NWS – dobór, podłączenie, konfiguracja TECH, PLUM, Bruli