Elektronika i Telekomunikacja POLSL
Forum Elektroników Wydziału AEI Politechniki Śląskiej
FAQ  ::  Szukaj  ::  Użytkownicy  ::  Grupy  ::  Galerie  ::  Rejestracja  ::  Profil  ::  Zaloguj się, by sprawdzić wiadomości  ::  Zaloguj


Pierwszy termin
Idź do strony Poprzedni  1, 2, 3, 4  Następny
 
Napisz nowy temat   Odpowiedz do tematu    Forum Elektronika i Telekomunikacja POLSL Strona Główna » Semestr VIII / uP-lab
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
przemo
Tłuste zero



Dołączył: 08 Sty 2008
Posty: 96
Przeczytał: 0 tematów


PostWysłany: Śro 21:36, 16 Cze 2010    Temat postu:

Rozwiazanie rodzia wedlug benka na 0pkt
Powrót do góry
Zobacz profil autora
robert_bytom
Sado-Elektro - wiecie gdzie ma lutownice



Dołączył: 21 Paź 2006
Posty: 778
Przeczytał: 0 tematów

Skąd: Bytom

PostWysłany: Śro 21:49, 16 Cze 2010    Temat postu:

Moja wersja spisana teraz na szybko na kolanie (oceniona na 9) była mniej więcej taka:

Kod:

.ORG 0
   RJMP RESET
.ORG 0xXXXX            ;wektor przerwań od przetwornika AD
   RJMP PRZETW_AD

RESET:

   LDI R16,HIGH(RAMEND)      ;inicjalizacja stosu
   OUT SPH,R16
   LDI R16,LOW(RAMEND)
   OUT SPL,R16

   LDI R16,$FF         ;porty B,C,D jako wyjścia
   OUT DDRB,R16
   OUT DDRC,R16
   OUT DDRD,R16
   
   (...)            ;inicjalizacja A/C

   SEI            ;włączenie przerwań

   (...)            ;program główny


PRZETW_AD:

   IN R0,ADCH         ;pobranie 8 najstarszych bitów

   LDI R16,0         ;setki
   LDI R17,0         ;dziesiątki
   LDI R18,0         ;jedności

   LDI R19,200         ;konwersja na BCD
   CP R0,R19
   BRCS DAL1
   CLC
   SUB R0,R19
   LDI R16,2
DAL1:
   LDI R19,100
   CP R0,R19
   BRCS DAL2
   CLC
   SUB R0,R19
   LDI R16,1
DAL2:
   LDI R19,10
DAL3:
   CP R0,R19
   BRCS DAL4
   CLC
   SUB R0,R19
   INC R17
   RJMP DAL3
DAL4:
   MOV R18,R0
   IN R0,ADCL         ;pobranie dwóch najmłodszych bitów (są na dwóch najstarszych pozycjach w ADCL)

   LDI R19,128         ;zaokrąglenie starszego z bitów i korekcja dziesiętna R17 i R18
   CP R0,R19
   BRCS DAL5
   INC R18

   CPI R18,10
   BRCS DAL5
   CLC
   SUBI R18,10
   INC R17

   CPI R17,10
   BRCS DAL5
   CLC
   SUBI R17,10
   INC R16

DAL5:
   LDI R30,LOW(TAB)      ;zamiana liczby na kod wyświetlacza 7-seg
   LDI R31,HIGH(TAB)

   MOV R0,R16
   CALL INKREMENTUJ_Z
   LPM
   OUT PORTD,R0

   LDI R30,LOW(TAB)
   LDI R31,HIGH(TAB)

   MOV R0,R17
   CALL INKREMENTUJ_Z
   LPM
   OUT PORTC,R0

   LDI R30,LOW(TAB)
   LDI R31,HIGH(TAB)

   MOV R0,R18
   CALL INKREMENTUJ_Z
   LPM
   OUT PORTB,R0

   CBI PORTD,7         ;zapalanie kropki

RETI

INKREMENTUJ_Z:
   CLC
   ADD R30,R0
   BRCC KONIEC
   INC R31
KONIEC:
   RET

TAB: .DB 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90

.END


Sorki za ewentualne błędy, bo nie wiem czy na 100% udało mi się to powielić.


Ostatnio zmieniony przez robert_bytom dnia Śro 22:35, 16 Cze 2010, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
rodzio
Chuda Jedynka



Dołączył: 11 Sty 2007
Posty: 127
Przeczytał: 0 tematów


PostWysłany: Śro 21:52, 16 Cze 2010    Temat postu:

Bo moje rozwiązanie na egz posiadało błędy. Takie jak CPI na niskich rejestrach i założyłem sobie, że ADC jest wyrównane do prawej.

A w ogóle 0 chyba jest za podzielenie się moją pracą z kolegą. Bo mamy słowo w słowo to samo.

Oczywiście jeśli ktoś dostrzega błąd w tym rozwiązaniu, proszę się podzielić.


Ostatnio zmieniony przez rodzio dnia Śro 22:05, 16 Cze 2010, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
GrzeKrass
ELEKTRONIK - on już ciągnie druty



Dołączył: 22 Paź 2006
Posty: 426
Przeczytał: 0 tematów

Skąd: Żory

PostWysłany: Śro 22:19, 16 Cze 2010    Temat postu:

ja z kukoczem też mamy Smile benek czuwa :/
Powrót do góry
Zobacz profil autora
chmurli
ELEKTRONIK - on już ciągnie druty



Dołączył: 16 Paź 2006
Posty: 400
Przeczytał: 0 tematów

Skąd: /dev/null

PostWysłany: Czw 9:35, 17 Cze 2010    Temat postu:

Taborek też czuwa, rok temu mnie tak uwalił :/
Powrót do góry
Zobacz profil autora
gemis
Administrator



Dołączył: 08 Paź 2006
Posty: 271
Przeczytał: 0 tematów

Skąd: Knurów / TK

PostWysłany: Czw 10:09, 17 Cze 2010    Temat postu:

@robert_bytom
@zadanie 1

Koncepcje programu miałem identyczną, mój różnił się tylko szczegółami...
Wyrwoł odejmował punkty za:

- nie wrzucenie na stos rejestrów których się używa w przerwaniu ( i pozniej ich zdjęcia na koniec ). za to mi odjął 1 pkt

- no i ogólnie za jakies pierdoły typu ja nie miałem tablicy dokladnie opisanej, napisałem tylko ze tablica jest 2 bajtowa wpisałem pierwszy wiersz i reszte dałem wykropkowane. Zapomniałem przy tym dać kropkę przed db. ( za to odjął mi kolejny punkt ) - łącznie 9 miałem
Powrót do góry
Zobacz profil autora
KuKocz
Sado-Elektro - wiecie gdzie ma lutownice



Dołączył: 25 Paź 2006
Posty: 503
Przeczytał: 0 tematów

Skąd: Jastrzębie Zdrój

PostWysłany: Czw 10:23, 17 Cze 2010    Temat postu:

przemo napisał:
Rozwiazanie rodzia wedlug benka na 0pkt

rodzio napisał:
Bo moje rozwiązanie na egz posiadało błędy. Takie jak CPI na niskich rejestrach i założyłem sobie, że ADC jest wyrównane do prawej.

A w ogóle 0 chyba jest za podzielenie się moją pracą z kolegą. Bo mamy słowo w słowo to samo.

Oczywiście jeśli ktoś dostrzega błąd w tym rozwiązaniu, proszę się podzielić.

GrzeKrass napisał:
ja z kukoczem też mamy Smile benek czuwa :/


Miałem przepisany od krassa kilka pierwszych pętli, ale na szczęście wszystko wyjaśniliśmy wyrwołowi i dał krassowi 7 punktow.
Wiec @przemo jeśli Ty od rodzia ściągałeś powiedz to wyrwołowi to przynajmniej rodzio dostanie jakies punkty za swój program. Wink
Powrót do góry
Zobacz profil autora
rodzio
Chuda Jedynka



Dołączył: 11 Sty 2007
Posty: 127
Przeczytał: 0 tematów


PostWysłany: Czw 10:25, 17 Cze 2010    Temat postu:

Nie to nie przemo. A w ogóle za dużo błędów, a interesuje mnie jedynie zwolnienie z teorii, więc sobie jeszcze raz pójdęSmile
Powrót do góry
Zobacz profil autora
KuKocz
Sado-Elektro - wiecie gdzie ma lutownice



Dołączył: 25 Paź 2006
Posty: 503
Przeczytał: 0 tematów

Skąd: Jastrzębie Zdrój

PostWysłany: Czw 10:30, 17 Cze 2010    Temat postu:

W takim razie zwracam honor...
Choć z tego co Wyrwoł mówił, wystarczyłoby tylko coś zacząć i już dawał 1 ptk...
Zakładając, że drugie zad masz dobrze to egzam masz do przodu Smile

Co do zwolnień z teorii, jeśli ktoś nie zdaje I terminu do którego podchodzi to z tego co mi wiadomo (mowa tu o zwolnieniach zdobytych w ramach obecności na wykładach) - to takie zwolnienie na kolejnym terminie przepada niestety.
Powrót do góry
Zobacz profil autora
robert_bytom
Sado-Elektro - wiecie gdzie ma lutownice



Dołączył: 21 Paź 2006
Posty: 778
Przeczytał: 0 tematów

Skąd: Bytom

PostWysłany: Czw 11:28, 17 Cze 2010    Temat postu:

gemis napisał:
nie wrzucenie na stos rejestrów których się używa w przerwaniu ( i pozniej ich zdjęcia na koniec ). za to mi odjął 1 pkt


Trochę bez sensu, żeby rozpatrywać to jako błąd, bo wszystko zależy od tego, co jest w programie głównym, a tutaj go w ogóle nie piszemy. Mogę przecież tych rejestrów nigdzie indziej nie używać. Jakbym miał główny program: "jmp $" to po jakiego grzyba miałbym to robić ? Very Happy
Powrót do góry
Zobacz profil autora
gemis
Administrator



Dołączył: 08 Paź 2006
Posty: 271
Przeczytał: 0 tematów

Skąd: Knurów / TK

PostWysłany: Czw 12:33, 17 Cze 2010    Temat postu:

Cytat:
Trochę bez sensu, żeby rozpatrywać to jako błąd, bo wszystko zależy od tego, co jest w programie głównym, a tutaj go w ogóle nie piszemy. Mogę przecież tych rejestrów nigdzie indziej nie używać. Jakbym miał główny program: "jmp $" to po jakiego grzyba miałbym to robić ?


Yep zgadzam się, by tego wymagać, powinien być w treści zapis typu:
"Proszę zapewnić poprawność działania programu głównego po wyjściu z przerwania".


Ostatnio zmieniony przez gemis dnia Czw 12:34, 17 Cze 2010, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
rodzio
Chuda Jedynka



Dołączył: 11 Sty 2007
Posty: 127
Przeczytał: 0 tematów


PostWysłany: Czw 18:41, 17 Cze 2010    Temat postu:

KuKocz napisał:
W takim razie zwracam honor...
Choć z tego co Wyrwoł mówił, wystarczyłoby tylko coś zacząć i już dawał 1 ptk...
Zakładając, że drugie zad masz dobrze to egzam masz do przodu Smile

Co do zwolnień z teorii, jeśli ktoś nie zdaje I terminu do którego podchodzi to z tego co mi wiadomo (mowa tu o zwolnieniach zdobytych w ramach obecności na wykładach) - to takie zwolnienie na kolejnym terminie przepada niestety.


Ja liczyłem na takie zwolnienie jak kiedyś dawali ze skimpa od 4.5Smile Byłem dziś u Wyrwoła policzył mi zadania na 7pkt (oczywiście gdybym przyprowadził Krzysia który potwierdziłby, że spisałRazz) no ale nawet jak Taborek da 11 to dupa, braknie punkta. Powalczymy na kolejnym terminie:)
Powrót do góry
Zobacz profil autora
lonerr
Tłuste zero



Dołączył: 18 Maj 2010
Posty: 3
Przeczytał: 0 tematów


PostWysłany: Sob 17:58, 19 Cze 2010    Temat postu:

Kod:
    MOV AX,TextSeg
    MOV DS,AX
    MOV SI,TextOff

NEXT:   
    LODSB         ;zaladowanie do AL bajtu, si++
    OR AL,AL    ;sprawdzenie czy nie 00h
    JE KONIEC   ;jesli Z=1 to koniec
    CMP AL,0dh  ;porownaj do szukanego 0dh
    JNE NEXT    ;jesli nie znalazl to do poczatku
    MOV [SI-1],20h    ;jesli znalazl to zamieniamy
    INC DX

PRZESUWANIE:   
    PUSH SI     ;odkladamy na stos, bo sie przyda
    INC SI       ;TUTAJ PRZESUWAMY WSZYSTKO
NX:   
    LODSB        ;ladujemy do AL
    MOV [SI-2],AL ;-2 bo zasepujemy znak 0ah
    OR AL,AL     ;sprawdzanie konca
    JNE NX        ;jak nie to dalej
    POP SI        ;jak tak to sciagamy ze stosu
    JMP NEXT    ;i wracamy
   
KONIEC: END


taki pytanko na początku trzeba ustawić chyba flagę kierunku STD?


Ostatnio zmieniony przez lonerr dnia Sob 18:19, 19 Cze 2010, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
rodzio
Chuda Jedynka



Dołączył: 11 Sty 2007
Posty: 127
Przeczytał: 0 tematów


PostWysłany: Sob 18:24, 19 Cze 2010    Temat postu:

Jeśli naszym zadaniem jest napisanie programu jako całości, można by założyć, że ustawione jest domyślnie (czyli SI wzrasta). Natomiast gdy naszym zadaniem jest napisanie jedynie podprogramu, można by to dla pewności ustawić.
Powrót do góry
Zobacz profil autora
czeladzian
Tłuste zero



Dołączył: 20 Lut 2008
Posty: 35
Przeczytał: 0 tematów


PostWysłany: Wto 9:40, 29 Cze 2010    Temat postu:

ADC=(1024*Vin)/2,56

Po co to jest dane w zadaniu? Żeby otrzymać wynik musimy wymnożyć to?
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Elektronika i Telekomunikacja POLSL Strona Główna » Semestr VIII / uP-lab Wszystkie czasy w strefie CET (Europa)
Idź do strony Poprzedni  1, 2, 3, 4  Następny
Strona 3 z 4

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
  ::  
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group   ::   template subEarth by Kisioł. Programosy   ::  
Regulamin