Sida 2 av 3

Postat: 27 april 2004, 19:21:19
av karlstedt
Du lägger 5V på raderna sekventiellt. Alltså lägg 5V på rad 1 och kolla sedan om någon kolumn leder, sen gör du likadant med återstående rader.

På så sätt får du lätt ut vilken knapp som är nedtryckt.

Postat: 27 april 2004, 19:22:42
av Dukeman
Tack, det var just det jag menade... Ännu en fråga: om jag vill spara värdet "40" till exepmpel, i en tillfällig variabel, kan jag då skriva "40" eller måste jag ha tillräckligt många minnesplatser för att skriva det binärt, bit för bit?


EDIT:
----------------------------
Karlstedt: Hur lång tid tar det då att söka igen om hela registret (ja, tre klockcykler) men hur lång tid blir det i verkliga världe? i storleksordning med 1*10^-3 sekunder eller?

Postat: 27 april 2004, 19:32:59
av danei
Du lägger ut en etta på en av raderna och har koll på vilken.
du kan koppla in båda 7 segmentarna på 9 pinnar. Du kan ha dom anslutan parralellt och låta dom lysa halva tiden var

Du kan ha både temporära variabler (hela RAM) och permanenta koder (stor del av ROM)

EDIT: oj nu var jag seg

Postat: 27 april 2004, 19:33:04
av karlstedt
Vad menar du med registret?
Är det hela knappsatsen du menar?

Hastigheten på exekveringen beror på vilken kristall du använder.

Säg att du använder 10-20Mhz, så kommer det att röra sig om några tiotal eller hundratals mikrosekunder beroende på hur smart du löser det.

Postat: 27 april 2004, 19:43:47
av mrmike
PIC:en har en 8-bitarsprocessor så det största tal du kan använda med 1 st instruktion är 255 sen kan du i teoring använda väldigt stora tal men då blir det komplexare och tar längre tid.
Det tar längre tid än 3 instruktionscykler att läsa av knappmatrisen men det handlar inte om några långa tider. Hur lång tid en instruktionscykel tar beror helt på hur snabbt du klockar processorn.

Postat: 27 april 2004, 19:43:57
av danei
Dukeman skrev:Tack, det var just det jag menade... Ännu en fråga: om jag vill spara värdet "40" till exepmpel, i en tillfällig variabel, kan jag då skriva "40" eller måste jag ha tillräckligt många minnesplatser för att skriva det binärt, bit för bit?
I en byte kan du lagra ett tal 0-255. Det är nog smidigt med en tabell för hur siffrorna ser ut. En byte/siffra. ska du räkna från 99-0 räcker det med en byte.
Dukeman skrev:EDIT:
----------------------------
Karlstedt: Hur lång tid tar det då att söka igen om hela registret (ja, tre klockcykler) men hur lång tid blir det i verkliga världe? i storleksordning med 1*10^-3 sekunder eller?
En klockcykel i en 4MHz PIC är 4/4 000 000 sekunder lång dvs. 10^-6 sekunder.

Postat: 27 april 2004, 20:13:50
av Dukeman
hmm.. okej, så då har jag alltså en lösning på hur jag kan kontrollera knappsatsen. det där med att styra bägge siffrorna med 9 pinnar är nog ganska intressant, men hur menar du att det skall lösas? jag tänker något i denna stilen:

Segment A i bägge siffror är kopplade till samma pinne, segment B likaså osv
sedan har varje siffra en egen katod, och genom att skicka 5v till katoden på siffra ett och lägga 0v till katod på siffra 2 gör att de signaler jag skickr på resterande pinnar\segment endast syns på siffra två. om ajg låter dem blinka och ta varannan klockcykel kan jag alltså få bägge att synas utan att det "flashar" allt för mycket.

Har jag missförstått dig på rätt sätt?

Karlstedt: ja, jag menar hela registret på knapsatsen (typ R1-K1, R1-K2 osv)

nu börjar detta klarna lite för mig... men jag kan alltså lääga till exempel siffran "99" eller lägre i en byte minne... eller? detta är användbart i och med att jag tänkte bygga mig en timer som räknar nedåt... Jag tror inte att detta projekt är så avancerat (mjukvarumässigt), men å andra sidan har jag ju bara erfarenhet i Visual Basic som ju enlligt många (inklusive mig själv) är rena barnleken... 8)

Postat: 27 april 2004, 20:19:37
av mullemeck
håller själv just nu på med att styra två 7segs led displayr, har gjort ungefär som du sa, kopplar in så båda displayerna är kopplade till samma pinnar, sen styr jag vilken display som ska anslutas till jorden via två transistorer.

så under första klockcykeln visas siffran på den första displayen och sen nästa klockcykel den andra displayen.

om din Pic inte ska göra otroligt mycket under varje klockcykel så kommer det inte synas att de inte lyser hela tiden.

Postat: 28 april 2004, 17:01:18
av Hedis
Om du skaffar en BCD avkodare så kan du komma undan med ännu färre pinnar till displayen.
Det finns även tangentbordsavkodare som är enkla att använda.
Dom ger helt enkelt ett binärt tal ut motsvarande knappen som du tryckte in.

Postat: 28 april 2004, 17:05:03
av Dukeman
okej... så ett par transistorer och två motstånd för att driva displayen på +5V... en annan grej: om jag vill driva min krets på ett 9v batteri, hur gör jag då? (jag antar att allt kommer att vara antingen +5 eller 0) jag vet ju inte hur många mAh som kommer att färdas genom motståndet, så det blir lite svårt... kan man bara bygga en spänningsregulator av en trimpotentiometer och sedan sluta oroa sig?

Postat: 28 april 2004, 17:07:27
av danei
det finns färdiga spännigs regulatorer. Jag skulle rekomendera en sådan.

Postat: 28 april 2004, 17:12:58
av Dukeman
jag har bara tittat på några stycken... de verkar så dyyyra allihop! :evil: ca 200 spänn!! kan leta lite mer...

edit * 2 :
-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o
kan jag ta vilken transistor som helst?

om jag tar en npn-transistor (bas låter ström passera från kollektor till emitter) så skall jag alltså koppla basen till min PIC, kollektorn till displayen och emittern direkt till gnd, eller hur?
alltså borde den jag länkar till nedan vara duglig, eller hur?

Länkar:
Elfas transistor nummer 71-049-79

Postat: 28 april 2004, 18:02:27
av danei
Den här spännings regulatorn ligger på en femma. Den kanske är lite i klenaste laget. Men under en tia ska du kunna hitta en som funkar.
http://www.elfa.se/elfa/produkter/se/65 ... _73_001_07

Transistorn verkar bra.[/url]

Postat: 28 april 2004, 18:06:43
av Dukeman
Angående den lille högtalaren som bara skall surra\klicka:
kan jag köpa en piezo-sumer utan inbyggd drivkrets och sedan skapa pulser från PIC:en för att simulera vibrationer? (hoppas att någon förstår vad jag menar)

Postat: 28 april 2004, 18:10:23
av danei
Visst inga problem.