więcej... - Katedra Automatyki i Robotyki
Transkrypt
więcej... - Katedra Automatyki i Robotyki
Politechnika Białostocka Wydział Mechaniczny Instrukcja do zajęć laboratoryjnych Temat ćwiczenia: Programowanie układu do sterowania wyświetlaczem 7-segmentowym Numer ćwiczenia: 4 Laboratorium z przedmiotu: Technika cyfrowa i mikroprocesorowa Kod: Opracował: dr inż. Marcin Derlatka 2006 Wydział Mechaniczny Katedra Automatyki i Robotyki KOD: 1 2 3 4 5 6 7 8 9 0 9 8 7 6 5 4 I. WPROWADZENIE Wyświetlacze 7-segmentowe są układami do wyświetlania informacji w postaci cyfr (np. kalkulatory, zegarki elektroniczne itp.). Na dołączonym do instrukcji rysunku przestawiono schemat sterowania takim wskaźnikiem. Elementem sterującym pracą układu jest przycisk monostabilny podłączony do pinu RA0 PORTA. W momencie wciśnięcia jest on zwierany do masy i na wejście podawane jest zero logiczne, gdy przycisk jest w pozycji neutralnej to wartość na RA0 wynosi 1. Cały port B jest przeznaczony na obsługę wyświetlacza. Aby wyświetlić określoną cyfrę musimy „zapalić” odpowiednie segmenty. Zapalenie żądanego segmentu w wyświetlaczu siedmiosegmentowym tego typu (wspólna katoda) można osiągnąć przez podanie na odpowiednią linię PORTB stanu wysokiego (‘1’). Łatwo zauważyć, że na schemacie segment A jest połączony z RB0, segment B z RB1 itd. Np. liczba 2 wygląda następująco: A=1 B=1 C=0 D=1 E=1 F=0 G=1 H.=0 LICZBA WART. WYŚWIETLANA BINARNA 2 01011011 WART. HEXADECYMALNA 5B Najwyższy ósmy bit „zapala“ kropkę (H). Bardzo wygodne jest umieszczenie tak zakodowanych wartości w tablicy. W poniższym przykładzie pokazano jak umieścić w tablicy cyfry od 0 do 9. ADDWF RETLW RETLW RETLW ...... RETLW PCL,f 0x3F 0x06 0x5B ...... 0x6F ;początek tablicy, (tzw. skok wyliczany) ;wraca z wartością 3F w akumulatorze (0) ;1 ;2 ;9 Instrukcja RETLW xxx wykonuje powrót z podprogramu z wartością xxx w akumulatorze. Poniższy fragment programu umożliwia wyświetlenie cyfr 0 i 1 z Tablicy. (Program zakłada istnienie oprócz Tablicy także podprogramu z pętlą opóźniającą wait). #include <p16f84.inc> wsk equ 0x20 clrf wsk bsf STATUS, RP0 ….. bcf STATUS, RP0 ;zmiennej o adresie 0x20 nadajemy alias wsk, ;zmienną traktujemy jako wskaźnik na tablicę ;wsk wskazuje na element tablicy o indeksie 0 ;konfiguracja portów wejścia/wyjścia ….. Start movf wsk,w call Tablica movwf PORTB call wait incf wsk,f movf wsk,w xorlw 0x02 btfss STATUS,Z goto Start clrf wsk ;podanie pobranej wartości z tablicy Æ ;wyświetlenie ;zakodowanej liczby na wyświetlaczu 7-segmentowym ;wywołanie pętli opóźniającej, która umożliwi ;zaobserwowanie wyświetlanej wartości ;przesunięcie wskaźnika na następny element tablicy ;sprawdzenie czy nie przekroczono zakresu tablicy ;tutaj 2 ;zakres nie przekroczony wyświetlamy kolejną cyfrę ;zakres przekroczony Æ ustawiamy wskaźnik na ; początek tablicy goto Start end W czasie pisania programu należy zwrócić szczególna uwagę na: * możliwość przeadresowania tablicy -> odwołanie się do elementu, którego nie ma w tablicy będzie powodowało błędne działanie układu * czas, w którym przycisk jest wciśnięty przez użytkownika może być za każdym razem inny a program zawsze powinien działać tak samo; II. CEL ĆWICZENIA LABORATORYJNEGO Celem ćwiczenia laboratoryjnego jest zapoznanie studentów ze sterowaniem podstawowego układu do wyświetlania informacji. III. PRZEBIEG ĆWICZENIA 1. Napisać program realizujący następujące założenia (podpunkty opisują zadania alternatywne – wyboru dokonuje prowadzący): a) wciśnięcie klawisza powoduje sekwencyjne ukazywanie się na wyświetlaczu kolejnych liczb od 0 do 9 b) jw. + następne wciśnięcie klawisza powoduje, że wyświetlanie jest dwukrotnie wolniejsze. c) jak a + następne wciśnięcie klawisza powoduje zmianę kolejności wyświetlania. 2. Prześledzić jego działanie za pomocą symulatora MPLAB. a) Utwórz projekt zgodnie z instrukcją „Zintegrowane środowisko projektowe MPLAB™ wraz z programatorem PICSTART®Plus”. b) przeprowadź symulację działania programu i oceń jego poprawność. c)Załadować program do odpowiedniego mikroprocesora przy użyciu programatora PICSTART PLUS. d) Włożyć zaprogramowany procesor do płytki elektronicznej i sprawdzić jej działanie. IV. WYMAGANIA BHP. • • Uwaga!!! Nie należy przeprowadzać jakichkolwiek manipulacji na mikrokontrolerach, układach i urządzeniach elektronicznych przy włączonym zasilaniu. Uwaga!!! Nieprzestrzeganie poleceń prowadzącego grozi uszkodzeniem układów za co cała grupa ponosi materialną opowiedzialność V. SPRAWOZDANIE STUDENCKIE Sprawozdanie powinno zawierać: 1. Wydruk programu zaopatrzonego w komentarze, 2. Obserwacje i wnioski. VI. LITERATURA. 1. 2. 3. 4. 5. Pietraszek S.: ”Mikroprocesory jednoukładowe PIC”, Wyd. Helion 2002. Jabłoński T.: „Mikrokontrolery PIC16F8x w praktyce”. Wyd. BTC, 2002. „MPLAB – IDE, Simulator, Editor”, User’s Guide, Microchip Technology Inc., 1996. „PIC16/17 – microcontroller data book”, Microchip Technology Inc., 1996. K. Gołebiewski – „Elektronika dla elektryków”, Wydawnictwa Politechniki Białostockiej, Białystok 1993.