51개 마이크로 컨트롤러의 간단한 농구 득점자 카운트다운 시뮬레이션 설계(프로테우스 시뮬레이션 + 프로그램 + 회로도 + 보고서 + 설명 비디오)

51개 마이크로 컨트롤러의 간단한 농구 득점자 카운트다운 시뮬레이션 설계(프로테우스 시뮬레이션 + 프로그램 + 회로도 + 보고서 + 설명 비디오)

51개 마이크로 컨트롤러의 간단한 농구 득점자 카운트다운 시뮬레이션 설계(프로테우스 시뮬레이션 + 프로그램 + 회로도 + 보고서 + 설명 비디오)

시뮬레이션 다이어그램 proteus7.8 이상

프로그램 컴파일러: keil 4/keil 5

프로그래밍 언어: C 언어

디자인 번호: S0048

1. 주요 기능:

본 설계는 51 마이크로컨트롤러를 기반으로 한 농구 경기 득점원 시뮬레이션 설계를 설계하는 것을 목표로 하며 설계의 기능적 요구사항은 다음과 같습니다.

1. A팀과 B팀의 점수는 경기 중 언제든지 업데이트될 수 있습니다.

2. 하프타임 휴식시간에는 장소를 변경하고 A팀과 B팀의 위치를 ​​바꾼다.

3. 게임 점수 추가 시 오류가 있는 경우, 게임 점수를 수동으로 변경할 수 있습니다.

4. 농구 24초 공격 시간 카운트다운 기능이 있으며 0.01초까지 정확하며 공격 시간이 끝나면 알람을 울릴 수 있습니다.

시뮬레이션의 51 마이크로 컨트롤러 칩은 범용이며 AT89C51 및 AT89C52는 51 마이크로 컨트롤러의 특정 모델이며 코어는 호환됩니다. stc, at에 관계없이 핀 기능도 동일하고 프로그램도 동일하며, 칩은 STC89C52/STC89C51/AT89C52/AT89C51 등 51개의 마이크로컨트롤러 칩으로 대체 가능하다.

다음은 이 설계 정보의 표시 다이어그램입니다.

2. 시뮬레이션

시뮬레이션 시작

시뮬레이션 프로젝트를 열고, proteus에서 마이크로 컨트롤러를 두 번 클릭하고, hex 파일 경로를 선택한 다음 시뮬레이션을 시작합니다. 시뮬레이션을 시작한 후 디지털 튜브에 0이 표시되며 타이밍을 시작하려면 시작/일시 중지 버튼을 눌러야 합니다.

시스템이 시작되면 프로그램 흐름에 따라 LED 디지털 튜브가 켜져 게임의 24초 카운트다운과 게임 점수를 표시합니다. 시작 전 24초의 카운트다운 시간은 00.00으로 표시됩니다. 게임 점수는 00:00이며 시작 버튼을 누르면 24초 카운트다운 디지털 튜브가 0.01의 정확도로 카운트다운을 시작합니다. 게임 상태 표시등이 켜지기 시작하며, A팀이 득점하면 A+ 버튼을 눌러 추가할 수 있습니다. 수정해야 할 오류가 있는 경우 A-를 누르고 한 번 눌러 오류를 줄일 수 있습니다. B팀도 같은 방식으로 득점한다. 경기 시작 후 반칙 등으로 경기를 일시 정지해야 할 경우에는 시작/일시 정지 버튼을 눌러 경기를 일시 정지할 수 있으며, 다시 시작해야 할 경우에는 다시 누르시면 됩니다. 24초 공격 카운트다운 후 알림으로 부저가 울립니다.

img

아래 사진은 미드필더에서 A팀이 26득점, B팀이 26득점을 올린 모습입니다. 장소를 바꾸고 점수를 매겨야 하는 경우 장소 교환 버튼을 탭하기만 하면 됩니다. 점수가 반전됩니다.

img

교환 후:

img

3. 프로그램 코드

keil4 또는 keil5를 사용하여 컴파일하면 코드에 주석이 있으며 보고서와 함께 코드의 의미를 이해할 수 있습니다.

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. 개략도

회로도는 AD로 그려져 있어 실제 참고자료로 활용이 가능합니다.시뮬레이션은 실제와 다르기 때문에 경험이 없으신 분들은 쉽게 하지 마세요.

img

Proteus 시뮬레이션과 실제 작업의 차이점:

1. 실행 환경: Proteus 시뮬레이션은 컴퓨터에서 실행되는 반면 실제 시뮬레이션은 하드웨어 회로 기판에서 실행됩니다.

2. 디버깅 방법: Proteus 시뮬레이션에서는 쉽게 단일 단계 디버깅을 수행하고 변수 값의 변화를 관찰할 수 있지만 실제 개체에서는 디버거 또는 직렬 포트 출력을 통해 디버깅해야 합니다.

회로 연결 방법: Proteus 시뮬레이션에서는 소프트웨어 설정을 통해 회로 연결을 수정할 수 있지만 실제로는 하드웨어 회로 기판 및 연결 와이어를 통해 수정해야 합니다.

3. 실행 속도: Proteus 시뮬레이션은 컴퓨터 작동을 기반으로 하기 때문에 일반적으로 실제보다 빠르게 실행되는 반면, 실제는 회로 기판의 물리적 한계 및 장치의 응답 시간과 같은 요소를 고려해야 합니다.

4. 기능 실현: Proteus 시뮬레이션에서는 소프트웨어 설정을 통해 다양한 기능을 실현할 수 있지만 실제 물체에서는 회로 설계 및 장치 성능에 따라 실현되어야 합니다.

5. 설계 보고서

8554+ 단어 디자인 보고서

img

6. 디자인 정보 콘텐츠 목록 및 다운로드 링크

머티리얼 디자인 자료에는 시뮬레이션, 프로그램 코드, 설명 비디오, 기능 요구 사항, 디자인 보고서, 소프트웨어 및 하드웨어 디자인 블록 다이어그램 등이 포함됩니다.

0. 일반적인 사용 문제 및 해결 방법 - 꼭 읽어보세요! ! ! !

1. 시뮬레이션 다이어그램

2. 프로그램 소스코드

3. 제안보고서

4. 개략도

5. 기능적 요구사항

6. 설계 보고서

7. 소프트웨어 및 하드웨어 흐름도

8. 설명 영상

Altium Designer 소프트웨어 정보

KEIL 소프트웨어 정보

프로테우스 소프트웨어 정보

마이크로컨트롤러 학습 자료

방어 기술

설계 보고서에 대한 일반적인 설명

마우스를 두 번 클릭하여 열고 더 많은 51 STM32 마이크로컨트롤러 과정 졸업 프로젝트.url을 찾아보세요.

img

데이터 다운로드 링크(클릭 가능):

추천

출처blog.csdn.net/weixin_52733843/article/details/132757650