单片机点亮led灯程序详解

时间:2023-03-07作者:佚名
每个入门单片机的朋友,我想第一个程序几乎都是点亮一颗LED灯了,这同软件工程的“hello world”一样经典,是很简单,但却有着很多回忆,依然记得学习单片机的那段经历,那时经典的8051单片机比如AT89C52要大约8个大洋,电阻电容等等都得自己去买(学校那时没开发实验室),有时为了几颗电阻,几颗LED灯,还得花4元的公交车费跑去电子市场,还论颗买,电阻1毛钱2颗,LED灯M5粗的那种1毛钱1颗,然后兴高采烈的各种焊接,各种跳线,还各种烧毁……回想起来都说泪啊!

  言归正传,我认为单片机第一个程序是点亮LED的理由有几点:

  1、学会用Keil软件建立单片机工程,建立程序文件,软件配置和程序编译。

  2、学会分析电路并分析验证。

  3、学会用proteus绘制电路原理图,并调试仿真。

  4、了解一个小实验的基本流程。

  综合以上几点,认真的做好这个实验,对提高学习兴趣,很有必要。

  什么是LED?

  LED中文名称叫发光二极管,它会发出可见光,常见及常用的有可发红、黄、绿色光的LED灯,在产品中,红色常用来指示系统错误,绿色常用来指示系统正常,黄色常用来警告,根据应用需求的不同,LED灯也各有千秋,如图。

  单片机点亮led灯程序详解

  图中有方形,圆形,贴片等LED,颜色也不一样,一般地,发光颜色与灯的外形颜色相同,使用的时候,必须注意几点:

  1、引脚判断:本例使用2脚的LED灯,新的LED长的引脚为正极,短的引脚为负极。

  2、工作电压:通常为1.2~2.2V

  3、工作电流:2mA~20mA

  如何点亮?

  知道LED的基本参数后,就可以根据需求设计电路了,噢!电路?什么是电路?

  电路:指的是由电源,导线,用电器,开关组成的回路。(大概这样吧)

  那么,点亮LED灯的电路必须包含定义中的部分:

  1、电源:本例用5V直流电源供电。

  2、导线:本例用proteus仿真,连线即为导线。

  3、用电器:LED灯,当然,还得加电阻。

  4、开关:仿真中“运行”相当于开关。

  好了,下面见证LED的成长:

  1、计算:参考LED的参数,本例使用M3大的圆形红色LED来演示,它的工作电流取3mA就足够亮,LED的亮度与电流有关;工作电压取2V(实测得的数据), 那么,怎样满足该条件? 电源用5V供电,而LED只需要2V,还剩3V,怎么办?这时,该电阻出场了,电阻是一种能“吃电能”的家伙,剩余的3V电压就加在它上面,这样就清楚了, Vled = 2V Vr = 3V ,I = 3mA , 电阻和LED灯应该串联,不解释,这里还差一个参数——电阻值,这时,欧姆定律出场, R = U / I = 3V / 3mA = 1K 。

  2、绘制仿真电路图: 过程就不说了,看图

  单片机点亮led灯程序详解

  运行仿真后。

  单片机点亮led灯程序详解

  加入电流表和电压表,测测数据和计算的是否有偏差。

  单片机点亮led灯程序详解

  OK,正确。

  单片机如何控制LED?

  上图中是给LED灯直接加电压,使之点亮,这种控制方式是靠控制开关的通断使之亮灭,同家庭里的灯是一样一样的,单片机的出现开启了电子设备智能时代,换一种方式,用单片机去控制LED灯的亮灭,而单片机靠执行程序去输出想要的结果,真真正正地把人的思想实现出来。

  单片机是数字电路,输出/输入只有高电平1和低电平0之分,通常0~0.4V的电压范围定义为低电平,大于2V定义为高电平,如图是单片机控制LED灯的电路图。

  单片机点亮led灯程序详解

  PS:由于是仿真,这里偷懒了,图中省略了时钟电路,电源电路和复位电路

  将LED灯的负极连接到单片机P1.0口,正极串口电阻R1到 5V,这样原理相同的,单片机输出低电平0,使得LED和电阻通路的两端产生电势差,相当于上面图中的“5V电源”,从而满足LED灯的参数,点亮LED灯;而当单片机P1.0口输出高电平时,电势差约为0,不满足LED灯亮的要求,此时LED灯熄灭,要达到这样的效果,必须将“想法”装给单片机,这时程序闪亮登场。

  程序编写:用keil新建一个C语言程序工程,代码如下:

  单片机点亮led灯程序详解

  运行仿真,可以看到LED灯亮了,具体步骤不多说,网上一大堆

  单片机点亮led灯程序详解

  可是,这样好吗?嗯,实验到这步,流程基本走通了,然而这样的程序并没多大意义,当我们需要点亮多颗灯时,需要shit LED1 = 。.. sbit LED2 = 。.. 然后再赋值,也许你会说:“简单,同时端口赋值嘛, 如 P1 = 0x6D 完事儿” ,但是,这几颗灯要是都不在一个端口呢?这时还是得一个个端口去定义,去赋值?这样好吗?可能不好,下面的程序案例,将点亮LED灯封装在一个函数里,这个函数仅实现点亮LED灯的逻辑功能,使用时根据硬件连接设置函数参数即可,希望起到抛砖引玉的效果。

  单片机点亮led灯程序详解

  单片机点亮led灯程序详解

  单片机点亮led灯程序详解  

  运行结果为P1^2和P1^7输出低电平,LED灯点亮。

