Sida 1 av 2

Nybörjarhjälp Assembler

Postat: 30 januari 2013, 23:45:52
av chrisha
Hej, har precis börjat läsa lite om mikrodatorteknik, men skulle behöva lite hjälp.

Jag använder PICkit3, MPLAB och PIC16F884(http://ww1.microchip.com/downloads/en/d ... 41291f.pdf).

Jag har kopplat in moderkortet till en tärningsmodul med tryckknapp och lysdioder. Och det är på den jag ska få en lysdiod att lysa genom att trycka på tryckknappen.

Jag ska alltså skriva ett program i assembler som tänder lysdiod(D4) när switch (SW1) trycks ned.


Tack på förhand.

Re: Nybörjarhjälp Assembler

Postat: 30 januari 2013, 23:57:40
av sodjan
Vad är det du behöver hjälp med?
Det finns ingen direkt fråga i inlägget om något speciellt så
det är inte så lätt att förstå var du "fastnade", så att säga.

Man skulle kunna få intryck av att du vill ha hjälp med att
skriva *hela* programmet, men så kan det väl inte vara !?

Hur långt har du kommit?

Re: Nybörjarhjälp Assembler

Postat: 31 januari 2013, 00:13:35
av chrisha
Jag behöver hjälp med att skriva assembler kod för att kunna tända lysdiod(D4) när switch (SW1) trycks ned.

Vet inte riktigt hur jag ska börja...

Re: Nybörjarhjälp Assembler

Postat: 31 januari 2013, 00:20:47
av sodjan
OK. :-)

Du kan börja med att helt kort beskriva vilken programmeringsbakgrund du har.
Ska du ha ett grundprogram som du ska bygga vidare på själv?
Varför enbart lysdiod D4? Ska det inte blir en "tärning" ?
Vad har du gjort så här långt? Vad har du läst?
Vad förstog du inte? Har du tittat på några demoprogram?
Behöver du över huvudtaget förstå programmet? :-)

Du måste helt enkelt bjuda till lite mer själv. Det finns en risk att
många tänker "Aha, en skoluppgift!" och så skiter man bara i det.

Re: Nybörjarhjälp Assembler

Postat: 31 januari 2013, 00:34:55
av chrisha
Jaha, ok. Men det är faktiskt ingen skoluppgift, ville bara lära mig lite nu medan jag är arbetslös. För jag ska läsa till elingenjör i höst så jag tänkte vara lite förberedd.

Så jag har köpt lite grejer på blocket och hittade lite uppgifter på nätet som jag tänkte göra. Och så köpte jag Designing Embedded Systems With PIC Microcontrollers: Principles And Applications 2nd Edition. Men allt är på engelska så det är lite svårt att hänga med ibland.

Så det är nog därför det är lite segt nu i början, och så har jag aldrig programmerat förut.

Tanken är också att jag ska fortsätta när jag fått den att lysa, nästa uppgift är nämligen att få den att blinka, sen kommer tärningsuppgiften efter det.

Re: Nybörjarhjälp Assembler

Postat: 31 januari 2013, 00:45:38
av jesse
Mikrocontrollers från assembler till RTOS av Lars Bengtsson är vad du ska börja läsa. Där står alla detaljer.
I denna lärobok får du lära dig hur man konstruerar mikrodatorer med hjälp av så kallade mikrocontrollers. En mikrocontroller är en "komplett" mikrodator, som innehåller cpu, minne och I/O-enheter i samma chip. Vi visar hur de programmeras och hur de i detalj ska kopplas i hårdvara för olika tillämpningar. Vi använder mikrocontrollers från Microchip och boken är avsedd för nybörjare på högskolenivå, men den är även lämplig för självstudier för yrkesverksamma ingenjörer.
Sen är det ju bra om du börjar läsa på engelska också - databladen (som man måste kunna läsa) är bara på engelska eller japanska.

Re: Nybörjarhjälp Assembler

Postat: 31 januari 2013, 01:00:25
av sodjan
Ja men då så, det är ju perfekt! :-)

I mån av tid så kan jag (eller någon annan) säkert sno ihop något
som i alla fall tänder D4 då knappens trycks.

> och så har jag aldrig programmerat förut.

Ingenting alls? Alltså inte heller något annat är mikrokontrollers?
Hur är det grunder i elektronik? Vet du t.ex varför det sitter ett
motstånd vid varje lysdiod? Och varför knappen har ett motstånd?

Re: Nybörjarhjälp Assembler

Postat: 31 januari 2013, 01:16:21
av chrisha
Tack, jo jag har läst fysik A och B, så jag vet vad motstånden gör.

Re: Nybörjarhjälp Assembler

Postat: 31 januari 2013, 09:04:04
av Krille Krokodil
PIC Assembly Language for the Complete Beginner: http://www.covingtoninnovations.com/nop ... em2004.pdf

Där är lite om hur man får lysdioder att blinka i någon ordning.

Re: Nybörjarhjälp Assembler

Postat: 1 februari 2013, 22:25:15
av G4jm0r
Har aldrig använt mig av PIC, men för AVR är databladen extremt användbara, så dom kan vara värda att kolla upp, lycka till.

Re: Nybörjarhjälp Assembler

Postat: 3 februari 2013, 13:59:39
av Bing_
sodjan skrev:Ja men då så, det är ju perfekt! :-)

I mån av tid så kan jag (eller någon annan) säkert sno ihop något
som i alla fall tänder D4 då knappens trycks.

> och så har jag aldrig programmerat förut.

Ingenting alls? Alltså inte heller något annat är mikrokontrollers?
Hur är det grunder i elektronik? Vet du t.ex varför det sitter ett
motstånd vid varje lysdiod? Och varför knappen har ett motstånd?
Vad är poängen med dina inlägg när du ändå inte hjälper OP ?


chrisha skrev:Hej, har precis börjat läsa lite om mikrodatorteknik, men skulle behöva lite hjälp.

Jag använder PICkit3, MPLAB och PIC16F884(http://ww1.microchip.com/downloads/en/d ... 41291f.pdf).

Jag har kopplat in moderkortet till en tärningsmodul med tryckknapp och lysdioder. Och det är på den jag ska få en lysdiod att lysa genom att trycka på tryckknappen.

Jag ska alltså skriva ett program i assembler som tänder lysdiod(D4) när switch (SW1) trycks ned.

Tack på förhand.
Läs det här http://www.gooligum.com.au/tut_baseline.html och databladen till PIC16F884. Jag föreslår ändå att du börjar med något enklare som Arduino :)

Re: Nybörjarhjälp Assembler

Postat: 3 februari 2013, 14:05:27
av Nerre
Börja med att initiera port A som ingångar och port D som utgångar (finns det inte inbyggd pull-up på den aktuella kretsen förresten?).

Helst ska du kanske sätta port D som 0xFF först också så alla lysdioder är släckta från början

Sen skriver du en evighetsloop där du läser av port A och om bit 0 är hög så sätter du bit 3 i port D låg.


Men spontant låter det ju som om du borde lära dig grundläggande assemblerprogrammering först...

Re: Nybörjarhjälp Assembler

Postat: 3 februari 2013, 14:26:03
av sodjan
> Vad är poängen med dina inlägg när du ändå inte hjälper OP ?

OK, du fattar inte mycket om det här, eller hur?... :-)
Min hjälp var korrekt och exakt det som behövdes
i den aktuella situationen.

> ...Jag föreslår ändå att du börjar med något enklare som Arduino

Jag vet inte om det "tipset" är till speciellt stor hjälp när man redan har
skaffat en PICkit3 (helt OK för övrigt) samt den övriga infrastukturen.

Re: Nybörjarhjälp Assembler

Postat: 3 februari 2013, 15:34:26
av swesysmgr
Bing_ skrev:Vad är poängen med dina inlägg när du ändå inte hjälper OP ?
Vad är poängen med att fråga efter hjälp om man i själva verket vill att någon annan skall lösa hela problemet åt en gratis?

Re: Nybörjarhjälp Assembler

Postat: 3 februari 2013, 15:42:41
av JimmyAndersson
Vad jag vet så finns det tiotusentals trådar där folk har bett om hjälp och fått hjälp gratis...
Är det fel helt plötsligt bara för att det kommer en ny medlem som vill ha lite programmeringsexempel på hur man gör?
(Jag har själv frågat efter samma sak för att se hur man gör en snygg struktur/uppdelning av assembler-kod.
Då var det ingen som hade någon negativ synpunkt. Men då hade jag skrivit närmare 20k inlägg innan. :roll: )

Lämna det där nu, så inte trådskaparen tröttnar på detta gnällforum...



Jag vill ge Sodjan beröm här. :)

Han frågade lugnt och pedagogiskt för att förstå trådskaparens bakgrund och tanke med tråden.
Dessutom berättade han att många kanske tänkte på skoluppgift.
Men när svaren på Sodjans frågor kom så fick nog alla rätt bild.
Så det finns en stor möjlighet att Sodjans inlägg "slog an tonen" för att det här blev (och är) en trevlig tråd.

Precis som en bra lärare skulle ha gjort. :)
Fortsätt såhär Sodjan! Fullständigt rätt inställning. :tumupp:


Åter till ämnet kanske?