#include "reg52.h"
#include "stdlib.h"typedef unsigned int u16;
void delay(u16 i)
{while(i--){};}
void main()
{srand(0);while(1){P2=rand()&0xff;delay(60000);}                  }

rand的结果为什么要和0xff与一下,因为rand的结果可能会超过0xff,而我们P2最大值就是0xff,所以与一下就能拿到随机数的低八位,一个16进制位是4个二进制位。

我刚开始没想清楚,觉得应该是和0xff或一下,一测试发现D1到D8全灭,完全不是我想要的结果。后来才反应过来,任何数和0xff或之后的结果都是0xff

那么对应的二进制就是1111 1111 可不就是8个灯都灭吗。和0xff与才对,哈哈。

这篇还有一个东西要说就是 P2 以及之前的sbit,今天找到了资料,明天写一写。

http://www.keil.com/support/man/docs/c51/c51_le_sbit.htm

这里有个特殊的用法P2=XX

可以参考我写的一篇文章。sbit和sfr到底是什么

总之特殊寄存器是可以直接把名字来操作数据的。

转载于:https://www.cnblogs.com/yfish/p/10854043.html

LED灯随机亮起几个灯相关推荐

  1. js:自动亮起100盏灯

    1)    使用js在页面上显示100盏灯,并标记从1到100的编号 2)    页面加载后3秒,从编号是1的灯依次自动亮起. 3)    每过0.5秒亮下一盏灯(10分) 4)    所有灯亮起后, ...

  2. 单片机led灯闪烁实验总结_单片机很好玩3,花三分钟,使用普通LED小灯,制作手机“呼吸灯”...

    上一节为了解决单片机 IO 电流驱动能力不足,导致 LED 小灯亮度不高的问题,借助了三极管.单片机的 IO 通过三极管开关 LED 小灯的电流,最后的确明显让小灯的亮度更高了. 使用电路模拟软件 还 ...

  3. AIR系列|板载LED|gpio引脚选择|GPIO|流水灯|LuatOS-SOC接口|官方demo|学习(20-1):GPIO库基础

    AIR系列各型号开发板板载LED对应管脚及GPIO控制代码 AIR103: rtos_bsp == "AIR103" then -- Air103开发板LED引脚编号--retur ...

  4. c语言流水灯定时器延时,实现流水灯以间隔500ms的时间闪烁(系统定时器SysTick实现的精确延时)...

    /** ****************************************************************************** * @file main.c * ...

  5. java中交通灯管理系统_java案例--交通灯管理系统学习

    一.需求分析 刚接到一个项目或者面试题(总之是一个相对比较复杂的问题时),应该对认真阅读问题的 要求和描述,并通过对这些的分析进行抽象,通过一个个对象的方式来考虑自己的程序该 怎么写.所以,首先来看看 ...

  6. 80c51流水灯程序汇编语言,单片机闪烁灯流水灯汇编代码大全

    1.单片机AT89C51的P2口接8个发光二极管,让这8个发光二极管显示闪烁功能,即八灯亮2S,熄灭3S,如此循环. 参考程序: ORG 0000H start: MOV P1,#0H CALL de ...

  7. 达芬奇pro的FPGA学习笔记4--LED闪烁(500ms灯1亮,500ms灯2亮)

    参考正点原子的代码 module led_twinkle( input sys_clk, input sys_rst, output [1:0] led);reg [25:0] cnt = 26'd0 ...

  8. java开灯问题_C++之开灯问题(链表)

    有n盏灯,编号为1~n.第1个人把所有灯打开,第2个人按下所有编号为2的倍数开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关,以此类推.一共有k个人,问最后有哪些灯开着?输入n和k,输出开 ...

  9. 自制小爱音箱控制氛围灯(小爱音箱+Arduino+RGB灯条+点灯科技)

    硬件准备 1 .wemos d1 mini (ESP8266) 2.灯条应该是ws2813吧 3.小爱音箱 查看资料 点灯科技接入小爱流程 https://diandeng.tech/doc/xiao ...

最新文章

  1. 在AE10.1环境下调试其他版本的程序
  2. asp.net 生成、解析条形码和二维码
  3. go benchmark 性能测试 单元测试 基准测试 使用方法详解
  4. 继承的概念和实现 、 super关键字 、 Object常见方法、抽象类、接口、模板方法模式、成员内部类、匿名内部类
  5. 机器学习非监督学习—k-means及案例分析
  6. C# 5.0 Async函数的提示和技巧
  7. 实现图片懒加载的方法
  8. PHP图片合成(gd库)
  9. Ruby程序语言入门
  10. kubernetes实践分享
  11. html消除自带边距,CSS3中清除外边距、内边距margin,padding使用方法
  12. 三菱Q系列PLC通过QD75P2N控制三菱MR-JEA伺服
  13. 定义一个接口ITest,接口中有3个抽象方法如下。
  14. CSS3 背景图 插入 SVG 或图片 base64
  15. FFmpeg滤镜:制作图片视频流(续)
  16. 2021年软件测试工具总结——模糊测试工具
  17. 2021年京东撸货还能做吗?轻松实现利益最大化,新手必看!
  18. 三层开发我的一家之言
  19. c语言计算2的n次方代码,计算2的N次方........有什么错吗?
  20. 两种方法转换U盘格式

热门文章

  1. linux操作系统命令及流程图,计算机操作系统与简单命令
  2. 关于java集合的知识点_java中集合的知识点
  3. oracle中ccuser,oracle数据库user profile设置方法
  4. python执行js脚本安全吗_手把手教你如何使用Python执行js代码
  5. java启动mysq服务_启动和关闭MySQL服务
  6. windows mysql 自动备份_windows mysql 自动备份的几种方法总结--岁月博客提供
  7. 装文件存储服务器Fastdfs
  8. Rhino(js的java实现组件)
  9. Spring MVC PathVariable
  10. 存储过程系列之存储过程sql数据库调用和程序代码调用