Bygga en miniräknare

Planering och tankar kring eventuella framtida projekt.
Newi
Inlägg: 15
Blev medlem: 20 januari 2007, 20:21:36
Ort: Järfälla

Bygga en miniräknare

Inlägg av Newi »

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.
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1353
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Inlägg av baron3d »

Hej och välkommen.
Vilken nivå? Grafisk räknare med många funktioner eller något som kan addera och subtrahera heltal.
Användarvisningsbild
dar303
Inlägg: 5979
Blev medlem: 17 december 2003, 19:54:56
Ort: Sthlm

Inlägg av dar303 »

Jag skulle göra det med någon enkel PIC microprocessor och programmeringsspråket picbasic
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Inlägg av Micke_s »

Eller AVR och gcc istället...basic har för många begränsningar.
Användarvisningsbild
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:

Inlägg av bengt-re »

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...
Newi
Inlägg: 15
Blev medlem: 20 januari 2007, 20:21:36
Ort: Järfälla

Inlägg av Newi »

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?
Användarvisningsbild
MicaelKarlsson
Inlägg: 4669
Blev medlem: 18 juni 2004, 09:16:07
Ort: Aneby
Kontakt:

Inlägg av MicaelKarlsson »

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!!
Newi
Inlägg: 15
Blev medlem: 20 januari 2007, 20:21:36
Ort: Järfälla

Inlägg av Newi »

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?
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7461
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

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...
Användarvisningsbild
MicaelKarlsson
Inlägg: 4669
Blev medlem: 18 juni 2004, 09:16:07
Ort: Aneby
Kontakt:

Inlägg av MicaelKarlsson »

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.
Newi
Inlägg: 15
Blev medlem: 20 januari 2007, 20:21:36
Ort: Järfälla

Inlägg av Newi »

strombom skrev:Newi: ta en titt här:
http://www.elektronikforumet.com/wiki/i ... ontrollers
Tack, den där länken låg mera på min nivå. Klargjorde ett och annat.
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.
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?
TERdON
EF Sponsor
Inlägg: 295
Blev medlem: 15 november 2006, 04:38:29
Ort: Solna/Laholm
Kontakt:

Inlägg av TERdON »

Knappar som ingångar och som utgångar antingen LCD-segment eller LCD-skärm, nixierör eller vad du nu har för galen idé om hur du ska visa resultatet. De senare möjligtvis via någon form av omvandlingskrets för att spara utgångar.
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

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.
Newi
Inlägg: 15
Blev medlem: 20 januari 2007, 20:21:36
Ort: Järfälla

Inlägg av Newi »

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?
Skriv svar