ホームページ  >  記事  >  コンピューターのチュートリアル  >  マイコンの LED ライトの点滅周期を制御するボタンの書き方のチュートリアル

マイコンの LED ライトの点滅周期を制御するボタンの書き方のチュートリアル

WBOY
WBOY転載
2024-01-22 17:18:06750ブラウズ

マイコンの LED ライトの点滅周期を制御するボタンの書き方のチュートリアル

ボタンを介してマイクロコントローラーの LED ライトの点滅サイクルを制御するプログラムの作成方法を説明します

どのようなマイクロコントローラーを使用していますか?

マーキーについて話しているようですが、最も一般的な 51 マイクロコントローラーとマーキー C プログラムを紹介します。

必要に応じてさらに詳しくお話します。私はハードウェア開発エンジニアです。

採用希望。

たとえば、これは 51 マイクロコントローラー用の主要な C プログラムであり、PROTEUS ソフトウェアでシミュレートされています。

####含む######

ボイド遅延(int);

void main()

{

int i;

P0=0x01;

遅延(500);

その間(1)

{

for(i=0;i {

P0

遅延(500);

}

P0=0x01;

遅延(500);

}

}

無効遅延(intx)

{

int i,j;

for(i=x;i>0l;i--)

for(j=110;j>0;j--);

}

:

####含む######

ボイド遅延(int);

void main()

{

int i;

P0=0x01;

遅延(500);

その間(1)

{

for(i=0;i

{

P0

遅延(500);

}

P0=0x01;

遅延(500);

}

}

無効遅延(intx)

{

int i,j;

for(i=x;i>0l;i--)

for(j=110;j>0;j--);

}

SCM回転ドアプログラム

//==============

####含む ######

#カウント 11

を定義します

char TAB[]={ 0xc0,0xf9,0xa4,0xb0,0x99,

0x92,0x83,0xf8,0x80,0x98,

0xff};

文字表示[11][4]={ {10,10,10,10},

{1,10,10,10}、{10,1,10,10}、{10,10,1,10}、{10,10,10,1},

{2,10,10,1}、{10,2,10,1}、{10,10,2,1},

{3,10,2,1},{10,3,2,1},

{4,3,2,1}};

ボイド遅延1ms(int);

ボイドスキャナ(文字);

//================

###主要()###

{char i=0;

その間(1)

{

if(i==0)

{ for(i=0;i スキャナ(i);

}

###それ以外###

{for(i=10;i>=0;i--)

{

スキャナ(i);

if(i==0)break;}

}

}

}

//================

ボイド遅延1ms(int x)

{ int i,j;

for(i=0;i

for(j=0;j }

//====================

ボイドスキャナ(文字x)

{ 文字 i,j,スキャン,BCD;

for(i=0;i {スキャン=1;

for(j=0;j

{ P0=0xff;

P2=~スキャン;

BCD=disp[x][j];

P0=TAB[BCD];

遅延1ms(4);

スキャン }

}

}

マイクロコントローラーを使用してマーキーを作成する方法

####含む ######

sbit LED1 = P1^0;

sbit LED2 = P1^1;

sbit LED3 = P1^2;

sbit LED4 = P1^3;

sbit LED5 = P1^4;

sbit LED6 = P1^5;

sbit LED7 = P1^6;

sbit LED8 = P1^7;

void 遅延()

{

unsigned char i,j;

for(i=0;i

for(j=0;j

}

void main()

{

その間(1)

{

P1 = 0xff;

LED1 = 0; ###遅れ();###

LED2 = 0;

LED1 = 1;

###遅れ();###

LED3 = 0;

LED2 = 1;

###遅れ();###

LED4 = 0;

LED3 = 1;

###遅れ();###

LED5 = 0;

LED4 = 1;

###遅れ();###

LED6 = 0;

LED5 = 1;

###遅れ();###

LED7 = 0;

LED6 = 1;

###遅れ();###

LED8 = 0;

LED7 = 1;

###遅れ();###

}

}

MCU マーキー プログラム

組織0000h

ajmp開始

組織0030h

###始める:###

mov a,#0ffh ;

clr c ;

mov r2,#08h ; 8 回ループします。

loop: rlc a ; キャリー付きで左にシフトします。

mov p1,a ; P1 ポートに出力します。

通話遅延;一定期間の遅延

djnz r2,loop ;繰り返しループ

mov r2,#07h; その後、ループバックします。

loop1: rrc a ; キャリー付き右シフト

mov p1,a ; P1 ポートに出力します。

通話遅延;一定期間の遅延

djnz r2,loop1 ;繰り返しループ

jmp開始 ;再起動

遅延: mov r3,#20; 遅延サブルーチン

d1: ムーブ r4,#20

d2: mov r5,#248

djnz r5、$

djnz r4,d2

djnz r3,d1

レット

###終わり###

以上がマイコンの LED ライトの点滅周期を制御するボタンの書き方のチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はdocexcel.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。