szerokości impulsów) z oddzielnymi rejestrami porównawczymi wyjść oraz dodatkowe wyjścia zanegowane nie nakładające się
- 11 -kanałowy, 10-bitowy przetwornik ADC posiadający 8 różnicowych kanałów, 7 różnicowych par kanałów o programowanym wzmocnieniu 1x, 20x
- analogowy komparator
- 11 zewnętrznych źródeł przerwań opcje specjalne
- wewnętrznie kalibrowany oscylator RC
- wewnętrzne i zewnętrzne źródła przerwań
- programowanie w układzie przez port SPI
- niski pobór prądu (Idle), redukcja szumów i tryby wyłączania zasilania
Układ został wykonany na płytce drukowanej. Podstawowym elementem jego oczywiście jest procesor TINY26 (U1). Z procesora wyprowadzone jest złącze programatora ISP (piny 1,2,3, 10 oraz VCC i GND). Do wyprowadzeń 7 i 8 podłączony jest rezonator kwarcowy, który wraz z kondensatorami C6, C7 i elementami wewnętrznymi tworzą generator taktujący. Do portu PA zostały przyporządkowane diody LED przy pomocy zwór J1..J8. Jeżeli nie korzystamy z nich. łatwo jest je odizolować. Dodatkowo wyprowadzenia procesora zaopatrzono w punkty lutownicze z otworami tak, aby można było podłączyć do nich zewnętrzne źródła stanów, napięć lub przerwań. Wyprowadzenia procesora mają wielorakie zastosowanie. Mogą to być wyjścia cyfrowe, które przyjmują wartość napięcia na wyjściu bliskie zeru lub bliskie VCC. Można podłączyć do nich np. diodę LED przez rezystor ograniczający prąd. W zależności od kierunku polaryzacji diody będzie się ona świecić przy różnych stanach na wyjściu. Można podłączyć także żarówkę, ale nie bezpośrednio, ponieważ prąd świecenia żarówki jest większy, niż maksymalny prąd obciążenia wyjścia. Należy zastosować dodatkowy tranzystor, który usunie ten problem. Zamiast żarówki może być także przekaźnik, który jest przykładowo umieszczony na płytce. Dodatkowo umieszczony jest buzer, jako sygnalizacja dźwiękowa. Podłącza się go bezpośrednio do portu. Wyprowadzenie portu może być także wejściem. Jeżeli włączymy przetwornik ADC, to napięcie odczytujemy jako analogowe. Do badania tego napięcia służą dwa potencjometry umieszczone na płytce PR1 i PR2. Możemy podłączyć je do dowolnych portów. W innym przypadku porty pracują jako wejścia cyfrowe. Źródłem takiego sygnału są mikro-przełączniki S1 i S2 lub odbiornik pilota kodu RC5 lub innego o częstotliwości nośnej 36kHz. Oczywiście nie są to jedyne rodzaje źródeł. Przykładem, kiedy port pełni funkcję wejścia i wyjścia jest pamięć 24C16(U2), z którą procesor komunikuje się po szynie I2C. Dioda LED D9 sygnalizuje obecność napięcia zasilania. Czasami potrzebne jest nam po prostu napięcie VCC lub GND. Do tego celu umieszczono kilka punktów lutowniczych oznaczonych +(VCC) i -(GND).
Teraz trochę o tym, jak zaprogramować cokolwiek w naszym układzie. W tym celu potrzebujemy kompilatora. W redakcji posługujemy się językiem i kompilatorem typu BASCOM, dlatego przykłady będą skonstu-owane w tej składni. Jak wcześniej wspomniano procesor posiada 118 instrukcji programowych. Na poziomie języka wysokiego poziomu ich znajomość na początku nie jest tak istotna. Większość poleceń jest w postaci mnemoników, funkcji lub procedur. Funkcje zwracają parametry. Oprócz rozkazów istnieją ustawienia sprzętowe w postaci bezpieczników. Zmian dokonuje się podczas ładowania kodu wynikowego przez programator. Przykład takiego ustawienia to częstotliwość generatora podstawowego i rodzaj źródła. Może to być rezonator zewnętrzny lub układ wewnętrzny RC. Kiedy korzystamy z generatora wewnętrznego, mamy dodatkowo wolne dwa wyprowadzenia PB4 i PB5. Oto przykłady definiowania oraz operacji na portach:
Część wspólna przykładów
Sreglile - 'at26def.dat* 'deklaracja typu procesora
Scrystsl x 8000000 'częstotliwość zastosowanego rezonatora
Config Pina 0 = Outpul ‘ustawienie bitu 0 portu A jako wyjście Config Pina 1 “ Input 'ustawienie bitu f portu A jako wejście
config adc = single . prescaler - 8 , reference - internal
ustawienie konłigurae.i przetwornika ADC jako pomiar pojedynczy, preskaier wynosi 8 czyli częstotliwość pomiaru 1MHz. wewnętrzne U6dło napięcia referencyjnego 2.56V.
LED_1 Alias Porta 0 'przyporządkowanie Porta.0 • wyjścia mnemanikowi LEDJ od lej pory zamiast Porta.O używamy LED_1 SWJ Alias Pina.1 'przyporządkowanie Pina.l - we>ścia mnemonikowi SWJ od tej pory zamiast Pina.l używamy SWJ Jak widać kiedy port jest wyjściem zapis brzmi Portia.d..).?, a kiedy wejściem to Pin(a...d. >7
Dim Słowo As Word deklaracja zmiennei o nazwie 'Słowo" jako WORD Dim Kanał As Byte deklaracja zmiennej o nazwie 'Kanał* jako BYTE • numer kanału
■przetwornika ADC
Start Adc 'włączenie pracy przetwornika
Kanał = 1 przyporządkowanie numeru kanału 0.. 11. tyle ma TINY26
Do 'początek pętli nieskończonej *0o. Loop*
Tu należy wpisać kod przykładu Loop koniec pętli
End przykład 1:
if SWJ 0 then LED_1 - 0 elseif SW 1 “ 1 then LEOJ - 1 endll
Do portu A.O podłączamy diodę LEO. a do A.1 mikroprzełącznik Przycisk SWJ zapala diodę LED_1 gdy wciśnięty i gasi. gdy puszczony.
przykład 2:
ił SWJ - 0 then Toggle LEOJ SVaitm8 <0 Do
Loop untit SWJ - 1 Waiims 40 endif
Do portu A.O podłączamy diodę LED, lub przekaźnik, a do A.1 mikroprzełącznik.
Pzycisk SW_1 zapala diodę LED_1 gdy świeci i gasi gdy zapalona, akcja następuje po naciśnięciu.
przykład 3:
Słowo - Getadcł Kanał) ił Słowo > S12 then LE DJ = 0 else
LEDJ = 1 endif
Do portu A.O podłączamy diodę LED, lub przekaźnik,