L'AT89C51 est une puce basée sur un microcontrôleur CMOS 8 bits, fabriquée par Atmel, également connue sous le nom de microcontrôleur de la série 8051. Il est principalement utilisé dans les systèmes embarqués, offrant des avantages tels qu'une grande flexibilité, une programmabilité et une facilité d'utilisation. Il trouve des applications dans divers domaines tels que le contrôle industriel, l'électronique automobile, les instruments intelligents, et est devenu un représentant important de la famille des microcontrôleurs MCS-51.
Introduction au microcontrôleur AT89C51
L'AT89C51 est un microprocesseur CMOS 8 bits basse tension et haute performance doté d'une mémoire morte programmable et effaçable (FPEROM) de 4 Ko. Il est fabriqué à l'aide de la technologie de mémoire non volatile haute densité d'Atmel et est compatible avec le jeu d'instructions et le brochage MCS-51 standard industriel. En combinant un processeur 8 bits polyvalent et une mémoire flash sur une seule puce, l'AT89C51 d'Atmel est un microcontrôleur efficace qui offre une solution flexible et économique pour de nombreux systèmes de contrôle embarqués.
Caractéristiques de l'AT89C51
- Compatible avec MCS-51
- 4 Ko de mémoire FLASH programmable
- Endurance : 1 000 cycles d'écriture/effacement
- Durée de conservation des données : 10 ans
- Fonctionnement entièrement statique : 0 Hz-24 MHz
- Verrouillage de la mémoire programme à trois niveaux
- 128 x 8 bits de RAM interne
- 32 lignes d'E/S programmables
- Deux minuteries/compteurs 16 bits
- Cinq sources d'interruption
- Canal série programmable
- Modes veille et arrêt à faible consommation
- Oscillateur et circuit d'horloge intégrés
Fonctions de l'AT89C51
1. Traitement des données : l'AT89C51 dispose d'une puissante capacité de traitement des données, ce qui lui permet de gérer diverses tâches de traitement, de stockage et de transfert de données. Il peut effectuer diverses opérations sur les données à l'aide de composants intégrés tels que l'unité arithmétique et logique (ALU), la mémoire flash et la mémoire RAM.
2. Contrôle des périphériques : l'AT89C51 dispose de plusieurs interfaces périphériques, notamment des broches d'entrée/sortie à usage général (GPIO), un port série, une interface SPI et deux minuteries/compteurs 16 bits, qui peuvent être utilisés pour la communication et le contrôle d'autres périphériques matériels.
3. Gestion des interruptions : l'AT89C51 prend en charge différents types d'interruptions, notamment les interruptions externes, les interruptions de temporisateur et les interruptions de port série. Ces interruptions permettent une réponse rapide aux événements externes et l'exécution des routines de service d'interruption correspondantes.
4. Contrôle de la synchronisation : l'AT89C51 comprend deux temporisateurs/compteurs 16 bits qui peuvent être utilisés pour générer des interruptions de temporisateur, mesurer la fréquence, moduler la largeur d'impulsion et d'autres applications liées à la synchronisation.
5. Mises à niveau programmables : grâce à l'utilisation d'une mémoire flash, le programme de l'AT89C51 peut être modifié par programmation, ce qui facilite les mises à niveau et l'extension du système.
Structure AT89C51
La structure interne du microcontrôleur AT89C51 montre les principaux composants fonctionnels à l'intérieur de la puce :

1. Une unité centrale de traitement (CPU) 8 bits centrée autour de l'unité arithmétique et logique (ALU) pour le calcul et le contrôle.
2. 128 octets de mémoire interne accessible (RAM interne) avec une plage d'adresses comprise entre 00H et 7FH.
3. 21 registres à fonctions spéciales (SFR) répartis dans la plage d'adresses 80H à FFH, utilisés pour diverses fonctions de contrôle.
4. Un compteur de programme (PC), un registre 16 bits dédié au stockage de l'adresse de la prochaine instruction à exécuter.
5. 4 Ko de mémoire flash interne (ROM intégrée) pour stocker les programmes et les données.
6. Quatre ports d'E/S programmables 8 bits (P0, P1, P2, P3).
7. Un port de communication série UART.
8. Deux temporisateurs/compteurs 16 bits.
9. Cinq sources d'interruption et un système de contrôle d'interruption à deux niveaux.
10. Oscillateur et circuit d'horloge intégrés.
AT89C51 Pin Configuration
Le microcontrôleur AT89C51 dispose de 40 broches réparties en quatre groupes : alimentation, horloge, commande et ports d'E/S.

