編寫控制單晶片LED燈閃爍週期的按鍵教學

WBOY
發布: 2024-01-22 17:18:06
轉載
755 人瀏覽過

編寫控制單晶片LED燈閃爍週期的按鍵教學

教導透過按鍵控制單晶片LED燈閃爍週期的程式怎麼寫

你用的什麼單晶片?

看你說的應該是跑馬燈,給你一個最常見的,51單晶片,跑馬燈C程式。

若有需要可以給你更多,本人硬體開發工程師。

望採納。

例,這是一個51單晶片的跑馬燈C程序,已經在PROTEUS軟體上模擬通過

#include

void delay(int);

void main()

{

int i;

P0=0x01;

delay(500);

while(1)

{

for(i=0;i

{

P0

delay(500);

}

P0=0x01;

delay(500);

}

}

void delay(intx)

{

int i,j;

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

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

}

:

#include

void delay(int);

void main()

{

int i;

P0=0x01;

delay(500);

while(1)

{

for(i=0;i

{

P0

delay(500);

}

P0=0x01;

delay(500);

}

}

void delay(intx)

{

int i,j;

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

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

}

單晶片走馬燈程式

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

#include

#define count 11

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

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

0xff};

char disp[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}};

void delay1ms(int);

void scanner(char);

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

main()

{ char i=0;

while(1)

{

if(i==0)

{ for(i=0;i

scanner(i);

}

else

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

{

scanner(i);

if(i==0)break;}

#}

}

}

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

void delay1ms(int x )

{ int i,j;

for(i=0;i

for(j=0;j

}

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

void scanner(char x)

{ char i,j,scan,BCD;

for(i=0;i { scan=1;

for(j=0;j

{ P0=0xff;

P2=~scan;

BCD=disp[x][j];

P0=TAB[BCD];

delay1ms(4);

scan

}

}

}

單晶片跑馬燈怎麼做

#include

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 Delay()

{

unsigned char i,j;

for(i=0;i

for(j=0;j }

void main()

{

while(1)

{

P1 = 0xff;

LED1 = 0;

Delay();

LED2 = 0;

LED1 = 1;

Delay();

LED3 = 0;

LED2 = 1;

Delay();

LED4 = 0;

LED3 = 1;

Delay();

LED5 = 0;

LED4 = 1;

Delay();

LED6 = 0;

LED5 = 1;

Delay();

LED7 = 0;

LED6 = 1;

Delay();

LED8 = 0;

LED7 = 1;

Delay();

}

}

單晶片跑馬燈程式

org 0000h

ajmp start

org 0030h

start:

mov a,#0ffh ;

#clr c ;

mov r2,#08h ;循環八次。

loop: rlc a ;帶進位左移。

mov p1,a ;輸出到P1口。

call delay ;延時一段時間

djnz r2,loop ;反覆循環

#mov r2,#07h ;再往回迴圈。

loop1: rrc a ;帶進位右移

mov p1,a ;輸出到P1口。

call delay ;延時一段時間

djnz r2,loop1 ;反覆循環

jmp start ;重新開始

delay: mov r3,#20 ;延時子程式

d1: mov r4,#20

d2: mov r5,#248

djnz r5,$

djnz r4,d2

djnz r3,d1

ret### ###end###

以上是編寫控制單晶片LED燈閃爍週期的按鍵教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:docexcel.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板