|
单片机源程序:
#include<reg52.h>//开头,字体HGSoeiPresemceEB
#include<intrins.h>//用intrins头文件函数
#define uchar unsigned char//宏定义uchar代表unsigned char
#define uint unsigned int//宏定义unit代表unsigned int
uint a;//定义a为无符号整型(16位)
uchar i;//定义i为无符号字符型(8位)
uchar temp;//定义字符型变量
void delay(uint z);//void为无返回值函数,delay为时间延时函数
void main()//唯一主函数,无返回值,没参数
{
temp = 0x7f;//temp赋值为11111110
P1 = temp;//P1赋值为temp
while(1)//无限循环
{
for(i = 0; i <8; i++)//i从0开始,<8,执行函数,0+1,<8,执行函数,0+1+1,<8,执行函数...一直到0+1+1+1+1+1+1+1+1为止跳出函数
{
temp = _crol_(temp,1);//定义的temp每次左移一位,循环
P1 = temp;//赋值P1为temp
delay(500);//延时500毫秒
}
}
}
void delay(uint z) //定义z,z是int型形式参数(形参)
{
uint x,y;//定义x和y都是int型数值
for(x = z; x > 0; x--)//for循环初始值x=z,当x>0时,成立,x自减
for(y = 120; y > 0 ; y--);//for循环初始值y=120,当y>0时,成立,y自减
}
按照教程,控制led灯的流水闪烁,但是有几个红字的地方,我不是很懂,希望得到大家的帮助
最后这段
uint x,y;//定义x和y都是int型数值
for(x = z; x > 0; x--)//for循环初始值x=z,当x>0时,成立,x自减
for(y = 120; y > 0 ; y--);//for循环初始值y=120,当y>0时,成立,y自减
虽然做了注释,但是,我不理解,他是怎么和delay(500)配合工作的,如果删了这一段,led灯就流水闪烁的特别厉害,,谢谢大家的帮助,,,
|
|