1

Salut a tous,

J'ai un exercice a faire qui regroupe de l'assembleur 8051 et du multitache. Leprobleme c'est que je ne sait vraiment pas d'ou partir car jtrouve ca vraiment compliqué (je suis un grand débutant). Le sujet est le suivant :

"On veut commander un robot mobile pour qu’il avance tout droit en évitant les obstacles qu’il rencontre sur sa route. Leur détection est possible grâce à 7 capteurs à ultrasons repartis sur l’avant. Le robot est équipé d’une carte 8051 qui communique avec un PC de commande par une liaison HF. Cette carte permet d’une part de commander les capteurs à ultrasons et de récupérer leur mesure et d’autre part de commander les moteurs. Le PC demande à la carte 8051 les mesures des différents capteurs, calcule les vitesses des moteurs et les envoies à la carte 8051 pour qu’elle les transmette aux moteurs.

En cours de fonctionnement, le PC demande la mesure du premier capteur(b) en envoyant sur la liaison série la lettre b. La carte 8051 renvoie la distance mesurée par le capteur b sur un octet. Puis le PC demande la mesure des capteurs C à h sur le même principe.
Une fois les 7 mesures reçues, le PC calcule les vitesses droite (wd) et gauche (wg) des moteurs, chacune sur 1 octet. Elles sont envoyées sur liaison séries précédées du nom du moteur G pour gauche et D pour droite, soit 2 octet par commande."


Je dois consacré une partie pour réaliser pseudo code et code de la gestion de la carte 8051 embarquée et l'autre partie porte sur la gestion du PC de commande par la réalisation d'un programme C multitache.

Ca serait vraiment sympa de m'aider car je ne comprend pas vraiment le sujet. Merci

2

déja tu mélanges, d'après le titre on dirait que tu dois faire du multitâche sur le 8051 ce qui est pas gagné.

tu comprends pas quoi?

3

merci de me repondre ce que je ne comprend pas c'est la partie 8051 car je suis un novive en assembleur. On m'a dit de crée dans un premier temps mon pseudo code mais je ne sais pas faire. La partie PC a réaliser en C sa je saurais faire mais le code 8051 je ny arive pas

4

Tu peux trouver des compilateurs C pour 8051. Regarde le compilateur SDCC ou alors la version d'évaluation du compilateur Keil (cherche ce mot sur google)

Tu dois trouver des informations sur la programmation système / architecture. On doit pouvoir trouver des exemples.

en très gros, chaque fois que le port série du 8051 va recevoir un caractère, une interruption sera déclenchée pour te permettre de récupérer ce caractère.
Dans cette routine, tu vas pouvoir utiliser le caractere reçu pour commander une action.

Dans le cadre de quoi te demande ton de réaliser ce travail? Si c'est genre IUT/fac, t'as du avoir des cours sur cette plate-forme.

sans savoir ce que tu es en train d'étudier, je peux pas t'aider, car je ne te ferai pas le projet à ta place. Mais si je sais quels sont tes cours, je peux t'aiguiller vers ce que tu dois approfondir pour comprendre.

5

Oui je suis en IUT le seul cour que lon ma passé c'est la doc/cours du 8051 que voici http://lsc.univ-evry.fr/~hoppenot/enseignement/cours/8051/mC8051.pdf

6

ton lien ne marche pas depuis chez moi.

Si tu as un cours sur le 8051, alors buche le a fond pour comprendre son architecture et ce que tu peux en faire. Franchement, c'est pas un CPU trop compliqué, fais un mini-effort, et essaye de deviner de quelles fonctions du 8051 tu auras besoin.

A priori, le port série, et les ports d'entrée sortie parallèle.

essaye aussi de te procurer la documentation des capteurs pour savoir "comment leur parler".