微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 超级声光多彩灯(纯属娱乐性学习)51单片机程序

超级声光多彩灯(纯属娱乐性学习)51单片机程序

时间:10-02 整理:3721RD 点击:

作者案:今天周六,有点时间,拿来开发板搞个多彩灯玩玩吧,现把程序发给大家,此程序可以直接在开发板上运行。有兴趣的朋友都来玩玩吧!
/*
***************************************************************************
*
*     (C) Copyright 2009,单片机初学者园地
*                          All Rights reserved.
*
*项目名称:    51单片机学习开发系统
*               
*本文件名称:super_led.c
*      
* 完成作者 : 张工(QQ:464976346)
* 当前版本 : V1.0        
* 完成日期 : 2009年3月28日
* 描    述 : 超级声光多彩灯(纯属娱乐性学习)      
****************************************************************************
*/
#include <REG52.H>   
sbit  BUZZ   = P3 ^ 3;  //蜂鸣器
/**********花样图形表(共7组)可自行添加*******************/
unsigned char code flash1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};  //从0-7
unsigned char code flash2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};  //从7-0
unsigned char code flash3[]={0x7e,0xbd,0xdb,0xe7,0xe7,0xdb,0xbd,0x7e};  //从两端开始
unsigned char code flash4[]={0xe7,0xdb,0xbd,0x7e,0x7e,0xbd,0xdb,0xe7};  //从中间开始
unsigned char code flash5[]={0xff,0x00,0xff,0x00,0xaa,0x55,0xaa,0x55};  //全闪烁和间隔闪
unsigned char code flash6[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};  //从7-0
unsigned char code flash7[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};  //从0-7
/*****************延是函数********************************/
void delay(unsigned int k)     
{        
unsigned int i,j;      
for(i=0;i<k;i++)
  {     
  for(j=0;j<121;j++)     
    {;}
  }        
}        
/********************主函数********************************/
void main(void)     
{
  unsigned char temp;
   P1=0; //关闭数码管,防止数码管闪烁
        
while(1) //总循环
      
{ /**********第一组*******************/      
    for(temp=0;temp<8;temp++)  
  {P0=flash1[temp]; //查表1花样送P0口  
    delay(100);   //延时
  BUZZ=!BUZZ;   //蜂名器取反(叫停反复)
  }   
/*************第二组******************/
  for(temp=0;temp<8;temp++)  
  {P0=flash2[temp]; //查表2花样送P0口  
    delay(100);
  BUZZ=!BUZZ;}   
/*************第三组******************/
  for(temp=0;temp<8;temp++)  
  {P0=flash3[temp];   
    delay(100);
  BUZZ=!BUZZ;}   
/**************第四组*****************/
  for(temp=0;temp<8;temp++)  
  {P0=flash4[temp];   
    delay(100);
  BUZZ=!BUZZ;}   
/*************第五组******************/
  for(temp=0;temp<8;temp++)  
  {P0=flash5[temp];   
    delay(100);     //因闪烁,加大延长时间
  BUZZ=!BUZZ;
  delay(100);
  BUZZ=!BUZZ;
  delay(100);
  BUZZ=!BUZZ;
  }
/*************第六组******************/
  for(temp=0;temp<8;temp++)  
  {P0=flash6[temp];   
    delay(100);
  BUZZ=!BUZZ;}
/*************第七组******************/
  for(temp=0;temp<8;temp++)  
  {P0=flash7[temp];   
    delay(100);
  BUZZ=!BUZZ;}     
}      
}  

怎么不发个图啊?

不好意思,原程序不是我做的,要看图可以联系下原作者,上面有他的QQ,
我的理解是流水灯加蜂鸣器,稍微改下就可以在自己的板子上运行了,

qq?

要是有图就好了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top