Newsgroup: it.hobby.elettronica.digitale
Titolo: Pic16F876 v.s. Pic16F877

Ciao a tutti e buone Feste Trascorse.
Leggendo vecchi post; avete risolto più di un utente a problemi vari.
A questo punto ovvio che avete creato un forum di maestri in
programmazione 
Avendo un software di giochi di luce con led (96) collegati in multiplexer
su un Pic16F876, (realizzato parecchi anni orsono da un amico, l'amico è
scomparso!) dovendo per necessità aumentare sia le colonne, sia le le
righe, con esattamente il doppio di led (192) sono costretto a cambiare
µP, ed il più economico (penso) sarebbe il vecchio PIC16F877,con 8 I/O in
più.(più che sufficienti sia alle colonne sia alle righe).
Dovrebbe essere composto da 8 colonne di led in verticale ed il resto in
orizzontale. I settaggi iniziali/configurazioni, sono le stesse al
PIC16F876? ovviamente appunto aggiungerci gli I/O per le righe
orizzontali. 
Possiedo compilatore Vers.2.44 del Picbasic PRO). (se qualcuno ne avrebbe
bisogno glielo invio senza problemi). Se qualcuno sarebbe interessato a
questo progettino...anche per modifiche future, sempre in ambito
professione dopo i settaggi iniziali del µP. stesso.   
Un grazie anticipato a tutti 
Ciao 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 bisogno glielo invio senza problemi). Se qualcuno sarebbe interessato a
Mi dispiace, ma purtroppo uso solo assembly, il Basic non l'ho mai usato
e comunque in questo periodo ho davvero pochissimo tempo, non saprei
garantirti dei tempi.
Ciao!
-- 
Stefano Martini (Italy)
WEB: 
http://www.lemming.it

 Ciao!
Ciao Purtroppo l'assemblY assomiglia al cinese! (chi conosce l'assembli
purtroppo conosce solo il cinese e nientaltro) quindi secondo una mia
opinione meglio non conoscere il cinese ma conoscere tutto nella vita!
Purtroppo il link non mi si apre ma con la configurazione dell' 877
sarebbe piu facile la situazione.
Ciao Rocco


orizzontali. 
Praticamente hai in più, rispetto al 16F876, PORTD (8 I/O) e PORTE (3 I/O), e
la possibilità di configurare PORTD come parallel slave.

 purtroppo conosce solo il cinese e nientaltro)
Oppure si potrebbe vedere cosi' :
Ci sono persone abbastanza in gamba e intelligenti da poter imparare
il cinese e altre
,come te, che devono accontentarsi di un italiano stentato e
nient'altro.
Non prendertela, ma la tua affermazione assomiglia a cose del tipo :
Quelli alti hanno il pisello piccolo...oppure....chi critica
Berlusconi e' solo perche' e' invidioso dei suoi soldi
SAluti cinesi
IW0HKG Massimo

 IW0HKG Massimo
Ciao Massimo (a tutti) prima di tutto ti dico come la penso: 
Berlusconi non lo critico affatto Anzi per mè è il n°1 in assoluto, 
in quanto già lo sapete cosa è riuscito a fare, 
(tra l'altro in un paese di ignoranti in cui viviamo cosa potremmo
pretendere? un uomo che si è fatto conoscere coi soldi! ù
dimmi tu un altro metodo (a parte  brevetti ecc. in cui ti puoi mettere in
mostra) Bisogna essere belli per far carriera nel mondo del cinema
Pubblicità fishion o come le chiamate ecc?= 
I soldi come dici tu se li ha guadagnati con le PALLE! 
(non è da tutti purtroppo) meno male, altrimenti saremmo abitanti di Stati
Arabi e non della piccola Italy! (poveracci noi) che appunto per un
piccolissimo aiuto per una cencia di PIC stiamo appunto degradando il
Paese purtroppo in questo stato, ma  ricordatevi una cosa molto importante:
La crisi in Italia stà esattamente nel cervello della gente! 
(Gli-taliani) che sarebbe un'altra storia se si scrivesse Gli Italiani!
Ritornando al discorso del PIC16F877 si avrebbe 8 uscite in più rispetto
al 876, purtroppo la pag. suggerita non mi si apre oppure non adatta agli
gli-taliani, ma al Pic basic pro (quindi non siamo a piazza ù Thian-Men!) 
(o come si chiamava) se si chiama ancora sotto questo psedounimo.


 La crisi in Italia stà esattamente nel cervello della gente!
Guarda che tu non hai capito cosa ti ha detto lui. Mica ha fatto un 
discorso politico. Tu dici che chi conosce l'assembly non sa gli 
altri linguaggi il che è, permettimi, una ca%%ata colossale. Lui te 
l'ha fatto notare aggiungendo un esempio che è quello relativo a 
Berlusconi. In effetti, a sentire silvio, chi non la pensa come lui è
automaticamente un comunista... Bah.
-- 
IBM: I'll Buy Macintosh
News 2002 [v 2.3] / StopDialer / PopDuster - 
http://www.socket2000.com
Akapulce portal: 
http://www.akapulce.net

  Ciao Rocco
Ehm...ehm....sicuramente hai espresso dei concetti sublimi, ma non li
ho capiti.
Dimentichiamoci che le nostre vite si sono incrociate anche se solo
per breve tempo.

 purtroppo conosce solo il cinese e nientaltro) quindi secondo una mia
Ciao!
Permettimi di dissentire da quello che dici!
Se mi dici che l'assembly č piů complesso del Basic, sono assolutamente
d'accordo con te, ma non č cosě complesso come sembra a prima vista,
inoltre (sempre IMHO) per saper sfruttare bene un QUALSIASI linguaggio
dei microcontroller, Basic compreso, occorre sapere almeno un pochino di
assembly, magari se gli dai una occhiata ti accorgi che non era cosě
complesso come sembrava!
Se hai voglia dai una occhiata al mio sito, che ha un manuale (ancora in
lavorazione) proprio per il PIC che cerca di renderlo il piů
comprensibile possibile, il link lo trovi nella mia firma.


 Ciao Rocco
Diciamo piuttosto che chi vuol programmare seriamente microcontrollori e non 
conosce l'assembly č totalmente fuori strada!
Se poi uno si ostina a voler ignorare l'assembly, almeno che utilizzi un 
linguaggio di livello piů alto come Pascal o C: il Basic proprio no... senza 
puntatori, per esempio, per risolvere problemi semplici devi complicare il 
programma in maniera schifosa.
Per l'appunto, l'assembly č importante proprio per chi vuole usare il Basic, 
risolvendo quei problemini di cui ti parlavo con piccoli spezzoni 
velocissimi da scrivere e da eseguire.
Ciao
CG 

 programma in maniera schifosa.
Il basic NON ha bisogno di puntatori... Ecco perchè non ci sono.
-- 
IBM: Interesting But Mundane


 velocissimi da scrivere e da eseguire.
Anche programmando in C, target emebedded si preferisce scrivere le routine 
critiche come possono essere quelle relative agli interrupt in assembler 

 programmatori? 
BASIC è l'acronimo di Beginner's All purpose Symbolic Instruction 
Code. Quel Beginner fa si che l'associazione BASIC=linguaggio da 
principiante diventi un dogma per molti programmatori con la puzzetta
sotto il naso. In realtà il BASIC odierno è solo un lontano ricordo 
del BASIC da battaglia dei primordi e tutto si può dire fuorchè sia 
per principianti... ;-)
-- 
In God we trust; all else we walk through.



VERO VERO aggiungo che con il BASIC si fa tutto quanto si fa con il C e 
forse meglio, ma chi ha la puzza sotto il naso non accetta che programmare 
sia tanto semplice, meglio appigliarsi ai puntatori perche' usare le 
variabili globali e' troppo semplice. 

> per principianti... ;-)
Mi accodo a questa affermazione per porre una domanda.
Non conosco il basic "moderno" e quindi faccio delle osservazioni con
le mie reminiscenze di basic "primitivo":
ma il basic non continua ad essere un linguaggio INTERPRETATO e NON
compilato?
Come si fa a pensare che un linguaggio interpretato possa essere anche
lontanamente paragonato per efficienza ad un linguaggio compilato?
Ciao
 Marcello
-Catania-

 variabili globali e' troppo semplice. 
Fuori dalla polemica C o Basic, che il fatto di avere delle 
variabili globali e' una ulteriore difficolta' proprio per 
la programmazione degli embedded devices.
La carenza di ram a bordo dei microcontroller e' sempre 
stato un problema, solo in parte adesso risolto nelle nuove 
generazioni, e l'uso di variabili globali lo mette in risalto.
Usando le variabili locali, si ha una ottimizzazione 
dell'uso della ram e quindi una maggiore possibilita' di 
programmazione.
ciao
Angelo

 Angelo
