Kysymys:
Onko mahdollista ajaa 2 X 16 LCD-näyttöä logiikkaporttien avulla? (Ilman tietokonetta)
Jardel B.
2018-02-08 20:32:04 UTC
view on stackexchange narkive permalink

Haluan muodostaa piirin logiikkaporttien avulla, joka tulostaa viestin LCD-näytölle (2 X 16).Onko mitään ideaa?Haluan tietää, miten tämä tehdään "käsin".kuin vanhoina aikoina.

Voinko rakentaa piirin logiikkaporteista, jotka on kytketty näppäimistöön ja jonka näppäintä painettaessa merkki näkyy nestekidenäytössä?

Jos puhut HD44780-pohjaisista näytöistä, niitä ei koskaan ajettu "käsin", ne on suunniteltu Motorola MCU -väylää varten.Se ei tietenkään ole mahdotonta, mutta ei myöskään kissojen paimentaminen.
Voinko rakentaa piirin logiikkaporteista, jotka on kytketty näppäimistöön ja jonka näppäintä painettaessa merkki näkyy nestekidenäytössä?
Kuten sanoin, kyllä, se on mahdollista.
Voit rakentaa suorittimen logiikkaporteilla.Katso hullu esimerkki kohdasta [big mess o'wires] (https://www.bigmessowires.com/bmow1/).Joten kyllä, voit ajaa myös 2x16 LCD-näyttöä.Ota kuitenkin huomioon, että se vie todennäköisesti muutaman viikon.Ja tällä kertaa on todennäköisesti mielenkiintoisempia asioita (en tuomitse, mutta tuomitsen silti vähän ...).
Re, "Ilman tietokonetta".Luulen, että se riippuu siitä, mitä luulet "tietokone" tarkoittaa.Olen aiemmin työskennellyt useamman kuin yhden "tietokoneen" kanssa, jolla ei ollut minkäänlaista mikroprosessoria.Laatikossa ei ollut mitään muuta kuin iso vanha joukko logiikkaportteja, jotka oli yhdistetty toisiinsa siten, että ne hakivat ohjeet ja operandit muistista, purkivat ohjeet, muotoilivat ne, kirjoittivat tulokset takaisin muistiin - aivan kuten mitä_todellinen_ tietokone tekisi.https://c1.staticflickr.com/9/8278/8942466121_db0327bc2e_b.jpg
Voit tehdä sen Minecraftissa: https://www.youtube.com/watch?v=aQqWorbrAaY
"Vanhoina aikoina" ei ollut olemassa sellaista asiaa kuin 2x16 LCD, jossa olisi sisäänrakennettu ohjain, ohjain ja kätevä 8-bittinen väylä.Ehdotat on vähän kuin yrität rakentaa autotietokone polttoaineruiskutettua moottoria varten releistä ja tyhjiöputkista.Kukaan ei koskaan tehnyt niin - vanhoissa autoissa oli kaasuttimia eikä tietokoneita lainkaan.2x16 LCD-paneeli on ** suunniteltu ** käytettäväksi mikro-ohjaimen kautta.Jos haluat oldschool-projektin, noutaa joitain 7-segmenttisiä BCD-indikaattoreita ja aloita sieltä.
Liittäminen PS / 2- tai USB-näppäimistöön olisi haastavampaa kuin ajaa 2x16-nestekidenäytöllä.Jos minun täytyisi tehdä se muulla logiikalla kuin mikrolla, etsin ensin muutamia rinnakkaisia ROM (Flash) -piirejä ja tulisin laskureihin rakentamaan joitain valtion koneita.GAL: t ja FPGA: t voisivat auttaa, jos tarvitset x.y-matriisinäppäimistöä.Huomaamaton logiikka on paljon työtä, mutta ei mahdotonta.
Viisi vastused:
Michael Karas
2018-02-08 21:12:55 UTC
view on stackexchange narkive permalink

Logiikkaporteista on mahdollista tehdä piiri, joka kykenisi alustamaan ja näyttämään merkit 16x2 LCD-merkkitilan moduulissa. On myös mahdollista tehdä piiri logiikkaporteista, joka voisi viedä tavallisen matriisinäppäimistön tai jopa PS2-tyyppisen näppäimistön lähdön ja reitittää kyseisen näppäimistön tiedot LCD-moduuliin.

Suuri ajateltava asia on kuitenkin se, että kysymyksesi esittämisessä tarkoitat, että olet oppimiskäyrän alussa siitä, miten edetä tällaisen projektin tekemisessä. Ehdotan, että jos haluat rakentaa jotain logiikkaporteista, aloitat jollakin paljon yksinkertaisemmalla, kunnes saat ajatuksen siitä, mitä on tekemisissä asioiden tekemiseksi tämän tyyppisen, jos asia. Vasta sitten pystyt vastaamaan omaan kysymykseesi siitä, miksi näppäimistön ja LCD-moduulin liittäminen erillisillä logiikkaporteilla ei ehkä ole järkevää. Tämän saavuttaminen vaatii paljon logiikkaportteja ja varmasti paljon aikaa ja vaivaa hyvän tuloksen saavuttamiseksi. Kun kaikki on saatu päätökseen, alat melkein heti miettiä, miten voit saada näytön näyttämään merkkijonon ja mahdollisesti jopa "muokata" näytettyä merkkijonoa. Nyt logiikkaportin toteutuksesta tulee aivan uuden projektin painajainen.

Joten on olemassa syy, että koko maailma on siirtynyt tekemään tällaisia asioita mikro-ohjaimella.Hyvin yksinkertaisia liitäntöjä käytetään esimerkiksi matriisinäppäimistöjen ja 16x2 LCD-moduulien liittämiseen mikro-ohjaimen GPIO-liitäntöihin.Nämä yksinkertaiset käyttöliittymät on helppo rakentaa ja testata varmistaakseen, että ne toimivat.Kun se on paikallaan, siitä tulee yksinkertainen ohjelmistotyö loogisen yhteyden tarjoamiseksi näppäimistön ja LCD-moduulin välille.Ja tämä ohjelmisto voi olla yhtä yksinkertainen kuin alkuperäinen suunnitteleskenaario, jonka pyysit ottamaan vain yhden syötteen näppäimistöltä ja näyttämään sen näytöllä tai se voidaan mukauttaa näyttämään melkein mitä tahansa näytöllä ... esimerkiksiLaske, kuinka monta kertaa näppäintä on painettu ... tai näytä kuinka kauan näppäintä on painettu ... tai näytä koko käyttöliittymä, joka käyttää laitettasi.

On mahdollista tehdä piiri logiikkaporteista, joka on tietokone: -)
@JardelB.StackExchange-verkossa, jos vastaus auttoi sinua eniten, _ hyväksyt _ napsauttamalla sen vasemmalla puolella olevaa valintamerkkiä.Tämä teko kiittää kirjailijaa automaattisesti lisäämällä hänelle positiivista mainetta.
Adam Davis
2018-02-08 22:35:53 UTC
view on stackexchange narkive permalink

Kyllä. Tarvitset useita lohkoja, jotta se toimii:

  1. Tarvitset LCD-ajolohkon. LCD-näyttö on tarkoitettu kirjoitettavaksi 4- tai 8-bittisessä tilassa, suosittelen 8-bittistä tälle sovellukselle. Kukin kirjoitus sisältää datan asettamisen väylälle ja E-rivin kaventamisen. Tätä järjestelmää varten sinun on kirjoitettava vain nestekidenäyttöön, jotta RD / WR-johdot voidaan yhdistää korkeaan tai matalaan, jotta näyttö asetettaisiin kirjoitustilaan.
  2. Sinun on alustettava nestekidenäyttö kerran käynnistyksen yhteydessä, mikä tarkoittaa sarjan tavujen lähettämistä sille. Tähän liittyy jonkinlainen muisti, onko diodimatriisi tai rom. Käynnistyksen yhteydessä laskurin on lähetettävä peräkkäiset osoitteet "muistiin", jonka lähtö ohjataan nestekidenäytön ajolohkoon.
  3. Tarvitset näppäimistön lukulohkon. Ehdotan, että käytät PS2-näppäimistöliittymää, jos haluat käyttää PC-tyyppistä näppäimistöä, mutta voit kuitenkin rakentaa oman painepankin ja skannausjärjestelmän, jos haluat. Jos käytät PS2: ta, sinun on luotava kello ja luettava sarjatiedot ja sitten muunnettava ne rinnakkaistiedoiksi.
  4. Tarvitset näppäimistön muunnoslohkon. Tämä vie näppäimistön koodin ja muuntaa sen merkiksi, jonka nestekidenäyttö voi näyttää. Tämä edellyttää muistia, joka on samanlainen kuin alustuslohko, mutta tarvitset vähintään yhden muistisolun kutakin avainta varten, mikä vaatii erittäin suuren diodimatriisin tai ROM-levyn. Jos olet taitava, voit käyttää yhtä ROM-muistia molempiin toimintoihin.

Kuten muut ovat huomauttaneet, tämä kaikki ei ole triviaalia ja vaatii useita logiikkapiirejä kullekin osalle. Kuitenkin se voidaan tehdä, ja kun onnistut, olet suorittanut erittäin kovan projektin.

Jos laajennat logiikkaporttien määritelmän virtuaaliportteihin FPGA: ssa, se ei olisi vaikeaa.Löydät ennalta kirjoitetut HDL-lohkot PS / 2 -tulolle ja HD44780-ulostulolle tai jopa VGA-ulostulolle.
Michael Karas
2018-02-08 21:23:55 UTC
view on stackexchange narkive permalink

