Innholdsfortegnelse:

KIM Uno - en mikroprosessor Dev Kit -emulator på 5 €: 13 trinn (med bilder)
KIM Uno - en mikroprosessor Dev Kit -emulator på 5 €: 13 trinn (med bilder)

Video: KIM Uno - en mikroprosessor Dev Kit -emulator på 5 €: 13 trinn (med bilder)

Video: KIM Uno - en mikroprosessor Dev Kit -emulator på 5 €: 13 trinn (med bilder)
Video: 40 полезных автотоваров с Aliexpress, которые упростят жизнь любому автовладельцу #6 2024, November
Anonim
Image
Image
KIM Uno - en emulator for mikroprosessorutvikling på 5 €
KIM Uno - en emulator for mikroprosessorutvikling på 5 €
KIM Uno - en emulator for mikroprosessorutvikling på 5 €
KIM Uno - en emulator for mikroprosessorutvikling på 5 €

KIM Uno er et bærbart, programvaredefinert dev -sett for (retro) mikroprosessorer. Men la meg introdusere ideen om det ved å gå tilbake i tid:

På slutten av 2018 tenkte jeg på at jeg ønsket å bygge et lite bærbart mikroprosessorutviklingssett, akkurat som den berømte KIM-1 fra MOS Technology, Inc. og designet av Chuck Peddle som også var involvert i å lage 6502 CPU.

Men å bygge et "bare-bein" dev-sett med diskrete logikkomponenter var ikke noe alternativ siden det trengte en stor strømforsyning (siden de gamle enhetene har en tendens til å ta alvorlig strøm), og utviklingen ville også være svært tidkrevende. Og jeg vil ha det nå!

Derfor designet jeg KIM Uno som en bærbar enhet, som passer i den ene hånden og drives av to CR2032 -batterier. Den bruker ATMega328p ("Arduino") mikrokontroller som kjører på 8 MHz for å etterligne (eller simulere) en ønsket CPU. Denne arkitekturen sørger også for at de emulerte CPU -ene er utskiftbare med alt som passer inne i mikrokontrollerens flashminne. Så det er en flerbruksenhet.

Ved en tilfeldighet så jeg senere et veldig godt foredrag - kalt The Ultimate Apollo Guidance Computer Talk (34C3) - på YouTube der "One Instruction Set Computers" eller OISCer er nevnt. Jeg visste ikke om dem og fant dette som den perfekte kandidaten for å implementere det.

KIM Uno emulerer en CPU med bare en instruksjon: subleq - subtraher og gren hvis den er mindre enn eller lik null.

Hvis du følger med meg gjennom denne instruksjonsboken, kan du bygge din egen KIM Uno på kort tid. Og den beste delen - ved siden av at du kan endre den etter din smak - er at den bare koster 4, 75 € å lage (fra slutten av 2018).

Ett hint: det er et Git -depot som inneholder alle filene som følger med de forskjellige trinnene i denne instruerbare. Hvis du vil endre noen ressurser og dele dem med oss, kan du lage en PR. Men du kan også laste ned alle filene samtidig. Bare for å https://github.com/maxstrauch/kim-uno. Takk!

Det er et annet ganske interessant prosjekt, kalt det samme (KIM Uno), som gjør en ekte kopi av 6502 KIM Uno. Sjekk det ut her. Skaperen selger til og med settet. Så hvis du er interessert i 6502 og liker dette prosjektet, bør du ta en titt der!

Trinn 1: Kjøp av kretskortet

Kjøp av kretskortet
Kjøp av kretskortet
Kjøp av kretskortet
Kjøp av kretskortet

Som du kan se, brukte jeg muligheten til å designe en PCB og la den bli laget profesjonelt. Siden du produserer det eksternt og sender det til deg, vil det ta mye tid (avhengig av hvor du er i verden;-)), å få det bestilt er det første trinnet. Vi kan deretter fortsette med de andre trinnene mens kretskortet er laget og sendt til deg.

