Aller au contenu

Un mot pour Fahmio

Tu écris. Tu continues.

Un problème, une idée — assez pour qu’on comprenne, puis tu retournes à ta copie.

On lit. Tu n’as rien d’autre à faire.

Où veux-tu aller ?

↑ ↓ pour parcourir · Entrée pour ouvrir · Échap pour fermer

Fahmio
Fahmio
Bac Tunisie
PIC-BAutomatisme — PIC et mikroPascal

mikroPascal — menu LCD, variable prog et durée de cuisson

Idée directrice

Hors TMR0/ADC, le bac Technique demande souvent de compléter un programme mikroPascal qui pilote un LCD : LCD_init, LCD_out(ligne, colonne, texte), une variable byte (prog, C1) et des sbit sur le port A. Les broches non connectées restent des entrées (TRIS).

Ce qui aide à reconnaître la démarche

« mikroPascal » ; « LCD_out » ; « LCD_init » ; « byte / TRIS »

Besoin d’un point de départ ? Voir la méthode
  • LCD_out(n, m, texte) : n = ligne (1 ou 2), m = colonne.
  • Borner les variables byte (min/max) avant d'afficher.
  • TRIS à 1 = entrée ; à 0 = sortie.
Les pièges à vérifier dans ta démarche

Inverser ligne et colonne ; oublier LCD_init ; traiter prog comme un compteur TMR0 (c'est un menu, pas un timer).

Sujet principal

Exercice — dans l'esprit des sujets techniques

3 questionsCorrigé masqué

Machine à pain (bac 2015 P, génie électrique). Programme mikroPascal Pro : variable prog (menu), C1 (durée en min, type byte), boutons menu / plus / moins en sbit sur RA2…RA4. Afficheur LCD 2 lignes.

  1. Quelle instruction initialise l'afficheur LCD dans le corrigé ? Que fait LCD_out(1,4,'PAIN COMPLET') (ligne, colonne) ?
  2. C1 part de 5 min ; plus l'incrémente. Quelle borne supérieure le corrigé impose-t-il (if C1 > …) ?
  3. Les broches non connectées sont des entrées. Quelle direction pose-t-on sur TRISA au début (trisa:= …) ?
Voir la correction commentéeAprès avoir posé votre démarche

1. LCD_init(); initialise l'afficheur. LCD_out(1,4,'PAIN COMPLET') écrit le texte à la ligne 1, colonne 4.

2. if C1 > 30 then C1:=30; — durée plafonnée à 30 min (plancher 5 min sur moins).

3. trisa:= $FF; : tout le port A en entrée (broches non câblées y compris).

Changer d’énoncé, garder le raisonnement

Choisis un seul transfert après le sujet principal. Qu’est-ce qui change ? Quel résultat ou quelle méthode peux-tu réutiliser ? Les autres exercices restent disponibles pour une prochaine séance.

Exercices d'entraînement — une nuance à la fois

1 Drill PIC-B.1 — LCD_out du menu pain
Entraînement 01 / 03

Drill PIC-B.1 — LCD_out du menu pain

1 questionCorrigé masqué

En mikroPascal Pro, le menu de la machine à pain (bac 2015) affiche le texte PAIN COMPLET sur l'afficheur LCD deux lignes. Recopier l'instruction officielle LCD_out (ligne, colonne, texte) du corrigé, puis dire ce que changeraient une colonne 1 ou une ligne 2.

Voir la correction commentéeAprès avoir posé votre démarche

LCD_out(1,4,'PAIN COMPLET'); : premier argument = ligne 1, second = colonne 4, troisième = chaîne à afficher.

Les autres items du case prog du même corrigé suivent la même forme (PAIN SUCRE, PAIN EXPRESS, PATE, …). Une colonne 1 collerait le texte au bord gauche ; une ligne 2 l'écrirait sur la seconde ligne du LCD 16×2, sans changer le texte.

2 Drill PIC-B.2 — LCD_init et TRIS
Entraînement 02 / 03

Drill PIC-B.2 — LCD_init et TRIS

1 questionCorrigé masqué

Toujours le programme mikroPascal machine de 2015. Avant la boucle while true, le corrigé initialise l'afficheur et configure le port A. Citer l'instruction d'initialisation LCD et la valeur de trisa qui met le port en entrée (broches non connectées comprises).

Voir la correction commentéeAprès avoir posé votre démarche

LCD_init(); — commentaire officiel : « initialisation de l'afficheur LCD ». Sans cet appel, LCD_out n'a pas de bus initialisé (RS, EN, D4–D7 déjà déclarés en sbit).

trisa:= $FF; : chaque bit TRIS à 1 = entrée. Le sujet dit que les broches non connectées sont considérées comme des entrées ; $FF les pose toutes dans ce sens, y compris menu / plus / moins / start sur RA2…RA5.

3 Drill PIC-B.3 — lcd_out d'une tension (contrôle 2018)
Entraînement 03 / 03

Drill PIC-B.3 — lcd_out d'une tension (contrôle 2018)

1 questionCorrigé masqué

Autre programme mikroPascal (contrôle 2018) : afficher le libellé Umoy= sur l'afficheur LCD, ligne 1 colonne 1. Recopier l'instruction lcd_out du corrigé (espaces compris autant que possible).

Voir la correction commentéeAprès avoir posé votre démarche

lcd_out(1 , 1 , 'Umoy=') ; — commentaire officiel : afficher ' Umoy= ' sur la ligne 1 colonne 1. Les espaces autour des virgules sont ceux du corrigé 2018 ; la sémantique est identique à LCD_out 2015.

Toujours (ligne, colonne, texte). La valeur numérique de UmoyU_{moy} s'affiche ensuite par lcd_out(1 , 6 , Aff_Umoy) : même ligne, colonne 6, pour ne pas écraser le libellé. Confondre colonne et ligne collerait Umoy= sur la deuxième ligne.

Relier ce raisonnement au bac

Choisis une filière pour voir les sujets qui étayent ce scénario.