easy - soft elektronika i programowanie mikrokontrolerów
Witaj w easy - soft  elektronika i programowanie mikrokontrolerów
Szukaj


Menu
· Strona główna
· Ankiety
· Archiwum artykułów
· Działy tematyczne
· FAQ
· Inne WWW
· Kontakt
· Książki
· Najczęściej odwiedzane
· Ostatnio dodane
· Redakcja
· Szukaj artykułu
· Ustawienia własne
· Wiadomości prywatne
· Zasoby

Licznik
Otrzymaliśmy
Powered by PHPCounterPowered by PHPCounterPowered by PHPCounterPowered by PHPCounterPowered by PHPCounter
odsłon strony od
Listopada 2002

 
easy - soft elektronika i programowanie mikrokontrolerów: programowanie: język C

Przeszukaj ten temat:   
[ Wróć na stronę główną | Wybierz nowy temat ]

programowanie: język C Język C: Programowany, cyfrowy komparator okienkowy sygnału analogowego
Wysłany przez Jacek dnia 10-01-2010 o godz. 12:51:15 (322 odsłon)

Cyfrowy komparator okienkowy to urządzenie, które można zastosować w wielu aplikacjach. Opisywany prototyp miał służyć do wyłączenia zasilania prasy hydraulicznej w momencie, gdy czujnik tensometryczny przyklejony do jej obudowy odkształci się poza dopuszczalny zakres. W normalnych warunkach pracy może to oznaczać zakleszczenie się lub oderwanie narzędzia. Przy dużych prędkościach automatycznie wykonywanego tłoczenia, taka awaria ma trudne do przewidzenia następstwa. Można sobie jednak wyobrazić także inne zastosowania: nadzorowanie poziomu hałasu, wilgotności, temperatury itd. Wszędzie tam, gdzie monitorowana wielkość da się przekształcić na monitorowany zakres napięć analogowych, który można zmierzyć przetwornikiem A/C. Projekt może być również inspiracją do budowy innych zabezpieczeń lub chociażby może pokazać, jak zbudować proste menu użytkownika z użyciem tylko kilku klawiszy. Komparator okienkowy nie jest czymś, czego nie można wykonać w technice analogowej, jednak zastosowanie mikroprocesora daje mu dodatkowe możliwości wizualizacji danych jak również nauki wartości granicznych i adaptacji do warunków pracy. Projekt komparatora nie jest nowy. Kiedyś do jego konstrukcji zastosowałem mikrokontroler AT89S8252, który już nie jest produkowany. Został zastąpiony przez AT89S8253 i wszystkie osoby chcące użyć urządzenia do celów komercyjnych, będą zmuszone sprawdzić układ połączeń oraz nieco zmienić oprogramowanie, tak aby dostosować się do nowego mikrokontrolera. Hobbyście z całą pewnością uda się jeszcze gdzieś kupić kilka sztuk. Urządzenie można wykonać w oparciu o dowolny mikrokontroler z rdzeniem 8051, ponieważ dla takiego został napisany program. Ważne jest, aby zastosowany procesor miał pamięć EEPROM, w której można będzie przechowywać parametry nastaw komparatora okienkowego. Oryginalny program sterujący pracą komparatora jest napisany z użyciem kompilatora RC-51 firmy Raisonance. Była to co prawda starsza wersja, lecz sprawdziłem, że bez problemu kompiluje się również z użyciem najnowszego środowiska RIDE dla 51-ki. Kod wynikowy nie przekracza 4 kB, (3702 bajty), więc program można skompilować z użyciem wersji demonstracyjnej pakietu, dostępnej na stronie producenta http://www.raisonance.com/. Do programowania używałem programatora opisanego na tej stronie (Programator szeregowy AVR i AT89S8252 z interfejsem RS232), ale oczywiście można używać dowolnego innego programatora typu in-circuit.

(Czytaj więcej... | 2829 bajtów więcej | Język C | Wynik: 0)

programowanie: język C Język C: Odbiornik zdalnego sterowania w podczerwieni
Wysłany przez Jacek dnia 07-06-2006 o godz. 16:29:57 (1480 odsłon)

Firma Philips jako pierwsza opracowała, lub zaadaptowała, standard RC5 dla swoich nadajników - odbiorników podczerwieni do zastosowań w sprzęcie domowego użytku. Stosowano w nim stały czas trwania i stałą liczbę bitów. Za każdym razem, gdy użytkownik naciska przycisk w nadajniku zdalnego sterowania, pracującym zgodnie ze specyfikacją Philips, wysyła on ciąg 14 bitów o czasie trwania 1,728 ms każdy. Jeśli klawisz pozostaje naciśnięty, to cała transmisja powtarzana jest co 130 ms. Wysyłane słowo kodowane jest zgodnie ze standardem kodowania Manchester. Oznacza to, że każdy bit transmitowany jest w postaci dwóch stanów logicznych, tzw. półbitów, a w środku czasu przeznaczonego na przesłanie pojedynczego bitu następuje zmiana, to jest opadające lub narastające zbocze sygnału. I tak zmianie z "0" na "1" odpowiada przesyłany bit o wartości "1", natomiast zmianie z "1" na "0" odpowiada przysyłany bit o wartości "0". Ponieważ czas na przesłanie pojedynczego bitu został przez twórcę standardu określony na 1,728ms, to zmiana następuje po połowie tego czasu, czyli 0,864ms. Dodatkowo zbocze występujące w środku bitu umożliwia synchronizację odbiornika z nadajnikiem.

(Czytaj więcej... | 1278 bajtów więcej | Język C | Wynik: 0)

programowanie: język C Język C: Podłączenie klawiatury PC do mikrokontrolera 8051
Wysłany przez jacek dnia 03-11-2004 o godz. 20:49:07 (4331 odsłon)

Do jednego z projektowanych urządzeń potrzebowałem klawiaturę alfanumeryczną. Mój wybór padł na zwykłą klawiaturę do komputera PC z dwóch prostych powodów: dostępność i cena. Do pełni zadowolenia wystarczyło dołączyć klawiaturę do mojego urządzenia i po prostu używać. I tu pojawił się pewien kłopot... Chciałem skorzystać z jakiejś gotowej aplikacji, jednak 2 kompletne, które udało mi się znaleźć były zupełnie bezużyteczne. Obie ze względu na użyty język programowania: Bascom i mikrokontroler 8051 to nie najlepszy moim zdaniem pomysł a i o zmianie mikrokontrolera na PIC nie mogło być mowy. Postanowiłem, wzorując się na obu rozwiązaniach, napisać program w języku C, dla mikrokontrolera AT89S8252. Powstał w ten sposób driver opisywany w niniejszym artykule.

(Czytaj więcej... | 982 bajtów więcej | Język C | Wynik: 4.66)

programowanie: język C Język C: Konfiguracja pamięci 8051 dla programów napisanych w języku C
Wysłany przez Jacek dnia 31-10-2004 o godz. 12:05:29 (1350 odsłon)

Kompilatory języka C przeznaczone dla mikrokontrolerów z rodziny 8051 oferują szereg różnych modeli pamięci. Który z nich wybrać? Jakie kryteria wyboru stosować? Jaki wpływ ma zastosowany model kompilacji na optymalizację kodu wynikowego oraz czas wykonywania programu przez mikrokontroler?

(Czytaj więcej... | 397 bajtów więcej | Język C | Wynik: 0)

programowanie: język C Język C: Wykorzystanie funkcji STDIO.H do formatowania tekstu na wyświetlaczu LCD
Wysłany przez Jacek dnia 30-10-2004 o godz. 23:10:57 (1713 odsłon)

Pisząc program w języku C czasami zadajemy sobie pytanie: czy naprawdę muszę tworzyć funkcję dokonującą konwersji wartości dziesiętnej na szesnastkową? Przecież chociażby biblioteka o nazwie STDIO zawiera w sobie możliwość formatowania zarówno danych wejściowych, jak i wyjściowych. Czy nie ma możliwości skorzystania z czyjejś pracy i zaoszczędzenia własnego czasu?

(Czytaj więcej... | 470 bajtów więcej | Język C | Wynik: 5)

programowanie: język C Język C: Budujemy klawiaturę
Wysłany przez Jacek dnia 30-10-2004 o godz. 22:48:59 (1774 odsłon)

'Budując urządzenia z mikrokontrolerami wcześniej czy później staniesz przed zagadnienie komunikacji z użytkownikiem. We wcześniejszych odcinakach "kursu" zajmowaliśmy się prezentacją wyników przy pomocy wyświetlacza LED czy LCD. Czasami jednak trzeba również wprowadzić pewne parametry na przykład nastawę czasu, wielkość napięcia itp. Możliwe jest tu wykorzystanie różnych technik, lecz jedna z nich przyjęła się u zarania dziejów urządzeń elektronicznych i króluje do dziś. Nic też nie wskazuje na to, aby szybko została wyparta przez inne rozwiązania. Mowa o klawiszu lub grupach klawiszy zwanych klawiaturami. Ten odcinek w całości poświęcony będzie klawiszom, klawiaturom, będzie przeglądem stosowanych rozwiązań. Zaczniemy od prostych metod testowania naciśnięcia pojedynczego klawisza, poprzez testy dla większej ich ilości aż do klawiatur zbudowanych w formie matrycy, czy też działających w oparciu o przerwania.

