产品选型

51单片机点亮led 如何用单片机点亮一个LED灯(入门基础篇)

小编 2024-11-24 产品选型 23 0

如何用单片机点亮一个LED灯(入门基础篇)

这几天主要为大家分享一些元件的基础知识以及在电路的应用,一开始没直接就写单片机之类的,对于单片机来说的,需要我们有一些基础,在应用中不但涉及到模拟电子技术也包括数字电子技术,对于从未接触这方面的人员来说,理解起来是有些难度的,为了能让大家都明白,我们还是先学习下它的基础应用。

今天我们使用的单片机芯片为STC89C52,他和俗称51单片机使用方法一样,就是内存大小不一样而已,在我国大部分人入门单片机是从51开始的,在国外用的最多的是Arduino,这也不是绝对的,考虑到大部分人群,我们今天就用51单片机来讲解。

一提到单片机,没有接触过的会产生一个疑问 ,什么是单片机?

STC89C52芯片

官方解释为:单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

简单的理解他就是一个集成电路(内部有很多复杂电路),他能控制许多模块,单片机就像人的大脑,我们做什么是都是由大脑控制,因此单片机的发明使自动化智能化更近了一步。

如果问你如何让一个LED亮的话,可能你想到最直接的方法就是把LED的正极连在VCC,负极连在GND,如果电流太大,可以串联一个电阻起到限制电流的作用;在单片机中道理也是如此,通常我们把LED正极经过串联一个电阻直接连在电源正极,然后另一端接在单片机上。

由原理图可以看出,只要我们把P1^0这个端口接地就行了,因此我们所做的工作就是用单片机能够理解的语言把P1^0这一个端口接地,这就得需要编程,这里就不多介绍编程,回来专门写一篇文章关于编程的文章,这里把程序直接展示出来。

#include<reg52.h>

sbit LED=P1^0;

main()

{

while(1)

{

LED=0;

}

}

这个程序很简单,单片机会一直循环执行LED=0这个语句(在数电中可以简单理解为=0就是接电源负=1就是接电源正),意思就是让P1^0这个端口接地,这样就能使LED一直点亮。

用的贴片展示的效果

一开始学单片机的时候都会从点亮一个LED灯开始做起,就像我们学编程输出一个HELLO WORD一样,大家也不要小瞧LED灯,其实我们生活中很多地方都用到了,像流水灯,交通信号灯,广告牌,甚至连显示屏都会用到LED灯,如果你能够足够熟练操作LED,还是前途无量的。

单片机入手还是比较容易的,如果想熟练应用的话,还是有一定难度的,但是只要我们坚持下来,我相信你就能够熟练开发应用,我会每天发布一些这方面的文章,大家可以关注下,我祝大家能够取得成功!

扫盲教程:51单片机控制单个LED灯点亮 适合新手

说明:本文是单纯的扫盲教程,是单片机最基础也最重要的一个实验,只对单片机入门级的小伙伴,如果你已经是一个老鸟感觉说的很低端,请飘过。

好了,我们言归正传,单片机控制单个LED灯闪烁,这个看似不起眼的小实验,其实很重要,我们几乎是所有的电子学者或者 电子专业的学生进入电子大门的第一个实验,它激发了我们的学习兴趣,打开了我们通往学习的大门,这也是很经典的一个实验,就像C语言中的HELLO WORD!一样, 其实他的控制原理并不复杂只要弄明白其中的原理,有好多问题就会融会贯通,下面我们从硬件和软件两个维度来深入剖析一下。希望你看完能有所收获。

硬件方面

发光二极管:其实发光二极管和普通二极管一样都有正负极且都具有单向导电性,只是掺入了不同的化合物就会显示不同的颜色,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。在电路及仪器中作为指示灯,或者组成文字或数字显示。其实总结起来就一句话:当发光二极管正极加高电平负极加低电平时,就会被点亮。

