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.