UN SIMULATEUR DE B200

UN SIMULATEUR DE B200

Le code du bloc OAT

 

 

Je me dis que certains sont impatients, je vous l'avais promis voilà le code du bloc OAT, il est parfaitement opérationnel bien que non optimisé.

L'originalité et l'astuce que j'ai trouvé, c'est de pouvoir afficher le F ou le C sur le digit de droite.

Vous trouverez çà dans la variable 009, je fais afficher un 8 ou un 9 et avec un peu de peinture j'occulte les segments qui me dérangent sur le digit de droite.

En fait j'occulte les segments de droite et du bas, pour le 8 cela me donne un F  et pour le 9 cela me donne un c minuscule.

Bien évidemment que vous trouverez des redondances dans ce programme, je vous le livre à chaud il fonctionne , je vais l'optimiser par des subroutines, au moins vous l'avez....

 

Pour rappel la formule de conversion C° en F°          C=F-32 *5/9

 

 

Bonne lecture


Var 006, name oat, Link FSUIPC_IN, Offset $0E8C, Length 2, Type 1     //  température extérieure
{
  L0 = &OAT / 256
  &OAT_DIS = TRUNC L0 // pour ne pas déborder 4 digits   
  CALL &DISP_OAT_COND
}

Var 007, name DISP_OAT_COND, Link SUBRUTINE     // Conditions d'affichage Displays OAT
{
  IF &AVNCS = 1
  {
    &OAT_DIS = &OAT_DIS    
  }
  ELSE
  {
    &OAT_DIS = -999999         // Afficheurs éteints
   
    &oat_CouF = -999999         // Afficheurs éteints
  }
}




Var 008, name OAT_DIS, Link IOCARD_DISPLAY, Digit 1, Numbers 4     // Affichage Temp. extérieure
{
  IF &oat_CouF_P = 1  // affichage en farenheit
  {
    L0 = &oat / 256
    L0 = L0 * 9
    L1 = L0 / 5
    L2 = L1 + 32
    &OAT_DIS = trunc L2            //       affichage en farenheit
    &oat_CouF = 8                  // affichage du F
  }
  ELSE
  {
    L0 = &OAT / 256
    &OAT_DIS = trunc L0        //  Affichage en C°
    &oat_CouF = 9                  // affichage du C
  }
}

Var 009, name oat_CouF, Link IOCARD_DISPLAY, Digit 0, Numbers 1   // Affichage lettre Cou F Temp extérieure

Var 0010, name oat_CouF_P, Link IOCARD_SW Input 12,  Type P             // bouton poussoir de l'OAT pou C° ou F°
{
  IF &oat_CouF_P = 1
  {
    L0 = &oat / 256
    L0 = L0 * 9
    L1 = L0 / 5
    L2 = L1 + 32
    &OAT_DIS = trunc L2            //       affichage en farenheit
    &oat_CouF = 8                  // affichage du F
  }
  ELSE
  {
    L0 = &OAT / 256
    &OAT_DIS = trunc L0        //  Affichage en C°
    &oat_CouF = 9                  // affichage du C
  }
}



10/02/2011
0 Poster un commentaire

A découvrir aussi


Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 72 autres membres