基于51单片机的花样流水灯设计

本文介绍了一款基于51单片机的花样流水灯设计,通过单片机的IO控制实现多种模式的流水灯效果。文章提供了源码、仿真图及设计报告等内容,展示了定时器中断函数中如何通过控制LED灯的状态实现不同模式的流水灯。
摘要由CSDN通过智能技术生成

资料编号:113  下面是相关功能视频演示:

113-基于51单片机的花样流水灯设计(源码+仿真+设计报告)

功能讲解:

采用51单片机的IO控制多个LED灯,实现多种模式的流水灯,全套资料齐全:流水灯的原理其实很简单,就是通过单片机的IO控制电平的变化,使LED导通或者不导通,来达到亮和不亮的效果,依次点亮LED就达到了流水的效果;下面是仿真图展示:

下面是程序源码部分展示:

void TIME_t0() interrupt 1            //定时器0的中断函数
 {
     TH0=(65536-50000)/256;                
    TL0=(65536-50000)%256;
    num1++;                             //num加1
    if(num1==10)                     //time时间可以调整
    {
        num1=0;                          //num    清零
        if(k1==1)                      //流水灯第一种方式
        {
          switch(num)
          {
          case 0:                      
          temp=0xfe;
          P0=temp;
          P1=temp;
          num++;                  
          break;

          case 1:                     
          temp=_crol_(temp,1);   //循环左移  
          P0=temp;
          P1=temp;
          if(temp==0x7f)
          num=0;
          break;
         }
        }

        if(k2==1)                     //流水灯第二种方式
        {
         switch(num2)
          {
          case 0:                      
          temp=0xfc;
          P0=temp;
          P1=0x00;
          num2++;                  //num加1
          break;

          case 1:                     
          temp=_crol_(temp,1);   //循环左移  
          P0=temp;
          P1=~P1;
          if(temp==0x3f)
          num2=0;
          break;
        }
     }
        if(k3==1)                           //流水灯第三种方式
        {
         switch(num3)
          {
          case 0:                      
          temp=0xfe;
          P0=temp;
          P1=temp;
          num3++;                 
          break;

          case 1:                     
          temp=temp<<1;          //左移  
          P0=temp;
          P1=temp;
          if(temp==0x00)
          num3=0;
          break;
 

 下面是该资料的分享下载链接:

https://pan.baidu.com/s/13O2UVky-dUoj76oGmA5ITA?pwd=dw6p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值