Turinys:

Laiško Morzės abėcėlės vertėjui: 5 žingsniai
Laiško Morzės abėcėlės vertėjui: 5 žingsniai

Video: Laiško Morzės abėcėlės vertėjui: 5 žingsniai

Video: Laiško Morzės abėcėlės vertėjui: 5 žingsniai
Video: Mokytis vokiečių kalbos: 300 žodžių vokiečių kalba su paveikslėliais 2024, Liepa
Anonim
Laiškas Morzės abėcėlės vertėjui
Laiškas Morzės abėcėlės vertėjui

Matyti Morzės abėcėlės atvaizdus internete, kad sužinotumėte apie tai, yra naudinga, tačiau to negalima palyginti su matymu asmeniškai su tikrais mirksinčiais žiburiais/garsais. Šis vertėjas leis jums pasirinkti raidę, kurią norite išmokti Morzės abėcėlėje, ir išversti ją tiesiai prieš akis, mirksėdami šviesos diodais pagal tą konkrečią raidę! Šis vertėjas ima dvejetainę raidės reprezentaciją abėcėlėje (diagramą vėliau galima pamatyti kiekvienos raidės dvejetainį atitikmenį, tačiau daroma prielaida, kad A - 01, B - 10, C - 11 ir pan.) Ir konvertuoja į Morzės abėcėlės atitikmenį mirksint lemputėms vartotojui. Dešimtainė skaičiaus versija taip pat rodoma septynių segmentų ekrane, kad praneštumėte, jog kuriate teisingą dvejetainį atitikmenį.

Dvejetainis skaičius sukuriamas naudojant dešinėje pusėje esančius jungiklius ir kyla iš mažiausiai reikšmingo bito, panašiai, kaip tikėjotės kurdami dvejetainį skaičių. Jūsų sukurtas skaičius rodomas septynių segmentų ekrane, kaip nurodyta anksčiau, ir yra kairėje lentos pusėje, jis tiesiog pasakys, ar suklydote, ar ne, pateikdami jungiklius dvejetainį skaičių, arba patvirtina, kad padarėte teisingas skaičius. Vienu metu įvedama 1 raidė, ji išsaugoma atmintyje, o tada, kai vartotojas yra pasirengęs, išspausdina Morzės kodą, suaktyvindamas „Spausdinimo jungiklį“, esantį kairėje BASYS3 plokštės pusėje (tai tiesiog kitas jungiklis, kurį priskiriamas „Spausdinimo jungikliui“arba kitam jungikliui, jei naudojate kitokio tipo FPGA plokštę ir priskiriate kitą jungiklį (žr. 3 veiksmą). Paprastumo dėlei rekomenduojama naudoti „BASYS3“plokštę, tačiau tai nėra būtina.

1 žingsnis: 1 žingsnis: surinkite savo medžiagas

Šiam projektui jums reikės tik šių dalykų:

Techninė įranga- „Basys3“plokštė (arba lygiavertė FPGA, kurią galite atitinkamai prijungti)

-(PASIRENKAMA) Laidai, jei planuojate prijungti papildomus šviesos diodus arba skirtingus jungiklius prie alternatyvios FPGA

„Software-Vivado Design Suite“(rekomenduojame 2014 m. Ir vyresnius)

2 veiksmas: 2 veiksmas: sukurkite failą

Tai failas, parašytas VHDL, kad būtų galima paleisti Morzės kodo 1 bitų vertėją Vivado. Šis failas veikia su visomis „Vivado“versijomis. Jei kyla problemų atsisiunčiant failą, teksto kodo atvaizdą galima rasti kitame faile, kurį galima lengvai nukopijuoti į jūsų sukurtą failų aplanką. Prieš bandydami generuoti bitų srautą ar ką nors sintezuoti, įsitikinkite, kad yra pagrindinis šaltinis ir apribojimų failas, ir jie yra atskiruose šaltiniuose. Tiems, kurie nori suprasti išsamesnį kodo ir to, ką jis daro, paaiškinimą, peržiūrėkite 3 veiksmą. Jei tiesiog norite pereiti prie reikalo ir pradėti versti, pereikite prie 4 skyriaus.

3 žingsnis: 3 žingsnis: kodas

Mūsų kode yra 4 atskiri procesai, kurie visi vyksta vienu metu. Kiekviename iš šių žingsnių poskyrių bus išsamiau aprašyta, ką kiekvienas iš jų daro.

1 procesas:

Pirmajame mūsų sukurtame procese buvo naudojamas laikrodžio daliklis, kad septynių segmentų ekranas veiktų dviem segmentais, kad būtų parodytas dvejetainis asmens kuriamos raidės atitikmuo. Turėjome įsitikinti, kad laikrodis teisingai rodo norimų septynių segmentų sekcijų skaičių. Atitinkamai priskyrėme segmentus, kad, kai mes jų paprašytume, būtų rodomi tam tikri skaitmenys, ir peržiūrėjome paskutinius 2 skaitmenis, nes mums reikėjo tik 2, kad būtų rodomi visi abėcėlės skaičiai. Dešimtainių skaičių sistemoje sukūrėme septynių segmentų ekraną, kad žmonėms būtų lengviau matyti, kokią raidę jie bando pavaizduoti, nes dauguma gyventojų naudoja 10 bazinių skaičių sistemas.

2 procesas:

Antrasis procesas sukuria mūsų laikrodį, kad šviesos diodai veiktų, kad galėtume aiškiai matyti impulsus ir atskirti tašką nuo brūkšnio, taip pat turėdami pakankamai laiko tarp kiekvienos Morzės kodo sekcijos. Mes panaudojome signalą, kad praleistume magistralę, pilną Morzės kodo šviesos diodų išėjimų, už proceso ribų ir ant šviesos diodų, esančių lentoje, kad galėtume uždegti kelis, o ne tik vieną LED blykstę.

3 procesas:

Trečiasis mūsų procesas žiūri į dabartinių būsenų perjungimą ir priskiria raidę bet kokiam tuo metu rodomam dvejetainiam atvaizdui. Tai eina per kiekvieną raidę kartu su tarpais, taškais ir kableliais. Šis procesas čia baigiasi, o visos dalys yra surenkamos į ketvirtą procesą, kad būtų baigtas vertimas.

4 procesas:

Ketvirtasis procesas yra „vertėjo“procesas, kuris apima visą iki šiol surinktą informaciją, pvz., Ar buvo įjungtas parduotuvės mygtukas, ar ne, ar spausdinimo jungiklis įjungtas, ar ne, ir koks numeris vaizduojami jungikliais. Tada apžvelgiamas mūsų sukurtas masyvas, kuriame yra Morzės abėcėlės atvaizdas, koks būtų išėjimas su 1 ir 0 lygiomis įjungimo/išjungimo komandomis šviesos diodams. Užuot naudoję du atskirus darbo ciklo laikrodžius, mes sukūrėme vieną 50% darbo ciklo laikrodį, kuris, mūsų manymu, buvo geras greitis Morzės abėcėlei, ir paprašė, kad jis atliktų tašką su 1 aukštu „pulsu“ir brūkšneliu 3 aukštais “impulsai “. Norėdami supaprastinti kodą ir pagreitinti jo veikimą, mes tiesiog padarėme tašką, lygų „010“, o brūkšnį - „01110“.

4 veiksmas: 4 veiksmas: sukurkite „Bistream“ir įdiekite

Šį projektą labai lengva nustatyti, jei turite BASYS3 plokštę, nes visi reikalingi jungikliai ir mygtukai jau yra plokštėje, kad galėtumėte juos naudoti, kartu su apribojimais, nustatytais norimais kaiščiais. Jei naudojate kitą FPGA, turėsite įeiti į kodą ir surasti apribojimus bei nukreipti juos į teisingus FPGA apribojimus. Tai taip pat pasakytina, jei planuojate prie plokštės prijungti kitus šviesos diodus ir jungiklius. Nenagrinėsime to pavyzdžių, tačiau naudojant konkrečios FPGA naudojimo instrukciją būtų labai naudinga nustatyti, kaip viską prijungti ir nukreipti į teisingus kaiščius.

Šiuo metu, atsisiuntę kodą ir atidarę failą, tiesiog sukurkite bitų srautą „Vivado“ir užprogramuokite savo įrenginį. Kai tai padarysite, galėsite pradėti įvesti laiškus, kad jie būtų išversti į Morzės abėcėlę! Mėgautis!

*PASTABA: „Spausdinimo jungiklis“yra kairėje plokštės pusėje (BASYS3 plokštės jungiklis R2), o „Saugojimo mygtukas“yra mygtukas U18 (centrinis mygtukas BASYS3 plokštėje), jei apribojimai imami tiesiogiai iš mūsų pavyzdinis kodas.

5 veiksmas: problemos/trikčių šalinimas

Jei kyla problemų atsisiunčiant failą, galite nukopijuoti įklijuoti kodą rankiniu būdu iš šio „Word“failo. Taip pat yra priedas, skirtas patikrinti, ar nesunku konvertuoti dvejetainę raidę ir ką raidė turėtų atspindėti, todėl rekomenduojame juos patikrinti! Jei naudojate „BASYS3“plokštę, turėtumėte sugebėti vykdyti šias instrukcijas ir atsisiųsti kodą be jokių problemų ir įdiegti jį be problemų, kai prijungsite plokštę ir ją užprogramuosite.

*PASTABA: jei pastebite, kad jūsų vertėjas veikia lėtai, tai yra normalu! Yra šiek tiek laiko, kol paspausite spausdinti ir pamatysite Morzės abėcėlės vaizdą. Jei pristabdysite ciklą išjungę spausdinimo jungiklį, prieš spausdindami naują raidę, turėsite užbaigti kodą, todėl laukite ciklo pabaigos ir kitos raidės pradžios.

Rekomenduojamas: