51单片机流水灯现象1
**`
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相关推荐
- 51单片机流水灯制作
文章目录 51单片机流水灯制作 初试与复试 初试 复试 制作 分工 制作之硬件 制作之软件 总结 51单片机流水灯制作 我不得不承认自己的毅力实在是太差了,原先准备一星期写一篇博客的目标一致没有实现, ...
- 如何用多种代码实现51单片机流水灯
用51单片机实现流水灯的方法有多种:普通电灯法,位移法,数组法.其次模拟电路的电流图也与点一盏LED相似.具体如下: 一 首先是最简单的代码: #include <reg52.h> ...
- 51单片机-------流水灯(实验报告)
实验二:LED流水灯 一.实验目的 掌握51单片机开发板的使用步骤: 掌握51单片机开发板所需软件的安装过程: 以LED流水灯实验为例子,掌握软件KEIL4的使用方法. 二.实验设备 实验仪器设备: ...
- 51单片机——流水灯
51单片机--单向流水灯 编写程序8个LED灯从最高位依次点亮,每次只亮一盏灯,依此循环. 电路原理图 源代码 #include "reg51.h" #define u8 unsi ...
- 设计一:51单片机流水灯控制
目录 一.设计内容 二.硬件电路分析 三.仿真原理图 四.程序设计 五.仿真结果 六.思考题 作者有话说 一.设计内容 本次设计使用4个按键,当KEY1按下时,P0口所接的发光二极管(D1~D8)以1 ...
- 51单片机流水灯的三种实现方法
首先,介绍下原理.下图为主控芯片和流水灯模块的原理图.流水灯模块接在单片机的P1口,由原理图可以知道,在P1口给一个低电平即可点亮LED灯.相反,如果要LED灯熄灭,就要把P1口的电平变为高电平即可. ...
- 51单片机流水灯控制(5种方法)
实现流程: 1. 新建一个工程(新项目)2. 查看原理图确定需求(流水灯)对应LED引脚在单片机上的哪个引脚3. 编写程序(通过查看原理图可以看到我们需要控制整个P2口以控制8个LED灯)4. 编译程 ...
- 51单片机流水灯用c语言,51单片机之流水灯(C语言和汇编两个版本)
c语言 #include typedef unsigned char uint8; sbit ADDR0=P1^0; sbit ADDR1=P1^1; sbit ADDR2=P1^2; sbit EN ...
- 51单片机流水灯:控制LED亮暗顺序
我这个是笨方法,就是根据需要LED位置,将二进制转化为16进制去控制其亮. 比如让LED灯按照从右往左数1,3,5,7,8,6,4,2的顺序依次亮,就根据二进制转16进制的表 表示出来即可,代码如下: ...
最新文章
- 应用上云2小时烧掉近50万,创始人:差点破产,简直噩梦
- 视觉SLAM笔记(3) 视觉SLAM框架
- 公司新来了一个质量工程师,说团队要保证 0 error,0 warning
- java初反射_java中的反射机制
- (5)呼吸灯systemverilog与VHDL编码
- Python使用TCPServer编写(多线程)Socket服务
- 谁有html制作3d浪漫相册有代码,3D相册制作代码
- java包含罗马字符_leetcode.字符串.12整数转罗马数字-Java
- 命令总结(一)-TcpDump命令使用详情
- Python入门基础-七、案例4 52周存钱挑战 #列表(list)#math 库#for循环#range()用法#函数的参数传递#datetime库
- 300题 第七讲 零点定理与微分不等式
- 浏览器网页无法打开麦克风、摄像头
- OneWay广告后台注册申请
- 不懂英文能靠建站卖站达到月入上万?
- Dilworth定理的简单应用(导弹拦截题解)
- Java转义字符(转载)
- pg_pathman实例
- EffectCreator 6.1.0中文版 抖音短视频编辑工具
- 用python实现批量图片的格式转换
- pod install 之后 需要重新 设置teamId