Bascom

Małe i troche większe programy służące do nauki i eksperymentów.
Pisząc je i rozbudowując zrozumiemy wiele tajemnic Bascom-a.
Przypominam, że we wszystkich pokazanych programach, zapisanie programu do procesora odbywa się przez gniazdo SPI, a kompilatorem jest programator pokazany na mojej stronie.


Program zegara.
  • Jak w 5 minut napisać program uruchamiający kalendarz i zegar.
Zegar i hasło.
  • Pokaże o jakim czasie naciśnięto klawisz. Nasiśnięty klawisz zostanie zapamiętany w Eprom.
Wpisz hasło i uruchom Port.
  • Wpisane hasło z klawiatury zostanie zapamiętane w Eprom, następnie na polecenie odczytane i uruchomi Port.

Program zegara sygnalizującego.
  • Jeśli pojawi się wybrana przez nas cyfra godziny, minuty lub sekundy usłyszymy alarm.
Zegar sygnalizujący upłynięcie założonego czasu.
  • Możemy nastawić np. 1 godzinę, 1 minutę i 30 sekund, by po upływie tego czasu usłyszeć alarm.
Rejestracja czasu zdarzenia.
  • Jeśli dotrze do procesora sygnał z zewnątrz, to czas tego sygnału zostanie zarejestrowany i można go odczytać na Lcd.

Dowolna data i czas wpisywane z klawiatury AT.
  • Program pozwala wpisać datę i czas z klawiatury AT już po zaprogramowaniu procesora. Następnie możemy wystartować czas w dowolnej chwili.
LM35 - czujnik temperatury.
  • Ten liniowy czujnik temperatury doskonale nadaje się do współpracy z mikroprocesorem.

Termometr LM35 mierzący temperaturę otoczenia.
  • Napięcie czujnika przekształcone na częstotliwość, a ten parametr odczytany przez mikroprocesor.
Cyfrowy generator małej częstotliwości.
  • Schemat i Bascomowy program prostej konstrukcji, cyfrowego genaratora małej częstotliwości z odczytem frekwencji na Lcd.

Sprawdzamy cykl zegarowy naszego programu.
  • Praktyczne rozważania na temat wyemitowania impulsu, następnie odebrania go i zmierzenia czasu jego trwania. Uczymy się emitować impulsy o znanym czasie.

Kalkulator. Dodawanie i odejmowanie czasów.
  • Aby dodać lub odjąć małe czasy, musimy operować liczbami z wieloma zerami po przecinku lub liczbami do potęgi ujemnej. Kalkulator zaoszczędzi Ci mozołu.

Kalkulator do mnożenia czasów.
  • Koniec z niewygodami podczas mnożenia czasów. Jeśli mnożysz np. mS i chcesz otrzymać wynik w innym czasie, np. uS, otwórz intewrfejs, ułatwi Ci życie.
Czas. Sprawdzamy, jaka to częstotliwość.
  • Wiesz np., że obwód scalony przełącza z szybkością nS, zobacz ile to jest w MHz.

Zmienna tablicowa z dziesięcioma miejscami.
  • Jak w programie wykorzystuje się Tablice.
Program z Tablicą. Zawiera instrukcję Lookdown.
  • Jak w programie wykorzystuje się Tablice. Przy pomocy zmiennej ustalamy kolejność miejsca znaku w tablicy.
Tablica z instrukcją Lookup.
  • Jak w programie wykorzystuje się Tablice.
Bity. Wpisujemy kod BCD.
  • Jak w programie wykorzystuje się bity. Sposób wpisu informacji kodem BCD.

Dekoder, demultiplekser.
  • Demultiplekser kodu BCD na kod dziesiętny z szesnastoma wyjściami na Atmega8.
Dekoder, demultiplekser.
  • Demultiplekser kodu BCD na kod dziesiętny z czterdziestoma siedmioma wyjściami na 3 x Atmega8.

Zapisywanie szeregowej pamięci Eprom.
  • Przykład zapisywania danych cyfrowych do szeregowej pamięci Eprom typu 24LCXX. Stosujemy interfejs I2C.
Tablica.
  • Zobacz jak zastosować tablicę w praktycznym programie Odbiór DTMF.

Sterowanie procesorem syntezy częstotliwości MC145151.
  • Przykład sterowania za pomocą liczników 40193. Częstotliwość wybieramy za pomocą klawiatury AT.
Sterowanie procesorem syntezy częstotliwości MC145151.
  • Przykład sterowania bezpośrednio z procesora. Częstotliwość wybieramy za pomocą klawiatury AT. Bez skanera.
Sterowanie procesorem syntezy częstotliwości MC145151.
  • Przykład sterowania bezpośrednio z procesora klawiaturą AT. Tylko skaner, bez wybierania kanałów.
Sterowanie procesorem syntezy częstotliwości MC145151.
  • Przykład sterowania bezpośrednio z procesora klawiaturą AT. Wybieranie ręczne kanału lub skanera. Kroki skanera za pomocą polecenia Wait.
Sterowanie procesorem syntezy częstotliwości MC145151.
  • Przykład sterowania bezpośrednio z procesora klawiaturą AT. Wybieranie ręczne kanału lub skanera. Kroki skanera z Timer1, zaoszczędzono 47% pamięci.
Sterowanie syntezy częstotliwości MC145151 procesorem Atmega8.
  • Wpis częstotliwości odbieranej, z klawiatury AT. Wybieranie ręczne kanału lub skanera. Skaner kroczy co 12,5KHz, nie jak porzednio co 125KHz.

Piórnik szkolny z okienkiem do podpowiedzi.
  • Wykorzystano całą pamięć Eprom w Atmedze8. Uzyskano możliwość zapisania tekstu w postaci 512 znaków.
Piórnik szkolny z okienkiem do podpowiedzi.
  • Wykorzystano całą zewnętrzną pamięć Eprom. Bez używania wewnętrznej pamięci Eprom. Do zapisania tekstu jest 160 znaków.
Piórnik szkolny z okienkiem do podpowiedzi.
  • Tutaj zastosowano krótkie procedury skracając w ten sposób program. Wykorzystano całą pamięć Eprom w Atmedze8. Do zapisania tekstu jest 512 znaków.
Piórnik szkolny z okienkiem do podpowiedzi.
  • Pełne wykorzystanie wewnętrznej i zewnętrznej pamięci Eprom. Łącznie można zapisać tekst w postaci aż 672 znaków.

Czterotonowy dzwonek drzwiowy typu GONG.
  • Dzwonek drzwiowy o brzmieniu podobnym do Gongu rurowego.
Prosty miernik indukcyjności.
  • Jak zmierzyć cewkę lub dławik z wystarczającą dokładnością.

Mikroprocesorowy woltomierz do 10V.
  • Pomiar napięcia stałego do 10V z rozdzielczością 1mV oraz napięcia w. cz. do 1GHz z wyświetlaniem na Lcd.
Mikroprocesorowy woltomierz do 10V.
  • Pomiar napięcia stałego do 10V z rozdzielczością 1mV oraz napięcia w. cz. do 1GHz linijką diodową.

Podobno w polskich szkołach jest nieodpowiedni sposób nauczania matematyki.
Podobnie jest z naszymi książkami do nauki programowania. Są po prostu napisane w nieodpowiedni sposób. Dla ludzi uczących się programowania, wszelkie obszerne opisy stosów, rejestrów, przerwań, konfiguracji, atrybutów, rozdzielczości, są czarną magią, i tak nie wiedzą co to jest, gdzie to jest i do czego służy. Czytając takie teksty, po odwróceniu kartki i tak już nie wiemy co było na poprzedniej.
Jaka jest recepta? Ja właśnie ją stosuję. Najprostrzy przykład jest tysiąc razy przystępniejszy od wywodów książkowych.
Oto następne przykładowe programy poglądowe.

Przerwanie INT0.
  • Co to jest przerwanie i do czego służy.
Przerwanie.
  • Przerwanie Int0. Po przerwaniu wykona czynność.
Przerwanie.
  • Przerwanie Int1. Po przerwaniu wykona czynność.
Przerwanie INT1.
  • Zobacz jak działa INT1 w praktycznym programie Odbiór DTMF.
przepełnienie Timer0.
  • Po odliczeniu przepełnień załącz Port.
zliczanie impulsów przez Timer0.
  • Po odliczeniu impulsów załącz Port.
zliczanie impulsów przez Timer1.
  • Przerwanie przez porównanie.
Planujemy czasy w Timer0.
  • Wykreślamy linię załączania i wyłączania Portd.1.
Przerwanie INT0.
  • Jak wykonać obliczenia po przerwaniu Int0.
Suma kontrolna.
  • Pokazuje sumę kontrolną słowa lub zdania.
Przerwanie OC1B.
  • Przerwanie przez porównanie rejestru Compare1B.
Przerwanie Timer1.
  • Przerwanie celem rejestracji przepełnień Timer1. Zliczanie impulsów z zewnątrz.
Timer0 liczy czas.
  • Wyznaczamy sekundowe i minutowe odcinki czasowe.
Pętla For.
  • Jak wyemitować określoną liczbę impulsów. Wyjście z Portb.1.
Pętla Loop Until.
  • Instrukcja będzie wykonana dopiero po spełnieniu warunku.
Pętla While Wend.
  • Wykona zadanie dopiero po pojawieniu się instrukcji.
Budujemy generator z ustawianą częstotliwością.
  • Generator 20KHz do ewentualnej rozbudowy. Możemy dodać klawiaturę komputerową.
Praktyczny generator z przełącznikiem.
  • Generator 20KHz z przełącznikiem czternasto pozycyjnym.
Trzy generatory na Timer0.
  • Przykładowe programy budowy generatorów na Timer0 do eksperymentów.
Włącznik po puszczeniu przycisku.
  • Załączy Port po puszczeniu przycisku na stałe.
Włącznik ze zwłoką.
  • Załączy po zwolnieniu przycisku i trzyma przez określony czas.
Włącznik z nastawianym opóźnieniem.
  • Odliczy czas, powiadomi o kończącym się czasie i załączy Port.
Budujemy generator wielotonowy z ustawianymi częstotliwościami.
  • Generator emituje melodyjkę z 20 tonów, gdzie wysokość dźwięków i szybkość kroków zależy od nas.
Budujemy generator wielotonowy z ustawianymi częstotliwościami.
  • Ten program zawiera tablicę zawierającą informację o wysokości tonów. Generator emituje melodyjkę z 20 tonów, gdzie wysokość dźwięków i szybkość kroków zależy od nas.
Budujemy generator wielotonowy z ustawianymi częstotliwościami.
  • Generator emituje melodyjkę z 20 tonów, gdzie wysokość dźwięków i szybkość kroków zależy od nas. Ten program zawiera rozwiązanie typu Select Case i deklarację Sub - End Sub.
Budujemy generator wielotonowy z ustawianymi częstotliwościami i linijką diod Led.
  • Generator emituje melodyjkę z 13 tonów oddzielanych przerwami i zapala kolejno 13 diod Led.
Budujemy generator bicia godzin zegara.
  • Program można zastosować przy budowie zegara elektronicznego.
Czterotonowy gong drzwiowy.
  • Gong wykorzystujący w swoim działaniu Timer0 i Timer2.
Generator szklanego dźwięku.
  • Program generatora dźwięku spadającej kulki szklanej.
Generator emisji hasła.
  • Program generatora emitującego hasło w Alfabecie Morsa.
Generator emisji dźwięku spadającego meteorytu.
  • Ćwiczymy różne częstotliwości z Timera0.
Generator strzałów karabinowych.
  • Ćwiczymy różne częstotliwości z Timera0.

Jeden z przykładów wykorzystania wyświetlaczy Led we współpracy z procesorem Atmega8.
  • Program demonstrujący działanie wyświetlaczy z możliwością rozbudowy.
Jak stosować bity.
  • Program poglądowy o bitach.
Jak praktycznie stosować bity.
  • Program budowy syntezy częstotliwości. Zobacz jak zastosowano bity.
Rejestrator czasu i daty zdarzenia.
  • Program urządzenia trwale zapamiętującego czas zdarzenia. Zegar czasu i daty.
Jak wydawać polecenia kodem BCD.
  • Program poglądowy do rozbudowy.
Pomiar odległości dwóch małych przedmiotów metalowych
  • Pomiar odległości na zasadzie pomiaru pojemności. Wynik na dziesięciu diodach Led.
Wyjechałeś z domu? Chcesz włączać światło wieczorem, albo szczekanie psa?
  • Automatyczne załączanie w dowolnym, późniejszym czasie.
Jak wpisać tekst do procesora w gotowym urządzeniu?
  • 72 znaki tekstu z nastawnika kodu BCD.