当前位置: 首页 > news >正文

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.lryc.cn/news/196438.html

相关文章:

  • Java系列 | 如何讲自己的JAR包上传至阿里云maven私有仓库【云效制品仓库】
  • 小程序技术加速信创操作系统国产化替换
  • 免费:实时 AI 编程助手 Amazon CodeWhisperer
  • 面试准备-深入理解计算机系统-信息的表示与处理1
  • 搭建Atlas2.2.0 集成CDH6.3.2 生产环境+kerberos
  • 【运维笔记】swow源码编译安装
  • 【2023/10/16 下午10:32:39】
  • qemu基础篇——VSCode 配置 GDB 调试
  • Spark常用算子
  • day35
  • js原型链以及实现继承的手段
  • jdk8u201版本cpu.load过高问题的排查和解决
  • 【计算机网络笔记】数据交换之报文交换和分组交换
  • 【广州华锐互动】利用VR开展细胞基础实验教学有什么好处?
  • 基于SSM+Vue的咖啡销售系统
  • L2-026 小字辈
  • linux 查看系统版本
  • Python实现PDF转换文件格式
  • 【Ceph Cluster】完全删除Ceph集群
  • 4.Vue-Vue调用第三方接口
  • 大语言模型在推荐系统的实践应用
  • 第三章 交换技术及应用
  • 地震勘探原理部分问题解答
  • 两个步骤轻松搞定批量合并视频
  • VR虚拟现实在室内设计仿真教学中的应用演示
  • Python操作串口通信
  • 图详解第四篇:单源最短路径--Dijkstra算法
  • CRMEB多商户商城系统阿里云集群部署教程
  • Java第三方登录封装工具类
  • BUUCTF学习(四): 文件包含tips