前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单片机入门:点亮第一个LED小灯

单片机入门:点亮第一个LED小灯

作者头像
电子工程师成长日记
发布2022-07-21 15:23:42
1.4K0
发布2022-07-21 15:23:42
举报

认识了单片机的基本概念,掌握了单片机最小系统的设计方法后,我们开始进行第一个单片机设计——利用51单片机点亮一个LED小灯。

硬件电路设计

结合51单片机最小系统的知识,利用AD19画好最小系统电路(未包括电源部分)。

本设计需要点亮一个LED小灯, LED(发光二极管)正极接+5V电源,负极接单片机P1.0口,这样只要单片机P1.0口输出低电平就可以导通二极管,实现LED灯的点亮。

仿真电路设计

仿真电路图与AD原理图画法一致,但应注意仿真最小系统复位电路中电容值取0.1uf,电阻值取100Ω,与AD原理图中有所区别。

程序设计

程序采用Keil5设计,点亮本设计的LED灯有两种方式:

方式一:

代码语言:javascript
复制
/*-----------------------------------------------
  名称:IO口高低电平控制
  内容:点亮P1口的一个LED灯
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,
                  //头文件包含特殊功能寄存器的定义
                  
/*------------------------------------------------
                    主函数
------------------------------------------------*/
void main (void)
{
                   //此方法使用1个字节对单个端口赋值
  P1 = 0xFF;       //P1口全部为高电平,对应的LED灯全灭掉,
                  //ff换算成二进制是 1111 1111
  P1 = 0xfe;        //P1口的最低位点亮,可以更改数值是其他的灯点亮
                  //0xfe是16进制,0x开头表示16进制数,
                  //fe换算成二进制是 1111 1110        
}

方式二:

代码语言:javascript
复制
/*-----------------------------------------------
  名称:IO口高低电平控制
  内容:点亮P1口的一个LED灯
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,
                  //头文件包含特殊功能寄存器的定义
sbit LED=P1^0;    //将单片机的P1.0端口定义为lED

/*------------------------------------------------
                    主函数
------------------------------------------------*/
void main (void)
{
  LED=0;   //P1.0端口设置为低电平,LED灯导通,实现点亮       
}

仿真实现

为了直观感受本设计实现的效果,这里利用protues8.7仿真实现LED灯的点亮,具体如图,红灯被点亮。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 电子工程师成长日记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档