Dźwięki i ich możliwości w Bascom, Bascom SOUND.

Tym razem chciałem zwrócić uwagę na prostą możliwość generowania sygnałów dźwiękowych przez µC. W dodatku bez udziału dodatkowej zaawansowanej elektroniki, w postaci specjalizowanych układów scalonych czy też modułów. Jedynie niezbędne będą µC oraz głośnik małej mocy, no i oczywiście kawałek kodu.

Możliwość taką zawdzięczamy Bascom-owi i poleceniu Sound. Opis ten będzie po części prezentacją artykułu przedstawionego na witrynie MCS – Digital Melody Player.
W ten prosty sposób można sygnalizować w swoim projekcie różnymi tonami czy „melodiami” uczynnienie odmiennych funkcjonalności, działanie przycisków, wystąpienie różnych zdarzeń itp itd. Więc do dzieła 🙂 niech Bascom sound wyda. :mrgreen: czytam dalej co kaktus napisał

Porty jako cyfrowe wejścia wyjścia ogólnego przeznaczenia w µC AVR.

 

typowe wejcie (PIN) jednostki MCU AVR ATtiny i ATmega, schemat logiczny Warto by usystematyzować sobie wiadomości na temat: konfiguracji, praktycznego używania oraz funkcjonalności potów IO w mikrokontrolerach AVR. Wydawało by się ze sprawa jest błaha, bo dotyczy pinów, które mogą być wejściem lub wyjściem. W rzeczywistości jak to widać na schemacie otrzymana funkcjonalność jest skomplikowana fizycznie, lecz niezawikłana w używaniu jeśli dla prawidłowego funkcjonowania/obsługi tego bloku posiada się stosowną porcję wiedzy. Nie należy też zapominać o fakcie, że z tym blokiem powiązana jest funkcjonalność przerwań zewnętrznych asynchronicznych i synchronicznych.
W końcu jak by nie było jest to podstawowe dobrodziejstwo, dzięki któremu µC może komunikować się ze światem zewnętrznym, i przetwarzać odpowiednio zebrane informacje czy też sterować peryferiami zewnętrznymi.

czytam dalej co kaktus napisał

PCINT Bascom AVR, jak je pogodzić?

Od pewnego czasu pojawiają się ulepszone wersje µC. Nowa bryza przyniosła też nowe funkcjonalności. Jedną z nich są asynchroniczne przerwania zewnętrzne pod nazwą PCINT. Fajna sprawa gdy µC nie posiada wielu wyprowadzeń z funkcjonalnością INT, ale …

Funkcjonalność PCINT posiada jedynie cechy asynchronicznego przerwania INT, znaczy to – działa tylko przy zmianie stanu z wysokiego na niski i odwrotnie. Zasadniczo w wielu przypadkach będzie to wystarczające a wręcz możliwość zastosowania takiej akcji zbawienna. I fajnie, ale … jak środowisko Bascom AVR wspiera nową funkcjonalność? Doszły jakieś nowe dyrektywy? coś się zmieniło w składni?

czytam dalej co kaktus napisał

Bascom, BootLoader i moduły Arduino.

ciekawie wyglądające moduły ArduinoArduino jest innowacją z ostatnich lat będącą platforma sprzętową zbudowaną na µC AVR. Moduły Arduino posiadające układy MPU są częściowo zaprogramowane i posiadają bootloader. Nie jest to nic innego jak „wstępny” kod umieszczony na końcu przestrzeni Flash umożliwiający zaprogramowanie µC kodem funkcjonalnym przez interfejs RS. Dzięki czemu z kolei wiedza i zaplecze sprzętowe „młodego programisty” może być na początku przygody skromniejsza. Ktoś kiedyś powiedział:

każdy język programowania jest taki dobry jak używający jego programista

obojętnie co by to nie było …

czytam dalej co kaktus napisał

Bascom nosave – parametr w On interrupt oraz NoSave Tool.

Tytuł może i straszy lub brzmi jak bełkot, i być może nie wszyscy znają temat. Niech się ten fakt od dziś zmieni … W Bascom nosave jest parametrem w deklarowanej procedurze obsługi przerwania, dotyczy zarówno Bascom AVR jak i 8051. Co z tego wynika i po co to? Hymmm dobre pytanie.

Generalnie, przeglądając informacje zawarte w opisie deklaracji procedury obsługi przerwania, podane w powyższym odnośniku dowiemy się, iż istnieje możliwość nadzorowania obsługi stosu w momencie wystąpienia dowolnego przerwania ISR. Na fakt ten szczególną uwagę zwrócił BARTek. a co z tego wyszło dowiemy się za chwilę :mrgreen: czytam dalej co kaktus napisał

