【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
【Proteus仿真】【Arduino单片机】花样流水灯_第1张图片
【Proteus仿真】【Arduino单片机】花样流水灯_第2张图片

联系作者

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

你可能感兴趣的:(proteus,单片机,嵌入式硬件,Arduino编程,花样流水灯)