Jeg bestilte PCB -ene mine i Kina på PCBWay for bare $ 5. Jeg får ingen fordeler av å presentere PCBWay som min goto -produsent for PCB, det er bare at det fungerte bra for meg og kan også fungere bra for deg. Men du kan bestille dem andre steder som JLCPCB, OSH Park eller et hvilket som helst lokalt PCB -selskap.

Men hvis du er villig til å bestille dem på PCBWay kan du laste ned den vedlagte ZIP-filen "kim-uno-rev1_2018-12-12_gerbers.zip" og laste den opp direkte til PCBWay uten endring. Dette er den originale filen jeg brukte til å bestille PCB -ene du kan se på bildene.

Hvis du bestiller dem fra en annen produsent, må du kanskje eksportere dem fra de originale KiCad-kildene, fordi jeg genererte dem med spesifikasjonene fra PCBWay som du finner her. For de originale KiCad-kildene, last ned "kim-uno-kicad-sources.zip" og trekk den ut.

Men det er enda en annen måte: Hvis du ikke vil bestille kretskortet, kan du bygge din egen versjon ved hjelp av perfboard eller til og med et brødbrett.

Uansett: siden kretskortene nå er på vei, kan vi fokusere på de andre delene! Kom, følg meg.

Trinn 2: Kjøp av komponentene

Kjøp av komponentene
Kjøp av komponentene
Kjøp av komponentene
Kjøp av komponentene
Kjøp av komponentene
Kjøp av komponentene

Nå må du få komponentene. For dette finner du et oversiktsbilde av alle komponenter og mengder du trenger, festet til dette trinnet, samt en styklist (stykliste).

Stykklisten inneholder lenker til eBay. Selv om disse tilbudene kan bli stengt når du leser dette, kan du bruke det som utgangspunkt. De brukte komponentene er ganske standard.

I det følgende skal jeg forklare deg alle nødvendige komponenter:

  • 7x 1 kΩ motstander for de syv segmentdisplayene. Du kan redusere verdien (f.eks. Til 470 Ω) for å få dem til å skinne lysere, men ikke redusere den for mye ellers dør lysdiodene eller batteriet tømmes veldig raskt. Jeg fant ut at denne verdien fungerer for meg
  • 1x 10 kΩ som opptrekksmotstand for RESET-linjen til mikrokontrolleren
  • 1x 100nF kondensator for å jevne ut eventuelle spenningsspisser (som ikke burde skje siden vi bruker batterier, ikke sant …)
  • 1x ATMega328P i DIP-28-pakken (vanligvis kalt ATMega328P-PU)
  • 1x hovedkortet - se forrige trinn; enten bestilt eller bygget av deg selv
  • 2x CR2032 batteriholdere
  • 1x SPDT (enkeltpolet, dobbeltkast) -bryter som i utgangspunktet har tre kontakter, og i hver av sine to tilstander (enten på eller av) kobler den to kontakter
  • 20x taktile trykknapper for tastaturet. For å bruke baksiden av kretskortet brukte jeg SMD taktile trykknapper (standard 6x6x6 mm) - de er ganske enkle å lodde som du vil se
  • VALGFRITT: 1x 1x6 -pins header for tilkobling av programmereren, men dette er valgfritt som du vil se senere
  • 1x syv segment display med 4 sifre og 1x syv segment display med 2 sifre - brettet tar bare 0,36 tommer (9, 14 mm) elementer med felles anodeledninger. Begge kravene er viktige for å få en arbeidsenhet. Men også denne typen syv segmentvisning er svært vanlig

Vedlagt dette trinnet finner du filen "component-datasheets.zip" som inneholder mer presis informasjon om dimensjoner og typer av de brukte komponentene. Men de fleste komponentene er veldig standard og kan lett hentes for lite penger.

Nå må du vente til du har alle komponentene klare til å fortsette med lodding. I løpet av denne tiden kan du allerede hoppe til slutten og lese litt om hvordan du bruker KIM Uno hvis du vil.

