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 WYŚWIETLANA WART. HEXADECYMALNA WART. BINARNA 2 01011011 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 PCL,f ;początek tablicy, (tzw. skok wyliczany) RETLW 0x3F ;wraca z wartością 3F w akumulatorze (0) RETLW 0x06 ;1 RETLW 0x5B ;2...... RETLW 0x6F ;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 ;zmiennej o adresie 0x20 nadajemy alias wsk, ;zmienną traktujemy jako wskaźnik na tablicę clrf wsk ;wsk wskazuje na element tablicy o indeksie 0 bsf STATUS, RP0.. bcf STATUS, RP0 ;konfiguracja portów wejścia/wyjścia Start.. movf wsk,w call Tablica movwf PORTB ;podanie pobranej wartości z tablicy ;wyświetlenie ;zakodowanej liczby na wyświetlaczu 7-segmentowym call wait ;wywołanie pętli opóźniającej, która umożliwi ;zaobserwowanie wyświetlanej wartości incf wsk,f ;przesunięcie wskaźnika na następny element tablicy movf wsk,w xorlw 0x02 ;sprawdzenie czy nie przekroczono zakresu tablicy btfss STATUS,Z ;tutaj 2 goto Start ;zakres nie przekroczony wyświetlamy kolejną cyfrę clrf wsk ;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. Pietraszek S.: Mikroprocesory jednoukładowe PIC, Wyd. Helion 2002. 2. Jabłoński T.: Mikrokontrolery PIC16F8x w praktyce. Wyd. BTC, 2002. 3. MPLAB IDE, Simulator, Editor, User s Guide, Microchip Technology Inc., 1996. 4. PIC16/17 microcontroller data book, Microchip Technology Inc., 1996. 5. K. Gołebiewski Elektronika dla elektryków, Wydawnictwa Politechniki Białostockiej, Białystok 1993.