⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 花样流水灯.c

📁 DIY四轴花样流水灯(附原程序和仿真)
💻 C
字号:
#include<reg52.h>//包含reg.52文件
#define uint unsigned int//宏定义
#define uchar unsigned char//宏定义
void delay(uint z);//声明延时函数
uint a;//定义循环用变量
uchar code table[]={
//0xff,//全灭

0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,//依次逐个叠加
0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,//依次逐个递减
0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00,//反向依次逐个叠加
0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff,//反向依次逐个递减
0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,//四亮四灭
0x7e,0x3c,0x18,0x00,0x18,0x3c,0x7e,0xff,//两边叠加后递减
0x7e,0x3c,0x18,0x00,0x18,0x3c,0x7e,0xff,//两边叠加后递减
0x7e,0xbd,0xdb,0xe7,0xe7,0xdb,0xbd,0x7e,//两边靠拢后分开
0x7e,0xbd,0xdb,0xe7,0xe7,0xdb,0xbd,0x7e,//两边靠拢后分开
0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,//闪亮四次
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,//一亮//依次逐个叠加
0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,//反向一亮
0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,//一暗
0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,//反向一暗
0x3c,0x99,0xc3,0xe7,0xff,0xc3,0x99,0x3c,//二对
0x99,0xc3,0xe7,0xff,0xc3,0x99,0x3c,0xff,//
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,//
0x7e,0x7d,0x7b,0x77,0x6f,0x5f,0x3f,0x3e,//
0x3d,0x3b,0x37,0x2f,0x1f,0x0f,0x0e,0x0d,//
0x0b,0x07,0x06,0x05,0x03,0x03,0x02,0x00,//
0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,//依次逐个递减

//0x00,//全亮
};//定义循环用数据表格
/*亮的现象:先是全灭,然后依次逐个点亮,然后依次逐个叠加,
然后依次逐个递减,然后两边靠拢后分开,然后两边叠加后递减,
最后全亮。循环!*/
void main()//main函数
{
         a=0;//给a赋初值
         while(1)//while循环
         {
               P0=P1=P2=P3=table[a];//将a所在的table中的值赋给P1口
               //P0=table[a];
					delay(120);//1S延时子程序
               a++;//a的值加一
               if(a==168)//测试a是否等于42 
                     a=0;//给a赋值   
         }
} 
void delay(uint z)//1ms延时子程序,通过z值改变延时时间
{
         uint x,y;
         for(x=z;x>0;x--)
                   for(y=110;y>0;y--);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -