compteur de fréquence en utilisant 16F84A

A

Ajay_sho

Guest
Salut monsieur im nouveau sur ce forum, im faire freq projet. contrer basé sur la technologie weedr, i hav prendre schamatic de sarcloir, i hav un problème quand j'étais connexion 74HC132 broche de sortie à la broche microcontrôleur RTCC puis drtamatically tension du signal descend de 2,5 à 0,5 v et donc pas de pouls entrant par rtcc.pls dire pourquoi l'amplitude du signal d'entrée descend quand im connexion avec la goupille de RTCC 84a. rgds Ajay Singh: cry:
 
Le 16F84A n'a pas une RTCC ou d'une goupille RTCC! Voulez-vous dire T0CKI? Brian.
 
oui c'est T0ckl Thx Ajay [COLOR = "Silver"] [SIZE = 1] ---------- Post ajouté à 16h44 ---------- Le post précédent était à 15: 02 ---------- [/SIZE] [/COLOR] Salut Brian pls réponse, mon problème est le même que c'est le cas, quelqu'un peut m'aider. rgds ajay
 
En supposant que vous utilisez les broches correctes, la raison la plus probable est que vous n'avez pas fait la broche T0CKI une entrée et que l'on tire la sortie de la faible 74HC132. Vérifiez que le bit 4 de l'TRISA est mis à '1 'pour faire la broche d'une entrée. Soit dit en passant, pourquoi êtes-vous en utilisant le 74HC132 lorsque la goupille a trigger de Schmitt de toute façon? Brian.
 
thx pour la réponse je dois faire les pls saisie du code PIN regarde mon code, j'ai une dought que i hav connecté MCLR pin with10k resistoris il autorisé ou leur est le problème dans mon code de nulle main () {asm clrwdt; TRISB = 0; / / PORTB est Lcd_Init sortie (& PORTB); / / Initialisation LCD connecté à PORTB Lcd_Cmd (Lcd_CLEAR); / / affichage clair Lcd_Cmd (Lcd_CURSOR_OFF); / / Mettre le curseur hors Lcd_Out (1, 1, texte); / / Imprimer le texte à cristaux liquides, 2e rangée, 1ère colonne asm BSF STATUS, RP0; OPTION_REG = 110000; TRISA = 00010000; PORTA = 00010000; asm BCF STATUS, RP0; TMR0 = 0; while (1) {porta.f3 = 0; porta.f2 = 0; j = 0; cnt = 0; porta.f2 = 1; porta.f2 = 0; tcc = 0; TMR0 = 0; porta.f3 = 1; pour (a = 0; une
 
10K entre MCLR et +5 est bon. Dans votre code, vous ne pouvez pas être la fixation des registres correctement. Par exemple, vous êtes sûr que "TRISA = 00010000;" est d'utiliser le nombre binaire 00010000 et non l'équivalent décimal 10.000? Je ne sais pas quel compilateur vous utilisez, mais vérifier si les nombres binaires besoin d'un préfixe comme "b" en face d'eux. Vous pouvez également utiliser hexadécimale de sorte qu'il serait TRISA = 0x10; Brian.
 
im en utilisant mikroelectronika compilateur, après avoir fait entrée T0CKI, je ne suis pas obtenir 5 v sur cette broche, il est montrant 0v, pourrait que la broche a été endommagé, c'est pourquoi il n'est pas à recevoir des impulsions, je vais vérifier après avoir changé microcontrôleur, what do u think. ajay
 
L'IC peut être défectueux, mais je pense toujours que votre code n'est pas au format binaire afin que vous définissez les registres des valeurs erronées. Citation de le fichier d'aide Mikro:
binaire Toutes les constantes commençant par 0b (ou 0B) sont prises pour être binaire. En l'absence de tous les suffixes impérieuses, le type de données d'une constante binaire est dérivée à partir de sa valeur, selon l'une des règles présentées ci-dessus. Par exemple, 0b11101 sera traitée le plus court.
Essayez de placer '0 b 'devant les nombres binaires que vous utilisez ou l'hexadécimal au lieu. Vous devraient lire 0V sur la broche TOCKI à moins que vous conduisez bien haut à l'extérieur. Essayez de déconnecter le 74HC132 et branchez une résistance 10K à +5 V à la place. Si vous avez alors 5V sur la broche, il est probablement OK. Brian.
 
