HJÆLP - mangler porte på PIC16F84

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Danish to

Threaded View
Jeg har designet en opstilling, hvor jeg kommer til at mangle to input-porte
til aftastning af 2 'ringetryk' for hhv nulstilling og frysning af en
tæller.
.
Jeg vil derfor bruge PORTB bit1 og bit2, som jeg ellers anvender til
udlæsning af to af segmenterne i et LED-ciffer - altså når porten er OUTPUT
går den via en modstand til katoden på LED-segmentet.

Når porten skal bruges som INPUT skal den vel lægges via en modstand til +
og så kunne lægges til 0 med et ringetryk eller ..... ?

Ka' man overhovedet det ?

Hvordan 'isoleres' de to ting fra hinanden - kan en skitsere et lille
diagram måske ?

Mvh KS



Re: HJÆLP - mangler porte på PIC16F84

Quoted text here. Click to load it
input-porte
Quoted text here. Click to load it
OUTPUT

Når porten er inngang, så er den løftet til +; fra + gjennom LED-segmentet,
gjennom motstanden og inn på porten. Du legger bare inngangen via en SW til
GND. Og så får du 7 ekstra innganger. ( Du får et blink i LED-en når SW er
aktivert.)

HM
Quoted text here. Click to load it



Re: HJÆLP - mangler porte på PIC16F84
Quoted text here. Click to load it
LED-segmentet,
Quoted text here. Click to load it
til
Ja, og holder man knappen inde vil LED-segmentet lyse 'konstant' - det var
det jeg gerne ville
undgå men en eller anden form for 'adskillelse' af de 2 funktioner - kan det
ikke lade sig gøre med
nogle dioder eller ... ?

Mvh KS



Re: HJÆLP - mangler porte på PIC16F84

Quoted text here. Click to load it
er
det

Jeg ser ingen enkel løsning på det problemet, men jeg vurderer det som
uvesentlig.

HM



Re: HJÆLP - mangler porte på PIC16F84
Quoted text here. Click to load it
Det er vel ikke uvæsentlig, at to tilfældige LED-segmenter lyser blot fordi
jeg holder nulstil og frys inde - det er da en 'grimt' løsning.

Mvh KS



Re: HJÆLP - mangler porte på PIC16F84

Quoted text here. Click to load it
OUTPUT


Sagtens, ihvertfald hvis du multiplexer dit display.

En mulighed er at have en modstand mellem trykknap og MPU, så strømme er for
lille til at tænde et segment, men stor nok til at MPU'en kan se signalet,
når displayet er slukket.




Re: HJÆLP - mangler porte på PIC16F84
Quoted text here. Click to load it
for

Jeg bruger jo 4 porte fra PORTA til at multiplexe de 4 LED cifre - er det
ikke lettest
blot at bruge en "1 af 4"-logikkreds så jeg kan nøjes med at bruge 2 porte
til multiplex og så
'frigøre' 2 til mine switch til nulstilling og frysning af tælleren - er det
ikke en 'mere ren' løsning ?

Mvh KS



Re: HJÆLP - mangler porte på PIC16F84



Quoted text here. Click to load it
det

Spørgsmålet er om du helst vil bruge en ekstra chip eller lidt
modstande/dioder.
Med en 1 af 4 decoder risikerer du også skygger i displayet.

Husk at når du har slukket for displayet, så kan du faktisk bruge din 7/8
segment linier ret frit (Husk at et display er en diode), både som input og
output, de har vel også indbygget pullup der kan tændes.



Re: HJÆLP - mangler porte på PIC16F84
Quoted text here. Click to load it

Jeg tror jeg vil prøve denne, og se hvad det giver - det kan jeg umiddelbart
finde ud af at lave - tror jeg..
Quoted text here. Click to load it
og

Ja, men NÅR FRYS-knappen f.eks. er trykket ind skal displayet jo lyse
for netop at vise de frosne tal - (tænke, tænke: det sker jo selvfølgelig i
andre
clock-trin .....) - et lille diagrameksempel ville måske hjælpe på
forståelsen ;-)

Mvh KS



Re: HJÆLP - mangler porte på PIC16F84

Quoted text here. Click to load it
7/8
Quoted text here. Click to load it
i

Når du skifter ciffer, skal du alligevel holde displayet slukket i nogle
uSec for at undgå skygger, det er denne tid du kan bruge til at checke
knapper.

Lav f.eks. trykknappen til stel og med en pullup, fra trykknap til porten
sætter du en 100K (eller hvad der nu passer) modstand.
Hvor stor modstand du kan bruge afhænger af kapacitet på portpinden,
lækstrømmen og hvor lang tid du holder displayet slukket.