Ma tu hai visto il codice assembler che genera il PIC BASIC PRO? che senso 
ha impuntarsi su questa benedetta diatriba sulle variabili locali e globali 
quando il compilatore anche se basato sul linguaggio BASIC le tratta come se 
fossero variabili locali? 

 Ciao!
NO ora devo tirare in ballo il Coglionazzi che schifa i PIC, volere 
insegnare l'assembler partendo dai PIC vuol dire portare al suicidio le 
persone, basta solo pensare alla paginazione 

 variabili globali e' troppo semplice. 
E' una polemica insensata: ogni linguaggio ha punti di forza
e debolezza, sono solo tools e vanno scelti pesando molti
fattori. La debolezza del basic e' che sostanzialmente
non e' uno standard come il C e tutte le aggiunte dei vari
basic per uC sono forzature che rendono poi non portabile
il sorgente. Tutte le aggiunte successive per renderlo
minimamente strutturato sono venute DOPO e troppo tardi.
Programmi in C si portano praticamente ovunque,
avendo un minimo di cura nel progettare l' applicazione.
Aggiungo che in C si trovano milioni di applicazioni/algoritmi
che rendono la vita piu' facile rispetto a doverseli
convertire in un altro linguaggio.
Inoltre, a parte i PIC, dagli AVR in poi, con il C si
fa praticamente tutto, anche la gestione degli interrupt
evitando tranquillamente l' assembler: dai 16bit in poi
l' assembler lo si puo' tranquillamente dimenticare.
Insomma, il C non e' forse il migliore linguaggio del mondo
ma e' di fatto lo standard per l' emdedded e una ragione
ci sara'
B.

 lontanamente paragonato per efficienza ad un linguaggio compilato?
E' da mo' che il basic viene compilato...
-- 
Compatible: Gracefully accepts erroneous data from any source.


 evitando tranquillamente l' assembler:
Ogni persona puo' fare quello che vuole, anche in Basic si possono scrivere 
programmi che fanno ricorso agli interrupt senza scrivere una riga di 
assembler
Comunque ogni volta che si discute su questi argomenti chi usa il C dice 
sempre le stesse cose, cioe' variabili globali, portabilita', efficienza, 
linguaggio strutturato, ecc.,  per me o si scrive in ASSEMBLER oppure con 
dispositivi come i microcontrollori ad 8 bit, un linguaggio vale l'altro. 

 persone, basta solo pensare alla paginazione 
Scusami, ma non sono d'accordo! Non è una cosa così terribile
l'Assembly, e per quanto riguarda la paginazione si tratta di UNA
istruzione!
Io, che mi giudico tutt'altro che un genio, anzi, ne so meno che altri
in questo NG, ho iniziato a studiare i microcontroller proprio
dall'Assembly, anche se già conoscevo linguaggi come il basic o il C!


 E' una polemica insensata:
Appunto. Occhio che ci sono un paio di personaggi, in questo thread, il cui
solo scopo è attaccar briga.
O fose sono davvero convinti delle minchiate che sparano?

 O fose sono davvero convinti delle minchiate che sparano?
Uno l'abbiamo già individuato in tal Bertolazzi. Ma l'altro?
-- 
My Go this  amn keyboar  oesn't have any  's.


 dispositivi come i microcontrollori ad 8 bit, un linguaggio vale l'altro. 
Perche' sono cose giuste. Un programma non e' fine a se' stesso
e' un investimento di tempo e risorse. Devo potere riusare quello
che costa soldi e tempo e se cambio micro non posso mettermi
a riscrivere tutto da capo: questo puo' valere per hobbisti o per
artigiani con produzioni limitate , non per cui lavora industrialmente.
Il C garantisce che, qualsiasi sia il micro scelto, esiste di sicuro
un compilatore disponibile.
Poi sta' all' esperienza e alla professionalita' di scrivere al
meglio i programmi in modo che siano recuperabili, manutenibili
e utilizzabili da *terze* parti: la differenza tra un modello
industriale e uno artigianale e' tutta qui.
Per questa ragione anche l' assembler *deve* essere limitato al
massimo e possibilmente non usato, salvo essere proprio alla
canna del gas (va studiato e conosciuto, ma non e' un *must* ).
Oppure essere costretti da fatori economici: ho sviluppato per
ST6, PIC e altri, tutto in assembler, perche' le risorse delle CPU erano 
scarse, non per motivi di prestazione, ma la cosa era giustificata dal 
volume di produzione che richiedeva la CPU *meno* costosa anche a 
discapito dei tempi di sviluppo e di maintenance.
Poi pensala pure come vuoi, ma visto quello che scrivi,
tutto lascia pensare che o lavori solo con quella CPU
e basta o non hai grande esperianza di programmazione
(e' solo una impressione mia, naturalmente potrei sbagliare)
B.

istruzione!
Mi pare che i PIC18, al contrario dei PIC16, non abbiano la paginazione.

E' da mo' che il basic viene compilato...
va be'
avevo anticipato che le mie osservazioni erano relative alle mie
reminiscenze del "vecchio" basic.
In tal caso mi faccio da parte in quanto non sono in grado di fare
confronti tra i linguaggi che conosco ed un linguaggio che non ha
nulla a che vedere (almeno sembra da quanto si legge in questo thread)
con quello che conoscevo io.
Io poi ho la testa dura e, per quanto si voglia dire, rimarro' sempre
affezionato al mio caro assembler e convinto che, se le esigenze sono
quelle di efficienza ed ottimizzazione della memoria disponibile,
l'assembler sia l'unica soluzione.
Poi, se il discorso si sposta sulla disponibilità di librerie, sulla
portabilità del programma e altre considerazioni simili.....
allora si potrebbe pensare a quali linguaggio a più alto livello sia
migliore.
Ciao
 Marcello
-Catania-

 migliore.
Non esiste *il migliore* perchè dipende da che parametri si usano per
valutare.
-- 
If I had it all to do over again, I'd spell creat with an "e".  - Kernighan


 istruzione!
Metti insieme: paginazione (un programmatore dovrebbe occuparsi di 
algoritmi, non di dettagli hardware, paginare e ripaginare e stare 
attento a non sconfinare con gli indirizzi), registri che incrementano 
invece di decrementare, prescaler che perdono i valori (mi riferisco al 
timer0), sottrazioni con gli operandi e il flag C invertiti rispetto 
alla norma, addizioni senza carry, banchi per i registri, banchi per la 
ram, banchi per la memoria programma (PCLATH ecc)... sembra tutto 
pensato apposta per complicare la vita al programmatore...
I PIC li uso, costano poco, scrivo in assembly quelle quattro cose che 
mi servono per hobby, e mi diverto lo stesso, ma ci vorrebbe molto poco 
a pensare ad un'architettura piu' "umana". In passato ho scritto qualche 
programma per Z80 e 8086, ma e' tutta un'altra cosa, ti concentri su 
quello che devi fare e non sulle "mille manie" dell'hardware.
ciao
Claudio_F

 quello che devi fare e non sulle "mille manie" dell'hardware.
Concordo per lo Z80, per l'8086 ti lascio immaginare che delizia 
usare offset e segmenti per la memoria... ;-)
-- 
E Pluribus UNIX.


 usare offset e segmenti per la memoria... ;-)
Eh si, ma io stavo sempre dentro i 64k  :D
ciao
Claudio_F

