P0.0口驱动一个LED闪烁

#include<reg51.h> //头文件
sbit led=p0^0; //led接p0.0,定义p0.0为p0^0
void delay(unsigned int x) //延时函数
{
while(x--);
}
void main(void) //主函数
{
led=0; //led灭
delay(4000); //调用延时函数,延时一段时间
led=1; //led亮
delay(50000); //调用延时函数,延时一段时间
}

通过改变端口的电平来改变LED的状态,因为,LED的另一端是接地的,实现LED的闪烁。
delay()函数产生每一个状态的时间差,这种时间差是由函数中的x--产生的,因为每次执行都需要一定的时间,虽然执行一次的时间是很短的,
当向函数传递一个几千大小的参数的时候这种时间差就能被人眼感知到了。

总结:
(1)C51定义P0.0为P0^0,要想让P0.0输出低电平只需让P0^0=0即可;

(2)为了使程序简明,可以利用sbit LED=P0^0语句,让LED代替P0^0;

(3)单片机程序执行顺序为:先执行主函数,在主函数中调用子函数,子函数可以调用子函数,但子函数不可以调用主函数,单片机程序从主函数入口依次执行每一条指令,执行完后返回到主函 数入口进行下依次循环。

(4)仿真软件不能测试软件的安全性和可靠性,也不能测试电路电气特征的完整性,单片机的程序设计或相关产品 开发必须有相关软件和硬件的支撑。

每个人都会有一段异常艰难的时光 。 生活的压力 , 工作的失意 , 学业的压力。 爱的惶惶不可终日。 挺过来的 ,人生就会豁然开朗。 挺不过来的 ,时间也会教你 ,怎么与它们握手言和 ,所以不必害怕的。 ——杨绛
原文地址:https://www.cnblogs.com/zhai1997/p/9100765.html