Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1



Podobne dokumenty
Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1

2. Architektura mikrokontrolerów PIC16F8x... 13

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Programowalne Układy Cyfrowe Laboratorium

Politechnika Białostocka

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Wstęp Architektura... 13

Wydział Mechaniczny. Instrukcja do zajęć laboratoryjnych. Numer ćwiczenia: 4. Laboratorium z przedmiotu: Technika cyfrowa i mikroprocesorowa

Współpraca mikrokontrolera z wyświetlaczami: ciekłokrystalicznym i siedmiosegmentowym

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx

Uniwersalny zestaw uruchomieniowy ZL4PIC

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

Badanie układów średniej skali integracji - ćwiczenie Cel ćwiczenia. 2. Wykaz przyrządów i elementów: 3. Przedmiot badań

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Elektronika samochodowa (Kod: TS1C )

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

Programowanie mikrokontrolerów - laboratorium

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

WPROWADZENIE Mikrosterownik mikrokontrolery

SML3 październik 2008

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Szkolenia specjalistyczne

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

Politechnika Śląska w Gliwicach

SML3 październik

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Politechnika Białostocka

Kod produktu: MP01611

Interface sieci RS485

1.2. Architektura rdzenia ARM Cortex-M3...16

MIKROKONTROLERY I MIKROPROCESORY

Płytka ewaluacyjna z ATmega16/ATmega32 ARE0021/ARE0024

Technika Mikroprocesorowa

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Programowanie Mikrokontrolerów

Politechnika Białostocka Wydział Elektryczny

PRUS. projekt dokumentacja końcowa

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Politechnika Białostocka. Wydział Elektryczny. Katedra Automatyki i Elektroniki. Kod przedmiotu: TS1C

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH

Politechnika Białostocka

SYSTEMY CZASU RZECZYWISTEGO (SCR)

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

ZL8AVR. Płyta bazowa dla modułów dipavr

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Moduł uruchomieniowy AVR ATMEGA-16 wersja 2

ZL11AVR. Zestaw uruchomieniowy z mikrokontrolerem ATtiny2313

Laboratorium przedmiotu Technika Cyfrowa

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

Politechnika Białostocka

Bezpieczeństwo informacji oparte o kryptografię kwantową

Programowanie w językach asemblera i C

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

DOKUMENTACJA PROJEKTU

Układy czasowo-licznikowe w systemach mikroprocesorowych

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

Instytut Teleinformatyki

dokument DOK wersja 1.0

Elementy cyfrowe i układy logiczne

Programator procesorów rodziny AVR AVR-T910

Ćw. 7: Układy sekwencyjne

Elektronika samochodowa (Kod: ES1C )

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1

Listing_ $crystal = deklaracja

To jeszcze prostsze, MMcc1100!

Elektronika i techniki mikroprocesorowe

KARTA PRZEDMIOTU KARTA PRZEDMIOTU

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

Transkrypt:

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1 Klawiatury i wyświetlacze Opracował: dr inŝ. Wojciech Wojtkowski w.wojtkowski@we.pb.edu.pl BIAŁYSTOK 2009

Spis treści instrukcji: 1. Cel i zakres ćwiczenia laboratoryjnego 2 2. Sterowanie wyświetlaczy 7 segmentowych.... 2 3. Projektowanie automatu sterującego w tekstowych językach opisu sprzętu 9 4. Zestaw uruchomieniowy... 12 4. Zagadnienia do przygotowania... 16 5. Wymagania BHP.. 16 6. Sprawozdanie studenckie. 16 7. Przykładowe zadania 17 8. Literatura.. 17 1. Cel i zakres ćwiczenia laboratoryjnego Celem ćwiczenia jest poznanie zasad wykorzystania w systemie cyfrowym wyświetlaczy 7-segmentowych oraz matrycowych w trybie multipleksowym. W trakcie ćwiczenia studenci opracowują takŝe procedury obsługi klawiatury złoŝonej z mikroprzełączników połączonych w matrycę 4x4. Rozpatrywany jest problem drgań styków przycisków sterujących. Zakres ćwiczenia obejmuje: wyświetlanie w trybie multipleksowym na 4-cyfrowym wyświetlaczu 7 segmentowym (wspólna anoda) bez uŝycia przerwań zegarowych, wyświetlanie w trybie multipleksowym na 4-cyfrowym wyświetlaczu 7 segmentowym (wspólna anoda) z wykorzystaniem przerwań zegarowych, wykorzystanie klawiatury matrycowej, eliminację programową drgań styków, sprzętową emulacje procesorów rodziny 89Cx051, sterowanie wyświetlaczem 7 segmentowym bezpośrednio z układu programowalnego FPGA. Szczegółowy zakres ćwiczenia ustala prowadzący. 2. Sterowanie multipleksowe wyświetlaczy 7 segmentowych Wyświetlacze 7 segmentowe są powszechnie stosowane we wszelkich urządzeniach cyfrowych i mikroprocesorowych. Wpływają na to ich relatywnie niska cena, dobra czytelność zarówno w dobrych jak i w złych warunkach oświetleniowych oraz ze znacznej 2

odległości. Odległość dobrego odczytu moŝna zwiększyć stosując wyświetlacze o większej wysokości. Wadą wyświetlacza 7-segmentowego jest stosunkowo duŝy pobór prądu, rosnący wraz ze wzrostem wysokości (wielkości) wyświetlacza. Pewną komplikację układu sterowania wymusza takŝe duŝa liczba wyprowadzeń (1 cyfra > 8 wyprowadzeń + wyprowadzenie kropki). Wyświetlacze alfanumeryczne LCD pomimo znacznie większej ilości punktów wyświetlacza nie mają z reguły więcej niŝ ok. 10 wyprowadzeń dla całej matrycy. Związane jest to z zastosowaniem zintegrowanego z wyświetlaczem sterownika (sterownik jest umieszczony na płytce PCB wyświetlacza). Wówczas aby wyświetlić dowolną informację przesyła się wyłącznie rozkazy sterujące i dane, natomiast bezpośrednio wyświetlaczem steruje sterownik. W przypadku wyświetlaczy alfanumerycznych LCD najczęściej spotykanym sterownikiem jest układ HD44780 firmy Hitachi lub inny układ funkcjonalnie z nim zgodny. Wyświetlacze 7 segmentowe są pozbawione sterownika. Typowy schemat połączeń wyświetlacza 7 segmentowego (jedna cyfra) jest przedstawiony na rysunku 1. Rys. 1. Rozkład wyprowadzeń wyświetlacza 7 segmentowego SA/SC08 3

Gdy wykorzystuje się tylko jedną lub dwie cyfry, często łączy się wszystkie segmenty z wyprowadzeniami układu sterującego. W przypadku większej liczby wyświetlaczy 7 segmentowych liczba wyprowadzeń jest z reguły zbyt duŝa, aby moŝna było wysterować wyświetlacz bezpośrednio np. za pomocą mikrokontrolera. Najczęściej trzeba zastosować wyświetlanie w trybie multipleksowym. Wówczas łączy się równolegle wszystkie segmenty a, wszystkie segmenty b itd. Dzięki temu dla n wyświetlaczy mamy tylko n+7 wyjść (a nie n x 8 w przypadku sterowania bezpośrednio kaŝdym segmentem). W konsekwencji sterowanie staje się jednak bardziej skomplikowane. w przypadku sterowania z mikrokontrolera ma to jednak skutki wyłącznie programowe. Przykład połączeń 4 wyświetlaczy 7 segmentowych do wyświetlania w trybie multipleksowym jest przedstawiony na rysunku 2. Rys. 2. Połączenie 4 wyświetlaczy 7 segmentowych do wyświetlania w trybie multipleksowym 4

Do sterowania segmentami został wykorzystany bufor ULN2003 (IC2 rys. 2) oraz dekoder HEF4543. Oczywiście w konkretnym układzie praktycznym zastosowane będzie tylko jedno z podanych rozwiązań. Schemat funkcjonalny układu ULN2003 jest przedstawiony na rysunku 3, natomiast schemat pojedynczego toru jest pokazany na rysunku 4. Bufor IC2 pozwala na sterowanie całym wyświetlaczem z urządzenia o małej wydajności prądowej. Zastosowanie takiego układu pozwala na wyświetlenie dowolnego znaku moŝliwego do wyświetlenia na wyświetlaczu 7 segmentowym, gdyŝ mamy bezpośredni dostęp do poszczególnych segmentów. Jest moŝliwość jeszcze większej redukcji wyprowadzeń układu wyświetlacza poprzez zastosowanie dekodera BCD-7seg. Na rysunku 2 jest to układ IC3. NaleŜy pamiętać aby przed włączeniem zasilania wyjąć układ IC2 lub IC3 w zaleŝności z którego będziemy korzystać (dotyczy zestawu uruchomieniowego). Chodzi o to, aby nie wystąpiła sytuacja w której oba układy są włączone jednocześnie. Schemat funkcjonalny dekodera HEF4543 oraz rozmieszczenie wyprowadzeń są przedstawione na rysunku 5. W przypadku gdy zastosowano dekoder BCD 7seg, ilość potrzebnych wyprowadzeń do wysterowania wyświetlacza o n cyfrach spada do n+4. Tabela 1 prezentuje porównanie potrzebnej liczby wyprowadzeń mikrokontrolera do wysterowania wyświetlacza 7 segmentowego o n cyfrach: Tabela 1. Niezbędna liczba wyprowadzeń mikrokontrolera potrzebna do wysterowania wyświetlacza 7 segmentowego o n cyfrach Typ połączenia Liczba wyprowadzeń: Bezpośrednie do kaŝdego segmentu n x 8 Do wyświetlania multipleksowego z buforem ULN2003 Wyświetlanie multipleksowane z dekoderem HFA4543 n+7 n+4 W Tabeli 2 przedstawiono zestawienie wszystkich kombinacji wejść i wyjść układu dekodera BCD/7seg HEF4543. 5

Tabela 2. Tablica wejść i wyjść układu HEF4543 1. H - stan wysoki 2. L - stan niski 3. X - stan bez znaczenia 4. Dla wyświetlaczy LCD podłączyć sygnał zegarowy, dla wyświetlaczy 7 segmentowych ze wspólną katodą podłączyć L, dla wyświetlaczy ze wspólną anodą podłączyć H. 5. ZaleŜy od poprzednio podanego kodu BCD podczas gdy LD było wysterowane poziomem wysokim. Zastosowanie dekodera HEF4543 ogranicza jednak gamę dostępnych znaków do cyfr od 0 do 9. W przypadku bufora ULN2003 moŝna wyświetlać takŝe inne znaki lub niektóre litery. Cyfry wyświetlane na wyświetlaczu 7 segmentowym sterowanym poprzez HEF4543 są przedstawione na rysunku 6. Rysunek 7 przedstawia z kolei sposób dołączenia wyświetlaczy ze wspólną anodą i ze wspólną katodą do dekodera HEF4543. 6

Rys. 3. Schemat funkcjonalny układu ULN2003 Rys. 4. Schemat pojedynczego bufora w układzie ULN2003 Rys. 5. Dekoder BCD/7seg HEF4543 7