单片机:通俗的讲单片机是一种集成电路芯片,利用一些特殊工艺把许多不同功能的模块集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。单片机可以烧进程序,然后从不同的IO口输出规定的电平信号,从而去控制外设实现不同的功能,不管是简单的系统还是复杂的系统,这是最基本的控制原理。

好了,通过以上的讲解我想你应该明白这个系统的工作原理了吧。

软件部分

下面我会对代码的每一行进行详细的注释,相应的代码如下:

#include<reg52.h> //定义单片机的头文件

sbit led=P2^0; //定义单片机的管脚

void main(void) //主函数

{

while(1) //无限循环 ,这个是C语言的基础,如果不懂请自行充电

{

led=0x1f; //点亮前面三个灯。这里是十六进制的换算, //不懂得可以查一下资料 数字电路

}

}

下面是我设计的仿真图,经测试完全符合实验要求.

好了,看完了以上的文章,我想你应该明白这个实验的软硬件控制原理了吧,最后如果有什么问题或者建议请给我留言或者私信啊,看到一定第一时间回复,如果你喜欢我的文章,欢迎关注转发评论哦,我们下期再见!

相关问答

51单片机LED 点亮 的c语言编程方法?

/*程序详细功能介绍:*利用取表的方法,使端口P0做单一灯的变化:左移2次,右移2次,闪烁2次(延时的时间0.2秒)。*在用表格进行程序设计的时候,要用以下的.../*...

51单片机 怎么用一个按键和一个定时器来模拟PWM控制一个 LED 灯...

控制led灯的亮度等级.#include"my51.h"#include"timer0.h"#definegrading20//亮度20级变化...

51单片机 怎样控制 LED 的光亮度?

pwm,用定时器T1溢出做pwm周期,在每次T1开始计数时触发输出,软件边增1计数边检查溢出标志。如果软件计数满则清输出,否则直到溢出清输出、清软件计数满值。改变...

51单片机 一个 LED 灯闪烁电路图原理-ZOL问答

3条回答:【推荐答案】图上是用R1、C3构成的复位电路,文字说明有点问题。。文字说明中的R2对应图上的R1,文中的C1对应图上的C3,文字说明没什么问题,主要是和图不是...

51单片机 灯从里至外依次 点亮 ?

51单片机灯不是从里至外依次点亮而是从左到右依次点亮因为8个LED从左到右循环依次点亮(第①号灯亮、第①②号灯亮……第①②③④⑤⑥⑦⑧号灯亮),间隔1s,直到8...

at89c 51 按键控制 led 的哪变化?

按键控制AT89C51板上LED灯的亮灭状态。当按键未被按下时,GPIO端口输出低电平,P1^0输出高电平,导致LED灯不亮;当按键被按下时,其GPIO端口的值变为1(高电平)...

单片机led 闪烁的原因?

32单片机LED灯闪烁的原因可能有以下几种:程序设计问题:如果程序中存在错误或者逻辑不严谨,可能会导致LED灯闪烁。例如,程序中可能存在死循环或者延时不准确...

51单片机 控制流水灯?

采用循环程序结构编程。首先在程序开始给P1.0口送一个低电平,其它位为高。然后延时一段时间再让低电平往高位移动,这样就实现“流水”的效果了。下面来看具体程...

51单片机 的定时器实现 LED 灯逐一 点亮 ,间隔一秒。要求拨动控制开关可以控制灯的方向?

嘿嘿这个俺可以帮你解答1利用定时计数器0工作在方式2定时50毫秒结合软件计数器(初始值选20)允许定时计数器中断2设计一个定时器0的中断服务程序每50毫秒就中断...

我是为了用P1^5,P1^6,P1^7 点亮LED 灯的,可是无法点亮!程序应...

[最佳回答]主函数写错了.但是就算这个问题解决后编译通过了,其实还是有地方应该可以优化的.首先我不知道你的单片机是什么公司的,但如果是STC的或者是AT的,那...

猜你喜欢