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 でマイクロコントローラーをダブルクリックし、16 進数ファイルのパスを選択して、シミュレーションを開始します。シミュレーションを開始すると、デジタル チューブに 0 が表示され、タイミングを開始するには開始/一時停止ボタンを押す必要があります。
システムが起動すると、プログラムの流れに従ってLEDデジタル管が点灯し、試合開始までの24秒のカウントダウンと試合のスコアを表示します。開始前の 24 秒のカウントダウン時間は 00.00 と表示されます。試合のスコアは00:00、スタートボタンを押すと24秒カウントダウンデジタル管が0.01の精度でカウントダウンを開始します。試合状況表示ランプが点灯し、Aチームが得点したらA+ボタンを押すと得点が追加されます。修正する必要があるエラーがある場合は、A- を押して 1 回押すと、エラーが 1 つ減ります。チーム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