Sida 1 av 2

Hjälp med kod..

Postat: 12 juli 2007, 00:43:51
av thompa89
Jag programmerar i MicroCde Studio (PICBASIC PRO)
Jag har gjort ett enkelt program som ska få en lysdiod att blinka fast när jag för över det till picen funkar det inte (648A)

Själva överförningen med Wisp628 funkar men inte programmet :/

Ska inte detta programmet funka?

Kod: Markera allt

TRISB = %00000000

loop:   high portb.1
        pause 500
        low portb.1
        pause 500
        goto loop
        end
Jag vet att Assembler är "bättre" fast jag har lärt mig Picbasic Pro i skolan så jag kommer använda det (ett tag) ..

Postat: 12 juli 2007, 00:53:55
av sodjan
Det saknas bl.a CONFIG inställningar samt info om hur det hela
är kopplat (t.ex kristall eller inte) för att kunna svara.

EDIT:
Jag hoppas att du slipper kommentarer om Basic, de är fullständigt onödiga
och det har vi haft nog av i tidigare trådar... :-)

Postat: 12 juli 2007, 00:54:36
av bengt-re
Hur är det med config(klocka, WDT, MCLR odyl)

Vilken PIC?

Postat: 12 juli 2007, 01:01:28
av thompa89
Hmm, när vi programmerade i skolan använde vi aldrig CONFIG fast då programmerade vi PIC16F84A, nu använder jag en PIC16F648A..

Kopplat precis som detta schema förutom lysdioden..

Bild

Postat: 12 juli 2007, 01:09:11
av bengt-re
Byt ut 33k på MCLR till 10k. Och utan att kunna din utvecklingsmiljö så MÅSTE du någonstans tala om vad den skall köra på för klocka och det andra som ligger i configen...

Postat: 12 juli 2007, 07:27:39
av Niklas-k
Ett vanligt symtom som du beskriver är när man byter från 16F84A till 16F648A så måste man stänga av komparator modulen som är default vid uppstart.
Sätt de 3 lägsta bitarna i CMCON registret vid uppstart (CMCON=7) och se om det inte fungerar bättre.

Postat: 12 juli 2007, 09:59:12
av sodjan
> så måste man stänga av komparator modulen

Komp sitter på PORTA, lysdioden på PORTB...

> Kopplat precis som detta schema förutom lysdioden..

Var sitter lysdionden (namn och nummer på pinnen)

Postat: 12 juli 2007, 10:34:28
av thompa89
Lysdioden sitter på RB1, pin7

Skulle ngn kunna göra ett snabbt program i assembler som gör att RB1 "blinkar" och sedan ladda upp programmet i en hex fil.

Så jag kan se om mitt program inte funkar eller om det är ngt annat..

Postat: 12 juli 2007, 11:11:39
av sodjan
> Lysdioden sitter på RB1, pin7

OK, ville bara se att det stämmer överens med koden.
Och lysdioden är vänd åt rätt håll ?
Lyser den hel tiden eller lyser den inte alls ?

Om du bara vill testa din koppling så är det enklaste att ladda
ner http://www.voti.nl/blink/code/b628-1.hex från
http://www.voti.nl/blink/index.html ...
Och flytta lysdioden, så klart!

Finns ju ingen anledning att skriva om samma program...

Postat: 12 juli 2007, 11:20:26
av thompa89
Den lyser inte alls, ska vara åt rätt hål..
För när man gör en port hög ska den väll ge ut 5V?

EDIT; Den koden funkade fint.. Då är det min kod som det är fel på..

Postat: 12 juli 2007, 11:35:33
av spufuz
Har du kopplat anoden mot PICen?
Se på schemat så ser du.

Postat: 12 juli 2007, 11:58:57
av sodjan
d.v.s att om du har lagt dioden från PIC'en till GND, så ska den
vara omvänt monterad mot hur det ser ut p bilden.

Men du har väl testat att koppla loss dioden från PIC'en
och lägga den direkt till 5V, eller hur ? Bara för att kolla att
dioden i alla fall är hel...

Postat: 12 juli 2007, 12:16:17
av thompa89
Jag har den kopplad så här:

Bild

Jag kopplade den så till RA0 och körde över programmet från voti och det funkade..

Så min kod är fel, fast jag vet inte vad :(

Postat: 12 juli 2007, 12:50:47
av bengt-re
Det är nog fortfarande troligen dina config bitar som spökar. Någonstanns i din utvecklingsmiljö måste man kunna ställa detta.

Postat: 12 juli 2007, 13:00:06
av sodjan
Håller med Bengt-re, kolla configgen !!

Sen ritar man *ALDRIG* jord/gnd *uppåt* ! :-)
I alla fall inte i ett så pass enkelt schema...