BCD+3 na 7 segment – Číslicová technika – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

BCD+3 na 7 segment – Číslicová technika – Fórum – Programujte.comBCD+3 na 7 segment – Číslicová technika – Fórum – Programujte.com

 

Jakub
~ Anonymní uživatel
905 příspěvků
16. 9. 2012   #1
-
0
-

Zdravim, mam problem s realizaci dekoderu, při realizaci mi fungují prvni tri funkce ale zbytek ne...
Vše mam dobře, tabulky, minimalizace...

Poradte prosim :(

Nahlásit jako SPAM
IP: 77.95.40.–
TheOndrap
~ Anonymní uživatel
305 příspěvků
16. 9. 2012   #2
-
0
-

trochu se rozepiš .. napiš tu zminimalizovanou formuli :)

Nahlásit jako SPAM
IP: 88.102.250.–
Jakub
~ Anonymní uživatel
905 příspěvků
16. 9. 2012   #3
-
0
-

Fa -B+cD+Cd+a

Fb - b+b+A

Fc - B+D+c

Fd - AB+Cd+aC+ad+AcD

Fe - AB+Cd+ad

Ff - cd+aC

Fg - bd+bc+aC+ad

velka pismena znamenaji NEGACE

cele vyrazy dvakrat zneguju a zapojim pres nandy....

funguji pouze prvni tri funkce

Nahlásit jako SPAM
IP: 77.95.40.–
KIIV
~ Moderátor
+43
God of flame
16. 9. 2012   #4
-
0
-

proc tam mas napriklad  b+b? nestaci jednou b ?

co znamena BCD+3?  jako ze  0 == 3 ?

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Jakub
~ Anonymní uživatel
905 příspěvků
16. 9. 2012   #5
-
0
-

to je preklik omlouvam se ;) ma to byt b+c+A

BCD+3 je podobny kdou BCD, alle je posunuty o 3...tzn že zacina od 3 a konci v 12 ;)

Nahlásit jako SPAM
IP: 77.95.40.–
KIIV
~ Moderátor
+43
God of flame
16. 9. 2012   #6
-
0
-

nevim jak tobe ale me vychazi ze mas vsude segment A sepnutej...

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Jakub
~ Anonymní uživatel
905 příspěvků
16. 9. 2012   #7
-
0
-

neni to tak....zapojoval jsem to v multisimu a prvni tri funkce fungujou...coz jsou čísla 0-2, kde je s. A v nule vyplej...

Nahlásit jako SPAM
IP: 77.95.40.–
KIIV
~ Moderátor
+43
God of flame
16. 9. 2012   #8
-
0
-

   

   abcd ABCD a b c 
 3 1100 0011 1 1 1 
 4 0010 1101 1 1 1 
 5 1010 0101 1 1 1 
 6 0110 1001 1 1 1 
 7 1110 0001 1 1 1 
 8 0001 1110 1 1 1 
 9 1001 0110 1 0 1 
10 0101 1010 1 1 0 
11 1101 0010 1 1 0 
12 0011 1100 1 1 1 
Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
KIIV
~ Moderátor
+43
God of flame
16. 9. 2012   #9
-
0
-

me z karnaughovy mapy vyslo pro segment A toto:    C+D+aB+Ab  (s tim ze na neciselnejch pozicich budou totalni nesmysly)

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Jakub
~ Anonymní uživatel
905 příspěvků
16. 9. 2012   #10
-
0
-

ma to počítat jenom od 0 do 9...
ta funkce co vam vysla je spatna....podle nic to nefunguje...
funguje ta má prvni Fa....

Nahlásit jako SPAM
IP: 77.95.40.–
KIIV
~ Moderátor
+43
God of flame
16. 9. 2012   #11
-
0
-

no tak sem dej celou pravdivostni tabulku a jak vypadaj ty tvoje znaky na sedmisegmentu...

me vychazej :)

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Jakub
~ Anonymní uživatel
905 příspěvků
16. 9. 2012   #12
-
0
-

   

Nahlásit jako SPAM
IP: 77.95.40.–
KIIV
~ Moderátor
+43
God of flame
16. 9. 2012   #13
-
0
-

no a ja mam zatim toto:

   abcd ABCD a b c d e f g
 3 1100 0011 1 1 1 1 
 4 0010 1101 0 1 1 0 
 5 1010 0101 1 1 0 1 
 6 0110 1001 1 1 1 1 
 7 1110 0001 0 1 1 0 
 8 0001 1110 1 0 1 1 
 9 1001 0110 1 0 1 1 
10 0101 1010 1 1 1 0 
11 1101 0010 1 1 1 1 
12 0011 1100 1 1 1 1 

#include <iostream>

using namespace std;

int main() {
  cout << "   abcd ABCD a b c d e f g\n";
  for (int i=3; i<13; i++) {
    bool a= i&1, b= i&2, c= i&4, d= i&8;
    bool A= !a, B= !b, C= !c, D= !d;
    if ( i < 10 ) { cout << " "; }
    cout << i << " ";
    cout << a << b << c << d << " " << A << B << C << D << " ";
    cout << (C || d || (a&&B) || (A&&b)) << " ";
    cout << (b || c ) << " ";
    cout << (d || b || A) << " ";
    cout << ((C&&D) || (a&&B) || (A&&b&&c) || (a&&d) || (B&&d)) << " ";
//    cout << () << " ";
//    cout << () << " ";
//    cout << () << " ";
    cout << endl;
  }
}

vsimni si, ze je to zatracene napadne podobne tomu co ma byt...

mimochodem u vsech dekoderu je A nejmene platny bit (tj hodnota 1)... a D je MSB (8) - ty to mas presne naopak

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Jakub
~ Anonymní uživatel
905 příspěvků
16. 9. 2012   #14
-
0
-

koukam že se nam lišej tabulky...nevim proč...

mužete mi prosim napsat funkce?

dělate to jinak než ja :D

Děkuji

Nahlásit jako SPAM
IP: 77.95.40.–
KIIV
~ Moderátor
+43
God of flame
16. 9. 2012   #15
-
0
-

   

   abcd ABCD a b c d e f g
 3 1100 0011 1 1 1 1 1 1 0 
 4 0010 1101 0 1 1 0 0 0 0 
 5 1010 0101 1 1 0 1 1 0 1 
 6 0110 1001 1 1 1 1 0 0 1 
 7 1110 0001 0 1 1 0 0 1 1 
 8 0001 1110 1 0 1 1 0 1 1 
 9 1001 0110 1 0 1 1 1 1 1 
10 0101 1010 1 1 1 0 0 0 0 
11 1101 0010 1 1 1 1 0 1 1 
12 0011 1100 1 1 1 1 0 1 1 

segA = (C || d || (a&&B) || (A&&b))
segB = (b || c )
segC = (d || b || A)
segD = ((C&&D) || (a&&B) || (A&&b&&c) || (a&&d) || (B&&d))
segE = ((a&&B) || (C&&D))
segF = ((a&&b) || (B&&d))
segG = ((a&&B) || (b&&c) || (a&&d) || (B&&d))

akorat u tebe jsou proste prohozeny pismena
Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Jakub
~ Anonymní uživatel
905 příspěvků
16. 9. 2012   #16
-
0
-

Děkuji, zkusím to zapojit podle tohodle a pak dam vědet.  

Nahlásit jako SPAM
IP: 77.95.40.–
Jakub
~ Anonymní uživatel
905 příspěvků
16. 9. 2012   #17
-
0
-

seg D mi nefunguje   pouze prvni tri

Nahlásit jako SPAM
IP: 77.95.40.–
KIIV
~ Moderátor
+43
God of flame
16. 9. 2012   #18
-
0
-

   

#include <iostream>

using namespace std;

int main() {
  cout << "   abcd ABCD a b c d e f g\n";
  for (int i=3; i<13; i++) {
    bool a= i&8, b= i&4, c= i&2, d= i&1;
    bool A= !a, B= !b, C= !c, D= !d;
    if ( i < 10 ) { cout << " "; }
    cout << i << " ";
    cout << a << b << c << d << " " << A << B << C << D << " ";
    // segA
    cout << (B || a || (d&&C) || (D&&c)) << " ";
    // segB
    cout << (c || b ) << " ";
    // segC
    cout << (a || c || D) << " ";
    // segD
    cout << ((A&&B) || (d&&C) || (D&&c&&b) || (a&&d) || (C&&a)) << " ";
    // segE
    cout << ((d&&C) || (A&&B)) << " ";
    // segF
    cout << ((d&&c) || (C&&a)) << " ";
    // segG
    cout << ((d&&C) || (b&&c) || (a&&d) || (C&&a)) << " ";
    cout << endl;
  }
}

prohazeny promenny...

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Jakub
~ Anonymní uživatel
905 příspěvků
16. 9. 2012   #19
-
0
-

Decko je nefunkční...u obou funkcí..

Nahlásit jako SPAM
IP: 77.95.40.–
Jakub
~ Anonymní uživatel
905 příspěvků
17. 9. 2012   #20
-
0
-

a v tabulce v 12 radku mate chybu....8 ma sami jednicky 

Nahlásit jako SPAM
IP: 77.95.40.–
KIIV
~ Moderátor
+43
God of flame
17. 9. 2012   #21
-
0
-

radek 12 je v poradku.. to je 9

radek 11 je blbe...

jen se tam prida pro segment e  || ( a&&d )

a segment D je urcite dobre... ty tabulky mam vyjety skrz funkce... ne jen rozepsany jak to ma vypadat

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Jakub
~ Anonymní uživatel
905 příspěvků
17. 9. 2012   #22
-
0
-

jo zase preklik :D vsechny fce fungujou....na to decko se podivam jeste jednou.....jinak moc dekuju...

jeste mam dotaz...proc se nam lisej pravdivostni tabulky ale vysledek je stejnej?...

A jaky zpusobem to resite?

Děkuji

Nahlásit jako SPAM
IP: 77.95.40.–
Jakub
~ Anonymní uživatel
905 příspěvků
17. 9. 2012   #23
-
0
-

A taky nechapu proc u fce pro segA je pravdivostni tabulka ta levá....ale pro e,f,g,h je ta prava?...a u fce segB je to občas leva občas prava..

Nahlásit jako SPAM
IP: 77.95.40.–
KIIV
~ Moderátor
+43
God of flame
17. 9. 2012   #24
-
0
-

no lisi se jen v tom ze ja mam A=1 B=2 C=4 a D=8 ... u tebe je to presne naopak...

jinak segmenty sou presne ekvivalentni ... jinak by mohla byt jina 6 a 9 a 4...  nekdy se koduje 6 bez segmentu A, 9 bez segD a 4 bez segB

jinak sem to resil normalne karnaughovou mapou... zapsat 3-12  a zbytek  X (ze se to muze a nemusi groupovat) a pak udelat co nejvetsi skupiny

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
KIIV
~ Moderátor
+43
God of flame
17. 9. 2012   #25
-
0
-

#23 Jakub
todle nechapu... jen sem si tam pomahal a  abcd je neinvertovane, ABCD invertovane... (dodrzeni konvence kterou si zavedl na zacatku...) aby se s tim dalo snadno doplnovat do rovnic  (proste toho druheho ctyrsloupku si nevsimej)

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Jakub
~ Anonymní uživatel
905 příspěvků
17. 9. 2012   #26
-
0
-

aháá :) už to v tom vidím ;) ja to pomocí map řešim celej večer ale k temto funkcim sem se nedostal :D

jinak k tem tabulkam jsem to už pochopil ;) 

Děkuji mockrat ;) kdyby neco napišu :)

Nahlásit jako SPAM
IP: 77.95.40.–
Jakub
~ Anonymní uživatel
905 příspěvků
17. 9. 2012   #27
-
0
-

Posledni vec, u segmentu A,B,C musim použít levou tabulku a pro D,E,F,G musím pouzit tu invertovanou, ale pokud vystup pripojim pres inventor tk segment nefunguje, nevim jestli je to chyba programu nebo ne...

Nahlásit jako SPAM
IP: 77.95.40.–
KIIV
~ Moderátor
+43
God of flame
17. 9. 2012   #28
-
0
-

ne..  u kazdy funkce musis pro velky pismena pouzit hodnotu z praveho sloupce a pro maly pismena hodnotu z leve casti

(proste pouzit negovanou hodnotu tam, kde ma byt negovana hodnota)

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý