Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
thermomètre afficheur 7 segments
Bonjour a tous,
Je ne savais pas qu'il y avait un ordre de séquence précis. Je vais voir pour modifier ça.
Pour ce qui est de la led, j'en ai ajouté une qui s'allume 500ms juste après la boucle for et quand l'affichage disparait (au delà de 22°) la led continue bien a s'allumer. donc le programme continue bien de tourner. Et au multimètre aussi les valeurs montent biens.
Pour ce qui est de UART, je n'ai pas la possibilité. Désolé. (ni les connaissances je suppose)
J'ai que ce module là ach eter sans faire exprès. mais je ne sais pas si ça peux aidé.
Je vais continuer a chercher au niveau du code. Encore merci
@++
Je ne savais pas qu'il y avait un ordre de séquence précis. Je vais voir pour modifier ça.
Pour ce qui est de la led, j'en ai ajouté une qui s'allume 500ms juste après la boucle for et quand l'affichage disparait (au delà de 22°) la led continue bien a s'allumer. donc le programme continue bien de tourner. Et au multimètre aussi les valeurs montent biens.
Pour ce qui est de UART, je n'ai pas la possibilité. Désolé. (ni les connaissances je suppose)
J'ai que ce module là ach eter sans faire exprès. mais je ne sais pas si ça peux aidé.
Je vais continuer a chercher au niveau du code. Encore merci
@++
thermomètre afficheur 7 segments
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
venom a écrit :...
Je ne savais pas qu'il y avait un ordre de séquence précis. Je vais voir pour modifier ça.
Pour ce qui est de la led, j'en ai ajouté une qui s'allume 500ms juste après la boucle for et quand l'affichage disparait (au delà de 22°) la led continue bien a s'allumer. donc le programme continue bien de tourner. Et au multimètre aussi les valeurs montent biens.
La led, tu la fait bien clignoter à chaque passage dans la boucle programme ?
ligne à modifier aussi:
OSCCON = 0b01000000; //Fréquence pour oscillateur interne. oscillateur 1 MHz
Mai si, ce module va bien ...
par contre pour gerer l'UART, il faut passer par le SOft UART , vu que tu utilise RB5 et RB2 pour les afficheurs
Post aussi ta configuration complete :
Projet
Edit Projet
et les valeurs des registres
config1
config2
le watchdog timer est-il bien disabled ?
Je n'ai pas de 16F88 dispo sous la main pour le tester en reel , mai tu peux essayer ceci :
Code : Tout sélectionner
///////////////////////////////
// name : thermometre //
// create : venom //
// date : 12/11/2015 //
// pic : 16f88 1MHz //
///////////////////////////////
// Liaison terminal univoque PIC -> PC
// via adaptateur MAX232
// RA3 RX <--- not used
// RA4 TX --------------------> RX PC
// 0V ---------------------------> 0V
long L; // Initialise un long L
int temp_res; // Initialise temp_res
int val1; // Initialise val1
int val2; // Initialise val2
int boucle_a; // Initialise boucle_a
unsigned char TEXTE[64];
unsigned char * txt;
unsigned char font[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; // Charge les chiffres de 0 aa 9 en HEXA dans le font
void SOFT_UART_Write_Text(char *txt)
{
while(*(txt)>0)
{
Soft_UART_Write(*(txt));
txt++;
}
}
void SOFT_UART_Write_CText(const char *txt)
{ unsigned char c;
while(*txt)
{ c=*(txt);
Soft_UART_Write(c);
txt++;
}
}
void main() {
OSCCON = 0b01000000; //Fréquence pour oscillateur interne. oscillateur 1 MHz
TRISA = 0b00001100; // port RA2 et RA3 en entree Entrée = 1, sortie = 0
TRISB = 0b00000000; // tous les port B en sortie. Entrée = 1, sortie = 0
CMCON=0; // inhibe les comparateurs
ANSEL = 0b00000100; // Configure AN2 en analog
PORTA.RA0 = 0; //Disable digit 1
PORTA.RA1 = 0; //Disable digit 2
txt=&TEXTE[0]; // initalise le pointeur txtx sur le debut du tableau TEXTE
//char Soft_UART_Init(char *port, char rx_pin, char tx_pin, unsigned long baud_rate, char inverted);
Soft_UART_Init(&PORTA,3,4,9600,0);
Delay_ms(100);
SOFT_UART_Write_CText("Init Liaison OK\r\n");
ADC_Init(); // Initialise module ADC
SOFT_UART_Write_CText("Init ADC OK\r\n");
while(1){
// récuperation du Vout du MCP9700A + forume transformation °C
// 0°C = (10mV)*(0°C)+500 = 500mV
// 20°C = (10mV)*(20°C)+500 = 700mv
// 50°C = (10mV)*(50°C)+500 = 1000mv
L = ADC_Read(2)*500;
// affichage sur terminal PC
SOFT_UART_Write_CText("Mesure ADC L= ");
LongToStr(L,txt);
SOFT_UART_Write_Text(txt);
Soft_UART_Write(13);Soft_UART_Write(10); // CR LF saut d eligne
L = L>>10;
L = L-42; //42
temp_res = L ;
for(boucle_a=0 ; boucle_a<100 ; boucle_a++)
{
val2 = temp_res / 10; //recupere la dizaine de la valeur
PORTB = font[val2]; //Envoie le chiffre en HEXA au portB
PORTA.RA0 = 1; //active le port RA0
Delay_ms(10); //delay de 10 milisecondes
PORTA.RA0 = 0; //desactive le port RA0
val1 = temp_res % 10; //recupere l'unité de la valeur
PORTB = font[val1]; //Envoie le chiffre en HEXA au portB
PORTA.RA1 = 1; //active le port RA1
Delay_ms(10); //delay de 10 milisecondes
PORTA.RA1 = 0; //desactive le port RA1
Delay_ms(10);
}
}
}
thermomètre afficheur 7 segments
Merci Paul pour ce code. Je vais me documenté sur la façon de communiquer entre pic et pc . je vous tiens au courant.
Encore merci
@++
Encore merci
@++
thermomètre afficheur 7 segments
Bonjour a tous,
quel bête. Ma tour est HS, donc je travail actuellement sur ordinateur portable. (Sans rs232)
Existe t'il le même module mais en USB ?
Si oui avez vous des liens pour être sur de prendre le bon ? D'avance merci
@++
quel bête. Ma tour est HS, donc je travail actuellement sur ordinateur portable. (Sans rs232)
Existe t'il le même module mais en USB ?
Si oui avez vous des liens pour être sur de prendre le bon ? D'avance merci
@++
thermomètre afficheur 7 segments
thermomètre afficheur 7 segments
Bonsoir tous le monde,
Tu peux trouver cela ici :
http://www.ebay.fr/itm/Pl2303ta-For-Win ... SwtZJY9aHf
Il faut prendre la version de la puce PL2303TA, qui est compatible pour toutes version Windows.
Le pilote est téléchargeable ici :
http://www.prolific.com.tw/US/ShowProdu ... 25&pcid=41
A+
Tu peux trouver cela ici :
http://www.ebay.fr/itm/Pl2303ta-For-Win ... SwtZJY9aHf
Il faut prendre la version de la puce PL2303TA, qui est compatible pour toutes version Windows.
Le pilote est téléchargeable ici :
http://www.prolific.com.tw/US/ShowProdu ... 25&pcid=41
A+
thermomètre afficheur 7 segments
thermomètre afficheur 7 segments
Bonjour a tous,
Ok merci pour vos conseil. Je pars donc sur un module avec puce PL2303TA
Ces modules fonctionne aussi uniquement si les port RB6 et RB7 sont disspo ?
@++
Ok merci pour vos conseil. Je pars donc sur un module avec puce PL2303TA
Ces modules fonctionne aussi uniquement si les port RB6 et RB7 sont disspo ?
@++
thermomètre afficheur 7 segments
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour,
Oui, si tu te serts de l'UART HARDWARE
NON, si tu prends le SOFTWARE UART
où tu peux definir toi meme , les pins à utuiliser pour TX ( e evntuellement RX)
voir exemple dans post precedent
Soft_UART_Init(&PORTA,3,4,9600,0); .....
venom a écrit :...Ces modules fonctionne aussi uniquement si les port RB6 et RB7 sont disspo ?
Oui, si tu te serts de l'UART HARDWARE
NON, si tu prends le SOFTWARE UART
où tu peux definir toi meme , les pins à utuiliser pour TX ( e evntuellement RX)
voir exemple dans post precedent
Soft_UART_Init(&PORTA,3,4,9600,0); .....
thermomètre afficheur 7 segments
Bonsoir a tous,
J’espère que vous allez bien depuis le temps ? NON NON, je n'est pas encore lâcher prise avec ce fichu thermomètre 7seg
Plus sérieusement, j'ai reçu mon module TTl usb avec puce TA. J'ai donc installer les drivers via le lien de Temps-X sur mon Windows 10. Impeccable module reconnu de suite en port COM 3.
J'ai donc re-programmer mon 16f88 avec le code de paulfjujo, en y ajoutant en fin de code une led qui clignote sur le port RA3 pour etre sur que le code tourne.
Sa c'est good la led clignote bien a chaque boucle.
Par contre pour ce qui est de l'utilisation RX TX je ne connais pas du tout. J'ai donc relier (d’après le code de paul) le RA4 au RX de mon module, de la j'ai lancer USART Terminalqui est dans mikroc j’espère que c'est bien ça.
De la, j'ai appuyer sur le bouton connect, mais après je ne sais pas quoi faire. Rien ne se passe.
Ma breadbord est bien alimenté et la led que j'ai ajouté au montage clignote bien.
Voici un screen de mon usart treminal:
Et comme la demander Paul, voici un screen des paramètre de mon projet sous mikroc:
En vous remerciant d'avance.
@++
J’espère que vous allez bien depuis le temps ? NON NON, je n'est pas encore lâcher prise avec ce fichu thermomètre 7seg
Plus sérieusement, j'ai reçu mon module TTl usb avec puce TA. J'ai donc installer les drivers via le lien de Temps-X sur mon Windows 10. Impeccable module reconnu de suite en port COM 3.
J'ai donc re-programmer mon 16f88 avec le code de paulfjujo, en y ajoutant en fin de code une led qui clignote sur le port RA3 pour etre sur que le code tourne.
Sa c'est good la led clignote bien a chaque boucle.
Par contre pour ce qui est de l'utilisation RX TX je ne connais pas du tout. J'ai donc relier (d’après le code de paul) le RA4 au RX de mon module, de la j'ai lancer USART Terminalqui est dans mikroc j’espère que c'est bien ça.
De la, j'ai appuyer sur le bouton connect, mais après je ne sais pas quoi faire. Rien ne se passe.
Ma breadbord est bien alimenté et la led que j'ai ajouté au montage clignote bien.
Voici un screen de mon usart treminal:
Et comme la demander Paul, voici un screen des paramètre de mon projet sous mikroc:
En vous remerciant d'avance.
@++
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 75 invités