51单片机入门 第一篇:LED灯
文章目录
- 前言
- 一、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灯相关推荐
- 51单片机入门学习篇-led灯、按键、数码管、中断
文章目录 前言 一.Proteus仿真 二.Keil代码编写 1.流水灯 2.来回点灯 3.按键操作 4.中断操作 5.数码管 6 动态数码管 三. 练习题 总结 前言 本文用来记录博主学习单片机的过 ...
- 基于51单片机的wifi智能led灯的毕业设计
基于51单片机的wifi智能led灯的毕业设计 摘要 系统基于STC89C52RC单片机设计,拥有自动与手动两种模式,自动模式下可以过热释红外传感器检测是否有人,采用光敏电阻构成的电路检测环境光的强度 ...
- 用51单片机实现按键控制LED灯亮灭
用51单片机实现按键控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k1=P3^1;//位定义按键 void de ...
- 基于51单片机的智能无线LED灯控制 蓝牙手机APP控制灯亮灭亮度方案原理图设计
硬件电路的设计 (下方附文件) 系统的功能分析及体系结构设计 3.1.1系统功能分析 本设计由STC89C52单片机电路+8位LED灯电路+蓝牙模块电路+电源电路组成. 1.通过手机APP可以控制8路 ...
- [51单片机学习笔记ONE]-----LED灯的多种使用方法
一.交替闪烁8个LED灯,时间间隔为1s 1 /****************************************************** 2 实验名称: 交替闪烁8个LED灯,时间 ...
- 【51单片机入门】实现流水灯的原理及四种方法(详细易上手型)
初学单片机,流水灯的实现是必不可少的,下面将介绍流水灯的原理及使用STC-ISP软件延时计算器生成的延时代码实现流水灯的四种方法,最后介绍如何将延时函数模块化. 目录 一.流水灯原理 二.循环 三.移 ...
- 51单片机入门 - 驱动 8x8 LED 点阵屏
硬件型号.软件版本.以及烧录流程 操作系统:Windows 10 x84-64 单片机:STC89C52RC 编译器:SDCC 烧录软件:stcgal 1.6 开发板:普中51单片机开发板A2套件(2 ...
- 基于51单片机小板的led灯全亮全灭
#include<reg51.h> //led灯在小板里用P0口 unsigned char i=5000;//定义一个短暂的延时 void main(){ P0=0x00; while( ...
- STM32_寄存器版本代码第一篇LED灯
使用STM32f103C8T6点亮LED小灯 这是第一次写博客,把自己所学分享给大家,欢迎大家评论给出建议,谢谢. 所需设备:STM32f103C8T6最小系统板和Jlink下载器 项目流程 Crea ...
最新文章
- C++ primer习题10.9
- 已知3个坐标点xy画圆弧_这25张图片,让你彻底看懂25个复杂的数学公式!
- ASP.NET远程连接数据库SQL server
- matlab画二维颜色深浅,MATLAB scatter 画二维/三维散点图时 用颜色表示数值大小 colorbar
- 调查显示企业对 Linux 开发人才需求日渐增长
- 华测数据导出方法_输电线路塔基测量成图方法研究与应用
- 2.2)深度学习笔记:优化算法
- 企业级数据库新型研发模式——数据管理DMS实践
- 笨办法学 Python · 续 练习 13:单链表
- 华为p20有没有计算机,用华为P20不知道这三个功能就亏大了!第一个很少人知道!...
- linux考试中的7654_全国计算机等级考试你了解多少?
- NET 技术FAQ(六)-----属性
- js实现二级联动菜单
- 在php里怎么安装composer,怎么安装composer
- N1小钢炮下载系统-系统的安装及使用-篇一
- 第二章:x264视频制作meGUI工具安装
- related_name
- 关于沉没成本的座谈会
- vue组件封装之关注和取消关注
- c语言int2字节负数类型范围,C语言中的正负数以及数值溢出
热门文章
- 基于Springboot的个人健康监控管理系统(源码+MySQL数据库+论文)
- 社交时代的孤独:保持联系却依旧寂寞
- 【论文笔记】北斗GPS多频实时精密定位理论与算法
- Android AILD跨进程通讯 解决bindService无法启动
- uniapp+nvue实现仿微信App界面+功能 —— uni-app实现聊天+语音+视频+图片消息
- android app 快速接入支付宝流程(android studio)
- Autocad2013中文破解版(64位)安装图文教程
- html图片自动切换代码,急哦~!如何实现网页中的图片自动变换?
- DiskGenius.5.1.2.766.rar
- 计算机桌面任务栏跳到,电脑桌面任务栏跑到左边去了