Rys. 6. Cyfry wyświetlane przy sterowaniu z HEF4543 Rys. 7. Sposób dołączenia wyświetlaczy LED do dekodera HEF4543 Do wysterowania wyświetlaczy 7 segmentowych za pomocą mikrokontrolera, najlepiej jest wykorzystać przerwania zegarowe. Pozwala to na pracę programu i róŝne obliczenia, podczas gdy informacja z odpowiednich zmiennych (komórek pamięci) jest wyświetlana automatycznie w procedurze obsługi przerwania zegarowego. MoŜna przy tym w jednym przerwaniu wyświetlić wszystkie 4 cyfry (sekwencyjnie), lub moŝna wprowadzić licznik cyfry i w kaŝdym (lub co kilka) przerwaniu wyświetlać jedną, kolejną cyfrę. Przy odpowiedniej częstotliwości generacji przerwań, uzyskamy efekt statycznego wyświetlania. Przykład wykorzystania licznika Timer 0 w języku MCS Basic podany poniŝej słuŝy wyłącznie ilustracji wykorzystania przerwań zegarowych w MCS Basic (nie jest to gotowy program wyświetlający na wyświetlaczach 7 segmentowych). 8

Przykład: Wykorzystanie TIMERa 0 do odmierzenia czasu w MCS Basic Dim Count As Byte, Gt As Byte Config Timer0 = Timer, Gate = Internal, Mode = 2 'Timer0 = timer : timer pracuje jako licznik 'Gate = Internal : źródło zliczania wewnętrzne 'Mode = 2 : 8-bit automatyczne przeładowanie On Timer0 Timer_0_int Load Timer0, 100 'wartość początkowa do licznika (100) Enable Interrupts 'uaktywnia przerwania Enable Timer0 'uaktywnia timer0 Priority Set Timer0 Start Timer0 Count = 0 Do Input "numer", Gt Print "wprowadziłeś:" ; Gt Loop Until Gt = 1 Stop Timer0 End 'ustawia najwyŝszy priorytet dla timer0 'start zliczania 'zerowanie pomocniczego licznika pętla dopóki nie zostanie wprowadzona jedynka Procedura obsługi przerwania: Timer_0_int: Inc Count If Count = 250 Then Print "TIMER0 wygenerował przerwanie" Count = 0 End If Return 3. Projektowanie automatu sterującego w tekstowych językach opisu sprzętu Układ sterujący wyświetlaczami 7-segmentowymi moŝe być takŝe zaprojektowany w matrycy FPGA jako np. automat Moore a. JeŜeli stan wyjść automatu zaleŝy wyłącznie od jego stanu bieŝącego, moŝna zastosować konstrukcję WITH STATES do opisu stanów wyjść. Przykład wykorzystania takiej konstrukcji przy projektowaniu automatu wyświetlającego dowolny znak na matrycy 8x8 jest przedstawiony na rys. 8. Automat moŝna bez problemu zmodyfikować do sterowania wyświetlaczami 7-segmentowymi. W miejsca oznaczone kropkami naleŝy wpisać definicje kolejnych stanów automatu. Jak widać najstarsze 8 bitów wyjścia jest wykorzystane do sterowania kolumnami wyświetlacza w kodzie 1zn. 8 9

najmłodszych bitów wyjścia automatu steruje wierszami matrycy. Do sterowania kolumnami moŝna teŝ wykorzystać demultiplekser 8 bitowy sterowany licznikiem modulo 8. Rys. 8. Przykład opisu automatu wyświetlającego dowolny znak na matrycy 8x8 (opis jest niekompletny) Inny sposób opisu automatu synchronicznego w języku AHDL jest przedstawiony na rysunku 9. 10

Rys. 9. Przykład opisu automatu wyświetlającego dowolny znak na matrycy 8x8 (opis jest niekompletny) Szczegółowe zasady opisu automatów w AHDL moŝna znaleźć w pomocy programu MAX+II lub Quartus w: Help - AHDL How To Use AHDL State Machines (AHDL). JeŜeli wykorzystujemy pamięć ROM do przechowywania matryc wyświetlanych znaków, musimy utworzyć plik konfigurujący pamięć. Najprostszy jest format MIF (Memory Initialization File). Przykładowa zawartość pliku.mif jest przedstawiona na rysunku 10. Wartości adresów i danych są zupełnie przypadkowe i słuŝą wyłącznie ilustracji sposobu konstruowania zawartości pliku konfiguracyjnego. Plik.mif moŝna utworzyć w dowolnym edytorze tekstowym, np. w notatniku Windows. Bardziej złoŝona metoda polega na implementacji wybranego standardowego lub własnego mikroprocesora, a następnie oprogramowanie go w asemblerze. W ten sposób moŝna wykorzystać procesor wbudowany (zagnieŝdŝony) do sterowania wyświetlaczami 7- segmentowymi. W przypadku zagnieŝdŝenia procesora o standardowym rdzeniu np. 8051, ARM, PIC, AVR, moŝna wykorzystać kompilatory wyŝszego poziomu takie jak C lub Basic. Do zagnieŝdŝenia najlepiej nadają się mikroprocesory typu RISC ze względu na znacznie 11

mniejsze zapotrzebowanie na zasoby sprzętowe układu programowalnego niŝ w przypadku mikrokontrolerów CISC. Rys. 10. Przykładowa zawartość pliku konfigurującego MIF 4. Zestaw uruchomieniowy Wszystkie zadania rozwiązywane w trakcie ćwiczenia, dotyczące sterowania z mikrokontrolera jednoukładowego, moŝna uruchomić na płytce testowej wchodzącej w skład zestawu uruchomieniowego 89x051. Na płytce testowej rozmieszczone są poszczególne elementy które moŝna łączyć bez potrzeby lutowania za pomocą specjalnych przewodów. Dostępne są następujące układy: - 20 pinowa podstawka DIP20 w której moŝna umieścić jeden z procesorów z rodziny 20 pinowych procesorów zgodnych z 8051 lub AVR. W podstawce moŝna teŝ umieścić złącze emulatora sprzętowego co pozwala na uruchamianie programów bez procesora w trybie emulacji. - Interfejs RS-232 umoŝliwiający komunikację z innym zestawem lub z komputerem PC. Do konwersji poziomów logicznych do standardu komputerowego został wykorzystamy układ MAX232. - Alfanumeryczny wyświetlacz 1x16 lub 2x16 zgodny programowo ze standardowym sterownikiem HD44780 firmy Hitachi. - Cztery wyświetlacze siedmiosegmentowe LED połączone w sposób umoŝliwiający sterowanie multipleksowe. - Uniwersalny dwukierunkowy port 8 bitowy z interfejsem I 2 C. 12

- Zegar czasu rzeczywistego PCF8583 z rezonatorem kwarcowym. - Pamięć EEPROM z interfejsem szeregowym I 2 C AT24C04. - 8 diod LED. - złącza pozwalające na dołączenie zewnętrznych modułów z komunikacją I 2 C, 1-Wire lub równoległą 8 bitową. - Odbiornik podczerwieni do odbioru danych z pilota zdalnego sterowania w standardzie RC-5. - Dwa tranzystory ogólnego przeznaczenia. - Dwa przyciski sterujące typu microswitch. W razie potrzeby moŝna dołączyć zewnętrzną klawiaturę 4x4 lub wykorzystać przewody zwierane do masy. Oprogramowanie systemu moŝna realizować z wykorzystaniem asemblera, C (np. bezpłatnego SDCC) lub MCS Basic (wersja testowa do 2kB kodu wynikowego). Przy wykorzystaniu mikrokontrolerów z rodziny AVR8 moŝna stosować AVR Studio (asembler) lub AVR Studio+AVRGCC (język C). Dopuszczalne jest takŝe łączenie modułów w języku wyŝszego poziomu z procedurami w asemblerze. Rozmieszczenie elementów na płytce testowej jest przedstawione na rysunku 12. Rozmieszczenie elementów na płytce wyświetlaczy jest przedstawione na rysunku 13. 13

Rys. 11. Schemat połączeń zestawu uruchomieniowego 14

