podprogramy dsm-51, studia, dsm-51

[ Pobierz całość w formacie PDF ]
Podprogramy w pamiħci EPROM systemu DSM-51
Podprogramy w pamiħci EPROM systemu DSM-51
W celu uþatwienia pisania i uruchamiania wþasnych programw w pamiħci EPROM systemu
umieszczono seriħ kilku bardzo uŇytecznych programw. ObsþugujĢ one wyĻwietlacz LCD, klawiaturħ,
generujĢ opŅnienia niezbħdne przy obserwacji dziaþania niektrych programw (np. miganie diodĢ LED).
Umieszczono rwnieŇ podprogramy wykonujĢce obliczenia na wielobajtowych danych. Wykorzystanie ich
we wþasnych programach wymaga doþĢczenia pliku nagþwkowego eprom.inc dyrektywĢ:
$include(eprom.inc)
Nazwa podprogramu stos
rejestry
Opis
zmieniane uŇywane
R0
Wypisuje na wyĻwietlaczu LCD tekst wskazany
zawartoĻciĢ rejestru DPTR, zakoıczony bajtem
0.
WRITE_DATA 2 A, PSW R0
Wypisuje znakowo bajt z Akumulatora na
wyĻwietlacz LCD.
WRITE_HEX 3 A, PSW R0
Wypisuje szesnastkowo bajt z Akumulatora na
wyĻwietlacz LCD.
WRITE_INSTR 2 A, PSW R0
Wysyþa do wyĻwietlacza LCD rozkaz z
Akumulatora.
LCD_INIT 2 A, PSW R0
Inicjuje pracħ wyĻwietlacza LCD.
LCD_OFF
1 A, PSW R0
WyþĢcza wyĻwietlacz LCD.
LCD_CLR 1 A, PSW R0
Kasuje zawartoĻę wyĻwietlacza LCD i ustawia
kursor na poczĢtku.
DELAY_US 0 A --
Oczekuje przez czas zgodnie ze wzorem (þĢcznie
z wywoþaniem procedury ):
Czas [µs] = (A*2+6 )*12/11,0592
DELAY_MS 1 A --
Odczekuje przez czas A[ms] (A=0 oznacza
256ms).
DELAY_100MS 2 A --
Odczekuje przez czas A*100[ms] (A=0 oznacza
25,6s).
WAIT_ENTER
4 A,PSW R0
pisze na wyĻwietlaczu áPRESS ENTER...Ñ i
czeka na naciĻniecie klawisza [Enter].
WAIT_ENTER_NW 2 A,PSW R0
Czeka na naciĻniħcie klawisza [ENTER] (niczego
nie pisze na wyĻwietlaczu).
TEST_ENTER
1 A,PSW R0
Sprawdza, klawisz [Enter]. C=0- klawisz
naciĻniħty, C=1- klawisz puszczony.
WAIT_ENT_ESC 2 A,PSW R0
Czeka na [Enter] lub [Ecs]. Zwraca informacjħ:
C=0- [Enter], C=1- [Ecs]).
2 A, PSW,
DPTR
WAIT_KEY
2 A,PSW R0
Program czeka na dowolny klawisz z klawiatury
matrycowej. Nr klawisza zwraca w Akumulatorze.
GET_NUM
4 A,PSW R0
Wczytuje liczbħ BCD (4 cyfry) z klawiatury pod
adres @R0. Koniec wpisywania: [Enter] (C=0),
po 4 cyfrze rnieŇ [Ecs] (C=1).
BCD_HEX
0 A,PSW,B R0
Zamienia liczbħ z postaci upakowane BCD na 2
bajtach wskazanych przez @R0 na HEX na tych
bajtach.
HEX_BCD
4 A,PSW,B R0,R2
Zamienia liczbħ HEX na 2 bajtach (@R0) na
postaę upakowane BCD (3 bajty @R0).
MUL_2_2
1 A,PSW,B R0,R2
MnoŇy 2 bajty* 2 bajty (mnoŇna - @R0, mnoŇnik
Î B,A (B-high), iloczyn - @R0 (4 bajty)).
MUL_3_1
1 A,PSW,B R0
MnoŇy 3 bajty* 1 bajt (mnoŇna - @R0 (3 bajty),
mnoŇnik Î A, iloczyn - @R0 (4 bajty)).
DIV_2_1
1 A,PSW R0,R2
Dzieli 2 bajty przez 1 bajt (dzielna - @R0, dzielnik
Î B, iloraz Î na dzielnej (@R0), reszta Î A).
DIV_4_2
1 PSW A,R0,R2
Dzieli 4 bajty przez 2 bajty (dzielna - @R0,
dzielnik Î B, A (B=high), iloraz Î na dzielnej
(@R0), reszta - @(R0+4), @(R0+5)).
Pracownia systemw mikroprocesorowych
ZSP2 Brzesko
1/1
WRITE_TEXT
[ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • tlumiki.pev.pl