相关阅读

电力系统自耦变压器的四大缺点

本文介绍了电力系统中采用自耦变压器的四大缺点,包括增加电力系统的短路电流、调压困难、绕组的过电压保护复杂,使继电保护复杂等,下面与电工之友小编一起来看下。 电力系统...
2023-06-26
电力系统自耦变压器的四大缺点

一名优秀的电气工程师是这样炼出来的

学工控技术,拿10万年薪 马上注册,免费学习 超过100课时视频教程,免费下载海量学习资料 电气设计的书看的还少吗? 一本接一本的文字灌入脑袋, 而真正消化吸收的有多少? 一位...
2023-06-27

傻傻分不清电路?专业电气学姐为你全方面解读(十五)

对于《电工基础》,如果能持续学习的,我想到目前为止也必定是累积了不少的知识,特别是电路分析的相关知识,例如支路电流法、网孔电流法、节点电压法和叠加定理等,这些也是...
2023-06-27
傻傻分不清电路?专业电气学姐为你全方面解读(十五)

常用给排水工程、电气设备文字符号、专业图纸代号,终于找到了!

猜你喜欢 新手学习——给排水工程图识读 一文教你看懂家装水电施工图(新人必看) 一文教你如何读懂电气安装工程系统图...
2023-06-11
常用给排水工程、电气设备文字符号、专业图纸代号,终于找到了!

PLC控制与继电器控制相比较区别在哪里吗

  PLC控制是在继电器控制基础上发展起来的,为了让读者能初步了解PLC控制方式,本节以电动机正转控制为例对两种控制系统进行比较。    继电器正转控制线路   图1-3所示是一...
2023-06-27
PLC控制与继电器控制相比较区别在哪里吗

热销商品

广东珠江电线电缆阻燃国标定制BYJBV BVR YJV YJY RVV RVS RV KVV

广东珠江电线电缆,专注于阻燃国标定制,产品涵盖BYJBVBVRYJVYJYRVVRVSRVKVV等多种规格。我们采用先进生产技术,严格遵循国家标准,确保产品质量可靠、性能稳定。产品适...
¥ 1

可换头防静电塑胶镊子ESD-7A/242/249/259防划伤夹IC硅晶片陶瓷头

ESD-7A/242/249/259是一款专为半导体行业设计的防静电塑胶镊子,有效防止静电对敏感电子元件的损害。其独特之处在于可更换的镊子头,包括专为夹持IC硅晶片和陶瓷元件...
¥ 2

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

86型开关超薄自粘贴式防水罩浴霸开关家用防水盒浴室插座防溅盒子

86型开关超薄自粘贴式防水罩浴霸开关,是一种专为家用浴室设计的创新产品。其采用超薄设计,无需复杂布线,自粘贴式安装方式简洁高效,有效节省空间。防水罩有效阻挡水汽...
¥ 3.9

L型套筒扳手铣口烟斗双头弯头7字穿孔机修六角汽修轮胎工具6-19mm

L型套筒扳手是一款常用于工业领域的多功能工具,具备双头设计,可高效完成铣口、烟斗等多种工件孔位加工,适用六角汽修、轮胎等场景。其套筒尺寸为6-19mm,精准适配各类...
¥ 3.5

网站栏目