Programmino facile facile

Ciao a tutti ho iniziato circa un mese fa a scuola a fare programmi in assembler per pic16f84. Devo fare un progamma che gestisce 8 led su portb tramite 3 interruttori su port a.

Con ra0=3D0 ra1=3D0 ra2=3D0 si accende led1 su rb0 Con ra0=3D1 ra1=3D0 ra2=3D0 si accende led1 su rb1 Con ra0=3D0 ra1=3D1 ra2=3D0 si accende led1 su rb2 Con ra0=3D1 ra1=3D1 ra2=3D0 si accende led1 su rb3 Con ra0=3D0 ra1=3D0 ra2=3D1 si accende led1 su rb4 Con ra0=3D1 ra1=3D0 ra2=3D1 si accende led1 su rb5 Con ra0=3D0 ra1=3D1 ra2=3D1 si accende led1 su rb6 Con ra0=3D1 ra1=3D1 ra2=3D1 si accende led1 su rb7

Ho provato a fare questo programma ma =E8 abbastanza lungo e la prof. ha detto che c'=E8 un modo per farlo in circa una decina di righe.

Se qualcuno riesce a farmelo avere lo ringrazio molto. Meglio se =E8 in formato testo

Reply to
fassi87
Loading thread data ...

Ho visto un uomo che moriva per amore...ma ho anche sentito fassi87 @libero.it che diceva :

probabilmente è vero

e na fetta di culo tagliata vicino all'osso?

--
N1 in cerca di firma
ICQ - 140416778
Reply to
Nuno Bettencourt

attento che te riga il 636

L.

--
%DCL-F-RUIDIOT?
Reply to
Luca_B

in C è questo: output_B(input_A()&7);

in ASM qualcosa del genere (però ho usato 11 linee di codice)

MOVLW FF MOVWF 05 BCF 03.5 MOVF 05,W ANDLW 07 MOVWF 10 BSF 03.5 CLRF 06 BCF 03.5 MOVF 10,W MOVWF 06

ovviamente devi aver già impostato l'oscillatore e gli altri #fuses per le tue esigenze, in modo che il PIC possa funzionare tranquillamente

ciao!

Reply to
ice

ice ha scritto:

Ma ICProg programma anche con file C? Non ho ancora capito come si fa un file hex con un compilatore C (ho fatto solo exe e dll...)...

Bye,

Reply to
Carmine

snipped-for-privacy@libero.it ha scritto:

Beh, casomai ti aiutiamo a farlo e ti facciamo capire a che serve ogni riga... Credo sia inutile fornirti il listato bello e pronto. Lo dico per te eh ;)

Bye, Carmine.

Reply to
Carmine

sorgente --> compilatore --> ic-prog

è il compilatore che prende in input il sorgente e genera l'hex, che è uno standard... ic-prog legge l'hex e programma il pic tramite un programmatore hardware
Reply to
ice

ice ha scritto:

Come compilatore va bene Gcc?

Bye,

--
Carmine ( pikachu31NOSPAM@gmail.com (Togli la scritta NOSPAM) )
Webmaster di The Total Site (http://www.tekkentag.altervista.org/ )
Powered by SuSE Linux 9.3 Pro - Webmaster di sceptilepage 
www.sceptilepage.altervista.org
Athlon X2 3800+@2500mhz, DDR500 1Gb GeIL One S 2.5-3-3-5
7800GTX, Aureon Universe 7.1, DFI nf4 UT Ultra-D
Reply to
Carmine

"Carmine" ha scritto nel messaggio news:dmfrga$ocd$ snipped-for-privacy@area.cu.mi.it...

Il compilatore deve essere in grado di generare codice per il micro specifico! Ogni core ha delle istruzioni specifiche che sono "numeri" esadecimali che possono anche essere di diversa lunghezza da micro a micro (ad esempio i PIC16 dovrebbero averle a 14 bit), anche l'assembler in realtà deve essere interpretato per essere "digerito" dal micro, anche se le mnemonic assembler equivalgono al linguaggio macchina, e di solito una riga assembler è una istruzione. Dico di solito perché ci sono mnemonic che integrano più istruzioni, ad esempio qualcosa del tipo "MOV R15+=2,..." (ho sparato a caso)potrebbe spostare un valore puntato da un registro da qualche altra parte ed incrementa il puntatore, queste istruzioni i micro tosti (più probabilmente i DSP) le svolgono in un colpo di clock solo...

Il GCC io l'ho trovato per un sacco di micro, ma in realtà sono tutti compilatori diversi!

J.

Reply to
Regae

[...] PRIMO: posta in ASCII, sei inquotabile

secondo: l'applicazione che ti chiedono è banale...è semplicemente un decoder... _carica il PORTA _maschera per avere solo i 3 bit che ti servono _fai una look-up table con in entrata e 3bit e in uscita il byte della decodifica _spara il byte sul PORTB

Stima righe di codice (esclusi inizializzazioni): circa 15

prima ti mando in email le mie coordinate bancarie ;-)

Reply to
PeSte

"Carmine" ha scritto nel messaggio news:dmfnmd$id0$ snipped-for-privacy@area.cu.mi.it...

rotfl....

Reply to
simone.bern

"PeSte" ha scritto nel messaggio news:rNTif.24540$ snipped-for-privacy@tornado.fastwebnet.it...

Sei andato a scuola da Carmine ultimamente??? :-)

J.

Reply to
Regae

"Regae" ha scritto nel messaggio news:438c46ac$0$13266$ snipped-for-privacy@reader2.news.tin.it...

sarà il panino con la mortadella che ho di traverso, ma non l'ho capita...uh?

Reply to
PeSte

Regae ha scritto:

Ahhh capito ;)

Bye,

--
Carmine ( pikachu31NOSPAM@gmail.com (Togli la scritta NOSPAM) )
Webmaster di The Total Site (http://www.tekkentag.altervista.org/ )
Powered by SuSE Linux 9.3 Pro - Webmaster di sceptilepage 
www.sceptilepage.altervista.org
Athlon X2 3800+@2500mhz, DDR500 1Gb GeIL One S 2.5-3-3-5
7800GTX, Aureon Universe 7.1, DFI nf4 UT Ultra-D
Reply to
Carmine

simone.bern ha scritto:

E vabbè di nuovo con le critiche... grazie eh...

Bye,

-- Carmine ( snipped-for-privacy@gmail.com (Togli la scritta NOSPAM) ) Webmaster di The Total Site

formatting link
) Powered by SuSE Linux 9.3 Pro - Webmaster di sceptilepage
formatting link
Athlon X2 3800+@2500mhz, DDR500 1Gb GeIL One S 2.5-3-3-5

7800GTX, Aureon Universe 7.1, DFI nf4 UT Ultra-D
Reply to
Carmine

"PeSte" ha scritto nel messaggio news:iLXif.25086$ snipped-for-privacy@tornado.fastwebnet.it...

Non era facile infatti! Di solito è lui che parla di compensi... :-)

J.

Reply to
Regae

Sicuro ? Mi sembra il problema sia un'altro, anche se e' vero che chi ha chiesto aiuto IMHO non ha postato la domanda molto correttamente.

Io vedrei meglio in C : output_B(0x01

Reply to
Stefano Bodini

"Regae" ha scritto nel messaggio news:438cd6bf$0$16217$ snipped-for-privacy@reader3.news.tin.it...

;-)

Reply to
PeSte

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.