Micropoint - montre de poignet montre LED modèle (2 / 7 étapes)

Étape 2: Programmation et Micro de sélection

je suis assez familier avec la programmation et le PIC 16F88 et eu quelques traîner d’autres projets. Il semblait un choix évident pour enregistrer un nouveau jeu d’instructions ou un nouveau lot d’onchip périphériques d’apprentissage. Cet appareil possède deux ports A, B, une sélection de choses comme une série i / f, convertisseur A/D, un agréable confortable 8 Ko de mémoire rom Flash et scads de mémoire... ensemble 368 octets de ram. Une chose qui était également très pratique, c’était qu’il avait des broches pour un oscillateur à bord qui pourrait être relié à un cristal de regarder commune 32,768 khz pour les modes de faible puissance et de chronométrage. L’oscillateur de chronométrage peut fonctionner même lorsque l’appareil est en mode de faible puissance. Enfin il pourrait réveiller quand il a détecté un changement sur certains des broches (pins 4-7/portb ont foulée sur l’évolution de la capacité de l’État).

Parce que cela devait être aussi réduite que possible, j’ai utilisé un 20pin SOIP 16F88. Il s’agissait d’une version large de la 300MIL, Microchip ont un SSOIP 150mil (paquet de maigre, petit aperçu), mais compte tenu de que l’appareil devait être prototypé à la main, j’ai voulu utiliser un plus grand plus facile à gérer la puce.

De toute évidence un SOIP paquet coutume s’adapter dans un programmeur donc j’ai dû utiliser ICSP... ce qui a entraîné beaucoup de chagrin ! ICSP est une façon de programmer le microcontrôleur, alors qu’il est toujours dans un circuit. ICSP signifie In Circuit Serial Programming et est couramment utilisé pour programmer les planches « blancs », ou mise à jour logicielle sans débrasage/tulipage le microcontrôleur.

Tout d’abord je n’ai pas lu assez sur le PDCI d’ajouter le bon circuit pour gérer le PDCI dans mon premier prototype. Puis, j’ai n’a pas lu la fiche technique de microchip concernant un couple de broches supplémentaires sur le 20pin 16F88SOIP. Ces broches sont les broches AVss et AVdd. Ils fournissent normalement les tensions de référence pour le convertisseur A/N.

J’ai pris un certain temps pour comprendre que ces goupilles doivent être connectés (j’ai connecté à GND/DMV) pour ICSP travailler.

Il est également important d’avoir un circuit de réinitialisation correcte pour la broche MCLR. C’est très important pour le programme de l’ICSP peut réinitialiser le microcontrôleur, avant de faire sa programmation.

Voir l’image principale dans cette section. Il montre la broche MCLR connectée à Vss via une résistance pullup et une diode. Le pullup est nécessaire, car pour ICSP fonctionne, vous devriez avoir vraiment la MCLR configuré comme une broche de remise à zéro, plutôt que comme un pin d’entrée (plus sur cela plus tard). La diode empêche la tension Vpp du programmateur ICSP qui peut être autour de 13V d’endommager le reste du circuit.
L’image montre également les connexions pour la DMV et AVdd reliés entre eux en ce qui concerne les GND/AVss.

Consulter les fichiers de schéma Eagle pour schéma complet (ou dans la section suivante), mais dans l’image principale, notez les symboles peu en forme de « X ». Ce sont des tampons SMD, il n’y a aucun connecteur dans ce dispositif, donc SMD pads sont utilisés pour souder les raccords d’alimentation et la connexion de l’ICSP. Les broches de l’ICSP sont disposés sur la planche dans un endroit commode. Courtes longueurs de fil de se connecter à un en-tête d’IDC 10pin (assez standard pour les programmeurs de l’ICSP). L’image secondaire montre cet arrangement.

