51单片机学习10-LED灯闪烁
前面把学习单片机要用的软件,简单的提及了下,从这篇开始学习51单片机简单例子,并通过proteus软件来仿真验证结果。最简单的例子51单片机驱动一个LED,虽然例子简单,但是包括了很多知识点,比如头文件,宏定义,位定义,带参数函数,LED灯驱动电路的限流电阻的选择等等。
仿真图如下:
程序代码如下
源程序
#include
#define uint unsigned int
#define uchar unsigned char
sbit LED1=P1^7; //位定义
void delay_ms(uint);//mS级带参数延时函数
void main()
{
while(1)
{
LED1=0;
delay_ms(1000);
LED1=1;
delay_ms(1000);
}
}
void delay_ms(uint z) //延时子程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
仿真结果如下:
单片机加载keil4编译生产的Hex文件后,点击开始运行,LED灯按照间隔1秒的时间开始闪烁
本篇小结:
1.软件部分-头文件,宏定义,位定义,带参数函数。
2.硬件部分-LED灯限流电阻的选取方法
LED灯根据不同的颜色,压降不同。假定LED的压降电压为1.7V,正常工作的电流为5mA--20mA,那就可以很简单的算出R=(5V-1.7V)/(5mA--20mA) 是一个范围值,然后在范围能选取一个常用的电阻值即可。
查看原文 >>