Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 26 kwi 2024, o 11:24


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 27 lip 2017, o 20:32 
Offline
Nowy

Dołączył(a): 02 mar 2016
Posty: 6
Pomógł: 0

Czy ktoś może wskazać jakiś kurs, książkę która omawia od podstaw programowanie za pomocą asemblera dla kogoś kto w ogóle jeszcze nie pisał programów i nie zna żadnych języków programowania ani środowisk. Bo rady w stylu czytać, czytać nic nie dają, bo człowiek czyta i nie rozumie czytanej treści więc przestaje czytać.
Swego czasu przeczytałem (do miejsca w którym przestałem rozumieć) książkę: "Podstawy programowania mikrokontrolera 8051" Piotra Gałki, ale w pewnym momencie następuje tam zbyt szybki przeskok - tak jakby w książce brakowało kartek ;) i ktoś kto kompletnie nigdy nie pisał programów nie za bardzo wie o co chodzi. Więc dla mnie są to tylko podstawy, ale tylko znajdujące się w... tytule książki, a z treści już coś innego wynika i ściana nie do przejścia, bo nie ma tam podstaw na których bazują tamtejsze podstawy :). I nagle człowiek nie chce już dalej tego czytać i nawet wykonywać tych ćwiczeń z zapalaniem diodki na porcie, bo nie wie skąd się taki a nie inny zapis wziął i dlaczego właśnie tak a nie inaczej jest to realizowane i skąd realizator wziął na to pomysł, że mu te a nie inne rozkazy wpadły do głowy aby daną czynność mu kontroler wykonał.
A nie chodzi o to by przepisywać bezmyślnie to co książka nam nakazuje klepać i kompletnie tego nie rozumieć. Bo co to za nauka w bezmyślnym przepisywaniu gotowca?
I wyszło w trakcie czytania na to, że ta książka o podstawach była pisana dla kogoś kto już się w miarę orientuje w samym asemblerze, a ja się nie orientuję i podstawy tam zawarte okazują się kosmosem.
Przejrzałem też książeczkę: "Mikrokomputery jednoukładowe rodziny mcs-51" Andrzej Rydzewskiego - to taki katalog, gdzie są opisane wszystkie rozkazy. Opisy tam także są dla ludzi już trochę wtajemniczonych - więc po prostu kompletny nemo może sobie tylko poczytać i gdybać tylko o co tam dokładnie chodzi w takim rozkazie i jak to do końca działa i co robi.
I teraz ja potrzebuję dalej rozwinąć ten temat, aby były pokazane rozkaz po rozkazie i przykłady ich zastosowania. Czyli ćwiczenia - celem zrozumienia jak to w całości gada i działa - że sobie nawet klepiesz ręcznie kody Bajtowe rozkazów, wstawiasz je do pamięci (np. jakiś SRAM z podtrzymaniem bateryjnym jako pamięć programu - tak jak w pierwszych miesięcznikach EdW z lat 90 były takie sterowniki węży dyskotekowych gdzie ręcznie zapełniało-programowało się pamięć kolejnymi Bajtami, taka metoda jak kojarzę była też stosowana w historycznym kursie-książkach o Z80 seria MIK1,2,3,... - autorstwa Stanisława Gardynika. Gdzie maszynowe kody rozkazów do zestawu edukacyjnego klepało się ręcznie bez jakiś tam asemblerów) - stąd muzealny 8051, do którego możemy sobie zapiąć zewnętrzną pamięć i bawić się do końca bez paniki, że EEPROM zaniemógł po 3 miesiącach katowania setkami przeprogramowań. Dzięki zewnętrznej pamięci widzieć co się konkretnie dzieje na liniach adresowych i danych pamięci, jak te dane "wylatują" z pamięci do kontrolera (bo sobie np zegar taktujący zwolnimy do kilkunastu Hz), które można wizualnie obserwować na diodkach podłączonych do tych magistral. A jak się na muzealnej kostce załapie temat to dopiero przejść na nowsze współczesne kontrolery typu AVR i wyżej.
Wstawiamy sobie np kilkanaście Bajtów takiego kodu maszynowego (bez nawet asemblera) klepiemy ręcznie kody rozkazów komórka po komórce pamięci do takiej pamięci zewnętrznej i patrzymy co kontroler sobie z tym będzie robił jak reagował, co się stanie jak jeden bit w rozkazie czy danej zmienimy, itp.
Więc chodzi o takie dziecinnie proste ćwiczenia-testy od najprostszych do bardziej zaawansowanych.
Czyli zaczynające się od kodu 00000000 - nic nie rób. A potem przez kolejne rozkazy typu aby na całym porcie wskoczyły jedynki a po 50 cyklach maszynowych zmieniły się na zera - tak aby można było dostrzec praktyczne zastosowanie każdego z rozkazów i co nam oferuje takowy. A potem jakieś generowanie fali prostokątnej na porcie, potem generowanie n-impulsów, a skończywszy na rozgryzieniu w ten sposób np. generowanie szablonu-ramki do obsługi magistrali i2c, gdzie do gotowca można potem powstawiać swoje dane i gadać z dowolną kostką po i2c. A potem spróbować zrozumieć jak wygenerować kompletną komunikację na jeszcze starszej magistrali 3 szynowej używanej np przez kostkę SAA1057.
Jest gdzieś coś takiego pokazane, opisane, wyjaśnione kawa na ławę? Czy raczej marzenie ściętej głowy?
Bo bez podstaw zrozumienia jak to w całości się kręci nie widzę sensu przechodzenia na wyższe poziomy, skoro podstaw nie rozumiem. To tak jak grzebać przy silniku nie rozumiejąc jak on działa w środku.



Ostatnio edytowano 27 lip 2017, o 21:03 przez rezerwa, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lip 2017, o 21:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 gru 2013
Posty: 121
Pomógł: 16

Dla mnie kultową pozycją jeśli chodzi o zrozumienie asemblera w sposób uniwersalny od podstaw jest poradnik "Mikroelektronika moje nowe hobby - MIK02" Stanisław Gardynik. Książka z 1986 roku. Nie ma i prawdopodobnie nie będzie nigdy tak genialnie napisanej książki traktującej o kodzie maszynowym. Książka napisana przez wybitnego człowieka i hobbystę , który chyba jako pierwszy na świecie skonstruował system komputerowy klasy embedded dla szerokich mas.

_________________
http://strefapic.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lip 2017, o 21:10 
Offline
Nowy

Dołączył(a): 02 mar 2016
Posty: 6
Pomógł: 0

Właśnie o tej serii pisałem. Czy ktoś coś podobnego dla mcs51 wydał, opracował?
Tamtejsze ćwiczenia głównie opierały się na dedykowanym zestawie.
A ja zwyczajnie na płytce stykowej chcę wsadzić jakiegoś 80C31, do niego przez zatrzaski 573 dopiąć SRAM 6116 - jako pamięć programu - z baterią podtrzymującą zawartość, którą do niego sobie wklepiemy (mogę go programować - spreparowaną podstawką z podtrzymaniem napięcia - programatorem Wellon VP jaki mam na stanie z pliku HEX, który na tą okoliczność klepnę-wygeneruję jakimś edytorem HEX sobie na kompie Bajt po Bajcie gdy będę wiedział co mam klepać).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lip 2017, o 21:17 
Offline
Użytkownik

Dołączył(a): 25 cze 2015
Posty: 97
Lokalizacja: Gdańsk
Pomógł: 1

Cześć.
Polecam Ci książkę Mikrokontrolery AVR ATmega w praktyce autorstwa R. Baranowskiego. Jest świetna. Kilka lat temu zaczynałem przy jej pomocy zabawę z mikrokontrolerami serji avr. Jest do niej również dedykowana płyta ewaluacyjna firmy kamami zl3avr choć na płycie atb też napewno można wszystkie projekty opisane w tej książce wykonać.
Natomiast jeśli nie myślisz o mikrokontrolerach to polecam książkę Zrozumieć asembler autorstwa Jeff Duntemann.
Tylko nie wiem czy ta pozycja jest jeszcze do dostania bo ją kupiłem jakieś 17-18 lat temu i dzieki niej napisałem coś na PC.
Obie te książki wprowadzają czytelnika w pewne podstawy elektroniki cyfrowej. Bo nie bardzo się da pisać programy w asemblerze jeśli nie masz pojęcia o procku. Trzeba go najpierw trochę poznać i dowiedzieć się jak z nim gadać i co on kuma i jak to robi.
Dla mnie osobiście asembler jest prostrzy od języka c. Teraz poznaje pomału c i się pocę. Z drugiej strony asembler jest strasznie ale to strasznie pracochłonny.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lip 2017, o 22:37 
Offline
Użytkownik

Dołączył(a): 27 lis 2012
Posty: 289
Pomógł: 6

Polecił mi to koleś z forum. Dobre
https://schweigi.github.io/assembler-simulator/

popatrz też
https://scratch.mit.edu/projects/881462/#player



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2017, o 00:29 
Offline
Użytkownik

Dołączył(a): 29 lip 2014
Posty: 195
Pomógł: 44

Witam,

