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--);
}
//==============
#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 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 endHow to make a marquee with a microcontroller
MCU marquee program
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!