Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

dekoder na AVR

latawiec2000
-
-
Posty:7
Rejestracja:18 sty 2004, o 23:19
Lokalizacja:Warszawa
Kontaktowanie:
dekoder na AVR

Postautor: latawiec2000 » 8 lut 2004, o 18:11

mam pytanko,jestem bardzo poczatkujacy w tym temacie i interesuje mnie wykonanie dekodera kodu binarnego 8-bitowego tak aby na wyjsciu wystepowaly kody bcd do sterowania 3 dekoderami na 7 segmentow?czy da sie to zrobic np. na 90S8515?czy moglby ktos pomoc w tym temacie lub jakos w normalny sposob naprowadzic?

pozdrawiam

marek

slawko-k
-
-
Posty:9
Rejestracja:8 lut 2004, o 11:38
Lokalizacja:Łańcut
Kontaktowanie:

Postautor: slawko-k » 9 lut 2004, o 08:50

Witam.
Pewnie ze sie da.
Moja propozycja:

Dim Liczba As Byte
Dim Liczba2 As Byte
Dim Setki As Byte
Dim Dziesiatki As Byte
Dim Jednosci As Byte

Liczba = 231 ' ta liczbe przetwarzamy

Setki = Liczba / 100
Liczba2 = Setki * 100
Liczba = Liczba - liczba2
Dziesiatki = Liczba / 10
Liczba2 = Dziesiatki * 10
Jednosci = Liczba - liczba2

Do
Loop
End

Awatar użytkownika
gruszek
-
-
Posty:178
Rejestracja:20 lis 2003, o 13:31
Lokalizacja:bytom

Postautor: gruszek » 9 lut 2004, o 21:55

koledze chodzilo o kod bcd, czyli polecenie
port_wyjsciowy = makebcd(liczba_w_kodzie_binarnym)
ale skoro sa 3 wyswietlacze to wymaga 9 bitow w tym kodzie czyli jeden port nie wystarczy (no chyba ze multipleksowac)
poczytaj w helpie o poleceniu makebcd
ja nie uzywalem jeszcze bascoma avr, zwykly 8051 ale mysle ze to polecenie sie nie zmienilo ;)
a jak te 9 bitow ominac to niewiem, moze zmienna 16 bitowa i potem jedna polowe dajesz na jeden port a druga polowe na inny.

slawko-k
-
-
Posty:9
Rejestracja:8 lut 2004, o 11:38
Lokalizacja:Łańcut
Kontaktowanie:

Postautor: slawko-k » 10 lut 2004, o 08:53

Ja tak zrozumialem.
Pisze 8 bitowa czyli liczby od 0 do 255 chce rozbic.
makebcd zamienia 8bitow na 2x4bity w bcd a nie o to mu chodzilo
Ja to tak rozumie.

Dlaczego piszesz 9 bitow? na 3bitach liczby nie przedstawisz przeciez

Awatar użytkownika
gruszek
-
-
Posty:178
Rejestracja:20 lis 2003, o 13:31
Lokalizacja:bytom

Postautor: gruszek » 10 lut 2004, o 11:58

bo o tej komendzie tylko czytalem przy okazji czytania artykulu o zegarze rtc (chyba w bascom college) i tam kazda cyfre przedstawial kod bcd ale masz racje bo zle sobie obliczylem w glowie i wyszlo mi ze od 0 do 9 wystarcza 3 bity ;)
sory za wprowadzanie w blad

latawiec2000
-
-
Posty:7
Rejestracja:18 sty 2004, o 23:19
Lokalizacja:Warszawa
Kontaktowanie:

Postautor: latawiec2000 » 10 lut 2004, o 20:04

sorki za glupie i naiwne pytanie a czy daloby sie przyporzadkowac kazdemu stanowi na wejsciu(od 0 do 255) przyporzadkowac scisle stany na wyjsciu dwoch portow jednego pelnego i dwoch linii nastepnego?troche tego bedzie bo ponad 255 linii,ale czy takie cos by dzialalo????
np jak na wejsciu jest 255 to jeden port daje na wyjsciu 55 w 2x BCD a dwie linie pozostalego 2?
pozdrawiam

slawko-k
-
-
Posty:9
Rejestracja:8 lut 2004, o 11:38
Lokalizacja:Łańcut
Kontaktowanie:

Postautor: slawko-k » 11 lut 2004, o 18:49

popatrz co napisalem w pierwszy liscie i tu:

dim pomoc as byte

pomoc=dziesiatki *16 ' pakujedz dzisiatki liczby do starszej czesci zmiennej pomoc
pomoc =pomoc or jednosci ' masz juz caly bajt z dwoma liczbami BCD

portx=pomoc 'i zapisujesz to na port (x)

porty= setki ' zapisujesz 3 liczbe (setki)


pozostaje sprawa pozostalych pinow portu y . trzeba je zachowac
Powodzonka

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 16 gości