Kurs Bascom

W dziale tym chciałbym wykonać mały kurs Bascom dla początkujących. Jest to język programowania umożliwiający pisanie prostych nie skomplikowanych programów do np. mikrokontrolerów kontrolerów AVR. Mikrokontroler AVR to rodzaj malutkiego mikrokomputera zamkniętego w obudowie układu scalonego. Możliwości jakie daje pisanie własnych programów na mikrokontrolery są ogromne, mikrokontroler może sterować zarówno świeceniem żarówki jak i lotem promu kosmicznego. Całe piękno tych rozwiązań leży w tym, że ten jeden prosty układ scalony plus kilka elementów pobocznych realizuje takie same funkcje jak skomplikowane wielokrotnie bardziej złożone układy analogowe, a każda zmiana w układzie elektronicznym sprowadza się raczej do zmian w linijce programu mikrokontrolera, a nie jak to ma miejsce w układzie analogowym do zmian wielu elementów elektronicznych. Po za tym układy cyfrowe maja o wiele większe możliwości odnośnie swoich funkcji i możliwości. Np, wyświetlenie na wyświetlaczu telefonu komórkowego prostego napisu zmieniającego się w czasie przy użyciu układu analogowego wymagałoby bardzo skomplikowanego i dużego gabarytowo modułu. Mikrokontroler wykonuje to samo zadanie i wiele innych przy wielkości ludzkiego paznokcia. Zatem zachęcam do skorzystania z kursu. Bascom to świetna zabawa przede wszystkim i dobry start przez prawdziwym programowaniem w C++ i Asemblerze. Co będzie potrzebne aby zacząć ?

1. Mikrokontroler AVR.

Jest to układ scalony jak na obrazku. Widać tu Atmega8 jest to układ którego używa się najczęściej, posiada 8kB pamięci, którą możemy zapełnić naszym programem, 1kB RAM i maksymalne taktowanie na poziomie 16 Mhz. Oczywiście komputer PC to to nie jest, ale nie zapominajmy, że układ ten wykonuje proste operacje, nie musi utrzymywać Windowsa, ani innych skomplikowanych rzeczy. Jest wykonany w architekturze RISC, czyli takiej samej jak znane komputery Macintosh. Jego moc obliczeniowa w porównaniu do architektury Pentium to jakieś 70 Mhz. Układ występuje w obudowie SMD jak i w DIP28, ogólnie na początek radze darować sobie SMD, do nauki i prób najlepiej używać DIP. Koszt ok 3,5 zł. Niżej mamy zdjęcie mikrokontrolera Atmega32, jest to 2 najczęściej używany mikrokontroler, podobnie jak poprzednik ma maksymalny zegar 16 Mhz, ale juz 2 kB RAM i aż 32 kB programowanej pamięci, można to nazwać “dyskiem twardym”. Model na obrazku ma akurat maksymalny zegar 8 Mhz. Typowa obudowa to DIP40. W kursie będe używał głównie Atmega16 czyli to samo co niżej ale z 16 kB pamięci. Koszt tego procesora to ok 8 – 10 zł.



Inne popularne mikrokontrolery to Atmega128, z 128kB pamięci na już spore obszerne programy. Występuje w obudowie TQFP64, 64 nóżkowa obudowa SMD. Attiny2313, malutkie Attiny15 do bardzo prostych zadań. Nóżki mikrokontrolerów to w ponad 90% programowane porty wejścia wyjścia, za pomocą programu ustalamy czy znajduje się na określonej nóżce 0 czy 5 V czyli zero lub jedynka logiczna. Tymi prostymi sygnałami można włączać diodę czy światło lub pompę centralnego ogrzewania. Można też pobudzać funkcje specjalne na innych układach scalonych i wiele innych rzeczy. Koszt ok 20 zł.
2. Co trzeba mieć, aby zacząć przygodę z mikrokontrolerami ? Po pierwsze trzeba mieć książkę, np publikację Pana Marcina Wiązania jak na zdjęciu niżej. Koszt ok 50 zł. Opisy, programy, składnia języka Bascom itd… Niestety książka jest niezbędna, nauka bez niej będzie mocno utrudniona, a jeżeli ktoś uważa, że wystarczy mu sam internet, a książki nie musi kupować to się prawdopodobnie rozczaruje.

