Pic 16f690 PortA digital i/o?
- peterjansson20
- Inlägg: 66
- Blev medlem: 12 april 2010, 09:07:16
Re: Pic 16f690 PortA digital i/o?
Ja min nuvarande version av MPLAB är 8.50
Jag såg i kontroll panelen att jag hade både MPLAB 7.48 och 7.50.
Så jag tyckte det var best att av installera och börja om från början.
Min tanke med ICD är kalibrering.
Tex om man skall använda en pulsgivare för att kontrollera ett läge.
Och sedan styra en proportional-ventil att öppna lagom mycket.
Jag såg i kontroll panelen att jag hade både MPLAB 7.48 och 7.50.
Så jag tyckte det var best att av installera och börja om från början.
Min tanke med ICD är kalibrering.
Tex om man skall använda en pulsgivare för att kontrollera ett läge.
Och sedan styra en proportional-ventil att öppna lagom mycket.
Re: Pic 16f690 PortA digital i/o?
Kalibrering? Hur skulle ICD hjälpa dig med det? Om du behöver SE vad som händer i programmet, utan att påverka det alltför mycket så skall du dumpa ut debugdata tex på serieporten.
Re: Pic 16f690 PortA digital i/o?
Det är inte helt klart hur du menar att ICD skulle hjälpa med just det.
Det du behöver göra är att först ta reda på hur pulsgivaren fungerar,
antingen via dess datablad eller med ett testprogram som mäter upp den.
Sedan är ju frågan hur "funktionen" ska se ut som kopplar ett visst
värde från givaren till en visst värde på ventilen. Det kan knappast en ICD
hjälpa till med, snarare papper och penna och en miniräknare.
För att sedan testköra det hela så skulle kanske en ICD kunna vara
till en viss hjälp, det beror lite på vilka problem/buggar som du råkar på.
En liten hake är att det är svårt att debugga realtidsprylar
över huvudtaget, speciellt med en ICD som ju stoppar programkörningen.
Det är inte säker att det man styr, alltså den process som ventilen påverkar,
tål att man fryser körningen medan man tittar på register. Processen kan
skena och gå helt ur kontroll just p.g.a att man använder en ICD, inte för
att programmet har något igentligt fel som orsakar det.
Det du behöver göra är att först ta reda på hur pulsgivaren fungerar,
antingen via dess datablad eller med ett testprogram som mäter upp den.
Sedan är ju frågan hur "funktionen" ska se ut som kopplar ett visst
värde från givaren till en visst värde på ventilen. Det kan knappast en ICD
hjälpa till med, snarare papper och penna och en miniräknare.
För att sedan testköra det hela så skulle kanske en ICD kunna vara
till en viss hjälp, det beror lite på vilka problem/buggar som du råkar på.
En liten hake är att det är svårt att debugga realtidsprylar
över huvudtaget, speciellt med en ICD som ju stoppar programkörningen.
Det är inte säker att det man styr, alltså den process som ventilen påverkar,
tål att man fryser körningen medan man tittar på register. Processen kan
skena och gå helt ur kontroll just p.g.a att man använder en ICD, inte för
att programmet har något igentligt fel som orsakar det.
- peterjansson20
- Inlägg: 66
- Blev medlem: 12 april 2010, 09:07:16
- peterjansson20
- Inlägg: 66
- Blev medlem: 12 april 2010, 09:07:16
Re: Pic 16f690 PortA digital i/o?
Jag menar att det kan vara en bra idé att dumpa mät värden på serie porten.
Jag vet inte så mycket om ICD mer än att det låter intressant.
Jag vet inte så mycket om ICD mer än att det låter intressant.
- peterjansson20
- Inlägg: 66
- Blev medlem: 12 april 2010, 09:07:16
Re: Pic 16f690 PortA digital i/o?
Puls givaren fungerar utmärkt både i MPLAB SIM och på labb bräda.
Programmet jag skrivit räknar både upp och ned utan problem.
Nästa steg blir att försöka sig på interrupt programmering.
Programmet jag skrivit räknar både upp och ned utan problem.
Nästa steg blir att försöka sig på interrupt programmering.
Kod: Markera allt
#include <p16f690.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
org 0
BANKSEL ANSEL
CLRF ANSEL ;digital I/O
BANKSEL ANSELH
CLRF ANSELH ;digital I/O
BANKSEL TRISC
CLRF TRISC ;PORTC OUTPUT
BANKSEL TRISA
movlw 0ff
movwf TRISA ;PORTA INPUT
BANKSEL PORTC
MainLoop:
BTFSC PORTA,0 ;TESTA PUSGIVARE PINNE 0
GOTO AKTION
GOTO MainLoop ; Do it again...
AKTION;
BTFSC PORTA,1 ;TESTA PULSGIVARE PINNE 1
GOTO DECPORTC
GOTO INCPORTC
AKTION1;
MOVF PORTA,W
BTFSC PORTA,0
GOTO AKTION1
GOTO MainLoop
INCPORTC;
INCF PORTC ;PORTC +1
GOTO AKTION1
DECPORTC;
DECF PORTC ;PORTC-1
GOTO AKTION1;
end
Re: Pic 16f690 PortA digital i/o?
ICD och att skicka data till en display eller via serieporten är ju egentligen varianter på samma sak, man önskar ju oavsett se vad värdet är i ett specifikt register eller flera olika register. Problemet med ICD är som sagt att det ibland bromsar programkörningen och fel kan uppstå pga detta. Därmed inte sagt att inte de andra metoderna kan göra EXAKT samma sak 
Jag föredrar nästan serieporten den är enklast att koppla upp, det drygaste är faktist MAX:en, jag har tänkt göra ett färdigt kort till den där den sitter fast monterad så man slipper koppla på med kondningar osv. Men funkar ju med ett extra labbdäck där den alltid sitter också
Jag tror dock att ICD är det mest nybörjarvänliga, fast en LED kan indikera väldigt mycket också