Broches d'alimentation :
– GND (broche 20) : connexion à la terre
. – Vcc (broche 40) : entrée d'alimentation CC, généralement 5,0 V ± 20 % dans une plage de -40 °C à 85 °C, avec une tension maximale de 6,6 V.
Goupilles d'horloge :
– XTAL1 (broche 19) : l'une des broches permettant de connecter un élément oscillateur externe, tel qu'un oscillateur à quartz
. – XTAL2 (broche 18) : l'autre broche permettant de connecter un élément oscillateur externe.
Lorsqu'un oscillateur externe est utilisé, XTAL1 reçoit le signal de l'oscillateur, tandis que XTAL2 reste non connecté. Cette configuration forme l'oscillateur, dont la fréquence est déterminée par l'inverse de la période de l'oscillateur.
(Remarque : la traduction est assez détaillée. Si vous préférez une version plus concise, veuillez m'en informer.)
Broches de commande :
1. RST (broche 9) : entrée de réinitialisation (utilisée pour l'initialisation et le redémarrage).
La réinitialisation peut s'effectuer de deux manières : réinitialisation à la mise sous tension et réinitialisation manuelle (en appuyant sur un bouton de réinitialisation). Elle nécessite que la broche RST reste à un niveau haut pendant au moins 2 cycles machine avant de passer à un niveau bas. Cela inclut un petit circuit avec des résistances et des condensateurs. La première méthode consiste à appliquer une tension élevée à ce circuit, tandis que la seconde méthode est aussi simple que d'appuyer sur un bouton. Les deux méthodes garantissent que la broche RST reste à un niveau haut pendant deux cycles machine, ce qui permet de terminer l'opération de réinitialisation.
2. ALE/PROG (broche 30) : activation du verrouillage d'adresse/impulsion de programmation.
Cette broche, également utilisée comme PROG pendant la programmation, est employée lors du téléchargement de programmes vers le microcontrôleur. Elle est liée aux impulsions de programmation et génère des formes d'onde spécifiques pendant la programmation.
3. PSEN (broche 29) : signal de lecture de la ROM externe.
PSEN est lié à la lecture des données à partir de la ROM externe. Il agit comme une condition pour la lecture des données, nécessitant un signal PSEN valide pour lire correctement les données.
4. EA/Vpp (broche 31) : sélection ROM interne/externe/tension de programmation.
Le microcontrôleur 51 dispose d'une mémoire ROM intégrée de 4 Ko. Si cela s'avère insuffisant, il est possible de l'étendre à l'aide d'une mémoire ROM externe (similaire à l'insertion d'une carte mémoire dans un téléphone portable). La valeur EA détermine si vous accédez aux données depuis la mémoire interne ou externe. Vpp est utilisé pour appliquer une tension pendant la programmation.
Schéma fonctionnel du microcontrôleur AT89C51
Le schéma suivant représente les blocs fonctionnels de base du microcontrôleur AT89C51. Cette puce intègre les principaux composants d'un micro-ordinateur, notamment le processeur, la mémoire, les ports d'E/S programmables, les temporisateurs/compteurs, le port série, etc. Tous ces composants sont interconnectés via un bus interne.

Microcontrôleurs AT89C51 et 8051
8051 : Représente la deuxième génération de microcontrôleurs, appartenant à la série MCS-51. AT89C51 : Microcontrôleur développé par ATMEL, compatible avec le MCS-51 et appartenant à la troisième génération de microcontrôleurs.
Les microcontrôleurs MCS-51 désignent une série de microcontrôleurs produits par Intel aux États-Unis. Cette série comprend les modèles 8031, 8051, 8751, 8032, 8052 et 8752. Le microcontrôleur 8051 est le produit le plus ancien et le plus représentatif de cette série. L'AT89C51 est basé sur le circuit central du 8051 et a été développé ultérieurement par ATMEL. Il existe également des microcontrôleurs similaires, tels que le STC51, qui ont les mêmes fonctionnalités, mais sont produits par différentes sociétés et ont des préfixes différents. En substance, l'AT89C51 et le 8051 ont des fonctionnalités identiques, mais le 8051 n'est plus disponible sur le marché.