Trinn 3: Oversikt over loddeverktøy

Oversikt over loddeverktøy
Oversikt over loddeverktøy
Oversikt over loddeverktøy
Oversikt over loddeverktøy

For lodding og bygging av KIM Uno trenger du verktøyene vist på bildene:

  • Wire cutter (for å kutte enden av komponenttrådene)
  • Flat tang
  • En pinsett
  • (anstendig) Lodding som ikke er for tykk - jeg bruker 0,56 mm loddetinn
  • Et loddejern - du trenger ikke et high -end loddejern (fordi vi heller ikke driver med rakettvitenskap her) - jeg bruker Ersa FineTip 260 lenge nå, og det er veldig bra
  • En flusspenn: å legge til fluss til komponentene og putene gjør det mye enklere å lodde dem siden loddetinnet "flyter" av seg selv til rett sted*
  • Eventuelt: en svamp (fra metallull) for loddejernet ditt

For senere programmering av KIM Uno trenger du også:

  • en datamaskin med AVR-GCC-verktøykjeden og avrdude for å laste opp fastvaren
  • en Internett -leverandør (programmerer) - som du kan se på bildet, bruker jeg min Arduino Uno som en ISP med en spesiell skisse - så du trenger ikke kjøpe noen fancy maskinvare

* litt veiledning av mennesker nødvendig;-)

Er du klar? I det neste trinnet skal vi begynne å montere KIM Uno.

Trinn 4: Lodding nr. 1: Legge til motstander og kondensatorer

Lodding nr. 1: Legge til motstander og kondensatorer
Lodding nr. 1: Legge til motstander og kondensatorer
Lodding nr. 1: Legge til motstander og kondensatorer
Lodding nr. 1: Legge til motstander og kondensatorer
Lodding nr. 1: Legge til motstander og kondensatorer
Lodding nr. 1: Legge til motstander og kondensatorer
Lodding nr. 1: Legge til motstander og kondensatorer
Lodding nr. 1: Legge til motstander og kondensatorer

Du bør alltid jobbe fra de minste (når det gjelder komponenthøyde) komponenter først, til de høyeste komponentene sist. Derfor starter vi med å legge til motstandene og bøye over beina bak slik at motstandene er enkle å lodde og holde seg på plass. Klipp deretter de lange ledningene.

Også, ikke vist på bildene, legg til den lille 100 nF kondensatoren på samme måte.

Ett tips: oppbevar de trådbeina i en liten beholder, de er noen ganger nyttige.

Trinn 5: Lodding #2: Montering av tastaturet

Lodding #2: Montering av tastaturet
Lodding #2: Montering av tastaturet
Lodding #2: Montering av tastaturet
Lodding #2: Montering av tastaturet
Lodding #2: Montering av tastaturet
Lodding #2: Montering av tastaturet

Det neste trinnet er å lodde de 20 SMD -taktile bryterne. Siden dette arbeidet er litt urolig, gjør vi det nå, når kretskortet ligger flatt på arbeidsbenken.

Vi jobber fra topp til bunn (eller fra venstre til høyre hvis kretskortet er orientert som vist på bildene) og starter med den første raden: velg en av de fire putene for hver bryter og fukt den med strømpennen.

Bruk deretter en pinsett til å ta en bryter og plasser den forsiktig på de fire putene. Deretter loddes bare benet på bryteren som er på puten du plukket og forberedte med flux. For dette bør du "ta" litt loddetinn med jernet ditt før du starter. Bruk denne metoden for å fullføre hele bryteren, og lodde bare ett ben.

Bildet med pilene viser en forstørrelse av hvordan lodding ble utført nøyaktig.

Etter at du har loddet hele raden (bare en pinne), kan du gjøre små justeringer ved å varme opp tappen og plassere bryteren på nytt. Sørg for at bryterne er justert så godt som mulig.

Hvis du er fornøyd med justeringen, kan du våte alle andre pinner med strømpennen og deretter lodde dem ved å berøre den med loddejernet og legge til litt loddetinn ved å berøre den også. Du vil se at loddetinn suges direkte på puten.

Etter lodding en rad eller så vil du legge merke til at du får tak i det, og det er ikke så vanskelig, men repeterende. Så bare gjør resten, og du vil ende opp med et ferdig tastatur på kort tid.

Trinn 6: Lodding nr. 3: Displayet med syv segmenter, bryter og pinneoverskrift

Lodding #3: Displayet med syv segmenter, bryter og pinneoverskrift
Lodding #3: Displayet med syv segmenter, bryter og pinneoverskrift
Lodding #3: Displayet med syv segmenter, bryter og pinneoverskrift
Lodding #3: Displayet med syv segmenter, bryter og pinneoverskrift
Lodding #3: Displayet med syv segmenter, bryter og pinneoverskrift
Lodding #3: Displayet med syv segmenter, bryter og pinneoverskrift

Nå kan du legge til bryteren og pinneoverskriften (valgfritt) ved å holde den med fingeren og lodde den ene pinnen for å holde den på kretskortet, slik at du kan lodde de andre pinnene og til slutt røre opp den første holdepinnen.

Vær forsiktig så du ikke brenner deg med det varme loddejernet. Hvis du ikke er komfortabel med dette, kan du bruke en liten tape (f.eks. Malertape) for å holde komponenten. På denne måten har du begge hender fri til å bevege deg.

De syv segmentskjermene er loddet på samme måte (se bildet): du setter det inn, holder det med hånden eller tape og lodder to motsatte pinner for å holde det på plass mens du kan lodde de andre pinnene.

Men vær forsiktig og sett de syv segmentene i riktig retning (med desimalpunktene vendt mot tastaturet). Ellers har du problemer …

Trinn 7: Lodding #4: Lodding av mikrokontrolleren

Lodding #4: Lodding av mikrokontrolleren
Lodding #4: Lodding av mikrokontrolleren

Nå som du har mye øvelse, kan du fortsette og sette inn mikrokontrolleren med hakket på toppen (eller første pin) vendt mot bryteren. Ved å bruke Flat tang kan du forsiktig bøye bena på mikrokontrolleren litt inn, slik at de matcher hullene på kretskortet.

Siden den sitter tett, trenger du litt kontrollert kraft for å sette mikrokontrolleren i. Fordelen er at den ikke faller ut. Dette betyr at du kan ta deg god tid og lodde den bakfra.

Trinn 8: Lodding #5: Legg til batteriholderne (siste trinn)

Lodding #5: Legg til batteriholderne (siste trinn)
Lodding #5: Legg til batteriholderne (siste trinn)
Lodding #5: Legg til batteriholderne (siste trinn)
Lodding #5: Legg til batteriholderne (siste trinn)
Lodding #5: Legg til batteriholderne (siste trinn)
Lodding #5: Legg til batteriholderne (siste trinn)

Til slutt må du legge til batteriholderne på baksiden. For dette bruker du ganske enkelt flusepennen og våter alle fire putene og får deretter litt loddetinn på strykejernet ditt. Juster batteriholderen forsiktig på begge putene. I begge ender av kontaktene skal det være samme mengde PCB -puten synlig. Berør PCB -puten og benet på batteriholderen med strykejernet. Loddetinn flyter under puten og over det og fester det på plass som vist på bildet. Hvis du har problemer med dette, kan du legge til mer fluss med pennen.

Trinn 9: Blinker emulatoren

Blinker emulatoren
Blinker emulatoren
Blinker emulatoren
Blinker emulatoren
Blinker emulatoren
Blinker emulatoren

I det vedlagte zip-arkivet "kim-uno-firmware.zip" finner du kildekoden for emulatoren sammen med en allerede kompilert "main.hex" som du kan laste opp direkte til mikrokontrolleren.

Før du faktisk kan bruke den, må du sette sikringsbitene til mikrokontrolleren, slik at den bruker den interne 8 MHz -klokken uten å dele den i to. Du kan få jobben gjort med følgende kommando:

avrdude -c stk500v1 -b 9600 -v -v -P /dev/cu.usbmodem1421 -p m328p -U lfuse: w: 0xe2: m -U hfuse: w: 0xd9: m -U efuse: w: 0xff: m

Hvis du ikke kjenner avrdude: det er et program for å laste opp programmer til en mikrokontroller. Du kan lære mer om det her. I utgangspunktet installerer du den og så er den klar til bruk. For oppsettet ditt må du kanskje endre argumentet "-P" til en annen seriell port. Sjekk på datamaskinen din hvilken serieport som brukes (f.eks. Inne i Arduino IDE).

Etter dette kan du blinke fastvaren til mikrokontrolleren med denne kommandoen:

avrdude -c stk500v1 -b 9600 -v -v -P /dev/cu.usbmodem1421 -p m328p -U blits: w: main.hex

Igjen: det samme gjelder "-P" som ovenfor.

Siden jeg ikke eier en "profesjonell" ISP (In-System Programmer) bruker jeg alltid min Arduino UNO (se bilde) og skissen jeg vedlagte ("arduino-isp.ino", fra Randall Bohn). Jeg vet at det er en nyere versjon, men med denne versjonen hadde jeg null problemer med de siste fem årene, så jeg beholder den. Det fungerer bare. Ved å bruke kommentaren i overskriften på skissen får du pinout på Arduino UNO og ved hjelp av skjemaet til KIM Uno (se vedlagt) kan du få pinout av 1x6 ISP -toppteksten på KIM Uno. Firkantpinnen, nær skjermen med syv segmenter, er pinne 1 (GND). Følgende pinner er (i riktig rekkefølge): RESET, MOSI, MISO, SCK, VCC. Du kan koble VCC enten til 3V3 eller til 5V.

Hvis du ikke la til 1x6 -pinners topptekst, kan du bruke brødbrettledninger og sette dem inn i tilkoblingshullene og vinkle dem med fingeren - akkurat som vist på bildet. Dette får nok kontakt til å blinke fastvaren og sette sikringene. Men hvis du liker et mer permanent oppsett, bør du definitivt legge til 1x6 -pinners overskrifter.

Jeg har to enheter: en produksjonsversjon uten pinnehoder og en utviklingsversjon med pinnehoder som jeg lar være tilkoblet og bruker den om og om igjen under utviklingen. Dette er mye mer behagelig.

Trinn 10: Ferdig

Ferdig
Ferdig
Ferdig
Ferdig

Nå er du ferdig og kan begynne å skrive dine egne subleq -programmer på papir, montere det og deretter legge det inn i minnet.

KIM Uno leveres med en forhåndsprogrammert Fibonacci-beregning som starter på minnested 0x0a. Den er som standard angitt til n = 6, så den bør resultere i en verdi på 8. Trykk "Go" for å starte beregningen.

Trinn 11: PCB -designanalyse

PCB -designanalyse
PCB -designanalyse
PCB -designanalyse
PCB -designanalyse

Etter å ha fullført dette prosjektet fant jeg et par punkter som er bemerkelsesverdige og som bør tas opp i en ny revisjon av styret:

  • ATMega328ps silkeskjerm har ikke det vanlige hakket der den første pinnen er plassert. DIP-28 fotavtrykk har ikke engang en firkantet pute der den første pinnen er plassert. Dette bør definitivt forbedres med en mer detaljert silketrykk for å forhindre forvirring
  • Internett -leverandørens topptekst har ingen tilkoblingsetiketter på skjermen. Dette gjør det vanskelig å gjenkjenne hvordan du kobler den til Internett -leverandøren
  • ISP -overskriften kan endres til en 2x6 -pins header med en standard pin -layout for å forhindre forvirring

Bortsett fra disse punktene er jeg ganske fornøyd med hvordan det viste seg og fungerte på første forsøk.

Trinn 12: Hvordan programmere SUBLEQ?

Image
Image
Hvordan programmere SUBLEQ?
Hvordan programmere SUBLEQ?
Hvordan programmere SUBLEQ?
Hvordan programmere SUBLEQ?

Som nevnt i begynnelsen, emulerer den nåværende fastvaren til KIM Uno en One Instruction Set Computer (OISC) og gir subleq -instruksjonen for å utføre beregning.

Subleq -instruksjonen står for subtrahering og gren hvis den er mindre enn eller lik null. I pseudokode ser dette slik ut:

subleq A B C mem [B] = mem [B] - mem [A]; hvis (mem [B] <= 0) gå til C;

Siden KIM Uno emulerer en 8-biters maskin, er alle argumentene A, B og C 8 biters verdier, og derfor kan den adressere et totalt hovedminne på 256 byte. Dette kan åpenbart utvides ved å lage A, B og C multi-byte verdier. Men la oss holde det enkelt for nå.

KIM Uno har også "periferiutstyr": skjermen og tastaturet. Den bruker en minnekartet arkitektur for å koble til disse eksterne enhetene, selv om minnekartet er veldig enkelt:

  • 0x00 = Z -registeret (null) og bør holdes null.
  • 0x01 - 0x06 = seks byte som representerer verdien til alle visningssegmentene (fra høyre til venstre). En verdi 0xf - se kildekoden (main.c) for flere detaljer.
  • 0x07, 0x08, 0x09 = tre byte hvor hver byte representerer to syv segmentvisninger (fra høyre til venstre). Disse minneplasseringene tillater ganske enkelt å vise et resultat uten å dele opp resultatet i to nibbles for å plassere det i ettsifrede minnesteder 0x01 - 0x06.
  • 0x0a+ = Et program starter på 0x0a. For øyeblikket kjøres "Go" -nøkkelen fra 0x0a fast.

Med denne informasjonen kan man nå skrive et program i assembler og legge inn instruksjonene i minnet og deretter utføre det. Siden det bare er en instruksjon, angis bare argumentene (A, B og C). Så etter tre minnesteder begynner de neste instruksjonsargumentene og så videre.

Vedlagt dette trinnet finner du filen "Fibonacci.s" og også et bilde av det håndskrevne programmet som er et eksempel på implementering av Fibonacci. Men vent: det er tre instruksjoner som brukes - spesielt ADD, MOV og HLT - som ikke er subleq. "Hva er avtalen? Sa du ikke at det bare er en instruksjon, subleq?" spør du? Det er veldig enkelt: med subleq kan man etterligne disse instruksjonene veldig enkelt:

MOV a, b - kopier data på sted a til b kan bestå av:

  1. subleq b, b, 2 (neste instruksjon)
  2. subleq a, Z, 3 (neste instruksjon)
  3. subleq Z, b, 4 (neste instruksjon)
  4. subleq Z, Z, f.eks. 5 (neste instruksjon)

Ved å bruke subtraksjonsfunksjonen til subleq, som gjør mem - mem [a] og overskriver mem med resultatet, blir verdien kopiert ved hjelp av nullregisteret. Og "subleq Z, Z, …" tilbakestiller ganske enkelt nullregisteret til 0, uavhengig av verdien av Z.

ADD a, b - legger til verdiene a + b og lagrer summen i b kan bestå av:

  1. subleq a, Z, 2 (neste instruksjon)
  2. subleq Z, b, 3 (neste instruksjon)
  3. subleq Z, Z, f.eks. 4 (neste instruksjon)

Denne instruksjonen beregner ganske enkelt mem - (- mem [a]) som er mem + mem [a] ved også å bruke subtraksjonsfunksjonen.

HLT - stopper CPU og avslutter utførelsen:

Per definisjon vet emulatoren at CPU -en ønsker å avslutte hvis den hopper til 0xff (eller -1 hvis den synges). Så enkelt

subleq Z, Z, -1

gjør jobben og indikerer for emulatoren at den skal avslutte emuleringen.

Ved hjelp av disse tre enkle instruksjonene kan Fibonacci -algoritmen implementeres og fungerer fint. Dette er fordi OISC kan beregne alt en "ekte" datamaskin kan beregne med bare instruksjonsundersøkelsen. Men selvfølgelig er det mange avveininger å gjøre - som kodelengde og hastighet. Men likevel er det en fin måte å lære og eksperimentere med programmering på lavt nivå og datamaskiner.

Vedlagt dette trinnet kan du også finne zip -arkivet "kim_uno_tools.zip". Den inneholder en grunnleggende assembler og simulator for KIM Uno. De er skrevet i NodeJS - sørg for at du har installert det.

Montering av programmer

Hvis du tar en titt på "Fibonacci/Fibonacci.s" finner du ut at det er kildekoden for den diskuterte Fibonacci -implementeringen. For å montere det og lage et program ut av det, som KIM Uno kan kjøre, skriver du inn følgende kommando (i roten til det ekstraherte "kim_uno_tools.zip" -arkivet):

node assemble.js Fibonacci/Fib.s.

og det vil enten skrive ut en feil hvis du gjorde en feil eller søle ut det resulterende programmet. For å lagre det, kan du kopiere utdataene og lagre det i en fil eller bare kjøre denne kommandoen:

node assemble.js Fibonacci/Fibonacci.s> yourfile.h

Utgangen er formatert slik at den kan inkluderes direkte i KIM Uno -fastvaren som en C -topptekstfil, men simulatoren kan også bruke den til å simulere. Bare skriv inn:

node sim.js din fil.h

Og du vil bli presentert med simuleringsresultatet og output forventet fra KIM Uno på displayet.

Dette var en veldig kort introduksjon til dette verktøyet; Jeg anbefaler deg å leke med dem og se hvordan de fungerer. På denne måten får du en dyp kunnskap og lærer hvordan prinsippene bak CPUer, instruksjoner, montører og emulatorer fungerer;-)

Trinn 13: Outlook

Outlook
Outlook
Outlook
Outlook
Outlook
Outlook

Gratulerer

Hvis du leser dette, har du sannsynligvis gått gjennom hele denne instruerbare og bygd din egen KIM Uno. Dette er virkelig hyggelig.

Men reisen slutter ikke her - det er uendelig mange alternativer for hvordan du kan endre KIM Uno og tilpasse den til dine behov og smak.

For eksempel kan KIM Uno være utstyrt med en "ekte" retro CPU -emulator som kan etterligne den berømte MOS 6502 eller Intel 8085, 8086 eller 8088. Da ville den gå veien til min første visjon, før jeg lærte om OISC -er.

Men det er mulig andre bruksområder, siden maskinvaredesignet er ganske generisk. KIM Uno kan brukes som …

  • … en fjernkontroll f.eks. for CNC -maskiner eller andre enheter. Kanskje kablet eller utstyrt med en IR -diode eller annen trådløs sender
  • … en (heksadesimal) lommekalkulator. Fastvaren kan tilpasses veldig enkelt, og brettdesignet trenger ikke endres særlig mye. Kanskje silketrykket kan tilpasses med matematiske operasjoner, og gapet mellom segmentene kan fjernes. Bortsett fra dette er det allerede klart for denne transformasjonen

Jeg håper du hadde det like gøy å følge og forhåpentligvis bygge KIM Uno som jeg hadde designet og planlagt den. Og hvis du utvider den eller endrer den - vennligst gi meg beskjed. Jubel!

PCB -konkurranse
PCB -konkurranse
PCB -konkurranse
PCB -konkurranse

Andreplass i PCB -konkurransen

Anbefalt: