当前位置: 首页 > news >正文

51单片机点亮一个LED介绍

LED介绍

LED就是发光二极管,一般来说如果是直插式的,那就是长正短负,如果是贴片式的,那就带彩色标记是阴极,如果是三角形的,水平箭头指的就是阴极,通常一般的工作电压在3mA~20mA,当发光的时候,两端电压为1.7V

 

这是我们此次实验51单片机LED硬件资源,由图中可知,D1接在单片机P2.0口,并且LED采用共阳极接法,只需要让P2.0口接低电平就可以让LED点亮,RP9和RP10就是排阻,就是让一个个电阻组装到一个排阻里,可以使用更简单。

软件设计

本次要实现的功能是:点亮D1指示灯,即让P2.0管脚输出一个低电平。完成后再控制LED闪烁。

#include <REGX52.H>
sbit LED1=P2^0;//特殊寄存器位定义使用sbit关键字
void main()    //将P2^0重命名为LED1,程序从main函数执行
{LED1=0;//只需要将定义好的管脚赋值低电平就可以while(1){}
}

 

编译成功会先显示data=9,xdata=0,code=19,其中code表示占用程序flash字节,data表示数据存储器内部RAM占用字节,xdata表示占用外部数据存储器RAM字节

下面一行creating .hex files表示生成了.hex文件,将其烧录到单片机中即可运行

 

实验现象

闪烁软件设计

#include <REGX52.H>
typedef unsigned int u16;//将无符号整形重新定义为u16,以后程序看到u16就是unsigned int
sbit LED1=P2^0;//特殊寄存器位定义使用sbit关键字
void delay_10us(u16 ten_us)//当ten_us为1时,大约延时10us,这是使用循环语句占用CPU来延时,
{																										//并不是准确的延时,只是个大概while(ten_us--);
}
void main()    //将P2^0重命名为LED1,程序从main函数执行
{while(1){LED1=0;// 亮delay_10us(5000);//延时大约50msLED1=1;//灭delay_10us(5000);//执行完后继续在while循环永远执行,就可以一直亮灭}
}

实验现象

 

相关文章:

  • 在CMake中利用vcpkg配置C/C++环境
  • visual studio code中的插件都是怎么开发的?用的什么编程语言?
  • 谷歌 NotebookLM 即将推出 Sparks 视频概览:Gemini 与 Deep Research 加持,可生成 1 - 3 分钟 AI 视频
  • 从零开始学习three.js(21):一文详解three.js中的矩阵Matrix和向量Vector
  • MyBatis:动态SQL
  • 中国城市间交通驾车距离矩阵(2024)
  • Oracle 中 open_cursors 参数详解:原理、配置与性能测试
  • Java 后端基础 Maven
  • Linux 移植 Docker 详解
  • uniapp小程序获取手机设备安全距离
  • Grafana之Dashboard(仪表盘)
  • OpenCV CUDA 模块中的矩阵算术运算-----在频域中执行两个复数频谱的逐元素乘法的函数mulSpectrums()
  • 多商户1.8.1版本前端问题优化集合指南
  • 可视化图解算法41:搜索二维矩阵(二维数组中的查找)
  • OpenCV CUDA模块中的矩阵算术运算------创建卷积操作对象的工厂方法 cv::cuda::createConvolution
  • 批量剪辑 + 矩阵分发 + 数字人分身源码搭建全技术解析,支持OEM
  • Linux 判断是否有未挂载的盘 分区挂载 (挂载所有大小的盘,包括挂载超过2T的盘)
  • Qt框架核心组件完全指南:从按钮交互到定时器实现
  • Regmap子系统之六轴传感器驱动-编写icm20607.c驱动
  • 基于STM32的光照测量报警Proteus仿真设计+程序设计+设计报告+讲解视频
  • 招商基金总经理徐勇因任期届满离任,“老将”钟文岳回归接棒
  • 半年不到再换岗:伊春市委常委、政法委书记方春彪任伊春森工集团党委书记
  • 上海肺科医院院长陈昶:临床中的痛点,正是新技术诞生的起点
  • 小米法务部:犯罪团伙操纵近万账号诋毁小米,该起黑公关案告破
  • 博物馆书单|走进博物馆,去体验一场与文明的对话
  • 芬兰直升机相撞坠毁事故中五名人员全部遇难