3. Kolejna sprawa to programator, jest potrzebny kabelek/interface do łączenia mikrokontrolera z komputerem PC w celu kasowania pamięci atmegi lub wgrywania programu napisanego na PCcie. Na dzień dzisiejszy polecam kabelek na COM, bardzo popularne są kabelki na LPT ale to ma dziś mało który komputer. Tak, że polecam zakup za około 30 zł programatora ISP na złączu COM, Fotka niżej pokazuje taki programator. Programator posiada opisane wyprowadzenia portów MOSI, MISO, SCK, Vcc, GND, reset, są to porty wymagane do programowania ISP, układ portów można odczytać z http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf proszę zajrzeć na stronę nr 2 i najlepiej ją sobie skopiować. Można też kupić programator na USB, ale tu mogą być problemy z konfiguracją połączenia.


4. No i w zasadzie najważniejsza część, czyli płytka startowa, płytka testowa. Jest to moduł jak na zdjęciu niżej. Na środku mamy mikrokontroler Atmega16, po lewej klawiaturę, wyświetlacz LED, diody led, potencjometry, u góry przycisk reset i złącze programowania. Obok wyświetlacz alfanumeryczny LCD 2×16 znaków, port COM (RS232), rezonator kwarcowy 8 Mhz, wzmacniacz analogowy, pamięć zewnętrzna 512 kB, złącze zasilania, niżej wyjścia mocy o obciążalności 500 mA. Jest też pole lutownicze do przylutowania dodatkowych urządzeń i zegar czasu rzeczywistego. Płytka testowa to procesor i dużo urządzeń do dookoła, które do tego procesora podłączamy kabelkami widocznymi na foto niżej, wszystkie urządzenia i sam atmel maja wyprowadzenia pinowe na te kabelki, jakiekolwiek babranie się z lutownicą nie jest potrzebne, a sama nauka przy pomocy takiego zestawu przebiega szybko przyjemnie i sprawnie, niestety bez takiego zestawu 90% czasu poświęcimy na lutowanie połączeń, szukanie pinów, sprawdzanie czy się nie pomyliliśmy itd …. Koszt takiego zestawu to około 180 zł w sklepie www.gotronik.pl sa inne konkurencyjne zestawy ale niestety maja albo to samo albo mniej funkcji, a cena sięga nawet 380 zł. Nie ma sensu przepłacać 100%, ten zestaw jest idealny do nauki i za normalną ludzką cenę. Zasilacz i programator też dostaniemy w sklepie GOTRONIK. Mamy tu wbudowany programator LPT i wystające piny na programator ISP.

Dalsze zagadnienia będą omówione wg punktów:

1. Oprogramowanie Bascom AVR i PonyProg 2000 – instalacja i konfiguracja.
2. Procesor Atmega16 – dokładny opis.
3. Fusebity i JTAG – czyli zdjęcie blokad fabrycznych procesora.
4. Ogólna struktura języka Bascom.
5. Piszemy 1 program – sterowanie 1 diodą led.
6. Program 2 – obsługa przycisków i dioda led.
7. Program 3 – obsługa wyświetlaczy alfanumerycznych i wyświetlanie naszego pierwszego napisu.
8. Program 4 – obsługa wielu diod led z użyciem rozbudowanej klawiatury.
9. Program 5 – sterowanie 7 segmentowymi wyświetlaczami LED.
10. Program 6 – Użycie PWM do regulacji prędkości silnika lub jasności świecenia diody i żarówki.
11. Program 7 – sterowanie wyświetlaczem lampowym typu VFD.
12. Program 8 – przykładu użycia funkcji Timer
13. Program 9 – przesyłanie danych w podczerwieni.
14. Program 10 – Użycie postu RS232 w Bascom.
15. Program 11 – zegary w układzie PCF, RTC i Timer
16. Program 12 – wykorzystanie magistrali 1-Wire do pomiaru temperatury.
17. Program 13 – budowa woltomierza na bazie przetwornika ADC z mikrokontrolera.
18. Program 14 – użycie zewnętrznej pamięci ROM.
19. Program 15 – Użycie wzmacniacza analogowego z atmelem.
20. Program 16 – Budowa prostego różnicowego sterownika solarnego.
21. Program 17 – MP3 Player w Bascom.
22. Program 18 – Obsługa wyświetlaczy graficznych.

Zostaw odpowiedź

Musisz zalogowany aby opublikować komentarz.