单片机流水灯实验报告花样流水灯代码

51单片机花样流水灯程序
单片机&嵌入式
单片机应用
嵌入式操作系统
学习工具&教程
学习和开发单片机的必备工具
(有问必答)
(带你轻松入门)
电子元件&电路模块
当前位置: >>
>> 浏览文章
51单片机花样流水灯程序
在p0和p2口上各接8个led,能显示出各种花样,效果非常牛逼程序代码如下
#include&reg51.h&
#define uchar unsigned char
#define uint unsigned int
uchar code Pattern_P0[]=
0xFC,0xF9,0xF3,0xE7,0xCF,0x9F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xE7,0xD8,0xBD,0x7E,0xBD,0xDB,0xE7,0xFF,0xE7,0xC3,0x81,0x00,0x81,0xC3,0xE7,0xFF,
0xAA,0x55,0x18,0xFF,0xF0,0x0F,0x00,0xFF,0xF8,0xF1,0xE3,0xC7,0x8F,0x1F,0x3F,0x7F,
0x7F,0x3F,0x1F,0x8F,0xC7,0xE3,0xF1,0xF8,0xFF,0x00,0x00,0xFF,0xFF,0x0F,0xF0,0xFF,
0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7E,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xEE,
0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xFB,0xFC,0xFE,
0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xEF
uchar code Pattern_P2[]=
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFC,0xF9,0xF3,0xE7,0xCF,0x9F,0x3F,0xFF,
0xE7,0xD8,0xBD,0x7E,0xBD,0xDB,0xE7,0xFF,0xE7,0xC3,0x81,0x00,0x81,0xC3,0xE7,0xFF,
0xAA,0x55,0x18,0xFF,0xF0,0x0F,0x00,0xFF,0xF8,0xF1,0xE3,0xC7,0x8F,0x1F,0x3F,0x7F,
0x7F,0x3F,0x1F,0x8F,0xC7,0xE3,0xF1,0xF8,0xFF,0x00,0x00,0xFF,0xFF,0x0F,0xF0,0xFF,
0xFE,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,
0x7F,0xBF,0xDE,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,
0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF
void DelayMS(uint x)
while(x--)for(t=0;t&120;t++);
void main()
for(i=0;i&136;i++)
P0=Pattern_P0[i];
P2=Pattern_P2[i];
DelayMS(150);
进行仿真实验如下图
【】【】【】【】
上一篇:下一篇:
CopyRight @
单片机教程网 51hei.com , All Rights ReservedSTC单片机流水灯新花样程序
> STC单片机流水灯新花样程序
STC单片机流水灯新花样程序
ORG 000H;设置起始地址 START: MOV A,#0FFH;向A寄存器中载入十六进制数0FFH D2: SUBB A,#1;A寄存器中数据减一call DE ;调入延时程序(修改延时时间可以实现水滴效果) MOV R1,A;将寄存器A中数据传送给R1 MOV P1,R1;输出(外接8个LED,共阳极接法,低电平有效) DJNZ R1,D2;检测R2是否为零,否则跳到D2处继续执行 JMP START;无条件跳转至开始 DE: ;延时程序 mov R3,#50 L1: MOV R4,#50 L2: MOV R5,#50 DJNZ R5,$ DJNZ R4,L2 DJNZ R3,L1 RET END本文引用地址: 这是个非常优美的流水灯程序,8个LED接单片P1口,首先LED1闪烁慢慢移动至LED2变常亮,接着LED2常亮LED1闪烁移至LED3常亮,接着LED2灭,LED1闪烁移至LED2常亮,等LED1亮后,LED4亮,LED3.LED2灭,LED1闪烁&&&&,一直到8个LED常亮后重新开始!(好美)修改延时时间可以实现水滴效果哦!
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一求助高手:给些有关单片机花样流水灯程序 C语言编写_百度知道
求助高手:给些有关单片机花样流水灯程序 C语言编写
我有更好的答案
先是全灭,然后依次逐个点亮;/main函数{
a=0;&#47,0x00,&#47,0xfd,0xfb,0xdb,0xbd,0xfc,0xfe, DL1S0
RETTABLE;两边叠加后递减DB 000H ;定义循环用数据表格&#47,为0顺序执行
LJMP LIGHT
,指定程序从0000H开始存放
,不为0跳转:/* 该实验是花样流水灯(8个发光二极管以各种方式循环点亮),功能是花样流水灯(8个发光二极管以1S间隔以各种方式循环点亮) */#include//&#47,#0FFH给P1口赋值
MOV DPTR;y&0;y--),0xe7,0xe7;/&#47!*//依次逐个叠加0x80;程序结束指令C语言程序如下,然后两边靠拢后分开;void main()//将a所在的table中的值赋给P1口
delay(1000);a的值加一
if(a==42)&#47,0xf0,0xf8;/全灭0x&0;x--)
for(y=110,/&#47,0x18,0x00,R4将A的值与R4的值相减,结果存在A中
MOVC A,误差0微秒)DEL1S;给a赋值
}} void delay(uint z)//&#47, $
DJNZ R6, DL1S1
DJNZ R5,通过z值改变延时时间{
for(x=z;/while循环
P1=table[a];/跳转指令,程序跳转至MAIN处执行
ORG 0030H伪指令,指定程序从0030H开始存放MAIN, #089HDL1S0;*亮的现象;///给a赋初值
while(1)/全亮}:
MOV R6, #0A4HDL1S1: MOV R7, #013H
DJNZ R7;/两边靠拢后分开0x7e,0x3c;调用1S延时子程序
DJNZ R4,LOOP判断R4是否为0,0xff,&#47,最后全亮。循环;设置循环次数LOOP: MOV A,0xc0,0x80;宏定义#define uchar unsigned char//全亮
,0x3c,0x7e;/1ms延时子程序,0x7e,&#47:
MOV SP,0x7f,&#47,0xbd,0给A赋初值
SUBB A;//定义表格数据DB 0FFH ;全灭DB 0FEH 0FDH 0FBH 0F7H 0EFH 0DFH 0BFH 07FH ;依次逐个点亮DB 0FEH 0FCH 0F8H 0F0H 0E0H 0C0H 080H 000H ;依次逐个叠加DB 080H 0C0H 0E0H 0F0H 0F8H 0FCH 0FEH 0FFH ;依次逐个递减DB 07EH 0BDH 0DBH 0E7H 0E7H 0DBH 0BDH 07EH ;两边靠拢后分开DB 07EH 03CH 018H 000H 000H 018H 03CH 07EH ;/定义循环用变量uchar code table[]={0xff,&#47,然后依次逐个叠加,然后依次逐个递减;/测试a是否等于42
a=0, #60H给堆栈指针赋初值
MOV P1,0xfc,0xf8,0x00,0x18,0xdf,0/包含reg.52文件#define uint unsigned int///依次逐个递减0x7e,A将A的值赋给P1口
LCALL DEL1S
,0xc0,0xe0;1S延时子程序
a++,#TABLE;查表LIGHT: MOV R4,#42
: ,然后两边叠加后递减汇编程序如下,@A+DPTR ;将A+DPTR的值所对应的TABLE中的值赋给A
MOV P1;宏定义void delay(uint z);两边叠加后递减0x00,0xf0,0xe0,0xf7,0xef: MOV R5,//跳转指令,跳转至LIGHT处继续执行;1S延时子程序(11;/依次逐个点亮0xfe,#42声明延时函数&#47.0592MHz晶振;伪指令:;
花样流水灯(8个发光二极管以各种形式循环点亮); 功能:流水灯(8个发光二极管循环以1S间隔以各种形式循环点亮)
去网上下一个
然后对着芯片把程序写进去测试下就
为您推荐:
其他类似问题
流水灯的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。51单片机 流水灯 ~ 花样灯 程序_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
51单片机 流水灯 ~ 花样灯 程序
&&51单片机 流水灯 ~ 花样灯 程序~~
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢据counterpoint发布的数据,2017年全球前六大手机芯片企……
2018年才刚过没多久,区块链概念股一片火热。沉寂已久的……
近日三星电子宣布开发出核心电池技术,其研究机构三星先……
近年来汽车电子的发展迅猛,各种LED大灯、辅助驾驶、主动……
前不久,罗德与施瓦茨公司(R&S)召开新品发布会,推出了一……
演讲人:徐济炜时间: 10:00:00
演讲人:沈剑安时间: 10:00:00
演讲人:孙彬时间: 10:00:00
预算:¥30000预算:¥250000
广东省广东省
基于51单片机的各种花样的流水灯c51程序
[导读]/*-----------------------------------------------
功能:流水灯对称移动闪烁(双闪烁)------------------------------------------------*/#include&REG52.H&
#define uint unsigned int
void delay(uint);
/*-----------------------------------------------
功能:流水灯对称移动闪烁(双闪烁)本文引用地址:
------------------------------------------------*/
#include&REG52.H&
#define uint unsigned int
void delay(uint);
&&&&&&& uint comp1=0
&&&&&&& uint comp2=0x80;
&&&&&&& P1=0x7e;
&&&&&&& delay(30000);
&&&&&&& while(1)
&&&&&&&&&&&&&&& P1=0
&&&&&&&&&&&&&&& comp1&&=1;
&&&&&&&&&&&&&&& comp1|=0x01;
&&&&&&&&&&&&&&& comp2&&=1;
&&&&&&&&&&&&&&& P1&=comp1;
&&&&&&&&&&&&&&& P1^=comp2;
&&&&&&&&&&&&&&& delay(30000);
&&&&&&&&&&&&&&& if(P1==0xe7)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&& comp1&&=1;
&&&&&&&&&&&&&&&&&&&&&&& comp1|=0x01;
&&&&&&&&&&&&&&&&&&&&&&& comp2&&=1;&&&&&&&&&&
&&&&&&&&&&&&&&& }&&&&&&
&&&&&&&&&&&&&&& if(comp1==0x7f)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&& comp1=0
&&&&&&&&&&&&&&&&&&&&&&& comp2=0x80;&&&&&&&&&&&&&
&&&&&&&&&&&&&&& }&&&&&
&&&&&&& }&&&&&&&&&&&&&&
void delay(uint cnt)
&&&& while(cnt--);&&&&
/*-----------------------------------------------------------------
只循环一次,而没有一直循环下去,出错地方在:
通过添加一条测试语句:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& if(comp1==0x7f)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& comp1=0& comp2=0x80;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& P1=0x00;& delay(30000);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&
发现if语句没有被执行,自然继续左右移动:
所以看起来是执行了一次while中的代码。
具体为什么不行,还不清楚&&&&&
更正下列代码后,能够实现功能。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& if(P1==0x7e)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& comp1=0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& comp2=0x80;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }
或者:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& if(comp2==0x01)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& comp1=0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& comp2=0x80;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }
--------------------------------------------------------------*/
*********************************************
/*-----------------------------------------------
功能:流水灯(单向单闪烁)
------------------------------------------------*/
#include&reg52.h&
#define uint unsigned int
void delay(uint);
&&&&&&& //uint fre=0x03;
&&&&&&& //uint comp1=0xfe,comp2=0x80;
&&&&&&& P1=0
&&&&&&& while(1)
&&&&&&& /*------------------------------------------------------------------
&&&&&&&&&&&&&&&&&&& 模块1:循环单向闪烁,只有一个灯亮灭
&&&&&&&&&&& 执行3次,转入下一种闪烁
&&&&&&& --------------------------------------------------------------------*/
&&&&&&&&&&&&&&& while(1)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&& delay(30000);
&&&&&&&&&&&&&&&&&&&&&&& P1&&=1;
&&&&&&&&&&&&&&&&&&&&&&& P1|=0x01;
&&&&&&&&&&&&&&&&&&&&&&& if(P1=0x7f)
&&&&&&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& delay(30000);&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& P1=0
&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&& }&&&&&&&
void delay(uint cnt){while(cnt--);}
/*-----------------------------------------
程序运行结果左右两端跳动,原因是:
if(P1=0x7f);中的等号也成了赋值号,更正为if(P1==0x7f);
特别注意,不要把判断语句种的等号误写为赋值号。
-----------------------------------------*/
**************************************
/*-----------------------------------------------
功能:花样灯(单向单闪烁+单向双闪烁)
------------------------------------------------*/
#include&reg52.h&
#define uint unsigned int
void delay(uint);
&&&&&&& uint fre=0x04;
&&&&&&& uint comp1=0xfe,comp2=0x80;
&&&&&&& while(1)
&&&&&&&&&&&&&&& /*-------------------------------------------------------------------
&&&&&&&&&&&&&&&&&&&&&&&&&&& 模块1:循环单向闪烁,只有一个灯亮灭
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 执行3次,转入下一种闪烁
&&&&&&&&&&&&&&& --------------------------------------------------------------------*/
&&&&&&&&&&&&&&& P1=0
&&&&&&&&&&&&&&& while(1!=fre--)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&& delay(30000);
&&&&&&&&&&&&&&&&&&&&&&& P1&&=1;
&&&&&&&&&&&&&&&&&&&&&&& P1|=0x01;
&&&&&&&&&&&&&&&&&&&&&&& if(P1==0x7f)
&&&&&&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& delay(30000);&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& P1=0
&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& /*-------------------------------------------------------------------
&&&&&&&&&&&&&&&&&&&&&&&&& 模块2:循环单向闪烁,只有两个灯亮或者灭
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 执行3次,转入下一种闪烁
&&&&&&&&&&&&&&& --------------------------------------------------------------------*/
&&&&&&&&&&&&&&& P1=0
&&&&&&&&&&&&&&& while(3!=fre++)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&& delay(30000);
&&&&&&&&&&&&&&&&&&&&&&& P1&&=2;
&&&&&&&&&&&&&&&&&&&&&&& P1|=0x03;
&&&&&&&&&&&&&&&&&&&&&&& if(P1==0x3f)
&&&&&&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& delay(30000);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& P1=0
&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& }&&&&&&&
&&&&&&& }&&&&&&&
void delay(uint cnt)
& while(cnt--);
/*----------------------------------------------------
两个模块均没有问题,但是放在一起,并没有得到想要的结果,
第一个循环没有进行完全,且两个循环的循环的次数与要求的不符。
错误地方在于:模块1和模块2的循环控制的只是一次亮灭,更正为:
#include&reg52.h&
#define uint unsigned int
void delay(uint);
&&&&&&& uint fre=0x04;
&&&&&&& uint fre1,fre2;
&&&&&&& uint comp1=0xfe,comp2=0x80;
&&&&&&& while(1)
&&&&&&&&&&&&&&& /*--------------------------------------------------------------------
&&&&&&&&&&&&&&&&&&&&&&&&&&& 模块1:循环单向闪烁,只有一个灯亮灭
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 执行3次,转入下一种闪烁
&&&&&&&&&&&&&& --------------------------------------------------------------------------*/
&&&&&&&&&&& P1=0
&&&&&&&&&&&&&&& while(1!=fre--)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&& fre1=0x08;
&&&&&&&&&&&&&&&&&&&&&&& while(1!=fre1--)
&&&&&&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& delay(3000000);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& P1&&=1;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& P1|=0x01;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& if(P1==0x7f)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& delay(3000000);&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& P1=0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& /*-------------------------------------------------------------------
&&&&&&&&&&&&&&&&&&&&&&&&&&& 模块2:循环单向闪烁,只有两个灯亮或者灭
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 执行3次,转入下一种闪烁&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&& --------------------------------------------------------------------*/
&&&&&&&&&&&&&&& P1=0
&&&&&&&&&&&&&&& while(3!=fre++)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&& fre2=0x04;
&&&&&&&&&&&&&&&&&&&&&&& while(1!=fre2--)
&&&&&&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& delay(3000000);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& P1&&=2;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& P1|=0x03;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& if(P1==0x3f)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& delay(3000000);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& P1=0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&
&&&&&&&&&&&&&&& }
&&&&&&& }&&&&&&&
void delay(uint cnt)
& while(cnt--);
注意控制语句中fre++和fre--;并且fre1和fre2的初始化不能出错,
由于if()语句的出现,fre1和fre2的取值要比预想的减一。
----------------------------------------------------------*/
马上就到一年一度的2018年春节了,金三银四,而春节过后往往是跳槽的高峰期.作为一名程序员,应该如何准备自己的简历呢?我们程序员一般在什么时机需要更新简历呢?......关键字:
FZ-MCU51单片机开发板集实验开发、编程、仿真和下载于一体,支持AT89S51、AT89S52、AT89S53的和STC系列单片机如STC89C53RC等全系列单片机的编程和实验,使用配套的仿真模......关键字: 性格影响机缘有无,影响才情发挥,影响努力深浅,最终影响人生之结局,是人这一生里可以把握,又往往被忽视的因素。......关键字:
你对这些来自东方的程序员有没有一些总结性的看法和观点(比如:他们是否合作,是否能按时提交代码,写出的程序是否有质量?)。依据是什么?......关键字:
程序员本身就是一个高薪的职业,只要把你本职工作做到极致,那么你也能过上很好的生活。......关键字:
我 要 评 论
热门关键词

我要回帖

更多关于 单片机流水灯40种花样 的文章

 

随机推荐