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초 공격 카운트다운 후 알림으로 부저가 울립니다.
아래 사진은 미드필더에서 A팀이 26득점, B팀이 26득점을 올린 모습입니다. 장소를 바꾸고 점수를 매겨야 하는 경우 장소 교환 버튼을 탭하기만 하면 됩니다. 점수가 반전됩니다.
교환 후:
3. 프로그램 코드
keil4 또는 keil5를 사용하여 컴파일하면 코드에 주석이 있으며 보고서와 함께 코드의 의미를 이해할 수 있습니다.
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로 그려져 있어 실제 참고자료로 활용이 가능합니다.시뮬레이션은 실제와 다르기 때문에 경험이 없으신 분들은 쉽게 하지 마세요.
Proteus 시뮬레이션과 실제 작업의 차이점:
1. 실행 환경: Proteus 시뮬레이션은 컴퓨터에서 실행되는 반면 실제 시뮬레이션은 하드웨어 회로 기판에서 실행됩니다.
2. 디버깅 방법: Proteus 시뮬레이션에서는 쉽게 단일 단계 디버깅을 수행하고 변수 값의 변화를 관찰할 수 있지만 실제 개체에서는 디버거 또는 직렬 포트 출력을 통해 디버깅해야 합니다.
회로 연결 방법: Proteus 시뮬레이션에서는 소프트웨어 설정을 통해 회로 연결을 수정할 수 있지만 실제로는 하드웨어 회로 기판 및 연결 와이어를 통해 수정해야 합니다.
3. 실행 속도: Proteus 시뮬레이션은 컴퓨터 작동을 기반으로 하기 때문에 일반적으로 실제보다 빠르게 실행되는 반면, 실제는 회로 기판의 물리적 한계 및 장치의 응답 시간과 같은 요소를 고려해야 합니다.
4. 기능 실현: Proteus 시뮬레이션에서는 소프트웨어 설정을 통해 다양한 기능을 실현할 수 있지만 실제 물체에서는 회로 설계 및 장치 성능에 따라 실현되어야 합니다.
5. 설계 보고서
8554+ 단어 디자인 보고서
6. 디자인 정보 콘텐츠 목록 및 다운로드 링크
머티리얼 디자인 자료에는 시뮬레이션, 프로그램 코드, 설명 비디오, 기능 요구 사항, 디자인 보고서, 소프트웨어 및 하드웨어 디자인 블록 다이어그램 등이 포함됩니다.
0. 일반적인 사용 문제 및 해결 방법 - 꼭 읽어보세요! ! ! !
1. 시뮬레이션 다이어그램
2. 프로그램 소스코드
3. 제안보고서
4. 개략도
5. 기능적 요구사항
6. 설계 보고서
7. 소프트웨어 및 하드웨어 흐름도
8. 설명 영상
Altium Designer 소프트웨어 정보
KEIL 소프트웨어 정보
프로테우스 소프트웨어 정보
마이크로컨트롤러 학습 자료
방어 기술
설계 보고서에 대한 일반적인 설명
마우스를 두 번 클릭하여 열고 더 많은 51 STM32 마이크로컨트롤러 과정 졸업 프로젝트.url을 찾아보세요.