51 マイクロコントローラー インテリジェント電気スタンド制御システム シミュレーション (プロテウス シミュレーション + プログラム + 回路図 + レポート + 説明ビデオ)

51 個のマイクロコントローラーを使用した赤外線感光検出用のインテリジェント電気スタンド制御システムのシミュレーション

51 マイクロコントローラー赤外線感光検出インテリジェント電気スタンド制御システム シミュレーション (プロテウス シミュレーション + プログラム + 回路図 + レポート + 説明ビデオ)

シミュレーション図 proteus7.8以降

プログラムコンパイラ:keil 4/keil 5

プログラミング言語:C言語

デザイン番号:S0050

1.主な機能:

51マイクロコントローラーに基づく赤外線検出と光検出のためのインテリジェント電気スタンドのシミュレーション設計

1. 光の強度を検出し、デジタル管に表示します。

2.赤外線人体検知機能を搭載しています。

3. 照明制御モードは自動モードと手動モードに分かれており、自動モードでは自動モード表示灯が点灯します。

4.自動モードでは、人体を感知し、光の強さに応じてLEDの明るさが自動的に変化します。手動モードでは、ボタンを押して LED の明るさを制御します。

5. ソフトウェア PWM が LED の明るさを制御します。

シミュレーションにおける 51 マイクロコントローラー チップはユニバーサルであることに注意してください。AT89C51 と AT89C52 は 51 マイクロコントローラーの特定のモデルであり、コアは互換性があります。stc、atに関わらず端子機能、プログラムは同一であり、STC89C52/STC89C51/AT89C52/AT89C51など51個のマイコンチップに置き換え可能です。

2. シミュレーション

シミュレーションを開始する

シミュレーション プロジェクトを開き、proteus でマイクロコントローラーをダブルクリックし、16 進数ファイルのパスを選択して、シミュレーションを開始します。シミュレーションを開始すると、デジタル チューブには現在の光強度 32 と LED ライト 6 の明るさレベルが表示されます。

画像

自動モード:

自動モードでは、光の強さに応じてライトの明るさレベルが変化し、光の強さが大きくなると明るさのレベルは低くなります。最大光強度が 99 の場合、明るさレベルは 0 となり、電気スタンドのランプビーズは消えます。

画像

自動モードでは、光の強さに応じてライトの明るさレベルが変化し、光の強さが小さいほど明るさのレベルは高くなります。最大光強度が0の場合、明るさレベルは9で、電気スタンドのビーズが最も明るくなります。

画像

自動モードでは、赤外線検出が人体を検出しない場合、電気スタンドのランプビーズは光の強さに関係なく消えます。

画像

マニュアルモード:

手動モードでは、電気スタンドのライトの明るさは明るさ切り替えボタンによってのみ影響され、光の強度や赤外線検出には影響されません。

画像

上記のシミュレーション結果は設計要件と一致しています。

3. プログラムコード

keil4 または keil5 を使用してコンパイルすると、コードにはコメントが付いており、レポートと合わせてコードの意味を理解できます。

画像

メイン機能

//主函数
void main()
{
    
    
	uchar k=0,i=0;
	uint j=0;
	adc0808_start=0;
	adc0808_oe=0;

	TMOD|=0X01;//初始化定时器
	TH0=0X3C;
	TL0=0XB0;	
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
	TR0=1;//打开定时器
	while(1)
	{
    
    
		

		//显示光照
		P0=0XFF;
		smg3=1;smg2=0;smg1=0;
		P0=smgduan[light/10];
		delay(100);

		P0=0XFF;
		smg3=1;smg2=0;smg1=1;
		P0=smgduan[light%10];
		delay(100);
		//启停指示
		if(start)
		{
    
    
		P0=0XFF;
		smg3=1;smg2=1;smg1=0;
		P0=0xbf;
		delay(100);
		}
		//显示亮度
		P0=0XFF;
		smg3=1;smg2=1;smg1=1;
		P0=smgduan[pwm];
		delay(100);

		if(!k1 &&(k!=1) &&(start==0))//启动
		{
    
    
			k=1;
			start=1;
			fen=set;
			miao=0;
		}
		if(!k2 &&(k!=2))//停止
		{
    
    
			k=2;
			start=0;
		}
		if(!k3 &&(k!=3))//手动,自动
		{
    
    
			k=3;
			mode=!mode;
		}

		if(mode==1)
		{
    
    
		if(!k6 &&(k!=6))//亮度切换
		{
    
    
			k=6;
			if(pwm<9)
				pwm++;
			else
				pwm=1;
		}
		}
		if(k1 && k2 && k3 && k4 && k5 && k6)
			k=0;
		//输出PWM
		if(mode==0)//自动模式
		{
    
    
			led=0;
		if((start==1)&& !ir_in)
		{
    
    
			j=0;
			if(i<9)
				i++;
			else
				i=0;
			if(i<pwm)
				out=0;
			else
				out=1;
		}
		else
		{
    
    
			out=1;
		}
		}
		else//手动模式
		{
    
    
			led=1;
		if(start==1)
		{
    
    
			if(i<9)
				i++;
			else
				i=0;
			if(i<pwm)
				out=0;
			else
				out=1;
		}
		else
		{
    
    
			out=1;
		}
		}
	}
}

4. 概略図

模式図はADで描いており、実物を参考にすることができますが、シミュレーションは実物とは異なりますので、未経験の方は安易に作らないでください。

画像

Proteus シミュレーションと物理的な作業の違い:

1. 実行環境: Proteus シミュレーションはコンピュータ上で実行されますが、実物はハードウェア回路基板上で実行されます。

2. デバッグ方法: Proteus シミュレーションでは、シングルステップ デバッグを簡単に実行して変数値の変化を観察できますが、実際のオブジェクトでは、デバッガーまたはシリアル ポート出力を通じてデバッグする必要があります。

回路接続方法: Proteus シミュレーションでは、回路接続はソフトウェア設定を通じて変更できますが、実際にはハードウェア回路基板と接続ワイヤを通じて変更する必要があります。

3. 実行速度: Proteus シミュレーションはコンピュータ操作に基づいているため、通常、実物よりも高速に実行されますが、実物は回路基板の物理的制限やデバイスの応答時間などの要素を考慮する必要があります。

4. 機能の実現: Proteus シミュレーションでは、ソフトウェアの設定によってさまざまな機能を実現できますが、実際のオブジェクトでは、回路設計とデバイスの性能に応じて実現する必要があります。

5. 設計レポート

6174ワードのデザインレポート

画像

6. デザイン情報コンテンツ一覧&&ダウンロードリンク

マテリアルデザイン資料には、シミュレーション、プログラムコード、解説ビデオ、機能要件、設計レポート、ソフトウェアおよびハードウェアの設計ブロック図などが含まれます。

0. 使用上の一般的な問題と解決策 - 必読!

1. シミュレーション図

2. プログラムのソースコード

3. 提案報告書

4. 概略図

5. 機能要件

6. コンポーネントリスト

7. 設計レポート

8. ソフトウェアおよびハードウェアのフローチャート

9. 解説動画

Altium Designer ソフトウェア情報

ファイル名.bat

KEIL ソフトウェア情報

プロテウス ソフトウェア情報

マイコン学習教材

ディレクトリ一覧.txt

防御スキル

設計レポートの共通説明

マウスをダブルクリックして開くと、詳細が表示されます。 51 STM32 マイクロコントローラー コース卒業プロジェクト.url

画像

データのダウンロードリンク:

https://docs.qq.com/doc/DS3hUb3FHUUZQVWZp

おすすめ

転載: blog.csdn.net/weixin_52733843/article/details/132797046