请问以下有关单片机跑马灯的C语言程序各语句的含义(详细)

Python012

请问以下有关单片机跑马灯的C语言程序各语句的含义(详细),第1张

#include <reg51.h> //51头文件

#include <intrins.h> //包含移位函数_crol_

void Delay10ms(unsigned int c) //延时函数声明

void main(void)

{

unsigned char LED

LED = 0x01 //一个unsigned char有8位,每一位代表了一个灯,初始点亮第一盏灯

while(1)

{

P0 = LED //点亮一盏灯

Delay10ms(50) //延时500ms,让其量一会儿

LED = _crol_(LED,1)//向左移位函数,比如 0x01 -->0x02 -->0x04 -->0x08 --->0x10

}

}

void Delay10ms(unsigned int c) //延时函数

{

unsigned char a, b

for (c>0c--)//三重循环延时,大约延时10ms

{

for (b=38b>0b--)

{

for (a=130a>0a--)

}

}

}

/***************************************** *用P1口接LED *****************************************/ #include //51系列单片机定义文件 #define uchar unsigned char //定义无符号字符 #define uint unsigned int //定义无符号整数 void delay(uint)//声明延时函数 void main(void) { uint iuchar tempwhile(1) { temp=0x01for(i=0i<8i++) //8个流水灯逐个闪动 { P1^=tempdelay(500)//调用延时函数 temp<<=1} temp=0x80for(i=0i/8个流水灯反向逐个闪动 { P1^=tempdelay(500)//调用延时函数 temp>>=1} temp=0xFEfor(i=0i<8i++) //8个流水灯依次全部点亮 { P1=tempdelay(500)//调用延时函数 temp<<=1} temp=0x7Ffor(i=0i/8个流水灯依次反向全部点亮 { P1=tempdelay(500)//调用延时函数 temp>>=1} } } void delay(uint t) //定义延时函数 { register uint bt//register为寄存器变量 即将无符号整形变量bt放在CPU的寄存器中而不是放在内存中 因为该 变量使用频率高 这样可以提高执行效率 for(tt--) for(bt=0bt<255bt++)}