Witam MOV LDI A,#80H ; 0H+80H ACALL WRITE MOV LDI A,#C0H ; 40H+80H ACALL WRITE Przecierz to 8051. LDI - co to jest? MOV A,#C0H ; 40H+80H ACALL WRITE
Witam. Sposób wykonania niezbędnych połączeń elektrycznych jest opisany w PDF’ie (Multipleksowany wyświetlacz LED). Załóżmy chwilowo, że są już połączenia: - uaktywniony bufor (JP1 1-2), - bufor podłączony kablem (1 do 1) do portu np. P1 (JP2>>JP4), - sterowanie wspólnymi katodami wyświetlaczy podłączone do portu np. P2(JP3>>JP5). Zastosowane...
jaki dokladnie ma byc ten program sciagnalem ze strony interenetowj ale nie chce dalej mi go kompilowac, natomiast czy ten program nie jest napisany pod procesory AVR?? co oznacza deklaracja EQU B.1 zwykly asembler (program ASM.exe od 480 lini wyrzyca mi same bledy typu nieznany mnemonik) i co oznacza mov A,#'5'
tprzemko - faktycznie coś w tym jest Proponuję na początek zrobić próbę czy LCD wydoli z przełaczaniem 2 obrazów. Próba polegać ma na naprzemiennym wyświetlaniu 2 umownych ekranów Powiedzmy na pierwszym ekranie mamy jakiś tekst w 1-szej linii, druga jest pusta. Na drugim ekranie mamy 1 linię pustą a w drugiej znajduje się inny tekst. Oba ekrany są przełączane...
Witam. Do czego służy rozkaz LAT? Przykładowe zastosowanie to LAT R25 AVR studio odrzuca to polecenie, jednak podczas disassemblowania pliku HEX pokazuje właśnie taką linię. Linia ta znajduje się w 5A poniższego programu zapisanego w pliku HEX.
Do tego to właściwie potrzebujesz prosty scheduler + context switching, mała część RTOSa, w sumie to kilkadziesiąt linii kodu w c/asemblerze. Albo po prostu ściągąć prostego RTOS dla AVR, google zwraca kilka całkiem nadających się do tego celu.
No chyba nie muszę za Ciebie pisać całego kodu... Tymi przykładami zastąp linię movl $data1, %ecx Każdy z podanych przykładów działa na moim systemie (linux i386). Pozdrawiam, Dr.Vee
Jakiego kompilatora używacie bo mój nie wywala błąd w lini ORG 000BH Co robić??
ori acc,0 ; ustaw bit 0 acc zmieć na: ori acc,1 ; ustaw bit 0 acc Dodano po 2 Acha. I dla punktów tego nie napisałem.
Poza tym, że w jednym i drugim instrukcja zajmuje jedną linię i ma format "opkod argument1, argument2", to innych podobieństw jest niewiele - różne architektury, różne zestawy instrukcji, rejestry itd. Pozdrawiam, Dr.Vee
Dziękuję za odpowiedź, miernik będzie wykorzystywany w zasilaczu do radiostacji. Normalnie pobieranie jest około 2A, przy nadawaniu ta wartość wzrasta do 20A. Głównie 20A będzie pobierane przez około 2 minuty, potem jest przerwa też około 2 minuty (choć czasami ta wartość może wzrosnąć nawet do 1 godziny). Co to programu to niestety kuleję, coś tam...
Hura Hura Hura zadziałało. Na bez przerwań ale działa. Metoda wręcz od siekiery, ale działa. 1. umieszczam swój programw c od adresu 0x0100 2.piszę program w asemblerze LJMP 0x0100 i go asebluję. 3. kopiuję pierwszą linię hexa programu w asemblerze i wklejam jako pierwszą linię do hexa z programem w C i działa Cieszę się :)))))))
Witam Myślę, że to rozwieje wątpliwości: Dyrektywa $ASM używana jest razem z dyrektywą $END ASM, podczas tworzenia bloków kodu w języku asembler, umieszczanych jako wstawki w programach języka BASCOM BASIC. Zamiast używać tych dyrektyw, można także przed każdą linią zawierającą mnemonik postawić znak !. Większość mnemoników asemblera nie potrzebuje...
Dyrektywa $ASM jest używana razem z dyrektywą $END ASM, podczas tworzenia bloków kodu w języku asembler, umieszczanych jako wstawki w programach języka BASCOM BASIC. Zamiast używać tych dyrektyw, można także przed każdą linią zawierającą mnemonik postawić znak !. Większość mnemoników asemblera nie potrzebuje przedrostka !, gdyż są one rozpoznawane...
ABC. omsklo mi sie na klawiaturze :(. A co, spodziewales sie Iliady i Odysei w 10-ciu liniach asemblera ;)
Witam, Dostałem książkę od nauczyciela "Podstawy programowania mikrokontrolera 8051" Autorów Piotra oraz Pawła Gałki. Jest to Dydaktyczny system mikroprocesorowy DSM-51 Piszę programy w Bascomie, a że tak powiem dokształcam się jeszcze (niestety na razie na "sucho")w Asemblerze na '51 W książce jest taki pierwszy program: LJUMP START ORG 100H START:...
WItam! Jeśli temat jest aktualny, to mogę poradzić, abyś dokładnie sprawdził schemat podłączenia wyświetlacza w książce Kościelniaka i u siebie. Zwróć uwagę na linię R/W pozdrawiam Wat
Pobawiłem się trochę tym lcd'kiem. Przeczytałem artykuły w EDW, napisałem program i dalej nic. Zamieszczam obecną wersję programu. Mam pytanie co do niego. Co robię źle z inicjalizacją. Cały czas mam czarną pierwszą linię na wyświetlaczu. Pozdrawiam. (kod w załączniku)
Ja bym polecił jednak AVRy: +Asembler jest łatwiejszy niz na 51, nie wiem, czemu twierdzisz, ze na 51 jest prostrzy, napewno w AVRach niektore rzeczy mozna robic szybciej niz na 51 (np przez to ze nie muszisz uzywac akumulatora, mozna operacje wykonywac bezposrednio na rejestrach, wiec odpada przepisywanie rejestr->akumulator, i potem wynik z akumulatora->rejestr,...
Jeśli twój kod nie jest zbytnio "udziwniony" to spróbuj użyć środowiska MikroLuk 1.0 http://www.mikroluk.prv.pl/. Asembler powinien już działać w miarę poprawnie. Program jest pisany "pod" XP, ale działa także ze starszymi OS-ami. Możesz także poszukać jakiś DOS-owych asemblerów. W konsoli (tzn. z poziomu okna lini poleceń) powinny przecież chodzić....
A gdzie tam jest napisane, że oprogramowanie było napisane w C? Ale przyjmijmy, że tak faktycznie jest - 2 miliony linii kodu w C. Szacując bardzo zgrubnie niech zamienny program napisany w asemblerze ma około 20 milionów linii kodu w asemblerze. I teraz niech mi ktoś usiłuje wmówić, że napisze program w asemblerze na 20 milionów linii kodu i nie popełni...
Zazwyczaj każdą barierę opto łatwo oszukać i nawet nie musi to być skomplikowany układ elektroniczny, wystarczy zwykły swiatłowód (lub kilka) którym puscisz wiązkę omijając chronione przejscie. A co do Bascoma w takich zastosowaniach - to szkoda czasu, lepiej napisac kilka linii asemblera. Pozdr. N.
BASCOM oczekiwanie załatwia sam i robi to korzystając z dyrektywy $crystal. Pisałem obsługę LCD w BASCOMie i żadnych dodatkowych opóźnień nie musiałem dawać. A tak w ogóle to nejlepiej napisać całą obsługę samemu w asemblerze =] Poza tym zauważ, że w drugiej linii użyłeś polskiego znaku, a LCD nie mają takowych, chyba, że sam zdefiniujesz, stąd mogą...
C pod windowsem, asembler na Dosie\ To się nie da zlinkować. Chyba że rozumiesz "C edytowane w GUI, uruchamianie asemblera z linii komendy" Nawet w samym "tym samym windowsie" nie zlinkujesz plików obj powstałych z microsoftu, borlanda czy gcc Kompilator C i asembler musi być z tej samej rodziny Które środowisko programistyczne jest Ci najbliższe?...
To zmień tę linię: MOV R0,#172 ; załadowanie do R0 liczby do rozpisania na MOV R0,#n ; n - dowolna liczba od 0 do 255 Nie podałeś tylko jaką metodą ma być wprowadza na ta liczba, na jakim sprzęcie będzie wykonywany ten program (tylko nie pisz, że na 8051, bo to juz wiemy)
Popatrz w komentarze ;) ... void LCDinit() { _asm clr P1.2 clr P1.3 _endasm; Pauza(20) //odczekać po włączeniu zasilania sendHalfLCDdata(0x03); Pauza(0x02); //w moim LCD 1 ms było mało , a na 2 ms jest OK //... P1_1=1; //no comment ;) P1_2=0; // j/w Aha, no i czy ktoś wie jak ustawić lub wyzerować pojedynczą...
Siedzę na tym cały czas i nie mogę wymyślić ani znaleźć odpowiedzi w jaki sposób w tym programie będzie działać linia: mov esi, OFFSET linie + 4. Sprawdzam sobie rejestry w visual studio i wygląda to tak: http://obrazki.elektroda.pl/3068093500_1... Po wykonaniu ostatniej lini w DX dostaję wartość piątej cyfry w tablicy linii czyli 444,...
Płyta posiada integralny układ zwany BIOS, kontroluje on działanie podzespołów (kontrolerów dma agp ram....itd.). Po podłączeniu zasilania > info. o stanie (biper/led) o ile brak uszkodzeń(płyty) a zasilacz posiada sprzężenie zwrotne [power_good]nic się nie stanie. Dlatego też NIE polecam modyfikacji bios'u (flash) , chyba że zna się asemblera.Często...
A możesz to debugować pod visual studio? Wg mnie masz kilka możliwości dojścia o co chodzi. Od najprostszych: 1. Wczytanie się w dokumentację readline czy nie jest deprecated i z jakiej biblioteki pochodzi (co biblioteka to obyczaj) 2. Debugowanie kodu przed wysypaniem w trybie asemblera. Zobaczysz konkretną linię, która wysypuje program. 3. Jeśli nie...
Witam Przez dłuższy czas programowałem w ide51. Jednakże środowisko jest bardzo niewygodne, ponadto teraz używam innego sprzętu, który nie jest obsługiwany bezpośrednio przez terminal w ide51. Próbowałem się przesiąść na opensourcowe as31 i asm51 (polski). Są o niebo lepsze, potrafią includować i inne cywilizowane rzeczy, ale nie są zbyt zgodne z ide51....
Tak jak pisałem, ciągle nie jest to problemem dla współczesnych mikrokontrolerów. Sam pomiar realizowany jest sprzętowo, przez układ licznika wbudowany w mikrokontroler. Nawet proste AVR8 spełniają te założenia, taktowanie do 20 MHz, a więc teoretyczna rozdzielczość pomiaru to 50 ns, z tej samej serii XMEGA - 32 MHz, przy czym liczniki mogą być taktowane...
Proponuje coś na zasadzie prostego SPI, z wykorzystaniem przerwania sprzętowego, niech linia z przerwaniem sprzętowym będzie linią zegara, dowolna linią danych, jeśli zmieni się stan na lini przerwania sprzętowego niech to przerwanie w programie odczytuje bit z lini danych i niech wraca do programu, a jeśli licznik bitów osiągnie odpowiedni stan, czyli...
Witam !!! Mam problem. Musze zaprojektować cyfrową linie opóźniającą sygnały akustyczne na µC z rodziny 8051. Opóźnienie musi wynosić od 20 do 200 ms a sygnał ma być na zakresie częstotliwości telefonicznej czyli coś do 8 kHz. Dopiero zaczynam swoją przygodę z µC i potrzebowałbym pomocy. Po pierwsze zaproponowano mi abym zrobił to na mikrokontrolerze...
Fakt, trzeba wszytko robić programowo, ale podejście jest podobne: asembler, synchronizacja z rastrem, cyklowanie. (każdy pojedyńczy cykl procesora to czasami odległość jednego lub kilku pikseli w linii ! , czasem ważne było dołożenie jednej lub kilku instrukcji nop (No Operation)) Więc cały czasowo krytyczny rdzeń programu jest napisany w asemblerze,...
Nie wiem czy akutat tu zadziala ale w innych jezykach aby powstal ślad na dysku nalezy uzyc komendy WRITELN W dzialaniu na file of text. A co to ma do rzeczy? Writeln zrobi po prostu nowa linię. Bez tego powinno dopisać w tej samej linii. Na moje oko nie wywołujesz procedury INITFILESYSTEM. Pewnie przy dopisywaniu do istniejącego pliku jest ona wywoływana...
A to dlaczego ma zwierac do masy? Linie miso mozna odseparowac tranzystorkiem i bedzie po problemie. Programator zeby byl wygodny nie powinien byc odlaczany tylko dlatego ze bedzie przeszkadzal w wykonaniu programu przez procesor. tam jest potrzebna bramka 3stanowa sterowana linią RESET.
Dzieki za NIEpomoc. Program skończony. Wygląda troszke nie schludnie bo nie są porobione pętelki ale to kwestia przerobienia go. Ważne że działa jak chcialem. Pozdrawiam [syntax=asm] SEG_ON EQUP1.6;włączenie wyświetlacza 7-segm. LEDEQUP1.7;Dioda TEST podłączona do P1.7 ;Stałe używane w programie - kody włączonych diod D1EQU00000001B ;1 DIODA D2EQU00000011B...
Tak też myślałem, ale to trochę czasu mi zajmie :/ Hmmm... chociaż nie jest to aż tak krytyczne.... Jeszcze jedno pytanie. Jak rozumiem rozkaz set address ustawia niejako którą linię pionową chcemy mieć aktywną, set page ustawia aktywną stronę, a do czego służy rozkaz display start line ?
No cóż, muszę stwierdzić, że nie ma się do czego przyczepić. Program skompilowałem i poddałem symulacji krokowej. Wszystko działa - co prawda nie wnikałem w sposób obsługi silnika, ale stos zawsze wracał na wartość #6FH, po przerwaniach. Oczywiście nie ma mowy o nakładaniu się procedur, bo stosujesz skoki. Jednak, mój symulator nie testuje dokładnie...
Witam, Piszę program w C, w środowisku WinAVR i powstała potrzeba użycia wstawki asemblerowej. Wiem, jak zrobić taką wstawkę z jedną instrukcją, np. nop: __asm("nop"); Jednak nie działa mi to, gdy chcę wstawić w ten sposób całą procedurę (kilkadziesiąt linii) w asemblerze. Z góry dziekuję za pomoc Bartek
witam Przeszukując elektrodę można znaleźć mnóstwo procedurek dotyczących 1-wire na AVR ale niestety w większości pod język C lub bascom. W jednym wątku znalazłem jakieś procedury ale jak ktoś w nim zauważył z błędami. Kolejną procedurkę znalezioną w kursie asm pod avr znalazłem na mikrokontrolery.net. Procedurki są ustawione pod 4MHz. #define DQ_PORT...
Ja mogę Ci odpowiedzieć na 1 i 3 pytanie. ad 1)Tak ad 3)Emulator sprzętowy AVT 2500 za pomocą 2xPCF8574 emuluje 15 lini I/O procków 89C1051,89C2051,89C4051 i to tylko dla programó napisanych w Bascomowym Basicu.Nie emuluje proców w 100% i czasie rzeczywistym. Tyle pamiętam.Programatora AVT 2502 używam do dziś , a emulatora (mimo że posiadam) nie użyłem...
To bardzo sympatyczny LCD jak masz odpowiednia ilosc pamieci czyli np. ATMEG162 z zewnetrzna pamiecia RAM lub ATMEGE128 to sterowanie jest banalne jedynym minusem bedzie to ze dosc sporo mocy procka zuzyjesz na jego sterowanie mniej wiecej przy rozdzielczosci 400x320 mono ok 25% czasu procesora. mam prośbę jeśli masz jakiegoś gotowca jak to zrobić...
WinIO właściwie jest pakietem. Składa się z biblioteki dll i sterowników pod windy NT-pochodne (winio.sys) i nakładki na DOS - 9x/ME (winio.vxd). W oryginalnym wydaniu importuje sie procedury z dll, ale ponieważ rozprowadzana jest z kodem źródłowym nic nie stoi na przeszkodzie by wkleić odpowiednie procedurki do swojego programu (no chyba że licencja,...
Pisałem taki program z komunikacją ale w asemblerze. Rozwiązałem to sterując linią odpowiedzialną za transmisję korzystając z układu przerwań. Widziałem również rozwiązanie z NE 555 wyzwalanym z linii tx ale to według mnie jest rozwiązanie dobre w przypadku braku innych możliwości . Jeśli nie jesteś na tyle biegły żeby poradzić sobie z układem przerwań...
Jestem początkujący w 8051 i mam parę prostych pytań. Pytania seri 1: Słyszałem że w 8051 można sprawdzać osobno stan lini jakigoś portu i stan bufora linii portu i oprócz tego można jeszcze w SFR coś sprawdzać jeśli chodzi o stan linii portu tylko nie wiem co dokładnie. Czy ktoś mi może to wyjaśnić? Jaka jest różnica pomiędzy stanem bufora linii a...
po wyrzuceniu zbędnych rzeczy z tej procedury wyslij i przeanalizowaniu tego ;) wynika, że absolutnie obojętnie gdzie nie wstawisz ldi R20, 97 - czy przed pętlą czy w pętli to nie powinno mieć najmniejszego znaczenia dziwi mnie, że napisałeś: Gdy wrzuce ta procedure do petli a ldi r20, 97 zostawie za petla wtedy równiez działa dobrze co to ma oznaczać?...
Wydaje mi się, że niekoniecznie są to złe oscylogramy. Q to są linie danych więc mogą być chwilowo w stanie HiZ przy przełączaniu z odczytu na zapis i odwrotnie. Obciążone sondą mogą generować takie oscylogramy. Raczej nie. Zauważ, że oscylogramy z pozostałych linii danych wyglądają normalnie. Taka asymetria byłaby dziwna i raczej przejście do HiZ...
Masz tam kod w asemblerze więc analizuj.
Sorki, że tak długo czekałeś na odpowiedź ale przez ostatnie dni byłem nieosiągalny. Nie mam Atmega32 ale sprawdziłem na AT90S2313 i dioda się świeci. Program kompilowałem AVRA pod Windows (w pracy nie mam Linuksa) araz pod WAVRASM. Kod wynikowy jest w obu przypadkach identyczny. Są drobne różnice w pliku HEX, ponieważ AVRA dodaje jeszcze rekord typu...
Napisałem prosty program w asemblerze na ustawianie stanów wyjść lini portów i mam problem w napisaniu tego samego w języku C: [syntax=asembler] .nolist .include "m32def.inc" .list .cseg .org 0 sbi DDRB, 0 sbi DDRB, 1 sbi PORTB, 1 sbi PORTB, 0 petla: rjmp petla [/syntax] Powyższy program działa, ale niestety wszystkie programy napisane w języku C (program...
Cześć! Mam do zrobienia następujące ćwiczenie: Obsłuż układ z rysunku tak, by naciśnięcie przycisku S1 powodowało zaświecenie diody D1. Dioda D1 powinna od tej pory świecić, aż do powtórnego naciśnięcia przycisku S1 - wówczas dioda D1 powinna zgasnąć, a dioda D2 jednocześnie się zapalić. Oto schemat: 8874876500_1403362528|iRdN97tdaw Ponieważ na lekcji...
Piękna sprawa! Też robię zegaren na tej lampie i na ATmega8 i 2xULN2804... Tobie to wyszło prześlicznie, to drugi zegar który mnie się najbardziej podoba. Poza tym to gratuluję głowy do programowania, 1500 linii i to w Asemblerze no nielada wyzwanie:) Ja mam problemy w C a co dopiero w Asemblerze! Pozdrawiam moja ocena to oczywiście max!
Obciązenie linii nawet opornikiem 22kohm konczy sie wykryciem błędu przez sterownik w aucie. Nalezy uzyc conajmniej tranzystora który po pierwsze wzmocni , odizoluje w pewnym zakresie oraz przeniesie pozimo z 0-12 na 0-5v Dodano po 3 Od regulacji cisnienia jest regulator a pompa może sobie dawać ile zechce. A regulator jedna koncówką jest podpiety...
Programowe generowanie sygnału video w jakimkolwiek standardzie jest zadaniem krytycznym czasowo, dlatego bez asemblera niewiele zwojujesz. Nawet w asemblerze trudno uzyskać więcej niż 100 punktów w linii. Zresztą zerknij na: Rejestrator przebiegów cyfrowych - przystawka do TV z EP Rejestrator przebiegów analogowych - przystawka do TV z EP [url=http://ep.com.pl/files/5337.pdf]3,....
Ja wiem że to nie ma sensu bo nie działa. Dlatego potrzebuję pomocy. Sens mają jedynie pierwsze trzy instrukcje. Do instrukcji MOVC. Po tej instrukcji procesor generuje krótki sygnał "niski" na nóżce PSEN (o co zresztą chodziło). Tym sygnałem niskim poprzez diodkę i jumpery (patrz schemat) wprowadza w stan niski trzy piny portu P0 (pin P0.4, P0.5 i...
Niezły delay w stosunku do reszty świata. Nawet jeśli MCHP kupi ATML to wątpie, aby zamknęli linię AVR. Pozatym Microchipowi chyba bardziej zależy na 32-bitowych Atmelach, no a AVR to tylko w Polsce (dzięki Bascomowi) mają takie rzesze fanów. Microchip mimo wszystko już dawno jest zwyciężcą. A jak wiadomo "zwyciężcy biorą wszystko"
Cóż, zawsze możesz podpiąc odpowiednio druciki z portu A do portu B i mieć to sprzętowo ;) Żart oczywiście, tracisz 16 linii na to. Ale zadziała.
Witam Nie wiem czy trafiłem do odpowiedniego działu, ale prosiłbym o pomoc w napisaniu aplikacji pod łącze RS232 na mikrokontroler PIC16F84 w języku C lub Asemblerze. Aplikacja ta miałaby za zadanie manipulację linią RTS by ta miała odpowiednie stany podczas transmisji, czyli 1 przy nadawaniu a 0 przy odbieraniu. Prosze o pomoc Pozdrawiam
Z SPI będzie problem, bo organizacja tego wyświetlacza jest taka, że musi dostawać 4 bity na takt zegara, a SPI daje 1. Chyba, że chciałoby Ci się przerabiać wyświetlacz. Wg specyfikacji powinieneś zapisywać 4 bity (dwa piksele) co ok. 14us. To nie jest problem, nawet w obsłudze przerwania, zwłaszcza, jakby to napisać w asemblerze. Tym niemniej, na...
komentarze ;) .EQU DATA = 5 ; zdefiniowanie pinu w uC na którym będzie sygnał DATA .EQU CLOCK = 6 ; -------------- || ---------------------------------- CLOCK .EQU CHIP_ENABLE = 7 ; ------------------|| ------------ CHIP_ENABLE ;parametry wejściowe ; ; 3 bajty danych do wysłania umieszczone w SRAM ; pod adresem dane: send: ldi XL, Low(dane) ; ładujemy...
Rozumiem, że chodzi Ci o "zagęszczanie" przechowywanej w pamięci tablicy V^0.16. Akurat ten poprzedni przykład to była ekstrapolacja, bo wynik był liczony poza punktami, ale idea jest mniej więcej słuszna. Dokładnie przy interpolacji liniowej puszczasz linię prostą między kolejnymi punktami krzywej i traktujesz punkty na niej jako wartości funkcji....
popełniłem swego czasu taką obsługę Getrc5 w przerwaniu z wykorzystaniem bitu Toggle, który przydaje się do sprawdzenia czy mamy wciąż wciśnięty klawisz - wtedy zmienna Repeat = 1 a gdy tylko raz to Repeat = 0. To się czasem przydaje i fajnie można wykorzystać, oto przykładzk - hmmm może troszkę rozbudowany bo z wstawkami asemblerowymi ale można je...
Zrób wstawkę asemblera do przejścia na nastepną linie.
Komunikat sugeruje że gdzieś wewnątrz bibliotek dll jest problem z przekazywaniem sobie jakiegoś argumentu. Nietrudno to zgadnąć, że występuje problem. Pytanie gdzie i jaki? Tak, ale ja badam kod jaki podesłałeś, podaje możliwe przyczyny dla tego konkretnego kodu, nie wiem co siedzi w pozostałych 4 tysiącach linijek i nawet mnie to nie obchodzi. Odpowiedziałem...
Witam loop03: ljmp loop03 ; nieskończona petla W tej linii jest koniec programu. Procesor nic nie robi. Działa chociaż zgodnie z założeniami ten program :?:. Pozdrawiam
Witam, Postanowiłem sobie napisać program w C, który wyświetla na ekranie TV jakiś obrazek.. Chciałbym do tego użyć języka C, beż użycia asm,którego w ogóle nie znam. Tutaj można zdobyć trochę wiedzy: !!Uwaga poprany i działający kod jest [syntax=c] #include <avr/io.h> #include <util/delay.h> #include <avr/pgmspace.h> uint8_t PROGMEM...
Trochę niegrzecznie, nie uważasz? Potem się dziwicie, że ktoś się daje sprowokować i wygarnie wam tak, jak na to zasługujecie. Naprawdę jesteś żałosny. Odpowiedz czy całe spektrum zagadnień (do którego się odnosisz) nie pokrywa tematów RTOS, systemów plików, graficznych LCD itd? Bo naprawdę w jednym zdaniu sam sobie zaprzeczyłeś. Kto nam niby wygarnia?...
Pytanie jak zrobić przeszukiwanie kolejnego indeksu po stwierdzeniu, że pierwszy jest nie poprawny? Bez modyfikacji funkcji Lookdown w bibliotece mcs.lib , raczej nie ma możliwości. Jeżeli znasz asembler możesz zmodyfikować funkcje _LOOKDOWNBYTE i _LOOKDOWNINT . Można też wykorzystać instrukcje RESTORE i READ do przeszukania tablicy: [syntax=basic4gl]$regfile...
Albo zrobić na XMEGA, co nie wymaga kombinowania w asemblerze, można to napisać w czystym C. Masz 32 MHz bez przetaktowywania, czyli pewne działanie, + DMA, dzięki czemu procek praktycznie sprzętowo generuje obraz, więc może albo spać, albo robić inne pożyteczne rzeczy. Cały kod generacji obrazu to jakieś 20 linii.
Jestem na O0, breakpointy mam w pierwszych liniach main, program działa tak: Przede wszystkim przejdź do widoku asemblera i tam zobacz jak wygląda wykonywanie programu. Breakpointy też postaw na instrukcjach asemblera, przed main. Czasami informacje o debugowaniu, pomiędzy C a asemblerem się rozjeżdżają, chociaż dla O0 nie powinno mieć to miejsca....
OK. A teraz co z tym kodem? czy w zaznaczonych liniach są podane kody z pilota?
Witam! Jak dokładnie działa funkcja TEST w asemblerze 8086? Mam taki króciutki fragment kodu: test ax,000Ch jnz ram_64 test ax,0008h jnz ram_32 w ax siedzi obecnie 16 bitowa wartosc, informujaca o obecnosci badz braku komponentów komputera (np. koprocesora, liczby pamieci ram itd.) Na bitach 1010001011011100 mieści się informacja dot. pamięci RAM. 00...
Witam. Gratuluje pomysłu, fajne urządzenie z b szerokim zastosowaniem. Mam kilka pytań do autora; 1 - jak się zapala pojedynczy piksel? To jest LCD 84pixle*84pixle? tzn jest 7056 wszystkich pixli? Jeżeli tak to jak to jest realizowane? 2 - na laborkach uczę się C++ w Visual studio 2005 i patrząc na Twój program większość była dla mnie zrozumiała, pytanie...
A czym ten błąd się objawia? Podałeś cząstkowy fragment kodu z którego nic nie wynika, jak umieścisz całość to nikomu się nie będzie chciało przeglądać tyle linii kodu...ot uroki pisania w ASM.
Cześć Proponuję poczytać o adresowaniu bitowym. Wszystko się rozjaśni. Krótko mówiąc te instrukcje SETB i CLR zmieniają stan linii 1 na porcie 5 w celu wygenerowania opadającego zbocza na wejściu CLK układu 574. powodzenia
74HC(T)574 to moje ulubione latche... ;) Za Chiny Ludowe nie jest jestem w stanie dojrzeć sensownego przeznaczenia niektórych zmiennych, ich nazwy z niczym się nie kojarzą, a można by było zamiast lakonicznego "NrX" dać nazwę zgodną z funkcją, jaką ona pełni. Brakuje również komentarzy w kodzie, przez co trudno jest się połapać. Po co notorycznie do...
choć nie mam pomysłu jak formalnie wymienione przez Ciebie kwestie rozwiązać , to i tak nie uwierzę że się nie da. W tm kontekście wiara w Jawę czy C takie czy inne wygląda jednako podejrzanie. Przecież nikt Ci nie każe. Ja osobiście zachęcam fanów asemblera do pisania w nim. Szczególnie ARM lub x86. Ja co prawda przez ostatnie 10 lat może napisałem...
I zobacz w okienku podgladu asemblera czy coś w ogóle jest w tych liniach a nie zostało jakos zoptymalizowane. W dalszym ciągu nie napisałeś co się wyświetla jak najedziesz kursorem na breakpoint. Kliknij prawym klawiszem na nim i spróbuj go aktywować.
W zasadzie to ten układ miał poprawnie pracować. Nasiedziałem się nad tym trochę. Szczególnie nad kodem. Nie tak łatwo napisać w asemblerze ponad 600 linii kodu. Najtrudniej było stworzyć programowe dekodowanie DCF. Natomiast wygląd jest dla mnie drugorzędny. Dziękuję wszystkim za komentarze. Poniżej fotka w nocy. 74141 zastosowałem tylko jeden, bo...
Nie do końca rozumiem o co Ci dokładnie chodzi. Masz wyświetlacz 2x16 tak.:?: I chcesz przerobić program żeby co i jak wyświetlał.:?: Wszystko w jednej linii, czy w dwóch liniach.:?: W jakim języku jest napisany program - asembler, C, bascom.:?: Potrzeba więcej info wtedy można myśleć o pomocy. Pozdrawiam
(at)tomasz249 Co robisz źle? Po prostu nic nie robisz, kręcenie myszą po ekranie nic nie zmienia :) Pisałem ci, że podgląd masz w oknie C, a nie disassembly, w którym masz podgląd asemblera. Poza tym nie postawiłeś breakpointa, bo nie można postawić breakpointa na pustej linii. Czasami automatycznie to przeskoczy na najbliższą instrukcję, czasami nie....
Pętla w BASIC'u przepisywała dane z linii DATA a potem następował skok do początku programu napisanego w asemblerze. BASIC na początek jest dobry tylko ale tylko asembler pozwala wydobyć całą moc z Commodore :)
(at)alienHater Zrobienie multipleksowania to parę linii kodu, to jest przyjazne nawet w asemblerze :) Przy okazji pomyśl o użyciu dedykowanych układów do sterowania LEDami - np. coś z serii SCT - masz rejestr z buforami z kontrolą prądu. W jednym scalaku masz nawet 16 bitów, więc można też zrobić sterowanie statyczne wyświetlaczami.
Procesor uznalem za uszkodzony, po napisaniu kilku prostych programów w asemblerze nie uzyskalem rezultatu. Efekty jak wyżej Dzięki za Pomoc.
Nie pamiętam co oznacza błąd 113 przesuń trochę ekran z błędami żeby było widać koniec linii. Czy wybrałeś odpowiedni procesor w projekcie ?
Proszę sobie ściągnąć komponent do Delphi o nazwie VarianAsync. Jest tam możliwość kontrolowania wszystkich linii portu szeregowego :D
Witam ponownie. Przygotowałem obrazek zmian w schemacie, które rozwiążą problem kresek na ekranie w czasie skrolowania. Między wejście adresów EPROM generatora znaków dodałem zatrzask ośmiobitowy, który zapamiętuje adres mozaiki znaku w czasie gdy procesor ustawia aktywny stan linii !M1, czyli zero logiczne. W tym czasie na szynie adresowej jest adres...
ldr pc,[pc,#-0xFF0] // IRQ - read the VIC Taki sposób wejscia do przerwania jest najszybszy, ale po pierwsze: funkcja przerwania musi byc w trybie ARM, po drugie zdaje mi sie ze z zagniezdzania przerwan nici. To a propos przerwan w trybie THUMB. Zwroc uwage, ze to cos powyzej jest kodem ARM, ktory skacze sobie gdzies, gdzie mu VIC kaze, jednak bez rozpoznania,...
w asemblerze robisz normalnie jb bit jnb bit gdzie bit jest odpowiednim bitem rejestru
Poza tym, czemu najpierw podajesz rozkaz, potem adres? Tak piszą w dokumentacji układu. Zrobiłem tak jak mi piałeś i ta linia z którą mam problem w asemblerze wygląda następująco: strb .
Z tego co poczytałem datasheeta do ATmegi to nieważne czy korzystam ze sprzętowego SS czy jakiegokolwiek GPIO i tak musze softwareowo sterowac linią SS. Odnośnie błędów w bibliotekach EP to jak na razie nie doszukałem się błędów. A od Yammpa są pod asemblera. No chyba że się mylę. Nie wiem dlaczego ale karta ciągle zwraca 0xFF (tzn nie steruje linią)...
fajne :) a jak zrobić żeby tekst był też w drugiej linii? bo mam wyświetlacz 2x16... pozdrawiam
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...
Chciałbym ulepszyć pewien produkt zbudowany w oparciu od STM32F101. Udało się zrzucić pamięć FLASH procesora, nie był zablokowany. Zawartość pamięci wygląda na poprawną, widać napisy wyświetlacza, można wyodrębnić funkcje. Mam problem ze zrozumieniem wektora startu. Obszar pamięci FLASH zaczyna się następująco: 0x08000000: 0x20000400 0x08000004: 0x080586F5...
równie dobrze możesz w bascomie wkleić rozkazy assemblera, ale na początku dopisz $asm a na końcu $end asm, reszta należy już do kompilatora. Jeśli wyskoczy Ci jakiś błąd, to na 90% będzie dotyczył etykiet (czyli nazwy części programu np. loop: albo koniec: albo start:) po takiej etykiecie może być tylko dwukropek, następny rozkaz asemblera powinien...
Kolega dał Ci kod do Asemblera;) Widzę, że koledze NIC się nie chce... kolega zajrzy do helpa bascoma...tam jest jestem pewny trochę przykładów naciśnij puść przycisk... Przeraża mnie, że dzisiaj zamiast się spróbować nauczyć młodzi elektronicy mówią, ale nie dawaj mi takich źródeł daj mi binarki... a najlepiej jeszcze powiedz jak wgrać...albo nawet...
Witam, mam na zaliczenie z pracowni napisać taki program: na wyświetlaczu LCD w Dsm-51 w pierwszej lini ma być moje imie i nazwisko a w lini pod spodem imie i nazwisko kolegi z tym ze ma zawierac polskie znaki.z tym sobie umię poradzić. problem jest w tym ze po naciśnięciu klawisza ENTER na klawiaturze matrycowej imiona i nazwiska mają się zamienić...
No to pozostaje mi raczej użyć (sprawnej) przejściówki RS232->USB. Jedną kupiłem na allegro ale przekazuje same krzaczki... Co do obsługi paru linii UART może to będzie dla kogoś wskazówką: http://www.ucapps.de/midimerger.html . Układ zbiera sygnał z dwóch linii MIDI i łączy sygnał. Jest na tej stronie kod w asemblerze. Może jeśli ktoś się na tym zna...
https://obrazki.elektroda.pl/6848039300_... Ogranicznik czasu pracy to dość banalne urządzenie włączane pomiędzy mechanicznym włącznikiem ciśnieniowym a pompą, mające ochronić ją przed przegrzaniem (skutkiem suchobiegu). Zasada działania: 1. Po włączeniu zasilania przekaźnik jest włączony i zaczyna się odliczanie 100 sekund (w normalnej...
czujki linię wychodzące linię przedzwonić linię
schemat magnetofon sprawdzić tętnienia oscyloskopem elektrozaczep brzeczy
bester prostownik schemat zamrażarka whirlpool
Jak zmierzyć 230V oscyloskopem FNIRSI 1013D? Telewizor wyłącza się po 5 minutach, migająca kontrolka