前面把学习单片机要用的软件,简单的提及了下,从这篇开始学习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) 是一个范围值,然后在范围能选取一个常用的电阻值即可。

查看原文 >>
相关文章