文章目录

  • 51单片机实现流水灯
  • 一、点亮第一个LED灯
  • 二、流水灯
    • 1.总线型控制
    • 2.延时函数
    • 3._ crol _函数使用
    • 4. 实现流水灯

51单片机实现流水灯

以下是本篇文章正文内容,下面案例可供参考

一、点亮第一个LED灯

#include <reg52.h>
#define uint unsigned int //简化定义
#define uchar unsigned char//同上
sbit D1=P2^1;
void main(){D1=0;
}

代码中D1代表着位定义,相当于将LED灯对应管脚的位置起一个名字。单片机初始状态管脚默认为高电平,即对应值为1。所以如果想要点亮LED灯,只需要让他的管脚电平为低即可。

二、流水灯

1.总线型控制

设计一个流水灯,如果使用位操作,需要一个个去定义。这无疑是十分繁琐的。所以这里我们采用总线型操作。

总线型这种总线制方法可以统一控制十位数相同的管脚。
例如如果想要控制P1.0-p1.7的电平情况,具体编程方法是根据所需要的结果,标出每个管脚对应的01值,从前到后排列,然后转化为十六进制,直接令P1=0x+对应十六进制数。这样只用一行代码实现多个管脚控制。

#include <reg52.h>
void main()P1=0x80;//对应十进制数字10000001,对应P1的首个管脚与最后一个管脚高电平。
}

2.延时函数

代码如下(示例):

void delay(uint i){while(i--);
}//此函数可以用来控制特定时长的延时,具体时间由单片机晶振频率决定。

3._ crol _函数使用

_crol_函数功能:将 c 进行b位左位移,并将值以unsigned char类型返回;

#include <intrins.h>//_crol_函数在intrins.h函数库中。
unsigned int temp;
temp=0xfe;
P1=temp;
temp=_crol_(temp,1);//第一个变量用来控制位,第二个用来控制每次移动的位数。

4. 实现流水灯

#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint i);
void main(){uint temp=0xfe;while(1){P2=temp;temp=_crol_(temp,1);delay(10000);}
}
void delay(uint i){while(i--);
}

实现单片机流水灯操作。

51单片机实现流水灯相关推荐

  1. 51单片机:流水灯蜂鸣器控制

    //51单片机:流水灯&蜂鸣器控制 //bglei@nuaa.edu.cn 2022/8/28<流水灯&蜂鸣器控制> #include<reg52.h> #in ...

  2. 51单片机循环流水灯源码

    51单片机循环流水灯源码 #include <reg52.h> #include <intrins.h> void delay(unsigned char a) {unsign ...

  3. 51单片机LED流水灯、走马灯的实现

    目录 1. 硬件设计 2. 软件设计 流水灯: 跑马灯: 1. 硬件设计 流水灯的原理: 图中主要包括51单片机芯片和流水灯模块,流水灯模块接在了单片机的P2口,500欧电阻是用来保护电路的.由原理图 ...

  4. 基于51单片机的流水灯设计

    三个按键:A按键启动.B按键控制不同流水速度(低中高).C按键 设计思路一(未用中断): 8个LED灯正极解电源,负极接单片机I/O口. 死循环:设置P2口为11111110,使用左移函数,循环七次. ...

  5. 51单片机花样流水灯

    目录 工作原理 51代码 总结 工作原理 许多单片机上面都有若干LED灯,在控制系统的控制下能够按照设定的顺序和时间点亮和熄灭,形成一定的视觉效果叫做跑马灯.其中若干个LED灯依次点亮,在视觉上感觉灯 ...

  6. 51单片机入门 - 流水灯 和 呼吸灯

    本文编程环境在 51单片机开发环境搭建 - VS Code 从编写到烧录 有过介绍.使用 VS Code + SDCC + stcgal. 关于软硬件的信息: Windows 10 STC89C52R ...

  7. 51单片机的流水灯实现仿真。

    使用KeilC51进行C语言的程序编写生成hex文件后导入51单片机中形成流水灯. 由于51单片机I/O口的驱动能力有限,因此在P0需要使用上拉电阻(限流电阻)来驱动二极管. 流水灯驱动程序如下: # ...

  8. 简单51单片机c语言编程流水灯,51单片机如何实现流水灯?51单片机实现流水灯的三种方法详细分析...

    描述 首先,介绍下原理.下图为主控芯片和流水灯模块的原理图.流水灯模块接在单片机的P1口,由原理图可以知道,在P1口给一个低电平即可点亮LED灯.相反,如果要LED灯熄灭,就要把P1口的电平变为高电平 ...

  9. 流水灯c语言程序tm,51单片机LED流水灯课程设计任务书+论文

    郑州工程技术学院课程设计 设计题目:LED流水灯设计 学    院:机电与车辆工程学院 专    业:16电气自动化技术专业班 级普招二班 姓    名:王*&刘* 指导教师:李* 日    ...

  10. 基于51单片机的流水灯循环点亮

    原理 基于单片机P1口的流水灯功能 通过在数组中存储每一个灯对应状态的十六进制,然后通过循环遍历和延迟来实现LED的循环点亮. 举例:前四个灯亮,后四个灯灭. 二进制为11110000,转为十六进制为 ...

最新文章

  1. Unity中如何计算带minimap的贴图资源的大小
  2. Btrace详细指南(JDK7,监控HashMap扩容)
  3. php gd 缩略图,[PHP GD库]①0--缩略图封装
  4. SAP CRM后台取数据逻辑的性能优化
  5. 2个菜鸟Java常量和枚举陷阱
  6. python高级玩法_python pandas to_excel 高级玩法
  7. 【Flink】Flink SQL 开源UI平台 flink-streaming-platform-web
  8. 搭建直播源码与软件开发的注意事项
  9. IOS 正则表达式匹配文本中URL位置并获取URL所在位置(解决连接中文问题)
  10. javascript基础案例解析
  11. 台达伺服控制器接线图_伺服电机如何接线图
  12. 第四届“传智杯”全国大学生IT技能大赛(初赛AB组题解)
  13. Linux下关闭udhcpc客户端时,通知服务器释放租约
  14. MySQL设置索引used in key specification without a key length
  15. 增加内容曝光、获得更多粉丝 - 「评论发红包」功能
  16. rtx2060什么水平_RTX2060值得买吗
  17. 联通资费大幅下降意在iPhone用户
  18. 基于php的网络数据包分析工具的设计与开发
  19. 好用的电容笔有哪些推荐?性价比高的触控笔
  20. 跨考南京理工计算机需要学什么,南京理工大学计算机考研经验分享

热门文章

  1. systrace如何使用
  2. 实对称矩阵必可正交对角化证明
  3. javascript 验证 国际格式 电话号码
  4. python经济统计学论文_Python商务与经济统计学-1
  5. python自带的pip版本过低 卸载pip重写安装V10
  6. 如何快速比对两个文件夹中的文件
  7. putty拷贝服务器文件,Windows下拷贝Linux的文件到本地(Putty)
  8. Excel自动化报表制作
  9. 卡通人物设计_40个很棒的卡通人物设计教程
  10. 3dmax2014 uv用法_3dmax中UV贴图的使用方法