Aller au contenu


Photo
- - - - -

Petit cours sur les pic


3 réponses à ce sujet

#1 Matthieu

Matthieu

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 604 messages
  • Gender:Male

Posté 15 septembre 2007 - 04:21

Bonjour , je fait un petit cours , pour ceux qui souhaite travailler sur les pic .

Qu'est qu'un pic

Un PIC est un micro-contrôleur créé par microchip , il existe beaucoup de modèles différent.

micro-contrôleur ?

Un micro-contrôleur est un circuit très intéressant , il possède un micro-processeur (calcul) de la ram , de l'EEPROM , et des entrées / sortie . Et bien sur il se programme.

Programmation

Un pic , ne connais que le code machine ( comme notre ordinateur ) mais pour simplifier la vie , on as des compilateurs qui permettent de faire son programme en assembleur ou en C ( d'autres langages existe , mais je ne sait pas si des compilateur existe... )

Personnellement je conseil le C , car plus proche de la pensée humaine . Le seul moins , on ne peux pas dire combien de cycle machine prend une fonction , et l'optimisation n'est pas la . Par contre , en 20 lignes , on peux faire fonctionner un afficheur LCD , je crois en assembleur , il aurais besoin de 100 si il travaille très bien ... sans conter la fréquence , et la taille des mémoires , en robotique , je vois pas a quoi sa sert de travailler en assembleur .

Choisir son pic

On choisit son pic en fonction du nombre d'entrée / de sortie que on a besoin , et de se qui peux nous permettre de faire .

Regardons sur : http://fr.wikipedia.org/wiki/PIC_de_la_famille_16Cxxx/16Fxxx

Grasse a ceci on peux tout suite se dire , mon programme fait X mots , j'ai besoin qui puisse être piloter en I2C ( tout les pic , peuvent émettre la tram I2C , mais ne peuvent pas forcément être piloter par celle ci . )

Grasse a ceci , on peux dire que les 2 premiers ne feront pas l'affaire .

Petit programme en C

Comme exemple , je ferai très simple : une led qui clignote

#include <16f876A.h> //Ici on place le composant choisi , il définit ses addresse ...
#fuses HS, NOWDT, NOPUT, NOPROTECT, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG
#use delay(clock=20000000) //pour la base de temp (les delay_ms)
//***********************************


void main()
{
WHILE(1)
{
output_toggle(pin_B0);//Changement d'état de B0
delay_ms(1000);//Petite pose de 1 s
}
}


Ceci est un des programme les plus simple , mais faire clignoter une led au début , sa fait plaisir ....

Conseil : pour les fonctions , n'hésitez pas de placer INPUT pour les entrées , ou E_fonction , sa aide .

Il existe plusieurs compilateurs , s'est pourquoi , je ne donnerai que un exemple ....

------------------------------------------

Qu'est se que vous en dites , j'ai pas trop rentré dans le détail , ni expliquer que il existe aussi les 68HC11 , qui sont plus vieux , et plus cher ...

Si vous voyez quelque chose a ajouter , vous pouvez poster a la suite .

#2 Jem

Jem

    Membre

  • Membres
  • 20 messages

Posté 15 septembre 2007 - 04:41

Hello !

C'est une bonne idée que tu as eu, et je vois principalement deux choses qui manquent dans un premier temps : un schéma du circuit du projet et son explication phase par phase ( changement détat, attente, changement d'état )

Ah oui une troisième chose concernant l'orthographe, par exemple je peux te mp un corrigé de ton exposé si tu veux.

#3 Jan

Jan

    Webmaster

  • Membres
  • PipPipPipPipPip
  • 4 747 messages
  • Gender:Male
  • Location:Rhône Alpes

Posté 15 septembre 2007 - 05:53

C'est un bon début et bravo pour l'initiative !

J'essairais d'éditer si tu me le permet pour y ajouter quelques connaissances.

Encore Merci, je sent que ce sujet va être utile :)

#4 Matthieu

Matthieu

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 604 messages
  • Gender:Male

Posté 16 septembre 2007 - 10:32

Ok, pour moi , pas de problème , tu peux éditer , et faire se que tu veux ( l'intégrer a ton site ...... )

S'est vrai que j'ai pas parler que un pic a un temps pour le changement d'état ,car on souhaite que les moteurs réagissent a la 100 éne de ms , et les pic réagissent 100 a 100 000 fois plus vite ... ( s'est pourquoi , je ne trouve pas que sa soit intéressant de travailler en assembleur ) >> A moins que on travaille avec une camera , et du matériel compliquer ( donc vu le prix , si on veux travailler en c , on utilise un 18F ou mieux et on se casse pas la tête ... )

Ps : désolé pour l'orth , je suis vraiment nul en français .



Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users