发光二极管
发光二极管简称为LED。由镓、砷、磷的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。在电路及仪器中作为指示灯,或者组成文字或数字显示。磷砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光。
发光二极管与普通二极管一样也具有单向导电性。当给发光二极管加上大于其导通电压的正向电压后,就会有电流产生,同时发出相应颜色的光,不同颜色的二极管的工作也是不一样的,一般发光二极管的工作电压是2V,其工作电流大多为5—20mA,因此如果用5V的电源进行供电则需要加入限流电阻,其阻值由下式计算:
R=U-Ue/I
图3.1.1 LED工作原理图
单片机的I/O口有两种状态“1”和“0”,当为“1”时其管脚输出为高电平,即为5V,当为“0”时为低电平,即为0V。
由上图可以,当P0.0为高时发光二级管两端电压相同,即不会产生电流,发光二极管就不会发光,当P0.0为低时,5V和P0.0就会有5V的电压,就会有电流流过LED0,使发光二极管发光。这样我们通过控制单片机的I/O口的高低电平就能实现对LED 的亮灭控制。
3.1.1使LED间隔亮灭
图3.1.3 LED间隔亮灭程序
单片机IO口 模块接口 杜邦线数量 功能
P0.0 LED1 1 控制LED1
P0.1 LED2 1 控制LED2
P0.2 LED3 1 控制LED3
P0.3 LED4 1 控制LED4
P0.4 LED5 1 控制LED5
P0.5 LED6 1 控制LED6
P0.6 LED7 1 控制LED7
P0.7 LED8 1 控制LED8
表3.1.1 LED间隔亮灭接线方式
实验现象:LED间隔亮灭,第一个LED不亮,第二个亮,第三个不亮……
图3.1.4 LED间隔亮灭运行图
程序讲解:
1、#include在reg52.h中有为单片机中特殊寄存器定义的宏,例如P0对应的寄存器为0X90,直接用P0就代替了枯燥的数字,减轻程序员的记忆内容。
2、main()函数。C 程序最大的特点就是所有的程序都是用函数来装配的。main()称之为主函数,是所有程 序运行的入口。其余函数分为有参或无参两种,均由 main()函数或其它一般函数调用,若调用的是有参函数,则参数在调用时传递。一个程序有且只有一个 main 函数。
3、while()。计算机的一种基本循环模式。当括号内表达式的值为“1”进入循环,不满足则跳出。因为本程序只是使一个I/O口拉低,因此在循环里不需要任何内容。
3.1.2 一个LED闪烁
图3.1.4 LED闪烁流程图
延时原理:单片机每执行一条指令都需要一定的时间(t),如果某条指令执行N次那么所耗费的时间将会是T=N*t;我们可以通过改变N的大小来改变延时的时间长短。
图3.1.5 实物连线图
杜邦线连接——单片机IO和模块接口
单片机IO口 模块接口 杜邦线数量 功能
P0.0 LED1 1 LED闪亮
表3.1.2 LED闪烁接线方式
图3.1.6 LED闪烁程序
程序讲解:
sbit 这个关键字是C51中特有的,用于定义 SFR(特殊功能寄存器)的位变量。sbit LED=P0^0; 表示定义发光管连接的硬件端口, LED 定义在P1 (特殊功能寄存器的第0位,即P1.0,定义了这个端口以后,下面对P1.0的操作,我们就可以直接用 LED 代替,
LED=1; //将P1.0 口赋值 1,对外输出高电平
LED=0; //将P1.0 口赋值 0,对外输出低电平
由于sbit定义位变量,所以赋值结果只有 0和 1。
实验现象:开发板上的第一个LED闪亮
-
led
+关注
关注
241文章
23135浏览量
658445 -
二极管
+关注
关注
147文章
9572浏览量
165893 -
单片机
+关注
关注
6032文章
44516浏览量
632991 -
发光二极管
+关注
关注
13文章
1193浏览量
66200
发布评论请先 登录
相关推荐
评论