**`


51单片机流水灯程序


`**

初学者小白,分享上课时写的小程序和普中科技程序,感兴趣的可以瞧瞧。
程序如有相同冒犯了。

/**************************************************************************************
实验现象:下载程序后"LED&交通灯模块"的D1-D8呈现流水灯效果
接线说明: 单片机-->LED&交通灯模块(具体接线图可见开发攻略对应实验的“实验现象”章节)P00-->D1P01-->D2 ...P07-->D8
注意事项:
***************************************************************************************/#include "reg52.h"             //此文件中定义了单片机的一些特殊功能寄存器
#include<intrins.h>       //因为要用到左右移函数,所以加入这个头文件typedef unsigned int u16;    //对数据类型进行声明定义
typedef unsigned char u8;#define led P0    //将P0口定义为led 后面就可以使用led代替P0口/*******************************************************************************
* 函 数 名         : delay
* 函数功能         : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{while(i--);
}/*******************************************************************************
* 函 数 名       : main
* 函数功能       : 主函数
* 输    入       : 无
* 输    出         : 无
*******************************************************************************/
void main()
{u8 i;led=~0x01;//led=0xfe;//看是否高低电平点亮。delay(50000); //大约延时450ms  while(1){   for(i=0;i<8;i++){P0=~(0x01<<i);     //将1右移i位,然后将结果赋值到P0口delay(50000); //大约延时450ms}/*for(i=0;i<7;i++)   //将led左移一位{led=_crol_(led,1);delay(50000); //大约延时450ms    }for(i=0;i<7;i++) //将led右移一位{led=_cror_(led,1);delay(50000); //大约延时450ms }*/}
}
0 全部闪烁
#include<reg51.h>
void delay();//delay延迟函数
void main()
{while(1){P0=0xff;delay();P0=0x00;delay();}
}
void delay()
{unsigned int i,j;for(i=1000;i>0;i--)for(j=124;j>0;j--);
}1.闪烁第1个led
#include<reg52.h>void delay(unsigned int z);//函数声明sbit led1=P0^0;unsigned int x,y;void main(){P0=0xff;while(1){led1=1;delay(1000);led1=0;delay(500);}
}void delay(unsigned int z)
{unsigned int x,y;for(x=z;x>0;x--)for(y=500;y>0;y--);2  流水灯从左向右移动
方法1
#include<reg51.h>
void delay();
unsigned char i;
void main()
{while(1){P0=0x01;for(i=0;i<8;i++){ delay();P0<<=1;}}
}
void delay()
{unsigned int i,j;for(i=1000;i>0;i--)for(j=124;j>0;j--);
}方法2
#include <reg51.h>
#include <intrins.h>          //包含左移和右移函数的头文件//
void delay();
unsigned char i;
void main()
{P0=0x01;//P0=0xfe;while(1){delay();P0=_crol_(P0,1);}
}
void delay()
{unsigned int i,j;for(i=1000;i>0;i--)for(j=124;j>0;j--);
}3  流水灯从右向左移动
方法1
#include<reg51.h>
void delay();
unsigned char i;
void main()
{while(1){P0=0x80;for(i=0;i<8;i++){ delay();P0>>=1;}}
}
void delay()
{unsigned int i,j;for(i=1000;i>0;i--)for(j=124;j>0;j--);
}
方法2
#include <reg51.h>
#include <intrins.h>          //包含左移和右移函数的头文件//
void delay();
unsigned char i;
void main()
{P0=0x80;while(1){delay();P0=_cror_(P0,1);}
}
void delay()
{unsigned int i,j;for(i=1000;i>0;i--)for(j=124;j>0;j--);
}

51单片机流水灯现象1相关推荐

  1. 51单片机流水灯制作

    文章目录 51单片机流水灯制作 初试与复试 初试 复试 制作 分工 制作之硬件 制作之软件 总结 51单片机流水灯制作 我不得不承认自己的毅力实在是太差了,原先准备一星期写一篇博客的目标一致没有实现, ...

  2. 如何用多种代码实现51单片机流水灯

    用51单片机实现流水灯的方法有多种:普通电灯法,位移法,数组法.其次模拟电路的电流图也与点一盏LED相似.具体如下: 一   首先是最简单的代码: #include <reg52.h>   ...

  3. 51单片机-------流水灯(实验报告)

    实验二:LED流水灯 一.实验目的 掌握51单片机开发板的使用步骤: 掌握51单片机开发板所需软件的安装过程: 以LED流水灯实验为例子,掌握软件KEIL4的使用方法. 二.实验设备 实验仪器设备: ...

  4. 51单片机——流水灯

    51单片机--单向流水灯 编写程序8个LED灯从最高位依次点亮,每次只亮一盏灯,依此循环. 电路原理图 源代码 #include "reg51.h" #define u8 unsi ...

  5. 设计一:51单片机流水灯控制

    目录 一.设计内容 二.硬件电路分析 三.仿真原理图 四.程序设计 五.仿真结果 六.思考题 作者有话说 一.设计内容 本次设计使用4个按键,当KEY1按下时,P0口所接的发光二极管(D1~D8)以1 ...

  6. 51单片机流水灯的三种实现方法

    首先,介绍下原理.下图为主控芯片和流水灯模块的原理图.流水灯模块接在单片机的P1口,由原理图可以知道,在P1口给一个低电平即可点亮LED灯.相反,如果要LED灯熄灭,就要把P1口的电平变为高电平即可. ...

  7. 51单片机流水灯控制(5种方法)

    实现流程: 1. 新建一个工程(新项目)2. 查看原理图确定需求(流水灯)对应LED引脚在单片机上的哪个引脚3. 编写程序(通过查看原理图可以看到我们需要控制整个P2口以控制8个LED灯)4. 编译程 ...

  8. 51单片机流水灯用c语言,51单片机之流水灯(C语言和汇编两个版本)

    c语言 #include typedef unsigned char uint8; sbit ADDR0=P1^0; sbit ADDR1=P1^1; sbit ADDR2=P1^2; sbit EN ...

  9. 51单片机流水灯:控制LED亮暗顺序

    我这个是笨方法,就是根据需要LED位置,将二进制转化为16进制去控制其亮. 比如让LED灯按照从右往左数1,3,5,7,8,6,4,2的顺序依次亮,就根据二进制转16进制的表 表示出来即可,代码如下: ...

最新文章

  1. 应用上云2小时烧掉近50万,创始人:差点破产,简直噩梦
  2. 视觉SLAM笔记(3) 视觉SLAM框架
  3. 公司新来了一个质量工程师,说团队要保证 0 error,0 warning
  4. java初反射_java中的反射机制
  5. (5)呼吸灯systemverilog与VHDL编码
  6. Python使用TCPServer编写(多线程)Socket服务
  7. 谁有html制作3d浪漫相册有代码,3D相册制作代码
  8. java包含罗马字符_leetcode.字符串.12整数转罗马数字-Java
  9. 命令总结(一)-TcpDump命令使用详情
  10. Python入门基础-七、案例4 52周存钱挑战 #列表(list)#math 库#for循环#range()用法#函数的参数传递#datetime库
  11. 300题 第七讲 零点定理与微分不等式
  12. 浏览器网页无法打开麦克风、摄像头
  13. OneWay广告后台注册申请
  14. 不懂英文能靠建站卖站达到月入上万?
  15. Dilworth定理的简单应用(导弹拦截题解)
  16. Java转义字符(转载)
  17. pg_pathman实例
  18. EffectCreator 6.1.0中文版 抖音短视频编辑工具
  19. 用python实现批量图片的格式转换
  20. pod install 之后 需要重新 设置teamId

热门文章

  1. python中欧拉-罗德里格斯的代码详解
  2. CUDA对应的NVIDIA驱动版本对照表
  3. 鹅厂流出两份Android Framework技术宝典火了,完整版 PDF 限时开放下载
  4. 苹果邮箱怎么登录qq邮箱_怎么登陆邮箱?公司mail邮箱在哪登录?
  5. 数据的编码类型及数据通信的工作方式
  6. 艾孜尔江_Unity 3D入门常用函数用法及案例概要【干货】
  7. CGAL 4.11 官方文档 软件包概述 ——胞腔复形与多面体类
  8. Linux查看文件的命令
  9. 查看计算机硬件配置方法(包括内存条、显卡型号,卡槽还剩几个)
  10. GetLastError 函数错误信息 代码大全