Haluan lisätä uuden otteen tähän. Jos haluat todella oppia, mitä logiikan näkökulmasta tarvitaan näppäimistön liittämiseen LCD-moduuliin erityisellä logiikkasuunnittelulla, voin sanoa useita asioita ....

  1. On aina hienoa, että voimme oppia tekemään asioita mutterien ja pulttien tasolla. Tällä tavoin opitut asiat pysyvät kanssasi koko elämän.
  2. Sen sijaan, että lähestyisit tätä ajatuksella rakentaa johdot ja logiikkaportit, katsoa ympärillesi eBayssa käytettyä FPGA-arviointilevyä, jossa on näppäimistö ja LCD-moduuli. Nämä liitetään FPGA-nastoihin. Voit sitten oppia kaiken haluamasi logiikan suunnitteluprosessista FPGA-suunnitteluresurssien avulla tekemään haluamasi toiminnot.
  3. Huomaat nopeasti, että melkein kaikki ihmiset, jotka käyttävät edellä kuvattua tyyppiä FPGA-arviointilevyä, suunnittelevat järjestelmänsä sisällyttämään FPGA: han "pehmeän ytimen" mikro-ohjaimen, joka sitten suorittaa ohjelmistoalgoritmin näppäimistön ja LCD-moduuliliitännät !!
Adam Eberbach
2018-02-09 09:44:14 UTC
view on stackexchange narkive permalink

Ehdottomasti, mutta tarvitset todella paljon niitä!

Hyödyllinen resurssi voi olla Charles Petzoldin koodi.Hän puhuu siitä haastattelussa täällä.

Tämä kirja alkaa tarkastelemalla, kuinka voit lähettää tietoja yhdellä bitillä, sitten kahdella bitillä (eli yksi, jos maalla, kaksi, jos merellä), sitten enemmän.Sitten tarkastellaan logiikkaa ja miten portit voidaan toteuttaa releillä, ja siirtyy sitten yhä monimutkaisemmille rakennuspalikoille, kuten varvastossut ja lisäosat.Löydät kuinka toteuttaa viivästykset, jakajat, multiplekserit, muisti, pohjimmiltaan kaikki mitä tarvitset.Jos on resurssi, joka alkaa tyhjästä ja rakentaa kokonaisen tietokoneen "käsin", se todennäköisesti on se.

Sean Houlihane
2018-02-09 15:01:24 UTC
view on stackexchange narkive permalink

Kyllä, se on mahdollista. Se on melko monimutkainen tehtävä - vaikka ottaisit sen käyttöön FPGA: ssa, se vie todennäköisesti viikkoja eikä päiviä.

Epäilen, mitä opit tämän monimutkaisuuden omaavasta projektista, kun kokemuksesi on tehdä sama mcu: lla (tai jollakin yksinkertaisemmalla tai vain liittää maailma mcu: han).

Rakensin jo vuonna 1986 ns. simulaattorin, jossa oli pari 8x8 LED-ryhmää, joitain laskurisiruja ja massiivinen joukko diodeja. Tämä opetti minulle vähän järjestelmän suunnittelusta, logiikan minimoinnista, joistakin tilakoneista, mutta ei paljon piirien suunnittelusta.

Toki, se teki vaikuttavan esittelyn (koulu piti sen ja toi sen esille avoimien ovien päivinä), ja tuolloin se ei ollut niin kaukana huipputeknologiasta.

Tee sama asia tänään, että käytän MCU-alustaa (mikrobitillä on jopa matriisi sisäänrakennettu), ja tehtävä olisi ohjelmisto. Jos käytän FPGA: ta, kirjoitan melkein saman ohjelmiston verilogissa. Diskreettisen logiikan tai jopa diodiryhmien käyttö opettaa itsellesi vanhentuneita taitoja (kyllä, olen rakentanut 144 MHz: n venttiilivahvistimen, joten arvostan, että joskus voi olla merkitystä).

Ero hissisimulaattorin ja tänään työskentelemieni mallien mittakaavan välillä (100k portti, 5-10 mallia) on todella abstraktiotaso. Jaa muotoilu lohkoiksi, mallintaa vuorovaikutukset ja saa rakenne oikein. Matalan tason toteutuksessa on kyse aiemmin tehdyn uudelleen käyttämisestä. Toiminnallinen suunnittelu riippuu myös sen suorituskyvystä monimutkaisessa ohjelmistojen dekompressorissa tuottamani datavirran rekonstruoimiseksi.

Jos rajoitut pelkästään logiikan toteuttamiseen, menetät massiivisen kekseliäisen vaiheen, jossa ohjelmisto voi helposti tehdä työn puolestasi (triviaali esimerkki, lajittelemalla joukko kokoonpano-osoitearvoja nousevassa järjestyksessä prioriteettisäännön soveltamiseksi.Toki laitteisto voi tehdä sen, mutta toteutuksen kustannukset eivät ole vähäpätöisiä ja myös turhia - suunnittelua käyttävät ohjelmistot voivat tehdä sen ilmaiseksi).

Pieni määrä laitteeseen upotettua laskentaa on nyt lähellä ilmaista - voit usein vähentää tuotantokustannuksia lisäämällä mcu: n (ja saat lisää ominaisuuksia, jotka saattavat lisätä todellista arvoa tai eivät).



Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...