单片机点亮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灯点亮。

    相关阅读

    PLC在电气自动化控制系统中都扮演了什么角色?

    似乎无所不能啊,都来看看plc 在控制系统中都扮演了什么!!! 这是一张典型的PLC控制系统的框图 1、用于开关量控制 PLC控制开关量的能力是很强的。所控制的入出点数,少的十几点、...
    2023-03-07
    PLC在电气自动化控制系统中都扮演了什么角色?

    现场总线的概念和特点

    现场总线 控制系统 ( Fieldbus Control System , FCS) 是用开放的现场总线控制通信网络将自动化最底层的现场控制器和现场智能仪表设备互连的实时网络控制系统。 一般而言,现场总线与局...
    2023-03-08

    电动机运行和修理的安全事项,详细介绍,建议收藏

    电动机是工业、农业用电力机械最常用的动力之一,因此,电动机的安全运行和安全维修(此二者是相互关联的)是保证各种电动机械正常工作的基本条件。为保证电动机的安全运行应...
    2023-06-13
    电动机运行和修理的安全事项,详细介绍,建议收藏

    共射极放大电路与二极管稳压电路图

    1、共射极放大电路 稳压电路图" width="383" height="310" /> 共射电路是放大电路中应用最多的一种三极管接法,信号由三极管基极和发射极输入,从集电极和发射极输出。 该电路的发射极为...
    2022-12-12
    共射极放大电路与二极管稳压电路图

    高压电气作业操作中的安全距离

    在高压电气 作业的操作中,应严格按照有关规程的规定与带电导体保持一定的安全距离: (1)使用绝缘杆进行操作时,人身与带电导体的安全距离不得小于表一所示值。 表一 人身与...
    2023-03-17

    热销商品

    加厚abs安全帽电工建筑工地程施工领导监理透气防砸头盔可印字V型

    这款加厚ABS安全帽专为电工、建筑工地施工人员、领导及监理设计,采用高强度ABS工程塑料,抗冲击、防砸性能优异,有效保障头部安全。帽体加厚设计,增强耐用性与防护等级...
    5.8

    水口钳高硬度模型剪钳电子钳工业级口水剪斜嘴钳偏口斜口专用钳子

    水口钳高硬度模型剪钳是一款工业级精密工具,专为电子、模型制作及精细作业设计。采用优质高碳钢材质,经热处理工艺打造,具备卓越的硬度和耐磨性,可轻松剪切金属引脚、...
    4.8

    170电子剪钳II 如意斜口钳 工业斜嘴钳水口钳 模型剪塑胶钳尖嘴钳

    170电子剪钳II如意斜口钳是一款专业级精密工具,集工业斜嘴钳、水口钳、模型剪、塑胶钳与尖嘴钳功能于一体,适用于电子维修、模型制作、手工艺及精密作业。其采用优...
    4.5

    安全帽国标工地加厚施工领导透气安全头盔建筑工程监理免费印字

    本款安全帽严格遵循国家GB 2811-2019标准,专为建筑工程、工地施工及监理人员设计。采用高强度ABS工程塑料,加厚壳体有效抗冲击,保障头部安全。帽体轻盈透气,内置可调...
    10

    包邮三角型简易螺丝刀三角十字螺丝刀螺丝批改锥起子五金工具5mm

    这款5mm三角型简易螺丝刀,专为拧紧或拆卸三角形螺丝设计,适用于电子维修、家电维护及精密仪器装配等场景。采用优质合金钢材质,刀头硬度高、耐磨损,确保长久使用不变...
    3.64

    网站栏目