打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
电子仿真:开关控制LED灯
原创 爱上半导体 2018-04-21 12:16:11

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

物料清单

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

  • 51单片机-AT89C51

  • 电容-CAP

  • 电解电容-CAP-ELEC

  • 12M晶振-CRYSTAL

  • 黄色LED-LED-YELLOW

  • 电阻-RES

  • 开关-SWITCH

原理图

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

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

程序源代码

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

#include <reg52.h>

sbit S1 = P1^0;

sbit S2 = P1^1;

sbit LED1 = P0^0;

sbit LED2 = P0^1;

void main()

{

while(1)

{

LED1 = S1;

LED2 = S2;

}

}

实验现象

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
单片机点燃led灯编程案例
51单片机 4个独立按键控制LED灯 (protues仿真)(C语言版)
【新提醒】单片机8*8LED点阵
8051单片机快速入门我的第一盏灯
单片机入门培训专题(七) – 74HC245、138的应用 – 著名的PCB哥
基于单片机实现声光控灯电路 C
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服