Home > Computer Tutorials > Computer Knowledge > Tutorial on writing buttons to control the flashing cycle of the LED light of a microcontroller

Tutorial on writing buttons to control the flashing cycle of the LED light of a microcontroller

WBOY
Release: 2024-01-22 17:18:06
forward
796 people have browsed it

Tutorial on writing buttons to control the flashing cycle of the LED light of a microcontroller

Teach how to write a program that controls the LED light flashing cycle of a microcontroller through buttons

What microcontroller are you using?

It seems that you are talking about a marquee. I will give you the most common one, 51 microcontroller, and a marquee C program.

I can give you more if necessary, I am a hardware development engineer.

Hope to adopt.

For example, this is a marquee C program for a 51 microcontroller, which has been simulated on PROTEUS software

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

}

SCM revolving door program

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

#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

}

}

}

How to make a marquee with a microcontroller

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

}

}

MCU marquee program

org 0000h

ajmp start

org 0030h

start:

mov a,#0ffh ;

clr c ;

mov r2,#08h ; Loop eight times.

loop: rlc a ; shift left with carry.

mov p1,a ; Output to P1 port.

call delay ;delay for a period of time

djnz r2,loop ;repeated loop

mov r2,#07h; then loop back.

loop1: rrc a ; right shift with carry

mov p1,a ; Output to P1 port.

call delay ;delay for a period of time

djnz r2,loop1 ;repeated loop

jmp start ;Restart

delay: mov r3,#20; delay subroutine

d1: mov r4,#20

d2: mov r5,#248

djnz r5,$

djnz r4,d2

djnz r3,d1

ret

end

The above is the detailed content of Tutorial on writing buttons to control the flashing cycle of the LED light of a microcontroller. For more information, please follow other related articles on the PHP Chinese website!

source:docexcel.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template