05_51单片机led流水线的实现

1:step创建一个新的项目并将程序烧录进入51单片机

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
以下是51单片机流水线代码的具体实现

#include <REGX52.H>void Delay500ms()		//@11.0592MHz
{unsigned char i, j, k;i = 4;j = 129;k = 119;do{do{while (--k);} while (--j);} while (--i);
}void main(){while(1){P1 = 0xFE; // 1111 1110Delay500ms();P1 = 0xED; // 1111 1101Delay500ms();P1 = 0xFB; // 1111 1011Delay500ms();P1 = 0xE7; // 1111 0111Delay500ms();P1 = 0xEF; // 1110 1111Delay500ms();P1 = 0xDF; // 1101 1111Delay500ms();P1 = 0xBF; // 1011 1111Delay500ms();P1 = 0x7F; // 0111 1111Delay500ms();}}

重启单片机即可实现流水灯

流水线代码改进

在单片机C语言中,数据类型用于定义变量的类型和大小,以及变量在内存中的存储方式。常见的数据类型包括:

  1. 整型(Integer):整型数据类型用于表示整数,包括有符号整型和无符号整型。常见的整型数据类型有:
    • char:1字节,有符号或无符号字符型;
    • short:2字节,有符号或无符号短整型;
    • int:通常为2或4字节,有符号或无符号整型;
    • long:通常为4或8字节,有符号或无符号长整型。
  2. 浮点型(Floating Point):浮点型数据类型用于表示带小数的数值。常见的浮点型数据类型有:
    • float:4字节,单精度浮点型;
    • double:通常为8字节,双精度浮点型。
  3. 枚举类型(Enumeration):枚举类型用于定义一组具名的整数常量。每个枚举常量都有一个唯一的整数值,可用于表示一组相关的状态或选项。
  4. 数组类型(Array):数组类型用于存储一系列具有相同类型的元素。可以通过索引访问数组中的单个元素。
  5. 结构体类型(Structure):结构体类型用于定义一组不同类型的数据,将它们组合在一起形成一个自定义的数据类型。
  6. 指针类型(Pointer):指针类型用于存储内存地址,可用于间接访问其他变量或数据。
  7. 枚举类型(Union):联合类型用于在相同的内存位置存储不同类型的数据,但只能同时存储一个成员。

除了以上常见的数据类型,单片机C语言还支持位字段(Bit fields)、空类型(void)等特殊的数据类型。在编程时,选择合适的数据类型可以提高程序的效率和可读性。

流水灯改进后的代码如下所示,是以可变参数的形式传递

#include <REGX52.H>void Delay1ms(unsigned int xms)		//@11.0592MHz
{unsigned char i, j;while(xms){i = 2;j = 199;do{while (--j);} while (--i);xms -= 1;}}void main(){while(1){P1 = 0xFE; // 1111 1110Delay1ms(500);P1 = 0xED; // 1111 1101Delay1ms(500);P1 = 0xFB; // 1111 1011Delay1ms(500);P1 = 0xE7; // 1111 0111Delay1ms(500);P1 = 0xEF; // 1110 1111Delay1ms(500);P1 = 0xDF; // 1101 1111Delay1ms(500);P1 = 0xBF; // 1011 1111Delay1ms(500);P1 = 0x7F; // 0111 1111Delay1ms(500);}}

实现效果和04是一样的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/108708.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【性能测试篇1】初识性能测试

目录 性能测试定义 性能测试和功能测试有什么区别 测试工具上面&#xff1a; 特殊业务场景下&#xff1a; 性能测试常见概念&#xff1a; ①用户相关&#xff1a; 1.1并发用户数&#xff1a; 1.2在线用户数&#xff1a; 1.3系统用户数量&#xff1a; ②响应时间相关&…

SpringMVC之国际化上传下载

spring项目中的国际化 1&#xff09;提供中英两种资源文件 i18n_en_US.properties i18n_zh_CN.properties 2&#xff09;配置国际化资源文件&#xff08;在spring配置文件中添加&#xff0c;例如spring-mvc.xml&#xff09; <bean id"messageSource" class&quo…

通达OA 2016网络智能办公系统 handle.php SQL注入漏洞

一、漏洞描述 北京通达信科科技有限公司通达OA2016网络智能办公系统 handle.php 存在sql注入漏洞&#xff0c;攻击者可利用此漏洞获取数据库管理员权限&#xff0c;查询数据、获取系统信息&#xff0c;威胁企业单位数据安全。 二、网络空间搜索引擎查询 fofa查询 app"T…

【STL】平衡二叉树

前言 对于之前普通的二叉搜索树&#xff0c;其搜索的效率依靠树的形状来决定&#xff0c;如下&#xff1a; 可以看到 A图 中的树比较彭亨&#xff0c;搜索一个元素的效率接近 O(logN) &#xff1b;而 B图 中的形状也符合搜索二叉树&#xff0c;但是很不平衡&#xff0c;这时的…

框架篇

一、Spring中的单例Bean是线程安全的吗 二、AOP相关面试题 三、Spring中的事务 四、Spring中事务失效的场景有 五、Spring bean的生命周期 六、Spring的循环依赖 七、SpringMVC的执行流程 八、自动配置原理 九、Spring框架常见的注解 十、Mybatis的执行流程 十一、MyBatis延迟加…

(转)tinymce-vue使用教程

一、资源下载 npm install tinymce -S //当前版本^5.1.1 npm install tinymce/tinymce-vue -S //当前版本^3.0.1二、安装语言包 资源下载后,在 node_modules 中找到 tinymce/skins 目录&#xff0c;然后将 skins 目录拷贝到 static 目录下,(PS: 如果是使用 vue-cli 3.x 构建…

前端开发tips

vue配置启动项目自动打开浏览器 打开package.json找到启动命令npm run dev 跟npm run serve(这两种命令都可以) 后面增加 --open Vue项目设置路径src目录别名为 Vue2 编辑vue.config.js内容如下&#xff1a; const { defineConfig } require(vue/cli-service)const path…

STM32Cube高效开发教程<基础篇>(六)----FSMC连接TFT-LCD屏

声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。    本专栏博客参考《STM32Cube高效开发教程(基础篇)》,有意向的读者可以购买正版书籍辅助学习,本书籍由王维波老师、鄢志丹老师、王钊老师倾力打造,书籍内容干货满满。 一、 FSMC连接…

LeetCode34 在排序数组中寻找元素的第一个和最后一个位置

题目&#xff1a; 思路&#xff1a; https://blog.csdn.net/wangjiaqi333/article/details/124526112 直观的思路肯定是从前往后遍历一遍。用两个变量记录第一次和最后一次遇见target的下标&#xff0c;但这个方法的时间复杂度为O(n)&#xff0c;没有利用到数组升序排列的条件…

小程序-uni-app:将页面(html+css)生成图片/海报/名片,进行下载 保存到手机

一、需要描述 本文实现&#xff0c;uniapp微信小程序&#xff0c;把页面内容保存为图片&#xff0c;并且下载到手机上。 说实话网上找了很多资料&#xff0c;但是效果不理想&#xff0c;直到看了一个开源项目&#xff0c;我知道可以实现了。 本文以开源项目uniapp-wxml-to-can…

前端技术-并发请求

并发请求 代码解释 定义了一个函数 concurRequest&#xff0c;用于并发请求多个 URL 并返回它们的响应结果。 function concurRequest(urls, maxNum) {return new Promise((resolve, reject) > {if (urls.length 0) {resolve([]);return;}const results [];let index …

【vue2高德地图api】01-创建应用,获取key值

系列文章目录 【vue2高德地图api】视频效果&#xff08;手机端&#xff09;先看这里 文章目录 系列文章目录前言创建key&#xff08;2个&#xff09;1.1进入控制台1.2进入应用1.3 创建应用1.4输入名称和类型2.1 添加key2.2 选择对应信息2.3 创建js key和服务端 key 总结 前言 …

Qt/C++编写物联网组件/支持modbus/rtu/tcp/udp/websocket/mqtt/多线程采集

一、功能特点 支持多种协议&#xff0c;包括Modbus_Rtu_Com/Modbus_Rtu_Tcp/Modbus_Rtu_Udp/Modbus_Rtu_Web/Modbus_Tcp/Modbus_Udp/Modbus_Web等&#xff0c;其中web指websocket。支持多种采集通讯方式&#xff0c;包括串口和网络等&#xff0c;可自由拓展其他方式。自定义采…

排序算法-基数排序法(RadixSort)

排序算法-基数排序法&#xff08;RadixSort&#xff09; 1、说明 基数排序法与我们之前讨论的排序法不太一样&#xff0c;并不需要进行元素之间的比较操作&#xff0c;而是属于一种分配模式排序方式。 基数排序法比较的方向可分为最高位优先&#xff08;Most Significant Di…

支持语音与视频即时通讯项目杂记(一)

第一部分解释服务端的实现。 &#xff08;服务端结构&#xff09; 下面一个用于实现TCP服务器的代码&#xff0c;包括消息服务器&#xff08;TcpMsgServer&#xff09;和文件中转服务器&#xff08;TcpFileServer&#xff09;。 首先&#xff0c;TcpServer是TcpMsgServer和Tcp…

上采样相关技术

一、参考资料 上采样和上卷积的区别 怎样通俗易懂地解释反卷积&#xff1f; 卷积和池化的区别、图像的上采样&#xff08;upsampling&#xff09;与下采样&#xff08;subsampled&#xff09; [读论文]用全卷积Res网络做深度估计 对抗生成网络GAN系列——DCGAN简介及人脸图像生…

MapReduce任务个数如何影响执行效率?性能优化从这里做起

在正文开始之前&#xff0c;请先来回答一下这个问题&#xff1a; 题目&#xff1a;输入为3个文件&#xff0c;a.txt 300MB,b.txt 100MB,c.txt 58.MB&#xff0c;使用MapReduce的example程序&#xff0c;计算Wordcount&#xff0c;请问&#xff0c;应该有多少个MapTask&#xf…

算法、推理、部署,面了40多个大佬的感想

今年三月份到现在陆陆续续面了40来个人&#xff0c;有实习生&#xff0c;有校招生&#xff0c;也有来社招的大佬们。面了挺久&#xff0c;有些总结和感想&#xff0c;发出来和大家交流交流&#xff0c;也趁着这个机会为之后参与校招的同学提供一些学习方向。 我面的岗位主要是…

计算机网络第2章-CDN(4)

视频流和内容分发网 HTTP流和DASH 在HTTP流中&#xff0c;视频只是存储在HTTP服务器中作为一个普通的文件&#xff0c;每个文件有有一个特定的URL。当用户要看视频时&#xff0c;客户与服务器之间创建一个TCP连接并发送HTTP GET请求。 HTTP流具有严重缺陷&#xff0c;即所有…

quartz中jdbc.initialize-schema

never&#xff1a;从不进行初始化&#xff0c;也就是不清空数据库 always&#xff1a;每次都清空数据库进行初始化 embedded&#xff1a;只初始化内存数据库&#xff08;默认值&#xff09;