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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java语言_java语言特点

    java语言_java语言特点1.简洁有效Java语言是一种相当简洁的“面向对象”的程序设计语言。Java语言克服了C++语言中的所有的难以理解和容易混淆的缺点,例如头文件、指针、结构、单元、运算符重载和虚拟基础类等。它更加严谨、简洁。2.可移植性Java语言最大的特点在于“一次编译,处处运行”,Java语言的执行基于java虚拟机的(JAVAVirtualMachineJvm)运行,将源代码编译处字节码文件。在不同的…

    2022年4月19日
    44
  • 运行maven-assembly创建的可执行jar:错误:无法找到或加载主类

    运行maven-assembly创建的可执行jar:错误:无法找到或加载主类

    2021年11月23日
    53
  • html跳转指定位置(html登录页面跳转到不同页面)

    锚标签和href属性HTML使用(锚)标签来创建连接另一个文档的链接。锚可以指向网络上的任何资源:一张HTML页面,一幅图像,一个声音或视频文件等等。用来创建锚。href属性用于定位需要链接的文档,锚的开始标签和结束标签之间的文字被作为超级链接来显示。锚标签和Name属性Name属性用于创建被命名的锚(namedanchors)。当使用命名锚(name

    2022年4月14日
    180
  • Youtube最佳Red5 官方视频下载指南,字幕【亲测成功】

    Youtube最佳Red5 官方视频下载指南,字幕【亲测成功】

    2022年1月8日
    890
  • 思科下一代模拟器EVE-NG安装

    思科下一代模拟器EVE-NG安装思科模拟器最早10年前接触过CiscoPacketTracer,后来发展的GNS3,不过一直只支持思科的设备,而EVE最近几年开始火了起来,不仅支持思科设备,而且支持众多的华为,山石等国产设备。EVE-NG官网:https://www.eve-ng.net/EVE-NG官网下载页:Download下载其中的社区版OVA和window客户端即可官方的下载连接如下社区版的OVF文件https://mega.nz/file/qlt3zK7Q#LZdFhSxJPCpd4-QNyu5U6ia

    2022年6月3日
    81
  • Python正则表达式语法_re正则表达式语法

    Python正则表达式语法_re正则表达式语法python正则表达式的语法及使用概念:按照程序员的指示,字符串里提取你要的数据。应用:爬虫清洗数据,匹配电话,匹配邮箱,匹配账号……最重要的就是(.*?)正则语法(元字符)1、?:前面的内容出现0-1次2、+:前面的内容出现1-多次3、*:前面的内容出现0-多次‘’’正则(Regular):记住的点:1、(.?)2、re.findall()结果是一个列表3、用(.?)的是后,一定要复制,而不是手敲!‘’’importre‘’’正则语法(普通字符):

    2022年10月3日
    3

发表回复

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

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