【【51单片机的LED灯 您所在的位置:网站首页 led灯是半导体吗 【【51单片机的LED灯

【【51单片机的LED灯

2023-07-12 10:45| 来源: 网络整理| 查看: 265

51单片机的LED模块

在学一个东西的时候最好了解一下他的原理工作过程 Light Emitting Diode LED 看图片 长的脚是正极 短的是负极 在这里插入图片描述 在这里插入图片描述 LED模块 上面有两个电阻的集合叫我的板子上叫RP9 和RP10 这两个电阻上写着102 也就是1k的意思 前面两个是有效数字, 后面两个是倍率 10 00 还有例如473 就是 47 000 有点科学计数法的意思 //第一题是点亮单片机的LED灯 在这里插入图片描述 我们来控制管脚的高低电平从而实现LED 灯的亮灭 单片机 MCU 内部其实集成了一个CPU我们的代码,其实都是在cpu内进行操作的 外部连着各个引脚 cpu怎么控制引脚呢,通过一种寄存器的方式 寄存器就是一种存储器 51单片机内寄存器 8个一组 每个寄存器下面都连着一根线就像一个按钮控制着我们的硬件电路 寄存器连着导线通过驱动器连到端口上 给高低电平的问题我们就转化成给寄存器的问题 我在网上买的型号是STC89C52RC/LE52RC //基于c语言点亮LED灯 #include

void main() { P2=0x55; while(1) { } } //基于c语言进行LED灯的亮灭 void main() { while(1) { P2=0xFE; P2=0xFF; } }

单片机的速度MHZ 这样LED看不出来亮灭 我们就让他延迟时间 我们可以利用stc-isp自动生成延迟函数帮助我们进行延时 在这里插入图片描述 增加了这个延时代码之后非常顺利运行成功了

#include #include void Delay500ms() //@12.000MHz { unsigned char i, j, k; _nop_();//δʶ±ð³önop i = 4; j = 205; k = 187; do { do { while (--k); } while (--j); } while (--i); } void main() { while(1) { P2=0xFE; Delay500ms() ; P2=0xFF; Delay500ms() ; } } //优化出LED流水灯 #include #include void Delay500ms() //@12.000MHz { unsigned char i, j, k; _nop_(); i = 4; j = 205; k = 187; do { do { while (--k); } while (--j); } while (--i); } void main() { P2=0xFE;//1111 1110 Delay500ms(); P2=0xFD;//1111 1101 Delay500ms(); P2=0xFB;//1111 1011 Delay500ms(); P2=0xF7;//1111 0111 Delay500ms(); P2=0xEF;//1110 1111 Delay500ms(); P2=0xDF;//1101 1111 Delay500ms(); P2=0xBF;//1011 1111 Delay500ms(); P2=0x7F;//0111 1111 Delay500ms(); }

//这是最基本的函数实现,我们想办法建立新的函数去实现简单控制灯的延迟时间可以我们自定义 单片机的数据类型 存数据的小盒子 int 用16位二进制表示一个数 我在学的c语言视频用的32位二进制 而我的电脑是64位二进制 unsigned int 0~ 65535 int -32768 ~ 32787

//建立了函数去处理 #include void Delay1ms(unsigned int xms) //@12.000MHz { unsigned char i, j; while(xms) { i = 2; j = 239; do { while (--j); } while (--i); xms--; } } //这里的操作意思是因为我本来这里代码是1ms执行完整个操作,就是维持1ms,我这里写while然后不断减1这样的话就能自定义持续时间了 void main() { while(1) { P2=0xFE;//1111 1110 Delay1ms(100); P2=0xFD;//1111 1101 Delay1ms(500); P2=0xFB;//1111 1011 Delay1ms(200); P2=0xF7;//1111 0111 Delay1ms(500); P2=0xEF;//1110 1111 Delay1ms(400); P2=0xDF;//1101 1111 Delay1ms(500); P2=0xBF;//1011 1111 Delay1ms(500); P2=0x7F;//0111 1111 Delay1ms(500); } }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有