Sida 1 av 3

Bygga en miniräknare

Postat: 20 januari 2007, 20:40:07
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.

Postat: 20 januari 2007, 21:24:31
av baron3d
Hej och välkommen.
Vilken nivå? Grafisk räknare med många funktioner eller något som kan addera och subtrahera heltal.

Postat: 20 januari 2007, 21:26:57
av dar303
Jag skulle göra det med någon enkel PIC microprocessor och programmeringsspråket picbasic

Postat: 20 januari 2007, 23:24:07
av Micke_s
Eller AVR och gcc istället...basic har för många begränsningar.

Postat: 21 januari 2007, 00:02:18
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...

Postat: 21 januari 2007, 02:04:53
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?

Postat: 21 januari 2007, 10:58:43
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!!

Postat: 21 januari 2007, 13:23:41
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?

Postat: 21 januari 2007, 13:32:58
av strombom

Postat: 21 januari 2007, 13:54:10
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...

Postat: 21 januari 2007, 14:03:08
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.

Postat: 21 januari 2007, 16:39:47
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?

Postat: 21 januari 2007, 16:42:18
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.

Postat: 21 januari 2007, 17:55:37
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.

Postat: 21 januari 2007, 19:48:22
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?