<< The Fribotte Homepage >>
Un club de passionnés en robotique participant à la coupe de France E=M6.
[Accueil] [Qui sommes-nous ?] [Robots] [Coupe e=m6] [BD Technique] [Forum] [Reportages] [Liens] [WiKiFri]

Fribotte



 Le 16F877 quoitesse ?
Le 16F877 est un micro-contrôleur de chez Microchip.
Il fonctionne sur la même base que le 16F84 que nous avons déjà vu, en particulier dans tout ce qui est assembleur, mais il est bien plus puissant.
Cadencé à 20Mhz max, il offre 8K de programme, 368 octets de RAM, 256 octets d'EEPROM, 3 timers, 33 E/S bi-directionelles, 2 PWM, 8 convertisseurs A/N 10 bits, liaison SSP, I2C, serie, ...
(toutes ces choses ne pouvant pas forcément être utilisées en même temps).
Par contre comme vous pouvez le voir il est beaucoup plus gros que le 16F84 !
Il coûte dans les 120-140 Fr, le moins cher que j'ai trouvé pour l'instant étant au Canada (moins de 100fr si vous vous prenez pas les taxes!)
Vous trouverez sa doc ici (et vous n'y échaperez pas, il va faloir la lire ! :)



 Programmer son 16F877
Le 16F877 a un mode de programmation par liaison série, qu'il faut en fait implémenter et que je n'ai pas encore testé.
Donc de toute façon il va bien faloir le programmer avec un zoli programmateur comme au bon vieux temps du 16F84.
Mince, encore un programmateur à acheter ? Et bien non ! celui du 16f84 suffit !
Comment ça mais c'est pas la même taille ??
Et oui, il va faloir faire une adaptation de taille. Mais c'est la seule chose nécessaire !
Car sinon les 2 composants se programment de la même façon.

Il y a en fait 5 pattes à adapter.
Le reset, le VSS, le VDD, RB7 et RB6.
Les ports
J'ai donc choisit de souder un support tulipe 40 broches sur une plaque à trous, et de souder les 5 pattes en question avec un 2ème support tulipe "volant" de 18 broches cette fois-ci, avec une nappe de 5 fils.
(on fait avec ce qu'on à !)
Pour que ce soit plus facile à souder sur le support 18 broches, j'ai choisit l'ordre suivant sur la nappe : reset/VSS/VDD/RB7/RB6.
Ca donne les schémas de cablage suivant :
Le cablage
Rien de bien compliqué.
Il faudra quand même veiller à faire ça solide. Ca va servir !
(n'hésitez pas à couler les soudures dans la résine epoxi. Ca tient mieux).
L'adaptateur au final



 L'exemple classique, la LED qui clignotte
On va juste ici faire clignotter une led, le grand classique pour débuter, digne des "hello world" des informaticiens.
Le 16F877 se branche comme le 16F84, mais avec un quartz 20 Mhz.
N'oubliez pas de configurer le mode d'oscillation "HS" (correspondant au 20Mhz) quand vous le programmerez.
Apparemment, vous pouvez branchez indifférement le +5 et la masse d'un coté ou de l'autre, les 2 VSS (pattes 12 et 31) et les deux VDD (pattes 11 et 32 ) marchent.
Une des premières différences entre le 16F84 et le 16F877 à laquelle il va falloir faire attention, c'est l'emplacement des adresses RAM utilisables.
Attention à ne pas taper dans un registre ! les registres sont utilisables dans la 1ere banque à partir de l'adresse 20h.

Voilà, maintenant avec ce petit programme très simple, vous allez pouvoir faire clignotter le port B et le port D, et tester si votre programmateur marche bien.

Dans une prochaine fiche on passera aux choses sérieuses !




Complétez cette page, posez vos questions et remarques ici : WiKiFri

Page http://fribotte.free.fr/bdtech/16F877/16F877.html modifiée le 14/10/2002.
Copyright fribotte@free.fr, libre de droit pour toute utilisation non commerciale.
Reproduction autorisée par simple mail