Krzysztof Wesołowski Programowanie, elektronika, automatyka – doświadczenia i projekty

4lis/09

Symulacja działania mikrokontrolera opartego o rdzeń 8051

Do samodzielnych eksperymentów z wspomnianym uC (nie na sprzęcie w laboratorium czy własnej płytce) przyda się nam jeszcze symulator rdzenia 8051. Z wielu dostępnych symulatorów, w większości jednak starych lub nie w pełni funkcjonalnych wybrałem moim zdaniem najlepszy, napisany w Javie, pozwalający od razu przetestować współpracę w podstawowej konfiguracji sprzętowej (P1 podłączony do linijki diodowej/wyświetlacza 7-segmentowego). Ponadto umożliwia on pisanie bezpośrednio w oknie kodu ASM, a ewentualne błędy wskazuje znacznie celniej niż stare programy asemblujące kod.

Wadą symulatora jest fakt, iż znalazłem go w formacie JAR, co czasem sprawia problemy z uruchomieniem (kilka osób zgłaszało iż  musiało zainstalować od nowa JRE).

Symulator rdzenia '51

Wkrótce zamieszczę proste programy napisane w tym symulatorze, będzie wtedy okazja dokładniej zerknąć w akceptowaną przez niego składnię.

4lis/09

Assembler 8051 – materiały do nauki, pierwsze sprawozdanie.

W ramach przedmiotu Technika Mikroprocesorowa (czy coś podobnego:)) na zajęciach zaczęliśmy zabawę z uC opartym o rdzeń '51, produkowany przez firmę Atmel. Ze względu na małą ilość spójnych informacji na temat programowania i działania tego uC którą udało się znaleźć postanowiłem zebrać i opublikować informację umożliwiające "rozpoczęcie przygody" :).

Po pierwsze jako źródło informacji na temat samego rdzenia poza książkami (np. dobrą pozycją pana Rydzewskiego) polecam:
Atmel 8051 Microcontrollers Hardware Manual (oryginalny plik na serwerze Atmela)
Atmel 8051 Microcontrollers Hardware Manual (lokalna kopia na tej stronie)

Zaś więcej szczegółów na temat konkretnych mikrokontrolerów można znaleźć w Datasheetach producentów. Dla dostępnych w budynku b1, s. 315 płytek deweloperskich sa to układy AT89S51 Atmela:
AT89S51 Datasheet (oryginalny plik na serwerze Atmela)
AT89S51 Datasheet (lokalna kopia na tej stronie)

Poniżej zamieszczam link do sprawozdania z  drugiego ćwiczenia (pierwsze polegało na mruganiu diodą w pętli głównej, niestety nie byłem na nim obecny). Zawiera ono pierwszy program, przygotowany koncepcyjnie/na symulatorze przeze mnie i Kubę Tutro (ale napisany na zajęciach), oraz drugi napisany już na zajęciach prezentujący działanie PWM w celu regulacji jasności świecenia diod. Oba programy pisałem na zajęciach wspólnie z Pawłem Górką, on również uzupełnił komentarze i przygotował sprawozdanie w formacie PDF.

Sprawozdanie z laboratorium 8051. Paweł Górka, Krzysztof Wesołowski

3lis/09

Modelowanie i symulacja serwomechanizmu liniowego i nieliniowego

Tym razem sprawozdanie z Podstaw robotyki - aby uatrakcyjnić raczej szablonowe ćwiczenie duży nacisk położełem na dobraniu nastaw za pomocą pakietu Simulink Design Optimization. Dokument jak zawsze w formacie PDF:

Sprawozdanie 1 - Modelowanie i symulacja serwomechanizmu liniowego i nieliniowego

1lis/09

Wprowadzenie do Simulinka

Zamieszczam sprawozdanie numer 2 - poza wprowadzeniem do Simulinka rozszerzające temat integracji dwóch narzędzi i programowego uruchamiania (wielu) symulacji.

Sprawozdanie numer 2 z MSD w roku akademickim 2009/10

12paź/09

Wprowadzenie do Matlaba

Tradycyjnie zamieszczam sprawozdanie z pierwszego w tym roku laboratorium, tym razem z przedmiotu modelowanie systemów dynamicznych.

Sprawozdanie numer 1 - Wprowadzenia do Matlaba

7paź/09

Program prezentujący działanie algorytmów działających na grafach

Przy okazji podnoszenia jednej oceny powstał prosty program prezentujący 3 algorytmy operujące na grafach. Pozwala on wprowadzić dowolny graf, o rożnych wagach a następnie prezentuje jego rozwiązanie krok po kroku.

Program powstawał  przy mniejszej lub większe niechęci przez wakacje. Pierwsza część programu to edycja i implementacja struktur grafowych.  Klasy tam zaimplementowane pozwalają zaprojektować graf, zapisać go/wczytać i uruchomić fragment prezentujący dany algorytm. Drugą częścią jest abstrakcyjna klasa AbstractSolver, ułatwiająca pisanie klas rozwiązujących o spójnym wyglądzie i funkcjonalności. Właśnie te 3 przykładowe algorytmy stanowią drugą cześć, stworzoną już nie przeze mnie ale przez Jakuba Tutro i Pawła Górkę.