Hvis du vil regne på opladekurver, så er
http://hjem.get2net.dk/hkj/miscel.html siden "Charge curve" brugelig.



Re: HJÆLP - mangler porte på PIC16F84
Quoted text here. Click to load it

her bruger jeg en 10K til + MEN
det bliver jo så til direkte til 100K'en (trykknappen er jo åben!)

Quoted text here. Click to load it

Ved forsøg kan det faktisk KUN virke, hvis denne modstand
er 0 (eller meget tæt på 0), og det har jo så den kedelige sideeffekt,
at når knappen holdes nede (og det vil man jo altid gøre i et stykke tid)
så lyser LED-segmentet, som ellers er tilknyttet porten når den er output,
lidt
mere end de øvrige segmenter - det ser ikke så godt ud.

Har jeg misforstået noget mht. pull-up'en og 100K'en ?




Re: HJÆLP - mangler porte på PIC16F84
Quoted text here. Click to load it
porten
Jeg glemte

Mvh KS



Re: HJÆLP - mangler porte på PIC16F84

Quoted text here. Click to load it

Måske har du ikke programmeret dine porte korrekt, eller PIC'en har konstant
pullup på porten. Du skal selvfølgelig huske at omprogrammere din port til
input, vente lidt og så læse trykknappen.
En lang ventetid, betyder at du kan bruge en stor modstandsværdi, fordi der
så er bedre tid til at oplade/aflade indgangskapaciteten (og for den sags
skyld også kapaciteten i segmentet).
Du huske også at slukke fælles driveren til displayet, ellers vil du
selvfølgelig ikke kunne trække strøm nok via en 100K modstand.

Jeg bruger selv 100K seriemodstand på nogle af mine inputs (Det er dog en
AVR processor, men det burde ikke ændre på det).





Re: HJÆLP - mangler porte på PIC16F84
Quoted text here. Click to load it
konstant
Porten omdefineres til input (ellers ville den jo ikke nulstille og det GØR
den jo korrekt nok)

Quoted text here. Click to load it
der
Jeg gør her ikke noget specielt mht at 'vente og så læse trykknappen' UD
OVER at
bruge BUTTON fra PICBasic Pro (den HAR jo noget med ventetid 'i sig' aht
prel)

Quoted text here. Click to load it
Den ER slukket
Quoted text here. Click to load it
Jeg tror nu jeg vil gå tilbage til ASM i stedet for PicBasic Pro - der er
for meget
'i gang' som man ikke har/kan få kontrol over med PicBasic - og
interruptrutinen
skal alligevel skrives i ASM.

Arbejder du med C - if so - skal interruptrutinen også i C skrives i ASM
eller ...?

Mvh KS



Re: HJÆLP - mangler porte på PIC16F84


Quoted text here. Click to load it

Det burde gå ud over display visningen, når jeg laver sådan noget, så plejer
jeg istedet af forlange stabil læsning over f.eks. 10 display scan.


Quoted text here. Click to load it

Jeg bruger normalt assembler til små processorer, jeg kan godt lige at have
fuldkommen check over hvad MPU'en gør.

Men du kan godt lave interrupt rutiner i C, du skal bare være forberedt på
at de kan have lidt større overhead end asm rutiner. Når jeg typisk har en
interrupt for hver 256 clock's, vil jeg ikke have for stort overhead, det
går ud over den generelle MPU hastighed.






Re: HJÆLP - mangler porte på PIC16F84
Quoted text here. Click to load it
have
Selv om jeg ikke er nogen haj til PIC og ASM vil jeg nu alligevel droppe
både PicBasic og C og gå tilbage til ASM - så må det bare tage sin tid.

(det gør det iøvrigt alligevel !)

Tak for dine hurtige svar !

Mvh KS



Re: HJÆLP - mangler porte på PIC16F84

Quoted text here. Click to load it
signalet,
det

En slik krets er en 16 pins pakke, 16 ekstra hull å bore + printplass =
dyrere løsning. Men med en ekstrakrets har du mange muligheter; du kan
utnytte kretsen og multiplexe både innganger og utganger, eller du kan velge
f.eks. en BCD to 7segment dekoder and latch. Da sparer du 3 I/O.

Det er noe vanskelig å gi gode råd, siden både krets og skjema er ukjent,
det vil si jeg kjenner ikke antal tilgjengelige I/O eller hvordan du bruker
dem. Husk at både innganger og utganger kan multiplexes. Du kan kanskje
bytte om inngangene slik at et blinkende segment blir akseptabelt, eller
velge en annen krets med flere I/O.

HM



Site Timeline