栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

入门跑马灯

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

入门跑马灯

文章目录
    • 流水灯
      • 流水灯--分步赋值法(数组赋值)
      • 流水灯--变量的左移右移
      • 流水灯--变量的循环左移和右移

流水灯 流水灯–分步赋值法(数组赋值)

我们利用分步点亮的原理,可以实现最简单的流水灯。但是STC15单片机运行速度非常快,为了实现我们想要的效果,P3口点亮一个LED之后,延迟一段时间,再点亮下一个LED,延迟,以此类推,这样就可以循环显示8个LED流水效果

首先我没有相对应的硬件,没有哪个板子有8个灯的也就跑不出流水的效果,但是我可以借助数码管来演示流水灯的效果

但是单片机速度很快的,我们需要延时一下,不然人眼是看不到流水效果的

u8 code buffer[8] = {0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};

void delay()
{
	u8 x = 0;
	u8 y = 0;
	u8 z = 0;
	for(x = 0;x<200;x++)
	{
		for(y = 0;y<200;y++)
		{
			for(z = 0;z<20;z++);
		}
	}
}
//流水灯--分步赋值法(数组赋值)
int main()
{
	SN74LS244_Init();
	while(1)
	{
		u8 i = 0;
		for(i = 0;i<8;i++)
		{
			P7 = buffer[i];
			delay();					
		}
	}
}
流水灯–变量的左移右移

1 、利用左移语句,实现 P3 口 LED挨个点亮

2 、利用右移语句,实现 P3 口 LED 挨个灭掉

流水灯–变量的循环左移和右移

//流水灯 — 变量的 循环左移和右移
void main()
{	
	u8 LED = 0x7f;
	SN74LS244_Init();
	P3M1 = 0;   P3M0 = 0;   //设置为准双向口
	while(1)
	{
		P7 = LED;
		delay();
		LED = _cror_(LED,1);
	}
}

注意我只给了主函数的代码,代码并不难,耗时的是文章的排版与gif的制作,我基本找了半天的工具才找到适合的,我用的板子不是配套的,但是万变不离其中,给我原理图我照样可以写一个陌生的板子,这套板子原始资料我已经上传了,我自己的笔记没有,我准备慢慢上传

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/290526.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号