打造一体化智能照明系统解决方案
服务热线:021-67299706

公司新闻 / Company News当前位置: 首页 > 汇勒资讯 > 两分钟学会开关控制LED灯

两分钟学会开关控制LED灯

发布日期:2018-05-07点击:1364来源:汇勒电气

  两分钟学会开关控制LED灯

  上海汇勒开关控制模块 转载

  由于电子实验的局限性,所以笔者更倾向于用电子仿真的方式来做实验,这样,大家看完之后也可以做出一样的实验现象,要想完成本次实验只需要两个软件,一个是仿真软件Proteus,另一个是编程软件Keil-C51。

  

开关控制模块

  物料清单

  英文名字是电子元器件在Proteus中所对应的代号。

  51单片机-AT89C51

  电容-CAP

  电解电容-CAP-ELEC

  12M晶振-CRYSTAL

  黄色LED-LED-YELLOW

  电阻-RES

  开关-SWITCH

  

两分钟学会开关控制LED灯

  原理图

  如下图所示,左侧为51单片机的最小系统,分别为晶振电路和复位电路,这个最小系统的设计可以在官方数据手册获取,我们暂且不必深究。当开关没有闭合时,P1.0和P1.1默认输出高电平,当开关闭合时,由于I/O口接地电平被拉低,当单片机检测到这个低电平信号之后,控制P0.0或P0.1输出低电平。

  有的同学可能要问了,点亮LED灯不应该输出高电平吗?可能你没有认真观察LED灯的连接方式,LED灯的阳极连接的是电源,自然是高电平,它的阴极链接的是单片机的I/O口,如果单片机的I/O口也输出高电平,由于LED灯之间没有压差,这时候LED灯自然不会亮,只有在I/O口输出低电平的时候LED灯才会被点亮。

  

两分钟学会开关控制LED灯

  程序源代码

  为了降低难度,本程序采用的是轮询的方法去检测按键,轮询的最大好处就是简单,它的缺点对CPU消耗较大。

  #include

  sbit S1 = P1^0;

  sbit S2 = P1^1;

  sbit LED1 = P0^0;

  sbit LED2 = P0^1;

  void main()

  {

  while(1)

  {

  LED1 = S1;

  LED2 = S2;

  }

  }

  实验现象

  

两分钟学会开关控制LED灯

在线咨询

业务咨询 快速报价 获取方案


返回顶部