(Czytaj więcej... | 1029 bajtów więcej | Język C | Wynik: 0)

programowanie: język C Język C: Podstawy posługiwania się pakietem Raisonance RIDE-51
Wysłany przez Jacek dnia 30-10-2004 o godz. 22:41:41 (2146 odsłon)

Pakiet RIDE firmy Raisonance to zbiór narzędzi umożliwiających pisanie i uruchamianie programów w języku C i asemblera dla mikrokontrolerów ST62 firmy STM, XA firmy Philips oraz różnych pochodzących z rodziny 8051. Ze względu na specyfikę kolejnych odcinków kursu, pominę zagadnienia dotyczące środowiska programowania ST62 i XA zajmiemy się wyłączenia informacjami dotyczącymi mikrokontrolera 8051. Nie oznacza to jednak, że uwzględniając specyfikę pominiętych mikrokontrolerów nie można tu opisanych metod wykorzystać również i dla nich. RIDE (Raisonance Integrated Development Environment) zawiera następujące programy przeznaczone dla mikrokontrolerów z rodziny 8051:
-kompilator języka asembler MA-51 (jest to makroasembler),
-kompilator języka C RC-51,
-linker LX-51,
-symulator mający możliwość podłączenia do sprzętowego emulatora,
-edytor przystosowany do składni języków asembler oraz C (wyróżniane są słowa kluczowe obu języków).


(Czytaj więcej... | 1071 bajtów więcej | Język C | Wynik: 5)

programowanie: język C Język C: Język C a komunikacja mikrokontrolera z otoczeniem
Wysłany przez Jacek dnia 30-10-2004 o godz. 22:37:37 (1988 odsłon)

Rzadko zdarza się, aby mikrokontroler, którego zamierzamy użyć, oferował nam wszystkie potrzebne układy peryferyjne. Jeżeli jednak już tak jest, to albo ma również szereg innych, zupełnie niepotrzebnych, albo też przeraża jego cena. Dobrym rozwiązaniem tak przedstawionego problemu jest użycie taniego mikrokontrolera i dołączenie do niego w możliwie jak najtańszy sposób możliwie jak najtańszych układów peryferyjnych. Tu jednak pojawia się pewien problem dołączenie układów zewnętrznych...

(Czytaj więcej... | 595 bajtów więcej | Język C | Wynik: 0)

programowanie: język C Język C: Budujemy licznik, czyli język C i przerwania.
Wysłany przez Jacek dnia 30-10-2004 o godz. 22:29:12 (1836 odsłon)

O sposobie w jaki przerwania są obsługiwane w języku C pisałem już kiedyś, przy okazji omawiania podstaw programowania. Dziś wykorzystamy programowanie przerwań do budowy prostego licznika. Wykorzystamy w nim przerwanie generowane przez Timer 1 do obsługi wyświetlacza LED oraz przerwanie generowane przez opadające zbocze sygnału na wejściu INT0 do zliczania impulsów zegarowych. W programie wykorzystamy też wskaźniki i ich arytmetykę będzie okazja co nieco się nauczyć.

(Czytaj więcej... | 576 bajtów więcej | Język C | Wynik: 4)

programowanie: język C Język C: Budujemy program z klocków - project file
Wysłany przez Jacek dnia 30-10-2004 o godz. 22:26:20 (1521 odsłon)

Poprzednio wspominałem o zbiorach nagłówkowych oraz tak zwanych project file. Myślę, że zarówno jedne, jak i drugie, będą dla nas bardzo użyteczne i wymagają kilku słów wyjaśnienia. Co to jest "project file"? Pod tą tajemniczą nazwą kryje się po prostu lista zbiorów składających się na nasz program. Wracając do przykładu z poprzedniego odcinka - jeśli na podstawie programu do obsługi wyświetlacza LCD utworzymy bibliotekę, to musimy ją w jakiś sposób dołączyć do programu głównego. Ten zbiór zawierający listę współpracujących ze sobą modułów, poddawanych działaniu kompilatora i linkera w jednym momencie, stanowi tak zwany projekt (z angielskiego project). Czyli project file to po prostu lista zbiorów uwzględnianych przez kompilator i linker przy translacji kodu źródłowego na kod wynikowy. Na tej liście mogą się znaleźć nie tylko programy w języku C, ale również w języku asemblera. Dla nas jest to bardzo użyteczna informacja. Jest to sygnał, że nasz program nie musi być pisany tylko i wyłącznie w języku C.

(Czytaj więcej... | 1122 bajtów więcej | Język C | Wynik: 5)

programowanie: język C Język C: Sterowanie wyświetlaczem LCD w trybie 4-bitowym
Wysłany przez Jacek dnia 30-10-2004 o godz. 22:16:55 (2467 odsłon)

Zacznijmy od jakiegoś użytecznego programu. Czegoś, co przyda nam się w przyszłości tak, aby nie marnować cennego czasu. Proponuję na początek podłączenie wyświetlacza LCD w trybie 4 bity. Rozbierzemy na kawałeczki poszczególne fragmenty programu analizując jego kod. To najlepsza droga do zrozumienia całości.

(Czytaj więcej... | 414 bajtów więcej | Język C | Wynik: 3.2)

programowanie: język C Język C: Wstęp do programowania w języku C dla 8051
Wysłany przez Jacek dnia 30-10-2004 o godz. 00:00:00 (2448 odsłon)

Pisząc programy już od kilkunastu lat, dostrzegam pewien trend. Widoczny jest on nie tylko wśród środowisk programowania dla "dużych" komputerów, ale również dla mikrokontrolerów jednoukładowych. Języki programowania stają się coraz łatwiejsze do opanowania. Oferują mnóstwo gotowych procedur, których użycie nawet dziecko jest w stanie zrozumieć. Doskonałym przykładem jest język Bascom, w którym rzeczy skomplikowane i trudne stają się bardzo łatwe. Bascom jednak jako taki ma jedną podstawową wadę: tworzy kod, który jest uniwersalny a przez to mało optymalny, zajmuje dużo pamięci. Oczywiście nowoczesne mikrokontrolery mają tej pamięci coraz więcej, jednak ma to także inne reperkusje. Sam bardzo często korzystam z języków takich, jak Bascom, zwłaszcza jeśli szybko potrzebuję mieć program, w stosunku do którego nie mam zbyt wielkich wymagań. Jednak stojąc przed zadaniami "poważniejszymi", nieodmiennie sięgam po język C i asembler.

(Czytaj więcej... | 1044 bajtów więcej | Język C | Wynik: 3.66)

 
Kategorie
· Wszystkie kategorie
· Artykuły
· Asembler
· Bascom
· Język C
· Mikrokontrolery
· Podzespoły
· Techniki,technologie
· Układy cyfrowe

Ankieta
W jakim języku najczęściej piszesz programy dla mikrokontrolerów?

Asembler
Bascom '51
Bascom AVR
Język C
Inne
Nie piszę programów



Wyniki
Ankiety

Głosów: 123
Komentarzy: 7

Artykuł dnia
Dziś nie dodano nowego artykułu.

Logowanie
Witaj, Anonim
Pseudonim
Hasło
(Zarejestruj się)
Członkostwo:
Ostatni: 65
Nowe dzisiaj: 0
Nowe wczoraj: 0
Wszystkie: 345

Na stronie:
Gości: 11
Użytkowników: 0
Razem: 11

Wszystkie artykuły są umieszczane na stronie za wiedzą i zgodą ich autorów lub właścicieli praw autorskich. Jeśli czujesz, że z jakiegoś powodu twoje dobra zostały naruszone, skontaktuj się z admin@easy-soft.net.pl a podejmiemy natychmiastowe działania mające na celu wyjaśnienie sytuacji. Autorzy nie ponoszą żadnej odpowiedzialności za skutki wykorzystania treści zawartych w artykułach. Uwaga: mimo naszych najlepszych chęci i starań, artykuły mogą zawierać błędy!

Wszystkie logo, znaki handlowe i nazwy towarów są własnością ich właścicieli. Na tej stronie używane są wyłącznie w celach informacyjnych lub promocyjnych. Komentarze wysyłane przez użytkowników są ich komentarzami, za które administratorzy nie ponoszą żadnej odpowiedzialności! Nie mniej jednak treści obsceniczne i obra?liwe będą usuwane a artykuły bedą moderowane, to znaczy ich treść, przydatność i zgodność z tematami prezentowanymi na stronie, będzie oceniana przez administratorów przed umieszczeniem na stronie.

Web site engine code is Copyright © 2003 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Tworzenie strony: 0.155 sekund