Connaissances Informatiques >> programmation >> Computer Programming Languages >> Content
  Derniers articles
  • Microsoft Visual Source Safe Tutoria…
  • Comment générer une impulsion sur …
  • Comment faire pour héberger un serv…
  • Comment taper des accents français …
  • Comment imprimer une équation comme…
  • Comment sauter dans ActionScript 
  • Comment résoudre les matrices en ut…
  • Comment générer des colonnes de mo…
  • Quels sont les outils ETL 
  • Différence entre une erreur de synt…
  •   Computer Programming Languages
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Computer Programming Languages

    Quel est le programme en langage assembleur pour l'interface 8085 du moteur pas à pas pour le faire tourner dans le sens des aiguilles d'une montre et dans le sens inverse des aiguilles d'une montre en utilisant 8255 ?

    Programme pour l'interfaçage 8085 du moteur pas à pas pour le faire tourner dans le sens des aiguilles d'une montre et dans le sens inverse des aiguilles d'une montre en utilisant 8255 :

    ```

    ;Initialiser le pointeur de pile à 0FFFH (32767)

    LXI SP, 0FFFH

    ;Définir les constantes pour le contrôle du moteur pas à pas :

    MOV A,#10 ; Définir la valeur du retard pour le contrôle du moteur pas à pas (arbitraire)

    MOV B,A ; Copier la valeur du retard dans le registre B

    MOV A,0 ; Définir la direction initiale (0 pour le sens des aiguilles d'une montre, 1 pour le sens inverse des aiguilles d'une montre)

    MOV C,A ; Copier la direction vers le registre C

    ;Configurer le port d'E/S 8255 :

    MVI A,0FFH ; Définir toutes les lignes de port comme sortie (en utilisant le mot de contrôle PPI)

    MOV M,A ; Écrire dans le registre de contrôle (P1M)

    ;Définir l'adresse du port d'E/S :

    MOV A,#10H ; Adresse de base pour 8255 PPI (8255-5)

    MOV M,A ; Stocker l'adresse de base dans un emplacement mémoire

    ;Boucle principale pour le contrôle du moteur pas à pas :

    LOOP : ;Étiquette pour représenter le début de la boucle principale

    ;Étape 1 : Tourner le moteur dans le sens des aiguilles d'une montre (sens =0)

    MVI A,0 ; Régler dans le sens des aiguilles d'une montre

    MOV C,A ; Copier la direction vers le registre C

    ; Générer une séquence de signaux de commande pour la rotation du moteur

    MVI A,#0B ; Mot de contrôle pour définir les lignes du port B P1.1, P1.2, P1.3 comme sorties

    MOV M,A ; Écrire dans le registre de contrôle du port B

    MVI A,#9BH ; Mot de contrôle pour faire tourner le moteur dans le sens des aiguilles d'une montre (P1.1=1, P1.2=0, P1.3=1)

    MOV M,A ; Écrire dans le registre de données du port B

    ;Délai pour ralentir la rotation du moteur :

    DELAY :;Sous-programme de retard pour contrôler la vitesse de rotation du moteur

    DCR B ; Décrémenter la valeur du retard dans le registre B

    JZ ENDD ; Si la valeur du délai atteint zéro, le délai est terminé

    MOV A,B ; Copier la valeur du retard du registre B vers le registre A.

    JMP DELAY ; Revenir à la boucle DELAY jusqu'à ce que le délai soit terminé.

    ENDD :; Fin du sous-programme de délai

    ;Étape 2 : Tourner le moteur dans le sens inverse des aiguilles d'une montre (sens =1)

    MVI A,1 ; Régler dans le sens inverse des aiguilles d'une montre

    MOV C,A ; Copier la direction vers le registre C

    ; Générer une séquence de signaux de commande pour la rotation du moteur

    MVI A,#0B ; Mot de contrôle pour définir les lignes du port B P1.1, P1.2, P1.3 comme sorties

    MOV M,A ; Écrire dans le registre de contrôle du port B

    MVI A,#6EH ;Mot de contrôle pour faire tourner le moteur dans le sens inverse des aiguilles d'une montre (P1.1=0, P1.2=1, P1.3=1)

    MOV M,A ; Écrire dans le registre de données du port B

    ;Délai pour ralentir la rotation du moteur :

    DELAY :; Sous-programme de retard

    DCR B

    JZ FIN

    MOUVEMENT A, B

    RETARD JMP

    FIN :

    ;Répétez la boucle principale pour faire tourner le moteur en continu

    BOUCLE JMP

    ```

    Ce programme utilise le 8255 PPI pour contrôler le sens de rotation et la vitesse du moteur pas à pas. En définissant et en effaçant les bits appropriés dans le registre de données du port B du 8255, le programme génère les signaux de contrôle nécessaires pour la rotation dans le sens horaire ou antihoraire. Le sous-programme de retard garantit que la vitesse de rotation du moteur est contrôlée.

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment faire pour convertir Hex pour BCD 
  • Qu’est-ce qu’un programme généré par ordinateur ? 
  • Comment détecter les collisions dans Xcode 
  • Différences entre Codage et programmation 
  • Comment ajouter des barres de ligne sur un site Internet 
  • Qu'est-ce qu'une variable en programmation 
  • Comment changer la couleur dans une cellule de DataGridView 
  • Comment faire une lettrine première lettre en HTML 
  • Comment remplacer une liste en Python 
  • Qu'est-ce que microdonnées HTML5 
  • Connaissances Informatiques © http://www.ordinateur.cc