WTV020SD – jak to w końcu jest

fotka przedstawia nic innego tylko plątaninę kabelków ;-P

fotka przedstawia nic innego tylko plątaninę kabelków ;-P i przy okazji zestaw do znęcania się nad WTV020SD

Ciągnę dalej temat związany  z WTV020SD-20SS, i będę przedstawiać jak skomunikować się z modułem opartym na tym scalaku za pomocą Bascom AVR. Więc będzie o wtv020-sd Bascom. Układ posiada magistralę dwuprzewodową pozwalającą komunikować się z otoczeniem. Z poprzedniego opracowania WTV020SD-20SS prosty sposób na obszerne komunikaty i dźwięki wiem, że układ powinien pozwolić sterować się przez taką magistralę. Więc przyjrzę się jak to dokładnie jest. A tytuł … taki w związku z komentarzem kolegi BARTek. ;-P

czytam dalej co kaktus napisał

„stary” wyświetlacz „nowe” możliwości, wyświetlacz LCD znakowy

LCD StandardowyWyświetlacz LCD znakowy, dla majsterkowicza parającego się technologią związaną z µC nie jest niczym nowym, a i jego atrakcyjność chyba już przeminęła, powoli wypierana przez coraz nowsze i ciekawsze rozwiązania. Nowe konstrukcje nie dość, że pobierają mniej prądu, mają mniejszą ilość wyprowadzeń, to często po mimo mniejszej powierzchni ekranu potrafią pomieścić więcej treści. Tak, mam tu na myśli, też wyświetlacze graficzne, niechlubną ich cechą za to jest wymagana większa pojemność pamięci na kod, który znacznie puchnie od tych wszystkich treści komunikatów, które mają się pojawiać, w stosownych momentach. Od pewnego czasu obserwuję się „świeży” trend gdzie jakość i czytelność ekranów wyświetlaczy LCD , nie tylko znakowych uległa rewolucyjnej poprawie. To wszystko dzięki technologii negatywowej.

czytam dalej co kaktus napisał

DS18B20 Bascom, przedstawiam mój algorytm

Przez te „wszystkie lata” i kilka projektów, z którymi miałem do czynienia, zarówno w Bascom AVR jak i Bascom 8051 udało mi się utworzyć bardzo optymalny kod dotyczący obsługi tego sensora temperatury i niezbędnych obliczeń. Mam na myśli kod najbardziej „oszczędzający” zasoby µC jaki udało mi się do tego celu stworzyć. Tak więc ten temat będzie o DS18B20 Bascom. Zawierać będzie przykładowe kody i procedury które popełniłem do obsługi tego termometru cyfrowego – oraz podobnych być może po kosmetycznych zmianach. czytam dalej co kaktus napisał

LCD COB i kaktusa „zabawy”

moduł LCM1602 IIC

moduł LCM1602 IIC

Właściwie tytuł trochę sprowadza na manowce bo co prawda będę opowiadał o wyświetlaczach czy wyświetlaczu LCD, lecz temat będzie trochę szerszy i dotyczyć będzie LCD I²C. Precyzując, przestawię sposób co prawda nie nowy, ale bardzo ciekawy i praktyczny, w jaki sterować zwykłym wyświetlaczem znakowym LCD, skonstruowanym na sterowniku HD44780 przez magistralę TWI (I²C) w Bascom AVR.

czytam dalej co kaktus napisał

Framesize – obliczamy zapotrzebowanie na SRAM dla programu.

Dosłownie temat ten dotyczy dyrektyw:
$framesize = z
$swstack = y
$hwstack = x
i omówienia podstawowych zasad w obliczaniu na zapotrzebowanie pamięci SRAM w MCU dla programu i zmiennych.

Dyrektywy dyrektywami jednymi z licznych, ale akurat te chyba najistotniejszymi dla programisty. Dotyczą stosów sprzętowego WHSTACK, programowego SWSTACK i bufora zmiennych FRAMESIZE. Złe gospodarowanie tymi wartościami spowoduje niemożliwość kompilacji bądź nieprawidłowe funkcjonowanie samego urządzenia finalnego, lub błędy występującymi w określonych sytuacjach, które mogą być uciążliwe do zdiagnozowania. Co z kolei skutkować może dalszymi głębszymi następstwami … czytam dalej co kaktus napisał