用51单片机点亮流水灯
用51单片机点亮流水灯的几种方法
1. 直接按位操作一个一个点亮
#include<reg51.h>//头文件
sbit LED0=P2^0; //位定义单片机接LED灯的端口
sbit LED1=P2^1;
sbit LED2=P2^2;
sbit LED3=P2^3;
sbit LED4=P2^4;
sbit LED5=P2^5;
sbit LED6=P2^6;
sbit LED7=P2^7;
void delay()//延时函数
{unsigned char a,b;for(a=0;a<200;a++)for(b=0;b<200;b++);
}
void main()//主函数
{ while(1){LED0=0;//第一个灯亮delay();//延时LED0=1;//第一个灯灭 以下以此类推LED1=0;delay();LED1=1;LED2=0;delay();LED2=1;LED3=0;delay();LED3=1;LED4=0;delay();LED4=1;LED5=0;delay();LED5=1;LED6=0;delay();LED6=1;LED7=0;delay();LED7=1; }
}
2 利用数组结合for循环点亮流水灯
#include<reg51.h>//头文件
unsigned char table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//将8个LED灯亮放在一个数组中
void delay()//延时函数
{unsigned char a,b;for(a=0;a<200;a++)for(b=0;b<200;b++);
}
void main()//主函数
{unsigned char i;while(1){for(i=0;i<8;i++){P2=table[i];//for循环将LED灯显示出来delay(); //延时}}
}
3 利用左移符号<<实现流水灯显示
#include<reg51.h>//头文件
#define uchar unsigned char//宏定义用uchar表示unsigned char
#define uint unsigned int //宏定义用uint表示unsigned int
void delay()//延时函数
{unsigned char a,b;for(a=0;a<200;a++)for(b=0;b<200;b++);
}
void main()//主函数
{uchar k,i;while(1){k=0xfe;//11111110 <<for(i=0;i<8;i++){P2=k;delay();//延时k=k<<1; //11111100 <<左移运算符,左移后最右边补0k=k|0x01;//00000001 |按位或,把最低位置变1} //11111101} //11111010//00000001//11111011
}
4 利用循环函数实现流水灯
#include<reg51.h>//头文件
#include<intrins.h>//循环函数所在的库
#define uchar unsigned char//宏定义用uchar表示unsigned char
#define uint unsigned int //宏定义用uint表示unsigned int
void delay() //延时函数
{unsigned char a,b;for(a=0;a<200;a++)for(b=0;b<200;b++);
}
void main()//主函数
{uchar k;k=0xfe;while(1){P2=k;delay();k=_crol_(k,1);//11111110} //11111101 //_crol_(a,b) 循环左移函数,a是代表左移的值,b是代表左移的位数//_cror_(a,b) 循环右移函数,a是代表右移的值,b是代表右移的位数
}
注:
- 该程序51单片机开发板P2口接的是8位跑马灯
- 该程序51单片机开发板中LED位低电平驱动,即为0是灯亮
用51单片机点亮流水灯相关推荐
- 51单片机点亮流水灯
51单片机点亮流水灯 51单片机点亮流水灯 首先介绍开发板easyboard上的LED灯 P1端口通过74HC573连接到LED灯,查询74HC573芯片手册,内部由8个D锁存器构成,当OE为低电平, ...
- 【DIY】多模式51单片机心形流水灯+呼吸灯+蜂鸣器音乐
目录: 总体设计 1.基础硬件DIY设计 1)整体原理图 2)PCB电路 3)3D_PCB 2.单片机程序设计 1)呼吸灯[简易模拟PWM] 2)蜂鸣器音乐 3)几种简易流水灯方式 3.效果展示 1) ...
- 51单片机制作花式流水灯的三种方式总结与仿真运行
制作流水灯,一共有三种方式,分别是左右移位,延时,与定时器(计数器)方式 其中移位方式较为简便,常与简单的延时一同使用在各类工程中.除此之外,也可以直接操作寄存器改变灯的亮度. 延时方式通过改变占空比 ...
- 基于51单片机的花样流水灯设计
文章目录 一.前言 二.模块介绍及原理说明 三.硬件连接 四.程序说明 五.效果演示 六.代码链接 一.前言 花样流水灯就是让LED灯按照一定规律进行各种变化,流水灯在生活中也随处可见,例如在建筑物的 ...
- 基于51单片机的花样流水灯设计(源码+仿真+设计报告)
资料编号:113 采用51单片机的IO控制多个LED灯,实现多种模式的流水风,全套资料齐全:具体功能请看下方演示视频 113-基于51单片机的花样流水灯设计(源码+仿真+设计报告) 单片机最小系统介绍 ...
- STM32单片机点亮流水灯
STM32单片机GPIO口点亮流水灯 任何一个单片机,最简单的外设莫过于 IO 口的高低电平控制了,本文将通过一个经典的流水灯程序,了解 STM32F1 的 IO 口作为输出LED:DS0 和 DS1 ...
- 51单片机--点亮LED灯和流水灯
文章目录 前言 LED模块的原理 点亮一个LED灯 LED灯的闪烁 LED流水灯 前言 大家好,这里是诡异森林.我使用的是普中科技的A2的51开发板,适合新手入门.用到的应用是Keil5和Stc-is ...
- 【51单片机】花式流水灯
目录 任务要求: 1.按键 1.2.3.4 按下,使 8 个 LED 实现下面对应的模式 1. 2. 3.4,上电默认每种模式流水灯的流转时间间隔为 500ms. 1)模式1:按照L1. ...
- 简单51单片机c语言编程流水灯,51单片机如何实现流水灯?51单片机实现流水灯的三种方法详细分析...
描述 首先,介绍下原理.下图为主控芯片和流水灯模块的原理图.流水灯模块接在单片机的P1口,由原理图可以知道,在P1口给一个低电平即可点亮LED灯.相反,如果要LED灯熄灭,就要把P1口的电平变为高电平 ...
最新文章
- 【MFC】带下拉菜单的工具栏
- Java IO: PipedOutputStream
- WORD列表缩进的文本起始点
- vue import组件的使用
- 苹果验证电子邮件地址服务器错误,苹果7P账户申请,验证电子邮件地址创建新Apple ID发生未知错误...
- (二)线程--通过委托异步调用方法
- linux lasound.so教程,Linux ALSA 音频系统:逻辑设备篇(示例代码)
- 【MySQL数据库教程天花板】
- Android 自定义View实现拖动滑块完成验证
- 【独行秀才】macOS Big Sur 11.6正式版(20G165)原版镜像
- android没有adm_这可能是安卓平台上最好的下载器:ADM
- freemarer代码生成案例
- 软件工程毕业论文mysql英文翻译_软件工程技术英文文献和中文翻译
- 盛大无传奇 啥时离职成见面招呼语
- 解决https JDK导入安全证书
- MAC安装视频播放器MPV
- ArcPy - 入门学习
- 难复制薇娅李佳琦,如涵的网红牌何时能在资本市场出奇制胜?
- 网站统计IP PV UV实现原理
- 这对咱们的打算极为不利