mon problème a été résolu, le problème est dans les nombres binaires que vous avez énoncés, thx a lot, je veux poser une autre question quand im écrit asm code d'état equ 03H puis d'erreur indiquant 03H non pls trouvés conseiller i hav pour définir l'adresse quelque part dans les fichiers d'en-tête , pls aider à comment je peux faire fichier en-tête, ont u aucun exemple de fichier en-tête, dans lequel je peux définir constante et l'adresse de résistances, peut u pls m'aider
 
Je pense que Mikro C inclut automatiquement l'en-tête pour vous, basé sur le processeur que vous choisissez pour le projet. Je n'utilise pas Mikro C alors peut-être quelqu'un d'autre peut donner de meilleurs conseils. Les fichiers de définition de réels sont détenus dans la "defs" dossier. Sur mon système, ils sont ici: C: Program Files \ Mikroelektronika \ mikroC PRO pour PIC Brian \ defs.
 
Salut Brian pouvez-vous me dire comment je peux utiliser la directive absolue dans mikroC aussi pls conseillent comment je peux compter m / c du cycle dans la déclaration c, donc je ne peux donner 1 accurately.pls retard sec chercher au poste ci-dessus pour mon code. Rgds Ajay
 
Si vous cliquez sur «Aide» dans la barre de menu mikroC puis "index" il donnera la liste de toutes les commandes et les directives, il ya une entrée pour «absolu» avec des exemples de code. Pour les retards, encore une fois regarder dans le fichier d'aide pour une explication et des exemples. Vous pouvez utiliser une commande pour définir un délai dans les cycles, nous ou mS. Pour 1 seconde, l'exemple suggère delay_ms (1000). Vous devriez faire attention dans la programmation C si vous construisez des retards sur les instructions en cours d'exécution. La langue a des optimisations qui peuvent réorganiser le code en cours de production à votre insu. Par exemple, vous trouverez peut-être que le changement d'une ligne de code quelque part d'autre dans votre programme permet à l'optimiseur de modifier le nombre de m / c instructions de votre routine de retard, ce qui en fait inexact. Si vous avez besoin de précision le moment combien de temps une routine prend, utilisez "Affichage> Fenêtres de débogage> Chronomètre". Brian.
 
Cher Brian que vous ne im faire fréq. contrer sur la base de sarcleuse tech. je veux étrille code assembleur en C, donc besoin de votre aide comment je peux convertir ce code assembleur en mikroc.their im trouver trop de difficulté. d'abord: le calcul est basé sur le calendrier de l'instruction ne (n ° de m / c cycle), ce qui im ​​incapable d'accéder à de c combien m / c cycle est dans une instruction de leur c, et le second: si im va copier ce asm code dans mon code c est alors leur problème de variables, qui est utilisé dans asm.
 
Je ne pense pas que le fichier asm étrille vous permet de convertir facilement à mikroC. Vous n'avez pas à envelopper l'ensemble du code asm l'intérieur d'un "asm {}" déclaration. Le plus gros problème n'est pas le moment, il est l'interface LCD. Le 74HC132 est agencé comme un verrou, et il est déclenché par une des lignes de commande à cristaux liquides. Si vous substituez le code mikroC il va changer le cadencement de verrouillage et de donner une lecture mauvaise fréquence. Par tous les moyens d'utiliser la conception électrique, mais je vous conseille vivement de faire un organigramme du code étrille originale et ensuite faire un tout nouveau programme en C pour faire le même travail. Je voudrais également vous conseillons d'utiliser un 16F628A à la place de l'16F84A. Il coûte moins cher et si vous le configurer de sorte MCLR est interne liée élevé, il vous donne une broche supplémentaire à utiliser pour conduire le 74HC132, cela va rendre le code plus facile à écrire. Brian.
 
Salut Brian im à la dernière étape de mon projet de tous les problème a été résolu mon prochain projet sera mètres LC en utilisant 16F628. je vais revenir à vous plus tôt. Remerciements / rgds Ajay
 

Welcome to EDABoard.com

Sponsor

Back
Top