Kol rezerwa , zainteresował mnie Twój post, i aż się łezka w oku zakręciła... Niestety nie pomogę Ci, jeśli chodzi o literaturę, natomiast ja na Twoim miejscu darowałbym sobie rozwiązanie z 8031, a już na pewno nie robiłbym tego na płytce stykowej. "Coś" ;-) Cię trafi już po paru próbach, za dużo połączeń, jak na płytkę stykową, stale coś nie będzie łączyć, a Ty nie będziesz wiedział dlaczego nie działa: czy program nie taki - bo coś źle zrozumiałeś, czy to znów brak styku... Ja kiedyś, w zamierzchłych czasach popełniłem coś takiego: tzn: 8032 + HCT573 + 6164 *2 ( jedna jako RAM, druga na pamięć programu - podtrzymywana właśnie bateryjnie, tą zastąpiłem emulatorem EEPROM-a, który to miałem podłączony do PC) - ale zrobiłem to na płytce uniwersalnej i wszystkie połączenia wykonałem lutując cienkie przewody, wyprute z jakiegoś kabla... I to jest rozsądniejsza opcja, a najrozsądniejsza, moim zdaniem poniżej:
Jeśli koniecznie chcesz to robić na płytce stykowej, to zaopatrz się w AT89C51 ( albo AT89C52 ) i programuj go przez ISP ( Jeśli masz PC z portem LPT, programator jest trywialny, w razie czego - służę pomocą). Gwarantowana trwałość FLASH-a to 10k cykli, a układy te nawet w detalu kosztują grosze, więc skupiłbyś się na programowaniu, a nie na walce z płytką stykową. Na magistralach: adresowej i danych tak naprawdę za wiele do oglądania nie ma, a jak "załapiesz", o co chodzi z uC, to szybko darujesz sobie klepanie "bajt po bajcie", i albo zaczniesz pisać w .asm, albo... rzucisz to " w diabły" ( lub zaczniesz pisać np. w "C").
Ja osobiście, już się z tego wyleczyłem, do tego stopnia, że nawet nie zagłębiałem się w assemblera ARM... ( Ale to temat na dłuugą opowieść ;-) ).

Pozdrawiam serdecznie, QuadMan.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2017, o 10:48 
Offline
Użytkownik

Dołączył(a): 07 kwi 2013
Posty: 33
Pomógł: 4

Cześć
Był prowadzony kurs na 51 w EdW. Jak dobrze pamiętam to chyba było od 4/97. Były to podstawy podstaw.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2017, o 11:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

Procesor 8051 czyli maszyna cyfrowa o architekturze Von Neumana. Podstawy podstaw tej maszyny znajdziesz w podręczniku Stefana Węgrzyna "Podstawy informatyki" lub nowszym "Wykłady z podstaw informatyki prof. Stefana Węgrzyna"- praca zbiorowa. Pytanie czy nie za bardzo wracamy do Adam i Ewy ? ;)

Pozdr.

Znalazłem w swojej biblioteczce,
Piotr Gałka, Paweł Gałka "Podstawy programowania mikrokontrolera 8051".

Jak wprowadziłem w goole zapytanie:

gałka podstawy programowania mikrokontrolera 8051 pdf

link do pdf wyskoczył mi na trzeciej pozycji.

Przyjrzyj się ,jak to nie to , to delete.



Ostatnio edytowano 28 lip 2017, o 15:10 przez maverick_as, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2017, o 12:14 
Offline
Użytkownik

Dołączył(a): 06 maja 2014
Posty: 415
Lokalizacja: Kraków
Pomógł: 26

Jeśli już rozmawiamy o procesorach '51 - widzieliście rodzinę EFM8 firmy Silicon Labs? Procki z rdzeniem 51, fajnymi pryferiami, na dodatek bardzo tanie (najtańsze około 2zł, takie bardziej wypasione ok. 5zł).
Wpadły mi w oko, niedługo potestuję.

Do autora - jest też książka "Podstawy programowania mikrokontrolera 8051", czasem w internecie można wyszukać instrukcje z laboratoriów prowadzonych w technikach / na studiach.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2017, o 17:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 maja 2013
Posty: 174
Lokalizacja: Kraków
Pomógł: 8

Chyba najlepszy kurs jaki powstał na 8051 w języku polskim, ma już 20 lat:
http://www.academia.edu/4694509/Program ... _kurs_Ed_W

_________________
Rozwój i utrzymywanie Oprogramowania



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lip 2017, o 10:25 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2562
Pomógł: 126

Do tego co chciałbyś poznać to idealnie nadaje się zestaw p. Gardynika - CA80. Sam go składasz, uruchamiasz i testujesz. Sam na takim sie uczylem ale bylo to z 25 lat temu (i mam go do dziś). Ale tak jak wspomnieli koledzy, lepiej pójść w coś co ma wbudowanego flasha.

Sent from my Mi-4c using Tapatalk



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO