Stiskněte "Enter" pro přeskočení obsahu

LED displej

0

Jednou mě napadlo že by displej šel řídit pomocí posuvného registru. Do posuvného registru se (sériově) pošlou příslušná data a na (paralelní) výstupy se připojí LED displej. Lze tedy ovládat jakýkoliv segment na displeji.

Ručně by to asi moc nešlo, proto jsem vytvořil program Displej, který podle vytvořeného textu (nebo příslušného znaku) vytvoří binární hodnoty a ty pošle přes sériový port do posuvného registru.

Posuvné registry mají navíc výhodu, že je lze jednoduše řadit za sebe do kaskády, takže lze vytvořit libovolně dlouhý běžící text.

Nejprve je nutné signály z COM portu převést na TTL úrovně. To lze provést pomocí obvodu MAX 232, nebo pomocí obvodu níže. Protože obvod nemá žádnou zpětnou vazbu do počítače, nezapoují se žádné vstupy. To celý obvod velice zjednodušuje. Jako vstup i výstup je použit CAN9 konektor.

Signály (už TTL) se přivedou v druhém obvodu na vstupy posuvného registru. Ten je pošle na jumpery (na ty lze připojit LED Displej) a na další CAN9. Ten slouží k řazení obvodů do kaskády (nemusí se zapojovat). Displej by se měl připojit tak, aby segment A byl připojen na výstup Q2, segment B na Q1 atd.

K správné funkci tohoto obvodu je potřeba mít program Displej!!

Funkce programu

Obvod připojíme k počítači pomocí sériového portu. Používají se dva signály (DTR pro hodinový signál a TxD pro data). Spustíme program a vyberem příslušný COM port. Program port otevře a je připraven na něj odesílat zvolená data.
Stiskneme tlačítko aby se na displejo oběvila třeba 0 (přendastaveno 01111000).

Program začne odesílat tyto hodnoty

  • TxD: 0 (první binární hodnota)
  • DTR: 1 (posune posuvný registr o jeden výstup dopředu)
  • DTR: 0 (sestupná hrana signálu)
  • TxD: 1
  • DTR: 1
  • DTR: 0
  • TxD: 1
  • DTR: 1
  • DTR: 0
  • TxD: 1
  • DTR: 1
  • DTR: 0
  • TxD: 1
  • DTR: 1
  • DTR: 0
  • TxD: 0
  • DTR: 1
  • DTR: 0
  • TxD: 0
  • DTR: 1
  • DTR: 0
  • TxD: 0 (tento signál je použit pro tečku)
  • DTR: 1
  • DTR: 0

Na výstupech posuvného registu (Q0 až Q7) jsou tedy data 0111100. Nyní záleži ke kterým segmentům je jaký vývod připojen – podle toho bude znak vypadat.

Podobná funkce je i vlastních znaků. Jenom se data nečtou z předem připravené tabulky ale za chodu programu se vytvářejí klikáním na jednotlivé segmenty displeje (viz. záložka Jednotlivé seg.)

Schéma zapojení převodníku RS232>TTL

Schéma zapojení obvodu s posuvným registrem.

Zapojení segmentů

Pokusné zapojení na nepájivém poli

Napsat komentář

Vaše emailová adresa nebude zveřejněna.