51单片机中 什么i变量能定义两次?我给你看个例子 led流水灯 51单片机流水灯程序

作者&投稿:衅迫 (若有异议请与网页底部的电邮联系)
这两次所用的变量 i 都是局部变量,一个是在延时函数void delay(u16 i)中作形参,当这个延时函数调用完了,这个变量就取消了。而第二次用是在主程序中,也是局部变量,只在主程序中起作用,对其它无影响。
如果这个变量 i 是在主程序和子函数以外定义的,就是全局变量了,那两次使用会互相影响了。

i在这里是局部变量,除非移到外面才是全局变量

真的看得懂吗

用AT89C51单片机控制8个Led的流水灯的C程序看不懂~

#include 包含单片机专用头文件
#include 这个是什么俺也不知道,但这个程序不需要这个头文件
void Delay10ms(unsigned int c); 自定义的延时函数声明
main() 主函数
{
unsigned int LED; 建立一个数值型变量,变量名 LED
LED=0xfe; 给这个变量赋值,0xfe 换成二进制数为 1111 1110
while(1) 主循环
{
P2=LED; 点亮发光管,即先点亮右边的第一个
Delay10ms(50); 延时一段时间
LED=LED<<1; 点亮的发光管,向左移动一位
if (P2==0x00) 判断是否8个全部点亮了
{
LED=0xff; 如果全部点亮,则将全部发光管熄灭
}
}
}

void Delay10ms(unsigned int c)延时函数主程序
{
unsigned char a, b;建立两个变量 a b
for(;c>0;c--)循环语句,不断改变变量数值,已达到延时目的
{
for(b=38;b>0;b--)
{
for(a=130;a>0;a--);
}
}
}

给你翻译了,希望能帮到你

来自理科生的浪漫,用51单片机制作心形流水灯