Går det att få input i en PIC16F628?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
karlstedt
EF Sponsor
Inlägg: 966
Blev medlem: 14 oktober 2003, 16:55:23
Ort: Lund
Kontakt:

Inlägg 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.
Dukeman
Inlägg: 47
Blev medlem: 25 april 2004, 19:54:27
Ort: Fagersta

Inlägg 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?
danei
EF Sponsor
Inlägg: 27419
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg 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
Senast redigerad av danei 27 april 2004, 19:38:38, redigerad totalt 1 gång.
Användarvisningsbild
karlstedt
EF Sponsor
Inlägg: 966
Blev medlem: 14 oktober 2003, 16:55:23
Ort: Lund
Kontakt:

Inlägg 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.
Användarvisningsbild
mrmike
Inlägg: 301
Blev medlem: 29 oktober 2003, 20:40:12

Inlägg 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.
danei
EF Sponsor
Inlägg: 27419
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg 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.
Dukeman
Inlägg: 47
Blev medlem: 25 april 2004, 19:54:27
Ort: Fagersta

Inlägg 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)
mullemeck
Inlägg: 1306
Blev medlem: 27 maj 2003, 23:52:06
Ort: Lund
Kontakt:

Inlägg 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.
Användarvisningsbild
Hedis
Inlägg: 2493
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Inlägg 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.
Dukeman
Inlägg: 47
Blev medlem: 25 april 2004, 19:54:27
Ort: Fagersta

Inlägg 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?
danei
EF Sponsor
Inlägg: 27419
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

det finns färdiga spännigs regulatorer. Jag skulle rekomendera en sådan.
Dukeman
Inlägg: 47
Blev medlem: 25 april 2004, 19:54:27
Ort: Fagersta

Inlägg 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
danei
EF Sponsor
Inlägg: 27419
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg 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]
Dukeman
Inlägg: 47
Blev medlem: 25 april 2004, 19:54:27
Ort: Fagersta

Inlägg 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)
danei
EF Sponsor
Inlägg: 27419
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Visst inga problem.
Skriv svar