Jag föredrar nästan serieporten den är enklast att koppla upp, det drygaste är faktist MAX:en, jag har tänkt göra ett färdigt kort till den där den sitter fast monterad så man slipper koppla på med kondningar osv. Men funkar ju med ett extra labbdäck där den alltid sitter också

Jag tror dock att ICD är det mest nybörjarvänliga, fast en LED kan indikera väldigt mycket också

- peterjansson20
- Inlägg: 66
- Blev medlem: 12 april 2010, 09:07:16
Re: Pic 16f690 PortA digital i/o?
Jag lödde ihop en liten med en MAX och en pinheader, med en DB9 i andra änden. Som logikmonitor har jag sen dylik:

8 leddar med buffertar. Byggd av skrot jag köpte på Elfarean.

8 leddar med buffertar. Byggd av skrot jag köpte på Elfarean.
Re: Pic 16f690 PortA digital i/o?
Bara som ett sidospår.. Håller på med en GPIB-adapter och då dumpar jag helt sonika ut data på UARTen och läser det sedan på en PC. Använder även serieporten för att direkt ge kommandon till GPIB-instrumenten. För att debugga kör jag UART-simuleringen i MPSIM, funkar klockrent.
- peterjansson20
- Inlägg: 66
- Blev medlem: 12 april 2010, 09:07:16
Re: Pic 16f690 PortA digital i/o?
Kul!
Själv håller jag på att göra ett intreface med en max232.
Skall testa den lite i kväll när barnen sover.
Själv håller jag på att göra ett intreface med en max232.
Skall testa den lite i kväll när barnen sover.
Re: Pic 16f690 PortA digital i/o?
Orkar man inte gorma med att etsa egna kort osv kan man köpa en USB <-> TTL från ebay för ca 50kr inkl frakt.
http://cgi.ebay.com/Serial-Converter-US ... 2eac4065aa
http://cgi.ebay.com/Serial-Converter-US ... 2eac4065aa
- peterjansson20
- Inlägg: 66
- Blev medlem: 12 april 2010, 09:07:16
Re: Pic 16f690 PortA digital i/o?
Usb i all ära.
Men jag känner mig inte hemma med drivare och kommunikationen.
Men jag känner mig inte hemma med drivare och kommunikationen.
Re: Pic 16f690 PortA digital i/o?
Stöder inte alla (PIC)processorer detta?peterjansson20 skrev:Det är därför jag funderar på att byta processor.
Någon som stöder icd.