mazurkiewicz,PODSTAWY TECHNIK MIKROPROCESOROWYCH, porty równoległe obsługa klawiatury matrycowej zestawu ZD537


PODSTAWY TECHNIK MIKROPROCESOROWYCH

Laboratorium

Temat: Porty równoległe. Obsługa klawiatury matrycowej zestawu ZD537.

Zadania do wykonania

Zadanie 1.

Program odczytu z klawiatury metodą skaningową(numery kolumny i wiersza klawisza wyświetlić na LED)

Zadanie 2.

Podprogram zwracający (w Akumulatorze i na LED) numer/od naciśnietego klawisza.

Zadanie 3.

Program realizujący funkcję kalkulatora( np. dodawania dwu liczb wpisanych z klawiatury).

REALIZACJA ZADAŃ

Ad.1

$NOMOD51

$INCLUDE (REG517.INC)

CSEG AT 0000h

PETLA:

MOV R3,#4 ; licznik wierszy, przesyłanie do R3 liczby 4

MOV R1,#07Fh ; ustawienie wiersza początkowego

JZ PETLA1

PETLA1:

MOV P5,R1

MOV A,P7 ; wysłanie stanu z portu P7 do akumulatora

XRL A,#0FFh

JZ PETLA2

MOV A,P7 ; wysłanie stanu z portu P7 do akumulatora

ANL A,R1 ; maska zerująca 4 najstarsze bity akumulatora

MOV P1,A ; wysłanie zawartości akumulatora na port P1

PETLA2:

MOV A,R1

RR A

MOV R1,A

DJNZ R3,PETLA1

SJMP PETLA ; pętla powrotu na początek programu

JMP $

END

Ad.2

$NOMOD51

$INCLUDE(REG517.INC)

CSEG AT 0

MOV R2,#0 ; numer sprawdzanego klawisza

MOV R3,#4 ; licznik petli, przesyłanie do R3 liczby 4

MOV P5,#0EFH ; wysterowanie portu P5

MOV A,P7 ; wysłanie stanu z portu P7 do akumulatora

ety1:

RRC A ; przesuniecie bitowe w prawo

JNC WYJSCIE ; skok na koniec, gdy flaga C=0

INC R2

DJNZ R3,ety1 ; R3=R3-1, jeśli R3!=0 to skok do ety1

MOV R3,#4

MOV P5,#0DFH

MOV A,P7

SETB C ; ustawienie C=1

CPL C ; zmiana stanu C (wyzerowanie)

ety2:

RRC A ; przesuniecie bitowe w prawo

JNC WYJSCIE ; skok na koniec, gdy flaga C=0

INC R2 ; skok na koniec, gdy flaga C=0

DJNZ R3,ety2 ; R3=R3-1, jeśli R3!=0 to skok do ety2

MOV R3,#4

MOV P5,#0BFH

MOV A,P7

SETB C

CPL C

ety3:

RRC A ; przesuniecie bitowe w prawo

JNC WYJSCIE ; skok na koniec, gdy flaga C=0

INC R2 ; skok na koniec, gdy flaga C=0

DJNZ R3,ety3 ; R3=R3-1, jeśli R3!=0 to skok do ety3

MOV R3,#4

MOV P5,#07FH

MOV A,P7

SETB C

CPL C

ety4:

RRC A ; przesuniecie bitowe w prawo

JNC WYJSCIE ; skok na koniec, gdy flaga C=0

INC R2 ; skok na koniec, gdy flaga C=0

DJNZ R3, ety4 ; R3=R3-1, jeśli R3!=0 to skok do ety4

WYJSCIE:

MOV A,R2 ; przepisanie numeru klawisza do akumulatora

CPL A

MOV P1,A ; wyświetlenie na diodach LED numeru w kodzie NKB

JMP $

END

Ad.3

Start:

MOV SCON,11010000B

MOV TMOD,00100000B

MOV TH1,#243D

MOV TL1,#243D

SETB TR1 ; włącz taktowanie

SETB REN ; włącz odbiornik

ELO:

JNB RI,$ ; czekaj na 1 znak z klawiatury

MOV A,SBUF ; przepisz znak do akumulatora

CLR RI ;kasuj flagę odbioru

MOV SBUF,A ; wyślij znak na ekran

JNB TI,$ ; czekaj aż skończy wysyłać

CLRTI ; kasuj flagę nadania

SUBB A,#'0' ; zamień z ASCII na DEC

MOV B,#10D ; pomnóż wprowadzoną przez 10

MUL AB

MOV R1,A ; zapamiętaj w R1 liczbę (dziesiątki)

JNB RI,$ ; czekaj na 2 znak z klawiatury

MOV A,SBUF ; przepisz znak do akumulatora

CLR RI ; kasuj flagę odbioru

MOV SBUF,A ; wyślij znak na ekran

JNB TI,$ ; czekaj aż skończy wysyłać

CLRTI ; kasuj flagę nadania

SUBB A,#'0' ; zamień z ASCII na DEC

ADD A,R1 ; sumuj dziesiątki i jedności pierwszej liczby

MOV R1,A ; zapamiętaj pierwszą liczbę W R1

MOV SBUF,#'+' ; wyświetl +

JNB TI,$ ; czekaj aż skończy wysyłać

CLRTI ; kasuj flagę nadania

JNB RI,$ ; czekaj na 3 znak z klawiatury

MOV A,SBUF ; przepisz znak do akumulatora

CLR RI ; kasuj flagę odbioru

MOV SBUF,A ; wyślij znak na ekran

JNB TI,$ ; czekaj aż skończy wysyłać

CLRTI ; kasuj flagę nadania

SUBB A,#'0' ; zamień z ASCII na DEC

MOV B,#10D ; pomnóż wprowadzoną przez 10

MUL AB

MOV R2,A ; zapamiętaj w R2 liczbę (dziesiątki)

JNB RI,$ ; czekaj na 2 znak z klawiatury

MOV A,SBUF ; przepisz znak do akumulatora

CLR RI ; kasuj flagę odbioru

MOV SBUF,A ; wyślij znak na ekran

JNB TI,$ ; czekaj aż skończy wysyłać

CLRTI ; kasuj flagę nadania

SUBB A,#'0' ; zamień z ASCII na DEC

ADD A,R2 ; sumuj dziesiątki i jedności drugiej liczby

MOV SBUF,#'=' ; wyświetl =

JNB TI,$ ;czekaj aż skończy wysyłać

CLRTI ; kasuj flagę nadania

ADD A,R1 ; sumuj zapamiętane liczby

MOV B,#100 ; wyodrębnij cyfrę setek

DIV AB

ADD A,#'0' ; zamień na ASCII

MOV SBUF,A ; wyślij pierwszy znak wyniku na ekran

JNB TI,$ ; czekaj aż skończy wysyłać

CLRTI ; kasuj flagę nadania

MOV A,B ; reszta z dzielenia do A

MOV B,#10 ; wyodrębnij cyfrę dziesiątek

DIV AB

ADD A,#'0' ; zamień na ASCII

MOV SBUF,A ; wyślij drugi znak wyniku na ekran

JNB TI,$ ; czekaj aż skończy wysyłać

CLRTI ; kasuj flagę nadania

MOV A,B ; reszta z dzielenia do A (cyfra jedności)

ADD A,#'0' ; zamień na ASCII

MOV SBUF,A ; wyślij trzeci znak wyniku na ekran

JNB TI,$ ; czekaj aż skończy wysyłać

CLRTI ; kasuj flagę nadania

MOV SBUF,#' ' ; wprowadź odstęp (dla estetyki) na ekran

JNB TI,$ ; czekaj aż skończy wysyłać

CLRTI ; kasuj flagę nadania

LJMP ELO ; POWTARZAJ PROGRAM

END

Uwagi końcowe

Podczas zajęć laboratoryjnych udało się wykonać pierwszy podpunkt z przewidzianych trzech. Wykonany został poprawnie, co sprawdzić można było na zestawie ćwiczeniowym. Podpunkt drugi został rozpoczęty, jednak stopień zaawansowania prac nie pozwolił na przetestowanie jego działania. Ćwiczenie to zostało dokończone w domu, jednak ze względu na brak zestawu ćwiczeniowego nie mogło zostać w pełni przetestowane.

Podpunkt trzeci został jednak podobnie jak w przypadku podpunktu drugiego ze względu na brak zestawu ćwiczeniowego nie mógł być dokładnie przeanalizowany.



Wyszukiwarka

Podobne podstrony:
mazurkiewicz,PODSTAWY TECHNIK MIKROPROCESOROWYCH, TIMERY LICZNIKI, obsługa w trybie przeglądania
mazurkiewicz,PODSTAWY TECHNIK MIKROPROCESOROWYCH,SYSTEM PRZERWAŃ, przerwania od timerów liczników, p
mazurkiewicz,Podstawy techniki cyfrowej i mikroprocesorowej I, opracowanie zagadnień
PODSTAWY TECHNIK MIKROPROCESOROWYCH, Studia Pwr INF, Semestr IV, PTM
Podstawy techniki mikroprocesor Nieznany
zadania egzaminacyjne dzienne (PTM), elektro, 1, Podstawy Techniki Mikroprocesorowej
80C51 pytania i odpowiedzi, elektro, 1, Podstawy Techniki Mikroprocesorowej
zadania egzaminacyjne zaoczne 2006 07 (PTM), elektro, 1, Podstawy Techniki Mikroprocesorowej
Egzamin z PTC podst kombinacyjne, elektro, 1, Podstawy Techniki Mikroprocesorowej
Podstawy techniki mikroprocesorowej, rozdzial 2 i 3
TECHNIKA CYFROWA - sprawko lab 1, Studia, PWR, 4 semestr, Podstawy techniki mikroprocesorowej, labor
PODSTAWY TECHNIK MIKROPROCESOROWYCH, Studia Pwr INF, Semestr IV, PTM
Egzamin z PTC Nisko, elektro, 1, Podstawy Techniki Mikroprocesorowej
egzamin z TC 2, elektro, 1, Podstawy Techniki Mikroprocesorowej
TECHNIKA CYFROWA - sprawko lab 4, Studia, PWR, 4 semestr, Podstawy techniki mikroprocesorowej, labor
TECHNIKA CYFROWA - sprawko lab 5, Studia, PWR, 4 semestr, Podstawy techniki mikroprocesorowej, labor
Układ sterowania fazowego na mikroprocesorze, elektro, 1, Podstawy Techniki Mikroprocesorowej
opracowanie.mikroprocki, Przeróżne materiały, Podstawy techniki mikroproc
zadania egzaminacyjne zaoczne (PTM), elektro, 1, Podstawy Techniki Mikroprocesorowej

więcej podobnych podstron