关闭

举报

  • 提交
    首页 > 致富技术 > 正文
    购物车
    0

    《姬家寨村太极花样流水灯》

    信息发布者:姬学瑞
    2024-08-20 05:56:12    来源:《姬家寨村电子科技》   原创




    硬件设计:姬学瑞;软件编程:姬学瑞;版权所有,侵权必究!

    姬家寨村电子科技研究所制作!

     

    */

     

    //系统数据显示

    void sys_data_show(void)

    {

      //花样模式1

    if(sys_ctrl.mode==0)

    {

    if(sys_ctrl.cnt<8)//1595输出

    {

    hc595_write_data(led_show1[sys_ctrl.cnt],0x00,0x00,0x00);

    }

    else if(sys_ctrl.cnt<16)//2595输出

    {

    hc595_write_data(0xFF,led_show1[sys_ctrl.cnt-8],0x00,0x00);

    }

    else if(sys_ctrl.cnt<24)//3595输出

    {

    hc595_write_data(0xFF,0xFF,led_show1[sys_ctrl.cnt-16],0x00);

    }

    else if(sys_ctrl.cnt<32)//4595输出

    {

    hc595_write_data(0xFF,0xFF,0xFF,led_show1[sys_ctrl.cnt-24]);

    }  

    }

    //花样模式2

    else if(sys_ctrl.mode==1)

    {

    if(sys_ctrl.cnt<8)//1595输出

    {

    hc595_write_data(~led_show1[sys_ctrl.cnt],~0x00,~0x00,~0x00);

    }

    else if(sys_ctrl.cnt<16)//2595输出

    {

    hc595_write_data(~0xFF,~led_show1[sys_ctrl.cnt-8],~0x00,~0x00);

    }

    else if(sys_ctrl.cnt<24)//3595输出

    {

    hc595_write_data(~0xFF,~0xFF,~led_show1[sys_ctrl.cnt-16],~0x00);

    }

    else if(sys_ctrl.cnt<32)//4595输出

    {

    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);//清屏

    }  

    }

    }  

    }

     

     


    打赏捐赠
    0
    !我要举报这篇文章
    声明 本文由村网通注册会员上传并发布,村网通仅提供信息发布平台。文章仅代表作者个人观点,不代表村网通立场。本文如涉及侵权请及时联系我们,我们将在24小时内予以删除!