51单片机实现流水灯

51单片机实现流水灯文章目录51单片机实现流水灯一、点亮第一个LED灯二、流水灯1.总线型控制2.延时函数3._crol_函数使用4.实现流水灯51单片机实现流水灯以下是本篇文章正文内容,下面案例可供参考一、点亮第一个LED灯#include<reg52.h>#defineuintunsignedint//简化定义#defineucharunsignedchar//同上sbitD1=P2^1;voidmain(){ D1=0;}代码中D1代表着位定义,相.

大家好,又见面了,我是你们的朋友全栈君。


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--);
}

实现单片机流水灯操作。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141951.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux下查看memcache是否正常

    linux下查看memcache是否正常

    2022年2月8日
    72
  • acwing321. 棋盘分割(动态规划+记忆化搜索)「建议收藏」

    acwing321. 棋盘分割(动态规划+记忆化搜索)「建议收藏」将一个 8×8 的棋盘进行如下分割:将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的部分继续如此分割,这样割了 (n−1) 次后,连同最后剩下的矩形棋盘共有 n 块矩形棋盘。(每次切割都只能沿着棋盘格子的边进行)原棋盘上每一格有一个分值,一块矩形棋盘的总分为其所含各格分值之和。现在需要把棋盘按上述规则分割成 n 块矩形棋盘,并使各矩形棋盘总分的均方差最小。均方差formula.png ,其中平均值lala.png ,xi 为第 i 块矩形棋盘的总分。请编程对给出的棋盘及 n,求出均方差的最

    2022年8月8日
    4
  • access 注入

    0x00前言现在access的站,比较少,有的话也是小型网站在用,因为access的性能比较差,多人访问都能卡死,所以很多网站都很少会采用access的数据库搭建。但是该学的我们还是得学。0x0

    2021年12月11日
    58
  • js统一全局变量

    js统一全局变量      前言:js中难免要用到全局变量,但是过多的全局变量会影响js的性能,在此我创造了一个统一全局变量的写法,只需要这一个全局变量即可/***全局变量管理器*/varoverallManager=(function(){ //存储全局变量,闭包保护不受污染 varoverall={}; /** *@paramname *…

    2022年5月28日
    48
  • 猴子摘香蕉_猴子香蕉游戏下载

    猴子摘香蕉_猴子香蕉游戏下载注意:不是严格按照一阶谓词逻辑写法,仅供参考题目:房内有一个猴子,一个箱子,天花板挂了一串香蕉,其位置如图所示。猴子为了拿到香蕉,它必须把箱子搬到香蕉下面,然后再爬到箱子上。请定义必要的谓词,列出问题的初始化状态(即下图所示状态),目标状态(猴子拿到了香蕉,站在箱子上,箱子位于位置b)步骤:1、定义描述环境状态的谓词AT(x,y)x在y处x={monke…

    2022年9月26日
    3
  • Python利用国内镜像安装包 HTTPSConnectionPool(host=’files.pythonhosted.org’, port=443): Read timed out[通俗易懂]

    Python利用国内镜像安装包 HTTPSConnectionPool(host=’files.pythonhosted.org’, port=443): Read timed out[通俗易懂]问题描述:我们在使用Python的过程中,经常需要使用Python的非标准库。但下载这些包的时候,要从国外网站上获取资源,这样的下载速度非常缓慢,而且经常会出现超时的问题,导致安装失败。国内镜像:我们可以从国内的网址获取这些包:教育机构:清华:https://pypi.tuna.tsinghua.edu.cn/simple华中理工大学:https://pypi.hustunique….

    2022年8月26日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号