在上一篇中《单片机实现跑马灯》中我们完成了一个漂亮的流水灯,里面有一段代码我们来分析一下吧,看看单片机是怎么理解这段代码的。
《单片机实现跑马灯》(点击图片跳转)
#include <reg51.h> //此文件中定义了51的一些特殊功能寄存器
void Delay10ms(unsigned int); //误差 0us
void main() //主函数
{
while(1)
{
P2 = 0x00; //置P0口为低电平
Delay10ms(50); //调用延时程序
P2 = 0xff; //置P0口为高电平
Delay10ms(50); // 调用延时程序
}
}
void Delay10ms(unsigned int c) //误差 0us
{
unsigned char a,b;
for(;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
为什么我们可以直接给P2赋值呢?哪里定义了这个变量,打开Keil的安装目录(例如我的在C:\Keil\C51\INC\REG51.H)我们可以看到一个头文件,内容里面定义了P2.粘贴一部分如下。