Ils servent aussi à souder dans le cristal de la montre. Dans le 16F88 les broches PGD et PGC sont également les tiges de T1OSO et T1OSI qui servent à connecter un cristal externe à l’oscillateur PIC T1 de faire une horloge temps réel. Heureusement vous pouvez également utiliser ces lors de la programmation via ICSP ainsi... Si vous êtes prudent.
Si l’oscillateur va quand le programmateur ICSP tente d’utiliser les broches, le programmateur ICSP va avoir de la difficulté. Vous devez ajouter un retard au début de votre programme. Le fragment de code ci-dessous illustre cela en action. Notez que je suis également désactiver l’oscillateur externe dès que possible après le démarrage pour faire bonne mesure :
Sub main()
{
unsigned char i ;
nDelay court non signé ;
t1con = 0 ; désactiver le timer1 dès que nous réinitialisons
osccon = 0x76 ; pour l’horloge interne de 8MHz
tandis que ((osccon & 0 x 04) == 0) ; et attendez l’horloge pour régler et être prêt

périphériques de l’installation
Porta = 0 ;
PORTB = 0 ;
cmcon = 0 x 07 ; désactiver la sortie du comparateur, faire maintenant pour définir correctement les trisa
TRISA = 0xff ; Tous ensemble pour l’entrée au démarrage
trisb = 0xff ; toutes les broches en portb la valeur d’entrée
Ansel = 0 x 00 ; aucun analogue dans cette cct... pas important souvent oublié, je l’ai fait!!

delay_s(2) ; programmeur permettre de faire des choses... TRÈS IMPORTANT

Enfin, dans la note de l’image principale le symbole SMJ100 qui est pontée dans le coin supérieur gauche de haut appelé SJ100. Cela devait être utilisé en cas d’urgence, si j’ai accidentellement programmé dans une configuration qui a désactivé la broche MCLR et ne pouvait pas arrêter l’oscillateur montre farce vers le haut les broches de l’ICSP PGD/PGC. Il s’agit d’une autre pièce de bibliothèque Eaglecad Hasina, un simple lien SMD. Par elle le pontage sur ma planche, c’est un endroit commode pour unbridge si nécessaire. Cela serait nécessaire dans la situation décrite ci-dessus. Normalement vous ne vous connecter la broche MCLR (pour réinitialiser la puce), la broche GND (pour référence) et les broches PGD/PGC pour utiliser ICSP. Dans la pratique le programmeur va réinitialiser la puce, envoyer des signaux de commande magique au processeur via PGD/PGC et obtenir qu’il soit réceptif pour certains lovin ' les données nouvelles.
Cependant si le processeur est occupé à faire d’autres choses et ne va pas répondre à une réinitialisation, vous devez tirer sur le rail d’alimentation c' est pour attirer son attention. Dans ce cas la goupille de la DMV du programmateur ICSP doit être connecté au circuit. Je coupe le pont, brancher un fil sur le pad de Vdd SMD (le petit symbole de « X » est proche) et donner le processeur de nouvelles instructions. En fin de compte quand j’ai téléchargé le code douteux, j’ai juste mis sous tension le TDC du programmateur sans utiliser ce système. Si vous aviez un circuit plus complex ou d’alimentation faim vous devez avoir un moyen de déconnexion du processeur du rail d’alimentation circuit et connectez-la à la broche de la DMV sur votre programmateur.

Donc, en résumé faire succès PDCI n’oubliez pas :
-installer un circuit de réinitialisation correcte avec résistance pullup et diode de protection
-connecter AVdd/AVss les rails d’alimentation, si vous ne les utilisez pas (et la puce a eux, seulement pour 20pin 16F88... pas pour les autres versions).
-dans votre mise en page, mettre les connexions de l’ICSP quelque part raisonnable et facile à obtenir.
-avoir un moyen d’isoler la puissance du processeur de la puissance de la cct et reliant la DMV ICSP pour les urgences
-éviter les situations d’urgence en veillant à ce que les broches PGD/PGC sont prêts à l’emploi dès que possible après une réinitialisation.

Articles Liés

Montre LED Arduino

Montre LED Arduino

cette instructable vous montrera comment faire vos propres arduino basé montre qui indique le temps en utilisant une matrice de LED. Il s'agit de mon premier instructable, donc si quelque chose ne sait pas me laisser un commentaire ou envoyez un mess
Interrupteur Lampe LED mode

Interrupteur Lampe LED mode

j'ai modifier une torche rechargeable chinoise bon marchée avec un mode interrupteur de circuit de commande de LED.L'avantage sur le circuit original, c'est qu'il a une luminosité constante, même lorsque la tension de la batterie descend comme il con
Amélioré la hotte lumière LED Mod

Amélioré la hotte lumière LED Mod

cette instructable va vous montrer comment modifier me hotte lumière LED Mod afin que vous obteniez plus de lumière.Étape 1: Étape 1: ce dont vous avez besoin Vous aurez besoin :FilLiseuse à LEDMis à jour le capot légerOutils :Fer à souder et soudure
Hotte lumière LED Mod

Hotte lumière LED Mod

dans ce instructable je vais vous montrer comment modifier la lumière sous votre capot à être plus claires et plus effeciant d'énergie, grâce à l'utilisation de LEDs ! S'il vous plaît voir mon autre instructable amélioré hotte lumière LED Mod pour un
Ventilateur LED mod

Ventilateur LED mod

gens Hallo,(c'est mon premier instructable alors si quelque chose n'est pas clair n'hésitez pas à commenter)dans cette im instructable va vous montrer comment mod votre ennuyeux vieux fans de pc.Je vais utiliser RGB LED, mais vous pouvez utiliser rég
Montre LED

Montre LED

dans un premier temps, je suis désolé pour mon langage! ma langue est parsi (persan) et c'est difficile pour les me..  Qu'avons-nous appris à l'école???!!! :-(Il y a quelques jours je recherche internet pour de nouvelles choses... d'énergie libre, té
Regardez le rétro-éclairage LED Mod

Regardez le rétro-éclairage LED Mod

Cette instructable est basée sur le classique Casio F-91W. Nombreux autre digital pas cher montres ont un problème similaire avec leur rétro-éclairage et le même remède peut s'appliquer à eux. Cette instructable vous montrera comment changer la coule
Petzl Micro LED Mod.

Petzl Micro LED Mod.

C'est mon premier Instructables, ours avec moi si j'ai raté quoi que ce soit.Micro de Petzl est l'un des rares phares qui utilise des piles AA. Piles AA dernière jusqu'à 3 fois plus longtemps que AAA pour le même prix que vous payez. Micro original u
Rayovac Bright 10 LED Mod.  150 heures. En vertu de 6,00 $

Rayovac Bright 10 LED Mod. 150 heures. En vertu de 6,00 $

Rayovac a été frapper bullseyes dernièrement.  Ainsi, Wal-Mart a.  (Je ne possède pas de stock dans ces sociétés).  J'étais chez mon WalMart local la semaine dernière et j'ai fait une liste de toutes les lampes de poche dans le département de marchan
Calculateur LED Mod

Calculateur LED Mod

Ce mod vous montrera comment mettre des LEDs dans votre calculatrice.Etape 1: Obtenir ce que vous avez besoin Vous nécessité -Une calculatrice, petits fils. 2 LEDs, tournevis, rubanÉtape 2: Dévisser Dévisser l'arrière de la calculatrice s'assurer auc
Givi moto Coffre LED Mod

Givi moto Coffre LED Mod

ma moto a un tronc de E52 Givi modèle disposant de feux de freinage intégral à compléter les feux de freinage de la moto. Le E52 utilise 12 ampoules incandescentes qui prennent un peu de puissance (l'ordre de 10 à 15 ampères). En remplaçant ces ampou
Clavier LED Mod

Clavier LED Mod

dans le cas où vous obtenez jamais fatigué fatigué de ces LEDs vertes simples sur votre clavier pour Caps/Num/Scroll lock, ou s'il vous arrive d'avoir un clavier vraiment vieux dans lequel les LEDs meurent, ne cherchez pas plus loin qu'ici ! Cette in
LED Mod votre Gameboy Color

LED Mod votre Gameboy Color

ce Instructable documente un mod cool que vous pouvez ajouter à votre Gameboy Color pour lui donner un bleu pur, effets de lumière ! Et, bien sûr, vous mieux ne pas blesser les parties de votre corps ou votre Gameboy, parce que je ne suis pas remplac
PS3/4 contrôleur LED Mod

PS3/4 contrôleur LED Mod

Fait à votre contrôleur de briller quand il vibre !Vous aurez besoin--2 1.5" morceaux de ferraille fil-fer à souder-PS3/4 contrôleur (duh)-J'ai utilisé une pièce de rechange LED-poncer le bord papier ou rugueux-Effacer les boutons du contrôleur / vou