文章目录

  • 前言
  • 一、LED原理图
  • 二、创建keil5工程
  • 三、代码的编写
  • 四、程序的烧录
  • 总结

前言

本篇文章讲正式带大家开始学习51单片机,希望这些文章能够很好的帮助到大家学习51单片机。

一、LED原理图

一般的51单片机上都带有8个LED灯,这里8个LED灯分别接到了板子上面的P2.0-P2.7。
这里LED灯采用了共阳接法,共阳极就是发光二极管的正极连接在一起,这里的8个LED灯通过共阳接法接到了VCC(电源)。
当P2.0-P2.7中任意一个端口赋值为低电平时,发光二极管就会被导通,LED灯亮。
比如想要让D1亮,那么就让P2.0输出低电平,此时就可以将D1点亮。
这里补充一个知识:
一般VCC在编程中都被定义为逻辑1,而低电平或者GND都被定义为逻辑0。
所以上面让P2.0 = 0,就可以将D1点亮。

二、创建keil5工程

1.选择Project,然后选择第一个创建新的工程。

2.选择工程保存路径和文件名

3.芯片选择
选择完成后点击OK即可。

4.创建文件并保存

5.将创建好的文件加入工程中

添加成功后可以在Source Group 1里面看见添加好的LED.c文件。

6.勾选生成hex可执行文件

三、代码的编写

1.包含51单片机的头文件
学过C语言的都知道头文件的作用,这里就不多介绍。

#include <reg52.h>

2.主函数的编写
我们编写的代码都将在下面的main函数里面执行。
while(1)循环就是为了让代码不断的执行。

void main()
{while(1){}
}

3.LED端口的定义
这里使用了sbit,sbit很多人学习51单片机时都不知道是什么意思,因为在平时学习C语言时是没有这个关键字的。
在C51里面添加有这个关键字,sbit是定义特殊功能寄存器的位变量。
使用sbit定义了相关的位后就可以对这个定义好的位进行直接操作了。

sbit LED0 = P2^0;

4.给LED端口赋值低电平点亮LED

LED0 = 0;

5.全部代码

#include <reg52.h>sbit LED0 = P2^0;void main()
{while(1){LED0 = 0;}
}

四、程序的烧录

这里我使用的是普中的烧录软件,烧录起来还是非常方便快捷的。只需要选择对应的hex文件点击下载即可。

代码运行效果:
这里可以看到D1已经被点亮了。

总结

点亮LED的文章到这里就结束了,大家有什么疑问可以留言提问。

51单片机入门 第一篇:LED灯相关推荐

  1. 51单片机入门学习篇-led灯、按键、数码管、中断

    文章目录 前言 一.Proteus仿真 二.Keil代码编写 1.流水灯 2.来回点灯 3.按键操作 4.中断操作 5.数码管 6 动态数码管 三. 练习题 总结 前言 本文用来记录博主学习单片机的过 ...

  2. 基于51单片机的wifi智能led灯的毕业设计

    基于51单片机的wifi智能led灯的毕业设计 摘要 系统基于STC89C52RC单片机设计,拥有自动与手动两种模式,自动模式下可以过热释红外传感器检测是否有人,采用光敏电阻构成的电路检测环境光的强度 ...

  3. 用51单片机实现按键控制LED灯亮灭

    用51单片机实现按键控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k1=P3^1;//位定义按键 void de ...

  4. 基于51单片机的智能无线LED灯控制 蓝牙手机APP控制灯亮灭亮度方案原理图设计

    硬件电路的设计 (下方附文件) 系统的功能分析及体系结构设计 3.1.1系统功能分析 本设计由STC89C52单片机电路+8位LED灯电路+蓝牙模块电路+电源电路组成. 1.通过手机APP可以控制8路 ...

  5. [51单片机学习笔记ONE]-----LED灯的多种使用方法

    一.交替闪烁8个LED灯,时间间隔为1s 1 /****************************************************** 2 实验名称: 交替闪烁8个LED灯,时间 ...

  6. 【51单片机入门】实现流水灯的原理及四种方法(详细易上手型)

    初学单片机,流水灯的实现是必不可少的,下面将介绍流水灯的原理及使用STC-ISP软件延时计算器生成的延时代码实现流水灯的四种方法,最后介绍如何将延时函数模块化. 目录 一.流水灯原理 二.循环 三.移 ...

  7. 51单片机入门 - 驱动 8x8 LED 点阵屏

    硬件型号.软件版本.以及烧录流程 操作系统:Windows 10 x84-64 单片机:STC89C52RC 编译器:SDCC 烧录软件:stcgal 1.6 开发板:普中51单片机开发板A2套件(2 ...

  8. 基于51单片机小板的led灯全亮全灭

    #include<reg51.h> //led灯在小板里用P0口 unsigned char i=5000;//定义一个短暂的延时 void main(){ P0=0x00; while( ...

  9. STM32_寄存器版本代码第一篇LED灯

    使用STM32f103C8T6点亮LED小灯 这是第一次写博客,把自己所学分享给大家,欢迎大家评论给出建议,谢谢. 所需设备:STM32f103C8T6最小系统板和Jlink下载器 项目流程 Crea ...

最新文章

  1. C++ primer习题10.9
  2. 已知3个坐标点xy画圆弧_这25张图片,让你彻底看懂25个复杂的数学公式!
  3. ASP.NET远程连接数据库SQL server
  4. matlab画二维颜色深浅,MATLAB scatter 画二维/三维散点图时 用颜色表示数值大小 colorbar
  5. 调查显示企业对 Linux 开发人才需求日渐增长
  6. 华测数据导出方法_输电线路塔基测量成图方法研究与应用
  7. 2.2)深度学习笔记:优化算法
  8. 企业级数据库新型研发模式——数据管理DMS实践
  9. 笨办法学 Python · 续 练习 13:单链表
  10. 华为p20有没有计算机,用华为P20不知道这三个功能就亏大了!第一个很少人知道!...
  11. linux考试中的7654_全国计算机等级考试你了解多少?
  12. NET 技术FAQ(六)-----属性
  13. js实现二级联动菜单
  14. 在php里怎么安装composer,怎么安装composer
  15. N1小钢炮下载系统-系统的安装及使用-篇一
  16. 第二章:x264视频制作meGUI工具安装
  17. related_name
  18. 关于沉没成本的座谈会
  19. vue组件封装之关注和取消关注
  20. c语言int2字节负数类型范围,C语言中的正负数以及数值溢出

热门文章

  1. 基于Springboot的个人健康监控管理系统(源码+MySQL数据库+论文)
  2. 社交时代的孤独:保持联系却依旧寂寞
  3. 【论文笔记】北斗GPS多频实时精密定位理论与算法
  4. Android AILD跨进程通讯 解决bindService无法启动
  5. uniapp+nvue实现仿微信App界面+功能 —— uni-app实现聊天+语音+视频+图片消息
  6. android app 快速接入支付宝流程(android studio)
  7. Autocad2013中文破解版(64位)安装图文教程
  8. html图片自动切换代码,急哦~!如何实现网页中的图片自动变换?
  9. DiskGenius.5.1.2.766.rar
  10. 计算机桌面任务栏跳到,电脑桌面任务栏跑到左边去了