User: alciro    User
 Original    Translate to:  Deutsch  English  Français  中文  
 

Microcontroladores 8051

6. Programmation en langage C

6.1. Types de données

Déclaration des types de mémoire

Dans la déclaration de variable peut indiquer quel type de mémoire est stocké.
Le tableau suivant indique le type de mémoire qui peuvent être spécifiées.

  • mémoire de code de programme (64 Ko). Grâce à l'accès à l'aide du MOVC @ A + DPTR.
  • Adresse des données directement à la mémoire de données interne. Pour un accès rapide à des variables (128 octets).
  • idata indirects adressage de la mémoire de données interne. Avec l'accès à toute la mémoire interne (256 octets).
  • B Les données des données d'adresse mémoire interne peu à peu. Permet d'accéder à la zone de bits par octet et l'adresse de bits (16 octets).
  • xdata données de la mémoire externe (64 Ko). Consulté par le MOVX DPTR instruction @.
  • pdata pagination (256 octets) mémoire externe de données. Accès par l'instruction MOVX @ Rn.

Normalement, lorsque vous travaillez en C, il n'est pas nécessaire de préciser le type de mémoire dans lequel stocker le contenu des variables, il est supposé que c'est la RAM de travail. Mais dans ce type de microcontrôleurs en ayant différentes zones de mémoire avec un comportement différent, vous devez spécifier si la variable est de donner un ou l'autre mémoire que nécessaire. Par défaut, si rien n'est indiqué la variable est attribuée une mémoire de données.

Exemples:

 de données char Var1;
char code texte [] = "Entrez la température:";
unsigned long xdata MonTableau [100];
float idata x, y, z;
unsigned int Dimension pdata;
unsigned char xdata vecteur [10] [4] [4];
char bLes données d'indicateurs; 

Types de données

Un type de données définit la gamme des valeurs qui peuvent avoir une variable tout au long de l'exécution du programme et le nombre d'octets de mémoire allouée pour stocker des informations.

Type de données Bits Bytes
Gamme
bit * 1 0 à 1
signed char 8 1 -128 À +127
unsigned char 8 1 0 à 255
enum 8 / 16 1 ou 2 -128 À +127 ou de -32768 à 32767
signé à court 16 2 -32768 À +32767
unsigned short 16 2 0 à 65535
signé int 16 2 -32768 À +32767
unsigned int 16 2 0 à 65535
signé à long 32 4 -2147483648 À 2147483647
unsigned long 32 4 0 à 4294967295
flotteur 32 4 ± 1.175494e-38 à ± 38 3.402823E
SBIT * 1 0 à 1
SFR * 8 1 0 à 255
sfr16 * 16 2 0 à 65535

Loading
copyright © 2007-2024  www.alciro.org  All rights reserved.         
Share |