Bonsoir a tous, alors voila je ne suis pas programmeur ni rien du tout, j'ai juste quelques notion du langage C apprise en cours tel que:
-la fonction while -la fonction delay
-la fonction do -la fonction if et if else
-la fonction for
avec ceci il nous est demandé de creer 2 programmes, voici la consigne exacte:
"vous disposer de la carte realisé en sequence 2 ce qui va vous permettre de reperer ou sont les sorties rx ou tx (on a pas encore terminer les cartes donc pas d'information sur ses sorties encore) Ces sorties alimentent l'interface RS232 qui active l'emetteur a ultrasons.
Vous devez donc rediger un programme qui va générer un signal carré avec un rapport cyclique de 50% a une frequence de 40kHz qui est la frequence central du filtre que represente l'emetteur ultrason(voir physique==>on a pas encore vu la physique non plus donc bon...)
Ce signal n'est pas émis en continue mais par salves. Ceci permet de reconnaitre ou se situe le premier écho qui est renvoyé par l'obstacle et donc de pouvoir faire une mesure de distance en mesurant le temp écoulé entre l'emission et l'echo.
Le programme devra permettre de fournir 8 impulsions toutes les 60 ms mais ces données pourront etre ajustées en fonction du materiel utilisé et des mesures a venir.
Donc deja dans un premier temp pour le premier programme, il est demandé d'ecrire en C ce qui permet de genere des salves en suivant cet algorigramme:
Voila toutes les infos, donc si vous pouvez m'aider dans quoi que ce soit je vous remercie enormement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 /*Programme de generation des salves tant que cavalier est present sur RA1*/ /* (8 salves a 40KHZ toutes les 60ms)*/ #define led portb.4 //led on/off #define anpower portc.2 //alim SVCC #define txpower //alim st232 #define RX1 //sortie impulsions #define RX2 //sortie impulsions #define CAVALIER Porta.1 // cavalier sur RA1(tant que RA1=0 envoie salve)// i; void main() { //initialisations: A COMPLETER while (1) //debut boucle infinie { A COMPLETER } //fin boucle infinie }
Partager