Bygga en miniräknare
Bygga en miniräknare
Hejsan!
Jag undrar hur man ska gå tillväga om man vill bygga sig en egen lite lagom enkel miniräknare. Vilka komponenter behöver man och hur ska man sätta ihop allt? Hur lär man sig programmera chippet som styr miniräknaren?
Kan i princip ingenting om sånt här så all information är välkommen.
Jag undrar hur man ska gå tillväga om man vill bygga sig en egen lite lagom enkel miniräknare. Vilka komponenter behöver man och hur ska man sätta ihop allt? Hur lär man sig programmera chippet som styr miniräknaren?
Kan i princip ingenting om sånt här så all information är välkommen.
- bengt-re
- EF Sponsor
- Inlägg: 4829
- Blev medlem: 4 april 2005, 16:18:59
- Skype: bengt-re
- Ort: Söder om söder
- Kontakt:
Tja, 16-20 knappar, en pic och en display är ungefär vad du behöver. Programmet skiver du i asm såklart - är det ett retroprojekt så blanda inte in C eller basic heller... En pic är ju 8-bitars så mycket lättare att skriva asm på den för miniräknaren än de 4-bitars eländena de första miniräknare skrev på.
EDIT:
Är man cool så kan man ju lägga in en 4004-kärna i en FPGA och skriva koden till den...
EDIT:
Är man cool så kan man ju lägga in en 4004-kärna i en FPGA och skriva koden till den...
Miniräknaren ska inte vara grafisk men den ska vara lite mer komplicerad än bara plus och minus. Hur komplicerad vet jag inte riktigt än. Denna miniräknare är nämligen vårt (vi är 4 personer) slutprojekt i gymnasiet så tanken är väl att vi ska arbeta runt 100 timmar var på detta. Där får man ju givetvis även räkna in tiden det tar oss att lära oss allt detta eftersom vi allihopa är helt nya inom det här området. Nu vet jag ju inte riktigt hur pass bra miniräknare vi hinner göra på 100 timmar var, men tanken är väl att det ska bli något som räkna ungefär så mycket som kalkulatorn som finns på datorn, om man har den på standardläge. Kan detta verka rimligt?
Sökte också på PIC på elfa.se och det fanns ju ganska mycket att välja på. Hur vet jag vilken av alla dessa som är bäst till detta ändamål (ge exempel på någon modell som skulle fungera)? Hur gör jag sedan för att den kod jag skriver på datorn ska hamna i processorn?
Vart kan man få tag i knappar och displayer?
På ett annat forum fick jag även tipset att köpa en basic stamp, eller liknande med inbyggd basictolk. Vad säger ni om det? Det lät lite enklare, men blir det för enkelt för att det ska vara ett slutprojekt?
Sökte också på PIC på elfa.se och det fanns ju ganska mycket att välja på. Hur vet jag vilken av alla dessa som är bäst till detta ändamål (ge exempel på någon modell som skulle fungera)? Hur gör jag sedan för att den kod jag skriver på datorn ska hamna i processorn?
Vart kan man få tag i knappar och displayer?
På ett annat forum fick jag även tipset att köpa en basic stamp, eller liknande med inbyggd basictolk. Vad säger ni om det? Det lät lite enklare, men blir det för enkelt för att det ska vara ett slutprojekt?
- MicaelKarlsson
- Inlägg: 4669
- Blev medlem: 18 juni 2004, 09:16:07
- Ort: Aneby
- Kontakt:
Kul projekt!
>Hur vet jag vilken av alla dessa som är bäst till detta ändamål (ge exempel på någon modell som skulle fungera)?
Sätt er ner och lista vilka funktioner ni vill ha, hur många knappar, vilken display ni vill ha. Vill ni kunna koppla den till en dator?
Tangentbord
Exempel 1: Elfa.se
Exempel 2: Elfa.se
Displayer finns på elfa.se och många andra ställen. Bestäm först vilken sort och hur stor den skall vara.
Mitt råd till er är att göra en noggrann projektbeskrivning och dela upp vad var och en skall göra och stäm av mellan er vad som är gjort och vad som är kvar. Gör också en tidplan och försök hålla den.
Använd AVR eller PIC, det har ni säkerligen mer användning för längre fram i livet/Studierna.
Lycka till och glöm inte att berätta hur det går!!
>Hur vet jag vilken av alla dessa som är bäst till detta ändamål (ge exempel på någon modell som skulle fungera)?
Sätt er ner och lista vilka funktioner ni vill ha, hur många knappar, vilken display ni vill ha. Vill ni kunna koppla den till en dator?
Tangentbord
Exempel 1: Elfa.se
Exempel 2: Elfa.se
Displayer finns på elfa.se och många andra ställen. Bestäm först vilken sort och hur stor den skall vara.
Mitt råd till er är att göra en noggrann projektbeskrivning och dela upp vad var och en skall göra och stäm av mellan er vad som är gjort och vad som är kvar. Gör också en tidplan och försök hålla den.
Använd AVR eller PIC, det har ni säkerligen mer användning för längre fram i livet/Studierna.
Lycka till och glöm inte att berätta hur det går!!
När vi vet vilka funktioner, hur många knappar och vilken skärm vi vill ha, hur ska vi veta vilken processor som stöder vad? Det fanns ju ett datablad med information om komponenten man tittade på på elfa.se, men det var hur många sidor som helst och fyllt med galna förkortningar. Om man bara söker på en komponent utan att gå in på databladet finns det ju en del information där också som kanske verkar vara mer relevant. Hur tolkar men det som står där för att få reda på funktioner och knappar mm?
Alla dessa sidor med "galna förkortningar" kommer Du inte ifrån, antar Du menar instruktionsbeskrivningarna. Känns det så är nog chanserna att göra något sådant projekt på 100 timmar i assembler ungefär lika med noll.
Jag har faktiskt hft liknande funderingar engång i tiden för att bygga en RPN-räknare. Tänkte då använda en 1x16 eller 2x16 LCD, PIC 18F??? och två stycken 4x4 folietangentbord. Det kom tyvärr (?) inte längre än till planeringsstadiet, köpte en HP11c från eBay istället.
Får Ni bara ihop rutiner för flyttalshantering med de vanliga räknesätten så är det ju sedan bara att använda dessa för serieutvecklingar avde mera avancerade funktionerna.
Ett annat altrnativ är att försöka hitta en NOS/refurbished kalkylatorship, det fanns standardkretsar en gång i tiden för enkla räknare. Texas gjorde ett sådant som fanns i en hel del dosor. Den använde LED-displayer. Kretsen var PMOS och jag vill minnas den krävde flera spänningar. Den slukade i varje fall ström. Den har de fyra räknesätten med additionsinslagning (+=, -=, *, /) samt siffertangenerna. Man kunde visst även låsa den till två decimaler och göra upprepade beräkngarar mot en konstant.
Eller varför inte en gigantisk dosa med hardwired logik. Bygg med shiftregister och seriell aritmetik så blir det nog inte rörigare än att det kan hanteras. Det var så logiken i de första räknarkretsarna var uppbyggd. Stoppa in lysdioder på lite olika ställen och bygg det hela på en stor bräda med logikshema intill de riktiga kretsarna. Ha även en långsam klocka/singelstep så man kan se hur den arbetar Det skulle se imponerande ut att förevis en sådan...
Jag har faktiskt hft liknande funderingar engång i tiden för att bygga en RPN-räknare. Tänkte då använda en 1x16 eller 2x16 LCD, PIC 18F??? och två stycken 4x4 folietangentbord. Det kom tyvärr (?) inte längre än till planeringsstadiet, köpte en HP11c från eBay istället.
Får Ni bara ihop rutiner för flyttalshantering med de vanliga räknesätten så är det ju sedan bara att använda dessa för serieutvecklingar avde mera avancerade funktionerna.
Ett annat altrnativ är att försöka hitta en NOS/refurbished kalkylatorship, det fanns standardkretsar en gång i tiden för enkla räknare. Texas gjorde ett sådant som fanns i en hel del dosor. Den använde LED-displayer. Kretsen var PMOS och jag vill minnas den krävde flera spänningar. Den slukade i varje fall ström. Den har de fyra räknesätten med additionsinslagning (+=, -=, *, /) samt siffertangenerna. Man kunde visst även låsa den till två decimaler och göra upprepade beräkngarar mot en konstant.
Eller varför inte en gigantisk dosa med hardwired logik. Bygg med shiftregister och seriell aritmetik så blir det nog inte rörigare än att det kan hanteras. Det var så logiken i de första räknarkretsarna var uppbyggd. Stoppa in lysdioder på lite olika ställen och bygg det hela på en stor bräda med logikshema intill de riktiga kretsarna. Ha även en långsam klocka/singelstep så man kan se hur den arbetar Det skulle se imponerande ut att förevis en sådan...
- MicaelKarlsson
- Inlägg: 4669
- Blev medlem: 18 juni 2004, 09:16:07
- Ort: Aneby
- Kontakt:
Tack, den där länken låg mera på min nivå. Klargjorde ett och annat.strombom skrev:Newi: ta en titt här:
http://www.elektronikforumet.com/wiki/i ... ontrollers
Vad används I/O-pinnarna till. Jo, jag vet vad I/O betyder, men hur används dom i praktiken. Vad i min miniräknare kommer att kräva en I/O-pinne?MicaelKarlsson skrev:Newi: Börja med att göra en uppskattning om hur många I/O-pinnar som behövs, lägg sedan på några extra och sedan vilka funktioner du/ni behöver.
En matriskopplad knappsats på 12 knappar kräver 4+3 pinnar.
En LCD-display av standard typ vill ha 4+3 i nibble-mode och 8+3 i byte-mode.
Ni kanske vill ha en soft-start-knapp, då blir det en till.
Vill man ha batteri-varnings-indikering så blir det en till.
Jag skulle ha valt en 28-pinnars processor även om det är möjligt att lyckas med en 18-pinnars.
En LCD-display av standard typ vill ha 4+3 i nibble-mode och 8+3 i byte-mode.
Ni kanske vill ha en soft-start-knapp, då blir det en till.
Vill man ha batteri-varnings-indikering så blir det en till.
Jag skulle ha valt en 28-pinnars processor även om det är möjligt att lyckas med en 18-pinnars.
Ok, då förstår jag. Det var ju inte helt lätt att anta att det skulle krävas just de där antalen pinnar. Det känns i alla fall som att vi då hellre tar en processor med lite fler pinnar så slipper man kanske hålla på att trixa så mycket.
Vilket språk tycker ni det är bäst att programmera ett sånt här projekt i? Är det asm (=Assembler?) som någon tidigare i tråden nämnde? Är det isåfall någon som vet någon bra sida där man kan lära sig detta språk?
Vilket språk tycker ni det är bäst att programmera ett sånt här projekt i? Är det asm (=Assembler?) som någon tidigare i tråden nämnde? Är det isåfall någon som vet någon bra sida där man kan lära sig detta språk?