【Proteus仿真】【Arduino单片机】花样流水灯


一、功能简介

本项目使用Proteus8仿真Arduino单片机控制器,使用按键、LED模块、74HC595模块等。

主要功能:
系统运行后,按下K1键,流水灯启动运行,内置3种花样显示效果。


二、软件设计

/*
作者:嗨小易(QQ:3443792007)

*/



//系统数据显示
void sys_data_show(void)
{
  //花样模式1
	if(sys_ctrl.mode==0)
	{
		if(sys_ctrl.cnt<8)//第1块595输出
		{
			hc595_write_data(led_show1[sys_ctrl.cnt],0x00,0x00,0x00);	
		}
		else if(sys_ctrl.cnt<16)//第2块595输出
		{
			hc595_write_data(0xFF,led_show1[sys_ctrl.cnt-8],0x00,0x00);	
		}
		else if(sys_ctrl.cnt<24)//第3块595输出
		{
			hc595_write_data(0xFF,0xFF,led_show1[sys_ctrl.cnt-16],0x00);	
		}
		else if(sys_ctrl.cnt<32)//第4块595输出
		{
			hc595_write_data(0xFF,0xFF,0xFF,led_show1[sys_ctrl.cnt-24]);	
		}			
	}
	//花样模式2
	else if(sys_ctrl.mode==1)
	{
		if(sys_ctrl.cnt<8)//第1块595输出
		{
			hc595_write_data(~led_show1[sys_ctrl.cnt],~0x00,~0x00,~0x00);	
		}
		else if(sys_ctrl.cnt<16)//第2块595输出
		{
			hc595_write_data(~0xFF,~led_show1[sys_ctrl.cnt-8],~0x00,~0x00);	
		}
		else if(sys_ctrl.cnt<24)//第3块595输出
		{
			hc595_write_data(~0xFF,~0xFF,~led_show1[sys_ctrl.cnt-16],~0x00);	
		}
		else if(sys_ctrl.cnt<32)//第4块595输出
		{
			hc595_write_data(~0xFF,~0xFF,~0xFF,~led_show1[sys_ctrl.cnt-24]);	
		}			
	}
	//花样模式3
	else if(sys_ctrl.mode==2)
	{	
		hc595_write_data(led_show1[sys_ctrl.cnt],led_show1[sys_ctrl.cnt],led_show1[sys_ctrl.cnt],led_show1[sys_ctrl.cnt]);						
	}	
}


//应用控制程序
void app_ctrl_demo(void)
{
  sys_parm_init();//系统参数初始化
  key_init();
  exti0_init();
  hc595_init();
  hc595_write_data(0x00,0x00,0x00,0x00);
  time2_init(10);//定时10ms
  MsTimer2::start();

  while(1)
  {
    sys_data_show();//系统数据显示
  }
}

//定时器2中断函数
void timer2Isr(void)
{	
	static u8 i=0;
	i++;
	if(i>=10)
	{
		i=0;
		if(sys_ctrl.mode<2)
		{
			sys_ctrl.cnt++;
			if(sys_ctrl.cnt>31)
			{
				sys_ctrl.cnt=0;
				hc595_write_data(0x00,0x00,0x00,0x00);//清屏
			}	
		}
		else
		{
			sys_ctrl.cnt++;
			if(sys_ctrl.cnt>7)
			{
				sys_ctrl.cnt=0;
				hc595_write_data(0x00,0x00,0x00,0x00);//清屏
			}		
		}	
	}			
}



三、实验现象

B站演示视频:https://space.bilibili.com/444388619
在这里插入图片描述
在这里插入图片描述

联系作者

视频地址:https://space.bilibili.com/444388619/video
专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值