Rys. 12. Rozmieszczenie elementów na płytce testowej Rys. 13. Rozmieszczenie elementów na płytce wyświetlaczy 15

5. Zagadnienia do przygotowania Przed przystąpieniem do wykonania ćwiczenia, student powinien: - zapoznać się z instrukcją, - zapoznać się ze schematem zestawu uruchomieniowego, - powtórzyć teorię układów sekwencyjnych wykorzystujących pamięci ROM, - powtórzyć projektowanie automatów sekwencyjnych za pomocą języka AHDL, - opracować rozwiązanie co najmniej dwóch z zadań podanych na końcu instrukcji. 6. Wymagania BHP Warunkiem przystąpienia do praktycznej realizacji ćwiczenia jest zapoznanie się z obowiązującą w laboratorium instrukcją BHP oraz przestrzeganie zasad w niej zawartych. Konieczne jest takŝe zapoznanie z ogólnymi zasadami pracy przy stanowisku komputerowym. Instrukcje BHP powinny być podane studentom podczas pierwszych zajęć laboratoryjnych i dostępne do wglądu w Laboratorium. 7. Sprawozdanie studenckie Sprawozdanie z ćwiczenia powinno zawierać: stronę tytułowa zgodnie z obowiązującym wzorem, cel i zakres ćwiczenia, opis stanowiska badawczego, opis przebiegu ćwiczenia z wyszczególnieniem wykonywanych czynności, algorytm rozwiązania danego problemu, schematy układów, programy w asemblerze (lub w języku wyŝszego poziomu) z komentarzami, komentarze i wnioski Na ocenę sprawozdania będą miały wpływ następujące elementy: zgodność zawartości z instrukcją, algorytm rozwiązania problemu, wnioski i uwagi, 16

terminowość i ogólna estetyka Sprawozdanie powinno być wykonane i oddane na zakończenie ćwiczenia, najpóźniej na zajęciach następnych. Sprawozdania oddane później będą oceniane niŝej. 7. Przykładowe zadania Z1. Wyświetlić liczbę 2345 na wyświetlaczach 7-segmentowych w trybie multipleksowym. MoŜna wykorzystać maksymalnie 8 wyprowadzeń mikrokontrolera. Nie powinno być widoczne migotanie. Z2. Licznik od 0 do 9999 taktowany sygnałem 1Hz. Z3. Licznik od 0 do 9999 zliczający wciśnięcia przycisku. NaleŜy wyeliminować wpływ drgań styków. Program powinien wykorzystywać przerwanie zegarowe do obsługi wyświetlaczy 7-segmentowych. Z4. Zaprojektować automat sekwencyjny działający jak stoper od 0 do 99 sekund. Z5. Zadanie jak Z4. Dodatkowo sterowanie przyciskami: start, stop i reset. Z6. Zaprojektować automat (w AHDL lub VHDL) wyświetlający stan licznika zliczającego liczbę wciśnięć przycisków góra i dół. Zastosować w projekcie pamięć LPM_ROM do przechowywania matryc znaków. Z7. Zrealizować wyświetlanie numeru klawisza wciśniętego na dołączonej klawiaturze matrycowej 4x4. 8. Literatura: L1. Paweł Hadam: Projektowanie systemów mikroprocesorowych, BTC, 2004r. L2. B. Zieliński: Układy mikroprocesorowe, przykłady rozwiązań, Gliwice, Helion, 2002r. L3. WWW.altera.com - dsf10k.pdf opis układów rodziny FLEX10K L4. Łuba T.: Syntez układów cyfrowych, WKŁ, 2003r. L5. Skorupski A.: Podstawy techniki cyfrowej, WKŁ, 2004 L6. Małysiak H.: Teoria automatów cyfrowych, laboratorium, Wydawnictwo Politechniki Śląskiej, 2003. L7. Pasierbiński, J., Zbysiński P.: Układy programowalne w praktyce, WKŁ, 2002r. 17