Heim > Computer-Tutorials > Computerwissen > Tutorial zum Schreiben von Tasten zur Steuerung des Blinkzyklus der LED-Leuchte eines Mikrocontrollers

Tutorial zum Schreiben von Tasten zur Steuerung des Blinkzyklus der LED-Leuchte eines Mikrocontrollers

WBOY
Freigeben: 2024-01-22 17:18:06
nach vorne
796 Leute haben es durchsucht

Tutorial zum Schreiben von Tasten zur Steuerung des Blinkzyklus der LED-Leuchte eines Mikrocontrollers

Lernen Sie, wie man ein Programm schreibt, um den LED-Blinkzyklus eines Mikrocontrollers über Tasten zu steuern

Welchen Mikrocontroller verwenden Sie?

Ich glaube, Sie sprechen von einem Marquee. Ich gebe Ihnen das gebräuchlichste, einen 51-Mikrocontroller und ein Marquee-C-Programm.

Ich kann Ihnen bei Bedarf mehr geben, ich bin Hardware-Entwicklungsingenieur.

Ich hoffe, es zu übernehmen.

Beispielsweise handelt es sich hier um ein erstklassiges C-Programm für einen 51-Mikrocontroller, das mit der PROTEUS-Software simuliert wurde

#include

void-Verzögerung(int);

void main()

{

int i;

P0=0x01;

Verzögerung(500);

while(1)

{

for(i=0;i

{

P0

Verzögerung(500);

}

P0=0x01;

Verzögerung(500);

}

}

Void-Verzögerung(intx)

{

int i,j;

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

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

}

:

#include

void-Verzögerung(int);

void main()

{

int i;

P0=0x01;

Verzögerung(500);

while(1)

{

for(i=0;i

{

P0

Verzögerung(500);

}

P0=0x01;

Verzögerung(500);

}

}

Void-Verzögerung(intx)

{

int i,j;

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

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

}

MCU-Drehtürprogramm

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

#include

#Anzahl 11 definieren

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);

}

sonst

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

{

scanner(i);

if(i==0)break;}

}

}

}

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

Void-Verzögerung1ms(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];

Verzögerung1ms(4);

scan

}

}

}

Wie man mit einem Mikrocontroller ein Festzelt baut

#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;

Verzögerung();

LED2 = 0;

LED1 = 1;

Verzögerung();

LED3 = 0;

LED2 = 1;

Verzögerung();

LED4 = 0;

LED3 = 1;

Verzögerung();

LED5 = 0;

LED4 = 1;

Verzögerung();

LED6 = 0;

LED5 = 1;

Verzögerung();

LED7 = 0;

LED6 = 1;

Verzögerung();

LED8 = 0;

LED7 = 1;

Verzögerung();

}

}

MCU-Festzeltprogramm

org 0000h

ajmp start

org 0030h

Start:

mov a,#0ffh ;

clr c ;

mov r2,#08h ; Schleife achtmal.

loop: rlc a ; nach links verschieben mit Carry.

mov p1,a ; Ausgabe an Port P1.

Anrufverzögerung; Verzögerung für einen bestimmten Zeitraum

djnz r2,loop; Schleife wiederholt

mov r2,#07h ; dann Schleife zurück.

loop1: rrc a ; nach rechts verschieben mit Carry

mov p1,a ; Ausgabe an Port P1.

Anrufverzögerung; Verzögerung für einen bestimmten Zeitraum

djnz r2,loop1; Schleife wiederholt

jmp start;nochmals beginnen

Verzögerung: mov r3,#20; Verzögerungsunterroutine

d1: mov r4,#20

d2: mov r5,#248

djnz r5,$

djnz r4,d2

djnz r3,d1

ret

Ende

Das obige ist der detaillierte Inhalt vonTutorial zum Schreiben von Tasten zur Steuerung des Blinkzyklus der LED-Leuchte eines Mikrocontrollers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:docexcel.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage