Heim >Computer-Tutorials >Computerwissen >Tutorial zum Schreiben von Tasten zur Steuerung des Blinkzyklus der LED-Leuchte eines Mikrocontrollers
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--);
}
//==============
#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
} } } #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(); } } 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 EndeWie man mit einem Mikrocontroller ein Festzelt baut
MCU-Festzeltprogramm
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!