ściaga mikroklocki, IB PWr, Mikrokontrolery, Mikrokontrolery 1, wykład, wykład


PROGRAM 5

.nolist

.include "usb1287def.inc"

.list

.cseg

.org 0

;GÓRA

cbi DDRB, 7 ;ustawia bit 7 portu B na 0, czyli jest wejociem

sbi PORTB, 7 ;podci1ganie

sbi DDRD, 5 ;ustawia bit 5 portu D na 1, czyli jest wyjociem

cbi DDRE, 5 ;DÓL

sbi PORTE, 5

sbi DDRD, 7

cbi DDRE, 4 ;PRAWO

sbi PORTE, 4

sbi DDRD, 6

cbi DDRB, 6 ;LEWO

sbi PORTB, 6

sbi DDRD, 4

start:

in r16, PINB ;bo joystick jest w porcie B

sbrs r16, 6 ;sprawdza czy jest 0 czy 1, jeoli 0->zapal_gora, jeoli 1->

start

rjmp zapal_gora

cbi PORTD, 4

in r17, PINE

sbrs r17, 5

rjmp zapal_dol

cbi PORTD, 5

in r17, PINE

sbrs r17, 4

rjmp zapal_prawo

cbi PORTD, 6

in r16, PINB

sbrs r16, 7

rjmp zapal_lewo

cbi PORTD, 7

rjmp start

zapal_gora: ;prawa dolna czerwona dioda

sbi PORTD, 4 ;ustawia bit 4 portu D na 1, czyli dioda sie pali

rjmp start

zapal_dol:

sbi PORTD, 5 ;lewa dolna zielona dioda

rjmp start

zapal_prawo:

sbi PORTD, 6 ;lewa górna zielona dioda

rjmp start

zapal_lewo:

sbi PORTD, 7 ;prawa górna czerwona

rjmp start

.exit

PROGRAM 6

.nolist

.include "usb1287def.inc"

.list

.cseg

.org 0

pocz:

ldi r16, 0

ldi r17, 0xFF

out DDRD, r17 ;out - wysylanie informacji - programowanie na wejscie (0)

out DDRB, r16 ;programowanie na wyjscie

out PORTB, r17 ;PORT - informacja wyjsciowa

ldi r18,0b00001111 ;komunikat1, gdywcisniete klawisze 0-3

ldi r19,0b11110000 ;komunikat2, gdy wcisniete klawisze 4-7

ldi r20,0b10011001 ;komunikat3, gdy oba klawisze wcisniete

poczatek:

out PORTD, r16 ;PORT - informacja wyjsciowa

in r22,PINB ;zapisuje stan portu w rejestrze r22

and r22,r18 ;iloczyn logiczny rejestrów

cp r22,r16 ;porownuje zawartosc r22

brne czy_obie ;jeśli jest 0 to skacze

in r22,PINB

and r22,r18

cp r22,r16

brne druga

out PORTD, r16 ; nic nie wyswietli (w r16 jest 0)

jmp poczatek

czy_obie:

in r22, PINB

and r22, r19

cp r22, r16

brne obie ;przeskoczy do "obie", jeoli oba przyciski wcisniete

out PORTD, r18 ;wyswietli komunikat1

jmp poczatek

druga:

out PORTD, r19 ;wyswietli komunikat 2

jmp poczatek

obie:

out PORTD, r20 ;wyswietli komunikat3

jmp poczatek

.exit

PROGRAM 2C

.nolist

include "usb1287def.inc"

.list

.equ adres_pocz=0x02FB

.cseg

.org 0

jmp pocz

.org 0x46

pocz:ldi r16,1

ldi xh,high (adres_pocz)

ldi xl,low (adres_pocz)

ldi r18,1

nast: st x+,r16

add r16,r18

cpi r16,13

brbc 1,nast

st x,r16

koniec: jmp koniec

.PROGRAM 3

.nolist

.include "usb1287def.inc"

.list

.cseg;rozpoczynamy program

.org 0 ;program rozpoczyna się od 0

.set DANA = 0x0F

.set ADRES = 0x0155

ldi r16, 0x00 ;wpisanie do r16 wartości 0

ldi r17, 0x01 ;wpisanie do rejestru r17 wartości 1

ldi r18, 0x08 ;wpisaie do r18 wartości 8 (zmienna do pętli)

ldi XH, HIGH(ADRES)

ldi XL, LOW(ADRES)

ldi r19, DANA ;wpisanie do r19 wartości DANA

st X, r19 ;przepisanie zawartości r19 do rejestru X

inc XL ;zwiększenie X

brne skok

inc XH

skok:

start:

sbrc r19,0 ;sprawdzanie ostatniego bitu, przeskocz, jeśli bit=0 (flaga Z)

st X+, r17 ;przepisanie zawartości r17 z postinkrementacją X

sbrs r19,0 ;przeskocz, jeśli bit jest ustawiony

st X+,r16 ;przepisanie zawartości r16 z postinkrementacją X

ror r19 ;przesunięcie bitów w prawo

dec r18 ;zmniejszenie licznika

brne start

koniec:

rjmp koniec

.exit

PROGRAM 7

.include "usb1287def.inc"

.cseg

.equ adr_c=0x300 ;adres w pamieci programu, gdzie umieszczamy tabele

.equ adr_d=0x400 ;adres w pamieci danych zapisu nowej tabeli

.equ poczatkowa=2

.equ koncowa=5

.org adr_c

.db 1,2,3,4,5,6,7,0xFF ;define byte wpisuje do pamieci programu bajty

.org 0

ldi zL, low(adr_c*2)

ldi zH, high(adr_c*2)

ldi xL, low(adr_d)

ldi xH, high(adr_d)

;ldi r20,0xFF

start:

lpm r16, z+ ;zaladuj z pamieci programu

cpi r16,poczatkowa ;zapala flage C gdy poczatkowa>r16

brbs 0,start

cpi r16,koncowa

brbc 0,ostatnia

st x+, r16

rjmp start

ostatnia: st x+,r16

;st x,r20

koniec: rjmp koniec

.exit



Wyszukiwarka

Podobne podstrony:
ściaga mikroklocki - rozkazy, IB PWr, Mikrokontrolery, Mikrokontrolery 1, wykład, wykład
odp-koło1-mikroklocki, IB PWr, Mikrokontrolery, Mikrokontrolery 1, wykład, wykład
ściąga mikroklimat, inż. BHP, V semestr
Wszystkie tematy - kolokwium ściąga, Studia Pwr, Semestr 1, Psychologia (wykład)
sciaga wyklad ZPiU, Studia - Mechatronika PWR, Podstawy zarządzania - wykład (Teresa Maszczak)
PKM - sciaga, Polibuda MBM PWR 2012-2016, Sem. V, PKM I, wyklad siara
fundamentowanie ściąga, 11 - PWr WBLiW, Fundamentowanie, wykłady
automatyka sciaga na exam(1), Studia - Mechatronika PWR, Podstawy automatyki - wykład (Mirosław Łuko
sciaga ppt, ZiIP Pwr, Projektowanie Procesów Technologicznych, Wykład
odpowiedzi -zarządzanie, Studia - Mechatronika PWR, Podstawy zarządzania - wykład (Teresa Maszczak)
Grupa, Studia Pwr, Semestr 1, Psychologia (wykład)
Biofizyka pytania z kola, Biotechnologia PWR, Semestr 5, Biofizyka - Wykład, Biofizyka - materiały
Porównanie procesów poznawczych i emocjonalnych, Studia Pwr, Semestr 1, Psychologia (wykład)
odpowiedzi test maszczak (14.01.2013), Studia - Mechatronika PWR, Podstawy zarządzania - wykład (Ter
BIOFIZYKA- rozwiązania, Biotechnologia PWR, Semestr 5, Biofizyka - Wykład, Biofizyka - materiały
Zagadnienia Wykład Szczurowski, Zarządzanie PWR, Semestr 5, MIND, Wykład

więcej podobnych podstron