📄 跑马灯.c
字号:
/*-------------------------------------------*/
/*P0~P3一个灯循环亮且由慢变快*/
#include<stdio.h>
#include<reg51.h>
unsigned int tc; /*延时变量tc*/
void main()
{
void delay(int t); /*定义延时函数delay(int t)或delay(t)但delay()是错的因此函数是有参数的。*/
void light(); /*void函数应无类型int. float等 说明,定义亮灯函数 light(),其是无参数的。*/
while(1) /*大循环*/
{
tc=5000;
while(tc>500) /*tc由5000开始到500循环*/
{
light();
tc=tc-1500;
}
while(tc>=100) /*tc由500开始到小于100循环*/
{light();
tc=tc-80;}
}
} /*継续大循环*/
void light() /*亮灯子函数 light()其无直接参数*/
{
unsigned int c;
int i;
c=0x0fe; /*P0口亮*/
for(i=1;i<=9;i++)
{P0=c;
delay(tc);
c=c<<1|1; /*等价c=c<<1;c=c+0x01*/
} /*注:若用P0=P0<<1|1;因读P0再右移再加1,当P0某个脚外电路拉底就不对了*/
c=0x7f;
for(i=1;i<=9;i++)
{P2=c;
delay(tc);
c=c>>1|0X80;
}
c=0x7f;
for(i=1;i<=9;i++)
{P3=c;
delay(tc);
c=c>>1|0X80;
}
c=0x7f;
for(i=1;i<=9;i++)
{P1=c;
delay(tc);
c=c>>1|0X80;
}
}
void delay(int t) /*延时函数delay(int t)*/
{int i;
for(i=1;i<=t;i++)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -