Rapport evalbot programmation des microprocesseurs
Compte rendu : Rapport evalbot programmation des microprocesseurs. Recherche parmi 300 000+ dissertationsPar Aymeric Sallet • 3 Octobre 2021 • Compte rendu • 42 388 Mots (170 Pages) • 432 Vues
- Unité IGI 1101 -
PROGRAMMATION DES MICROPROCESSEURS
Rapport – ROBOT EVALBOT
Date de remise du rapport :
09/01/2017
Groupe N° :
Table des matières
PROGRAMMATION DES MICROPROCESSEURS 1
Table des matières 2
Introduction 3
I. Partie I : LED1/LED2 et SW1/SW2/BUMPER_L/BUMPER_R 4
1. Exercice 1 4
2. Exercice 2 : 9
3. Exercice 3 : 11
4. Exercice 4 : 14
5. Exercice 5 : 17
6. Exercice 6 : 20
7. Exercice 7 23
8. Exercice 8 26
II. Partie II : Moteurs et LED1/LED2 et SW1/SW2/BUMPER_L/BUMPER_R 29
1. Exercice 1 29
2. Exercice 2 33
III. Conclusion 37
IV. Annexes 38
Introduction
Le robot évalbot est constitué d’un microcontrôleur programmable permettant l’allumage de différentes diodes, de se mouvoir, tout en réagissant à un contacte au niveau de 2 « bumper » à l’avant.
L’objectif de ces travaux pratiques est de pouvoir écrire le programme correspondant au contrôle de ses différents composants, en modifiant l’accès aux entrées/ sorties de la carte évalbot, en configurant les ports et en choisissant leur fonction (mouvement clignotement des LED changement de directions…).
On utilisera alors le langage ARM nous donnant la possibilité d’échanger des données avec la carte évalbot, grâce à différentes séquences d’instruction.
La prise en main du logiciel Keil µvison nous permet de développer et transférer les instructions au robot.
Partie I : LED1/LED2 et SW1/SW2/BUMPER_L/BUMPER_R
Exercice 1
Nous cherchons à répondre à la question comment faire clignoter la LED 2 connectée à la broche 5 du port GPIOF.
On utilisera le programme - clignotement de la LED 1 expliqué en cours par notre professeur comme base de données pour résoudre ce problème.
AREA |.text|, CODE, READONLY
; This register controls the clock gating logic in normal Run mode
SYSCTL_PERIPH_GPIOF EQU 0x400FE108
; The GPIODATA register is the data register
GPIO_PORTF_BASE EQU 0x40025000
; configure the corresponding pin to be an output
; all GPIO pins are inputs by default
GPIO_O_DIR EQU 0x00000400
GPIO_O_DR2R EQU 0x00000500
GPIO_O_DEN EQU 0x0000051C
; Port select - LED1 sur la ligne 4 du port
PORT4 EQU 0x10
; blinking frequency
DUREE EQU 0x002FFFFF
ENTRY
EXPORT __main
__main
; Enable the Port F peripheral clock by setting bit 5 (0x20 == 0b100000)
;(p291 datasheet de lm3s9B96.pdf), (GPIO::FEDCBA)
ldr r6, = SYSCTL_PERIPH_GPIOF ;
; RCGC2
mov r0, #0x00000020 ;
; Enable clock sur GPIO F où sont branchés les leds (0x20 == 00100000)
str r0, [r6]
nop
nop
nop
...