Conception simple de simulation de compte à rebours de buteur de basket-ball de 51 microcontrôleurs (simulation Proteus + programme + diagramme schématique + rapport + vidéo d'explication)

Conception simple de simulation de compte à rebours de buteur de basket-ball de 51 microcontrôleurs (simulation Proteus + programme + diagramme schématique + rapport + vidéo d'explication)

Conception simple de simulation de compte à rebours de buteur de basket-ball de 51 microcontrôleurs (simulation Proteus + programme + diagramme schématique + rapport + vidéo d'explication)

Diagramme de simulation proteus7.8 et supérieur

Compilateur de programme : keil 4/keil 5

Langage de programmation : langage C

Numéro de conception : S0048

1. Fonctions principales :

Cette conception vise à concevoir une conception de simulation de buteur de match de basket-ball basée sur un microcontrôleur 51. Voici les exigences fonctionnelles de la conception.

1. Les scores des équipes A et B peuvent être mis à jour à tout moment pendant la partie.

2. Pendant la pause de la mi-temps, le lieu est modifié et les positions de l'équipe A et de l'équipe B sont inversées.

3. Lors de l'ajout de scores de jeu, s'il y a des erreurs, vous pouvez modifier manuellement les scores de jeu.

4. Il dispose d'un compte à rebours du temps d'attaque de 24 secondes pour le basket-ball, précis à 0,01 seconde, et peut déclencher une alarme lorsque le temps d'attaque se termine.

Il convient de noter que la puce du microcontrôleur 51 dans la simulation est universelle. AT89C51 et AT89C52 sont des modèles spécifiques du microcontrôleur 51 et les cœurs sont compatibles. Quel que soit stc ou at, les fonctions des broches sont les mêmes et le programme est le même. La puce peut être remplacée par 51 puces de microcontrôleur telles que STC89C52/STC89C51/AT89C52/AT89C51.

Ce qui suit est un diagramme d'affichage de ces informations de conception :

2. Simulations

Démarrer la simulation

Ouvrez le projet de simulation, double-cliquez sur le microcontrôleur dans Proteus, sélectionnez le chemin du fichier hexadécimal, puis démarrez la simulation. Après avoir démarré la simulation, le tube numérique affiche 0 et vous devez appuyer sur le bouton démarrage/pause pour démarrer le chronométrage.

Lorsque le système démarre, le tube numérique LED s'allume selon le déroulement du programme, affichant le compte à rebours de 24 secondes du jeu et le score du jeu. Le compte à rebours de 24 secondes avant le démarrage affiche 00h00. Le score du jeu est 00 : 00. Après avoir appuyé sur le bouton de démarrage, le tube numérique du compte à rebours de 24 secondes commence le compte à rebours avec une précision de 0,01. Le voyant d'état du jeu commence à s'allumer. Si l'équipe A marque, vous pouvez appuyer sur le bouton A+ pour en ajouter un. S'il y a des erreurs qui doivent être corrigées, vous pouvez appuyer sur A- et appuyer une fois pour en réduire une. L'équipe B marque de la même manière. S'il y a une faute ou un autre besoin de mettre le jeu en pause après le début du jeu, vous pouvez appuyer sur le bouton démarrage/pause pour mettre le jeu en pause. Si vous devez redémarrer, appuyez à nouveau dessus. Le buzzer retentira comme rappel après le compte à rebours de l'attaque de 24 secondes.

img

L'image ci-dessous montre que l'équipe A a marqué 26 points et que l'équipe B a marqué 26 points au milieu de terrain. Si vous devez changer de lieu et ensuite marquer, appuyez simplement sur le bouton Changer de lieu. Le score sera inversé.

img

Après échange :

img

3.Code du programme

Utilisez keil4 ou keil5 pour compiler, le code contient des commentaires et vous pouvez comprendre la signification du code en conjonction avec le rapport.

img

void main()//主函数
{
    
    
	uchar k=0;
	beep=0;
	TMOD|=0X11;//定时器设置
	TH0=0XD8;
	TL0=0XEF;
	TH1=(65536-1000)/256;
	TL1=(65536-1000)%256;
	ET1=1;	
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
	TR0=1;//打开定时器
	while(1)
	{
    
    
		//点亮LED
		if(start==0)
		{
    
    
			led1=1;
			led2=1;
		} 
		if(start==1)
		{
    
    
			led1=0;
			led2=1;
		}
		if(start==2)
		{
    
    
			led1=1;
			led2=0;
		}
		//显示时间
		P0=smgduan[fen/10];
		smg1=0;
		delay(50);
		smg1=1;
		P0=smgduan[fen%10]+0x80;
		smg2=0;
		delay(50);
		smg2=1;
		P0=smgduan[miao/10];
		smg3=0;
		delay(50);
		smg3=1;
		P0=smgduan[miao%10];
		smg4=0;
		delay(50);
		smg4=1;
		//显示分数
		if(flag==0)
			P0=smgduan[fena/10];
		else
			P0=smgduan[fenb/10];
		smg5=0;
		delay(50);
		smg5=1;
			if(flag==0)
			P0=smgduan[fena%10];
		else
			P0=smgduan[fenb%10];
		smg6=0;
		delay(50);
		smg6=1;

		if(flag==1)
			P0=smgduan[fena/10];
		else
			P0=smgduan[fenb/10];
		smg7=0;
		delay(50);
		smg7=1;
			if(flag==1)
			P0=smgduan[fena%10];
		else
			P0=smgduan[fenb%10];
		smg8=0;
		delay(50);
		smg8=1;
		//按键检测
		if(start>=0)//调分数
		{
    
    
			if(!k1 &&(k!=1))
			{
    
    
				k=1;
				if(fena<99)
					fena++;
			}
			if(!k2 &&(k!=2))
			{
    
    
				k=2;
				if(fena>0)
					fena--;
			}
			if(!k3 &&(k!=3))
			{
    
    
				k=3;
				if(fenb<99)
					fenb++;
			}
			if(!k4 &&(k!=4))
			{
    
    
				k=4;
				if(fenb>0)
					fenb--;
			}
		}
		//启动暂停
		if(!k7 &&(k!=7))
		{
    
    
			k=7;
			if(start==0)
			{
    
    
				start=1;
				fen=24;
				miao=0;
			}
			else
			{
    
    
				if(start==1)
					start=2;
				else
					start=1;
			}
		}
		//交换场地
		if(start==0)
		{
    
    
			if(!k6 &&(k!=6))
			{
    
    
				k=6;
				flag=!flag;
			}
		}
		//清零
		if(start==0)
		{
    
    
			if(!k5 &&(k!=5))
			{
    
    
				k=5;
				fena=0;
				miao=0;
				fen=0;
				fenb=0;
			}
		}
	//24s
		if(start>0)
		{
    
    
			if(!k8 &&(k!=8))
			{
    
    
				k=8;
				start=1;
				fen=24;
				miao=0;	
			}
		}
		if(k1 && k2 && k3 && k4 && k5 && k6 && k7&& k8)
			k=0;
	}
}

4. Diagramme schématique

Le diagramme schématique est dessiné avec AD, qui peut être utilisé comme référence pour la réalité. La simulation est différente de la réalité. Si vous êtes inexpérimenté, ne facilitez pas les choses.

img

La différence entre la simulation Proteus et les travaux physiques :

1. Environnement d'exécution : la simulation Proteus s'exécute sur l'ordinateur, tandis que la réalité s'exécute sur le circuit imprimé matériel.

2. Méthode de débogage : dans la simulation Proteus, vous pouvez facilement effectuer un débogage en une seule étape et observer les changements dans les valeurs des variables, tandis que dans les objets réels, vous devez déboguer via un débogueur ou une sortie de port série.

Méthode de connexion du circuit : dans la simulation Proteus, la connexion du circuit peut être modifiée via les paramètres logiciels, mais dans la réalité, elle doit être modifiée via le circuit imprimé matériel et les fils de connexion.

3. Vitesse de fonctionnement : la simulation Proteus s'exécute généralement plus rapidement que la réalité, car la simulation est basée sur le fonctionnement d'un ordinateur, tandis que la simulation réelle doit prendre en compte des facteurs tels que les limites physiques du circuit imprimé et le temps de réponse de l'appareil.

4. Réalisation des fonctions : dans la simulation Proteus, différentes fonctions peuvent être réalisées via des paramètres logiciels, mais dans des objets réels, elles doivent être réalisées en fonction de la conception du circuit et des performances de l'appareil.

5. Rapport de conception

Rapport de conception de plus de 8554 mots

img

6. Concevoir la liste de contenu des informations et le lien de téléchargement

Les matériaux de conception matérielle comprennent la simulation, le code de programme, les vidéos d'explication, les exigences fonctionnelles, les rapports de conception, les schémas fonctionnels de conception de logiciels et de matériel, etc.

0. Problèmes d'utilisation courants et solutions – à lire absolument ! ! ! !

1. Diagramme de simulation

2. Code source du programme

3. Rapport de proposition

4. Diagramme schématique

5. Exigences fonctionnelles

6. Rapport de conception

7. Organigramme logiciel et matériel

8. Vidéo explicative

Informations sur le logiciel Altium Designer

Informations sur le logiciel KEIL

Informations sur le logiciel Proteus

Matériel d'apprentissage des microcontrôleurs

Compétences de défense

Descriptions courantes pour les rapports de conception

Double-cliquez sur la souris pour ouvrir et en savoir plus 51 STM32 Microcontroller Course Graduation Project.url

img

Lien de téléchargement des données (cliquable) :

Je suppose que tu aimes

Origine blog.csdn.net/weixin_52733843/article/details/132757650
conseillé
Classement