Ciao a tutti 
Tra un semplice travaso di 876 a 877 sembra che ho dichiarato guarra tra i
vari compilatori! (Il miglior compilatore secondo una mia opinione, è
quello più semplice possibile,(senza che si perda troppo tempo)
che si avvicina il + possibile all'inglese tecnico, 
visto e considerato che nessun italiano abbia mai realizzato una cosa
simile per µP, scrivendo semplicemente "accendi il led sulla PORTA1" 
no, bisogna scrivere PORTA1 high oppure PORTA1111 ecc.
Perchè appunto non sì è ancora arrivati a dialogare in Italano con i
micro? 
semplicemente perchè gli-taliani non esistono nel mondo dei
microcontrollori, o dove ci hanno seminati? Aspettiamo sempre cose
dall'estero, come mai ciò??? Non siamo nessuno a questo punto, stiamo solo
esaminando i vari compilatori in commercio? 
Perchè non esiste un compilatore in Italiano puro???
e non all'assembly che sono tutti codici.. (appunto a parte l'inglese).   
Tra tutto questo tranbusto, nel senso che una persona fisica, semplicemente
chiede consiglio, invece il consiglio lo fate voi in cattedra, escludendo
soprattutto chi ha aperto il post, ovviamente continuando senza il
protagonista ma senza appunto continuare il travaso tra i 2 µP.
Ritornando (vabbè leggiamo prima le conclusioni degli einstain (o come si
scrive) il travaso supera ogni aspettativa in quanto occorrono 40 I/O ed
il 877 ne ha "solo" 33. A questo punto quale sarebbe il µ più economico al
caso?
Ciao Rocco
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 >
Ok, Venerdì cerco qualcosa sul C. 
Ringrazio per la "spinta" che mi hai dato; adesso non và più l'Assembler?
Ho un "corso" su questo linguaggio macchina, ma sinceramente chiunque
abbia scritto questi corsi, non è a livello didattico.  
o stò sbagliando? (((scusatemi in anticipo per la un pò arroganza...) 
Ciao e Buon inizio Anno a Tutti



L'altro e' il Coglionazzi 

 L'altro e' il Coglionazzi
ROTFL! Due piccioni con una fava. Anzi, due veri e propri merli...
Ne deduco che siate veramente convinti di ciò che dite e che la vostra "ira
funesta" viene scatenata dal farvelo notare. Quindi non è provocazione, la
vostra, è solo una manifestazione di stupidità, sicumera ed iracondia.

 dispositivi come i microcontrollori ad 8 bit, un linguaggio vale l'altro.
E invece no, qui ti sbagli. L'assembly č la cosa meno portatile di questo 
mondo. Inoltre, ok per l'elevata ottimizzazione, ma come complichi il 
programma, che magari sarebbe difficile da leggere anche in C, ci perdi la 
testa.
Per un hobbista, naturalmente, un linguaggio vale l'altro. Se vuoi lavorare 
come dipendente come programmatore firmware allora imparati il C, non hai 
scelta, perchč 99 aziende su 100 fanno questa scelta, a mio parere molto 
motivata
Ciao
CG 

 Ciao Rocco
Vai sul sito microchip e fai una ricerca parametrica sulla serie 18 (la 16 
costa piů cara), mettendo come filtro il numero minimo di I/O che ti serve e 
ordinando per prezzo. Andando a memoria direi il 18F452 ma posso benissimo 
sbagliarmi
Ciao
CG 

 sia in grado di quotare decentemente.
LOL.
Mi sa che sei tu che non sei in grado di capire un quoting... Guarda 
bene e conta i segni di > davanti alle righe... Salvy ha quotato 
correttamente stavolta.
-- 
The value of a program is proportional to the weight of its output.



Non solo stavolta, ma sempre, comunque il buon Coglionazzi e' cosi'.

Salvy:

Siete splendidi: Gianni scrive una cazzata (il quoting di Salvy E'
sbagliato, i segni li mette il newsreader che č piů furbo di lui) e Pinotto
gli fa da spalla.
Continuate cosě, siete una coppia meravigliosa che mi ha dato tante
soddisfazioni. Purtroppo, onde non insozzare il NG con le nostre
stupidaggini, dovrň eliminare pure Salvy, un talento comico naturale.
Sigh!

 gli fa da spalla.
Vedi ingegnere, l'unico vero fesso della situazione che non ha ancora
capito cosa sia il quoting e come funzioni sei tu... Ma non sei furbo
abbastanza da poterlo capire.
-- 
On a clear disk you can seek forever.  - Denning


"F. Bertolazzi" <TOGL...@MAIUSCOLEtdd.it> ha scritto nel messaggio 
news:1lpezq3ohzq4v$.178aynkw7bouy.dlg@40tude.net...

Coglionazzi elimini tutti e poi leggi tutti? fai piangere, ma i tuoi amici 
non sono ancora accorsi a darti una mano? non gli stai leccando piu' bene il 
c&&o? 

 c&&o?
A te invece ti tengo: sei il più divertente di tutti.
Non riesi a capire cosa Saly ha quotato e cosa no, eppure la tua rabbia,
frustrazione, ma suprattutto imbecillità, ti inducono a scrivere cazzate
tali per cui ora dovrai andare a nasconderti per qualche altro mese.

 per breve tempo.
"Dimentichiamoci che le nostre vite si sono incrociate anche se solo
per breve tempo." 
Questa proprio non l'ho proprio capita!
Comunque a tutto (ogni battito di ciglia) si allunga il brodo ma ai µP
proprio no! 


