首页 > 其他分享 >51单片机学习

51单片机学习

时间:2024-03-16 23:14:49浏览次数:31  
标签:P2 1111 -- 51 学习 单片机 while 延时 Delay500ms

3.上面说了点亮一个Led灯,还有控制Led灯的闪烁,下面可以用一个比较笨的方法来做一个流水灯,思路就是先点亮第一个灯,然后点亮第二个,剩下的也是依次点亮,在每一个亮灭中间进行停顿,这样就能够形成所谓的流水灯效果了。代码如下

#include<REGX52.H>
#include<INTRINS.H>

void Delay500ms()        //@11.0592MHz
{
    unsigned char i, j, k;

    _nop_();
    i = 4;
    j = 129;
    k = 119;
    do
    {
        do
        {
            while (--k);
        } while (--j);
    } while (--i);
}

void main()
{
    while(1)
       {
                P2=0xFE;//1111 1110
        Delay500ms();
        P2=0xFD;//1111 1101
        Delay500ms();
        P2=0xFB;//1111 1011
        Delay500ms();
        P2=0xF7;//1111 0111
        Delay500ms();
        P2=0xEF;//1110 1111
        Delay500ms();
        P2=0xDF;//1101 1111
        Delay500ms();
        P2=0xBF;//1011 1111
        Delay500ms();
        P2=0x7F;//0111 1111
        Delay500ms();
        }  
}

 下面就是流水灯的PLUS 版本可以控制流水灯的速度,也就是调节延时函数的大小对延时函数进行更改一下,使延时函数更加的灵活,

延时函数更改如下

void Delay1ms(unsigned int xms)        //@11.0592MHz
{
    unsigned char i, j;

    while(xms);
       {
        i = 2;
    j = 199;
    do
    {
        while (--j);
    } while (--i);
        xms--;
       }
    
}

 

标签:P2,1111,--,51,学习,单片机,while,延时,Delay500ms
From: https://www.cnblogs.com/Zhang-xingping-shuo/p/18077803

相关文章

  • 嵌入式毕业设计-基于单片机的智能红外遥控器的设计与实现
    项目介绍技术:C语言、单片机等摘要:本设计内容是实现一个智能遥控器,利用STC89C54单片机作为主控芯片,同时与无线发射和接收模块配合,然后通过硬件设计和软件编程最终实现系统功能。本设计首先对红外遥控技术的基本原理和设计方法进行了详细介绍,然后确定系统方案,紧接着分别对......
  • 算法学习笔记(46): 离散余弦变换(DCT)
    前置知识:离散傅里叶变换傅里叶变换在上文中更多的是OI中的理解以及应用。但是傅里叶变换奥秘还很多。回顾\(\omega_n\)在傅里叶变换中的定义:\(e^{i\frac{2\pi}n}\),存在\(\omega_n^n=1\)的性质。意味着离散傅里叶变换实际上是周期性的,这也变相的解释了为什么存在循环......
  • JavaScript学习 第三天
    一、数组(一)数组基本知识声明按顺序保存数据的数据类型<body><script>letarr=[1,2,'猪儿',true]</script></body>声明数组函数<body><script>letarr=newArray(1,2,'猪儿',true)</script></body>......
  • JavaScript学习 第一天
    一、什么是JavaScript(一)介绍是一种运行在浏览器的编程语言,进行人机交互(二)可以做什么可以做网页特效,表单验证,进行数据交互,还有服务端编程node.js(三)组成由ECMAScript和WebAPIs组成其中WebAPIs由DOM和BOM组成ECMAScript:js基础语法知识WebAPIs:DOM:操作文......
  • 第五十七天| 647. 回文子串、5.最长回文子串、516.最长回文子序列
    Leetcode 647.回文子串题目链接:647回文子串题干:给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。回文字符串 是正着读和倒过来读一样的字符串。子字符串 是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的......
  • 动态代理和反射的基本学习
    今天在跟着视频学习的时候发现老师讲的知识点都只简单的了解过但是没有深入学习,导致在跟着视频敲代码的时候完全不知道自己是在写什么东西。所以决定先把基础补一补再继续跟老师做项目。打算先把自定义注解的编写和解析学好,想要学号这一块,又涉及到了Aop和java中反射的学习,那么话......
  • 【二】【单片机】有关独立按键的实验
    自定义延时函数Delay分别用Delay.c文件存储Delay函数。用Delay.h声明Delay函数。每次将这两个文件复制到工程中,直接使用。//Delay.cvoidDelay(unsignedintxms)//@11.0592MHz{while(xms--){unsignedchari,j;......
  • 初级Android开发学习笔记(三)图形用户界面设计-按钮Button
      按钮Button及按钮处理事件        按钮Button用于处理人机交互的事件,在一般应用程序中常常会用到。由于按钮Button是文本标签TextView的子类,按钮Button继承了文本标签TextView所有的方法和属性。其继承关系如图所示。    按钮Button在程序设计......
  • 高架学习笔记之软件工程基础
    目录一、软件工程二、软件过程模型三、瀑布模型四、原型模型五、螺旋模型六、增量模型七、构建组装模型八、敏捷模型九、统一过程模型(RUP)十、软件能力成熟度模型一、软件工程    计算机刚刚投入实际使用时,软件基本上是在指定的计算机上由个人进行设计、使用以......
  • 编译实践学习 Part2
    本文以CCBY-SA4.0协议发布。闲话重写了Part1里因为手滑而删除的AST。LunarVimIDE,你值得拥有(代码传上了github(推荐https://mirror.ghproxy.com加速).KoopaIR遍历AST,然后根据KoopaIR语法输出字符串。发现std::ostringstream还挺好用。比如:constexprconst......