点亮led灯的个数_16个LED灯循环点亮的小程序(代码)
今天又小伙伴又来考我了。问我16个LED灯循环点亮怎么变成。我也动了下手,将手里的8个LED灯循环点亮的小程序进行了修改,就完成了16个LED灯循环点亮的小实验。那么下面给大家分享下吧!
其实16个LED灯循环点亮更8个LED灯循环点亮一个道理!我这里用到了移位函数,移位函数都在intrins.h文件里面。这里注意移位函数的选择,8位数据和16位数据要用到不同的移位函数。这里是最关键的,其他的地方也就大同小异了。
下面就看看代码吧!
代码:
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
#include//因为要用到左右移函数,所以加入这个头文件
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
#define led1 P0 //将P0口定义为led0 后面就可以使用led代替P0口
#define led2 P2 //将P2口定义为led2 后面就可以使用led代替P2口
/*******************************************************************************
* 函 数 名 : delay
* 函数功能 : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{
while(i--);
}
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main()
{
u16 i,led;
led=0xfffe;
led1=0xff;
led2=0xff;
while(1)
{
for(i=0;i<15;i++)//将led右移一位
{
led1=led;
led2=_irol_(led,8);
led=_irol_(led,1);
delay(50000); //大约延时450ms
}
//试试将下面的注释去掉会怎样呢?去看看结果吧!
/***********************************************
for(i=0;i<15;i++)//将led右移一位
{
led1=led;
led2=_iror_(led,8);
led=_iror_(led,1);
delay(50000); //大约延时450ms
}
*************************************************/
}
}
代码是不是很简单呢。分享的文件里还有8个LED灯循环点亮的程序,方便大家作对比。还有Proteus的仿真工程,可以直接用软件仿真就可以查看具体效果了。安装了Proteus的小伙伴可以去试试了。
点亮led灯的个数_16个LED灯循环点亮的小程序(代码)相关推荐
- 单片机c语言实现小灯循环亮1 8个,实现单片机信号灯1-8依次循环点亮的程序怎么写...
把各个花样写在子函数,中断中对变量加1,在判断是否大于5,大于5就对变量清零.因为你要5种花样.主函数判断变量的值,1时执行从左到右依次点亮,2时执行从左到右逐个依次熄灭.依次下去 # include ...
- 微信小程序 阿里云服务器 非物联网平台自建MQTT代理服务器控制树莓派LED
微信小程序 阿里云服务器 非物联网平台自建MQTT代理服务器控制树莓派LED 本人大三,临近毕业季,日后希望从事物联网和嵌入式相关工作,所以自己构想了一个项目来练手,之前做大创的时候学了一点微信小程序 ...
- 2021-06-01 51蛋骗鸡(单片机开关k1闭合时,实现发光二极管D1~D4,D8~D5循环点亮,k2闭合时,实现D4~D1,D5~D8循环点亮)
缘由单片机实现发光二极管D1~D4,D8~D5循环点亮 k2闭合实现D4~D1,D5~D8循环点亮" - 24小时必答区 #include "reg52.h" sbit ...
- 微信小程序实现两个数之间的运算
微信小程序实现两个数之间的运算 要求:创建一个微信小程序实现两个数字的比较运算.加法运算.减法运算.乘法运算或者除法运算中的一种,效果如图(这里我写的包含了所有运算,可根据需要自行选择): app.j ...
- 大牛教学 | 在51单片机上用C语言实现循环点亮8盏LED灯
大家好,最近很多同学都在找分享,也有许多同学问我单片机问题. 在此,在CSDN平台开设账号,分享平时给同学们的案例.希望能帮到更多的人.谢谢 首先是循环点亮LED灯 原理图 如上图,我们有8颗LED等 ...
- 51单片机基础入门(2)点灯大师:单个LED点亮、多个LED点亮、流水灯(附程序代码、解析)
点亮LED 一.LED基本概念 二.LED工作参数 三.LED原理图分析 四.实践编程 一.LED基本概念 什么是LED LED(light-emitting diode): 发光二极管 是一种常用的 ...
- 用C51汇编语言控制1234灯亮,51单片机:用汇编语言控制LED灯发光
硬件电路: P1.0 ~ P1.5 外接 6 个 LED,分别称为 D1 ~ D6,低电平发光. P0.0 ~ P0.3 外接 4 个 按键,分别称为 K1 ~ K4. P3.2 ~ P3.3 外接 ...
- Linux4个led灯循环点亮程序,循环点亮LED灯实验
终于把LED等的实验做好了...linux平台上做. 貌似速度很不好... 延迟的函数是递减0x100000, 大约需要三四秒.真够慢的.. 一共有两个文件,一个汇编文件,一个C语言文件,其中汇编文 ...
- 点亮 Linux 驱动开发路上的第一个灯
Linux下的任何外设驱动,最终都是要配置相应的硬件寄存器.前面的文章中介绍了新旧字符设备的驱动开发框架,也介绍了IMX6ULL处理器GPIO的工作原理及配置方法,本篇我们将实际操作一个GPIO,点亮 ...
最新文章
- Makefile(一)
- 民国大学教授收入有多高?
- 找出数组中只出现1次的两个元素
- JavaScript数据结构——栈(Stack)
- BZOJ1861:[ZJOI2006]书架——题解
- 【基础教程】基于matlab图像去噪总结【含Matlab源码 1274期】
- java静态方法没有this,super与this无法用在static方法中
- 挑战程序设计竞赛 — 知识总结
- 多任务学习(Multi-Task Learning)
- 多台计算机直接连接打印机,多台电脑如何连接打印机?
- 恢复Cisco 2960交换机密码
- 【Linux】进程终止与进程等待/僵尸进程与孤儿进程
- X上面有一道横线,怎么打出来?
- 蛋白和肽测序仪销量、收入、价格、毛利率及市场份额
- 如何在CentOS 8上安装Docker
- 【华为OD机试/笔试真题 python】出错的或电路
- 计算机网络socket翻译成中文,Socket的错误码和描述(中英文翻译)
- .chm格式文件如何阅读
- 为什么我的js function中的代码不起作用了?
- 怎么算程序框图的计算机程序,算法与程序框图导学案
热门文章
- [mobx] Dynamic observable objects cannot be frozen 解决记录
- Portapack ADS-B接收室外附近飞机信号
- Defensive Programming in PHP(PHP中的防御性编程)
- Android学习笔记 56. TabLayout 选项卡布局
- 你知道有哪些输入文字生成诗句的软件吗?
- layui表单数据重载 全局搜索
- 【数据结构】set重载 < 运算符
- 26个新媒体运营数据来源渠道
- 二本计算机专业 考研究生,二本可以考上985的研究生吗?
- 利用百度地图,根据经纬度找到对应的具体街道