基于单片机的交通灯控制器设计毕业论文(10200字)

发表于:2017.5.17来自:www.ttfanwen.com字数:10200 手机看范文

交通灯控制器设计

摘要:

近年来,随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MSC-51系列单片机和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了红绿灯循环点亮,倒计时显示红灯和绿灯的时间,倒计时剩5秒时红灯和绿灯闪烁,红绿灯交替之间有黄灯闪烁警示(交通灯信号通过PA口输出)。本系统实用性强、操作简单。

关键词:单片机 交通灯 LED显示时间

1

1、引言

当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。

1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。

电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,19xx年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。

19xx年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。

信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。19xx年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。

单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。

通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。

单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。

2

2、芯片简介

2.1 MSC-51芯片简介

MCS-51单片机内部结构

8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。 8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:

中央处理器:

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

数据存储器(RAM):

8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

基于单片机的交通灯控制器设计毕业论文

图1

程序存储器(ROM):

8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。 定时/计数器(ROM):

8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

并行输入输出(I/O)口:

8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。

全双工串行口:

8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

中断系统:

3

8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

时钟电路:

8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。

单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。

下图是MCS-51系列单片机的内部结构示意图2。

图2

MCS-51的引脚说明:

MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:

MCS-51的引脚说明:

MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:如图3

4

基于单片机的交通灯控制器设计毕业论文

图3

Pin9:RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。

8051的复位方式可以是自动复位,也可以是手动复位,见下图4。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。

基于单片机的交通灯控制器设计毕业论文

基于单片机的交通灯控制器设计毕业论文

图4 Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。

如果单片机是EPROM,在编程其间,将用于输入编程脉冲。 Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。

Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程

序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外

基于单片机的交通灯控制器设计毕业论文

5

部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。

在编程时,EA/Vpp脚还需加上21V的编程电压。

2.2 8255芯片简介

8255可编程并行接口芯片简介:

8255可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7~PA0、PB7~PB0和PC7~PC0。其内部还有一个控制寄存器,即控制口。通常A口、B口作为输入输出的数据端口。C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。它们分别与端口A/B配合使用,可以用作控制信号输出或作为状态信号输入。

8255可编程并行接口芯片方式控制字格式说明:

8255有两种控制命令字;一个是方式选择控制字;另一个是C口按位置位/复位控制字。其中C口按位置位/复位控制字方式使用较为繁难,说明也较冗长,故在此不作叙述,需要时用户可自行查找有关资料。

方式控制字格式说明如表1:

基于单片机的交通灯控制器设计毕业论文

1

D7:设定工作方式标志,1有效。

D6、D5:A口方式选择

0 0 —方式0

0 1 —方式1

1 ×—方式2

D4:A口功能 (1=输入,0=输出)

D3:C口高4位功能 (1=输入,0=输出)

D2:B口方式选择 (0=方式0,1=方式1)

D1:B口功能 (1=输入,0=输出)

D0:C口低4位功能 (1=输入,0=输出)

8255可编程并行接口芯片工作方式说明:

方式0:基本输入/输出方式。适用于三个端口中的任何一个。每一个端口都可以用作输入或输出。输出可被锁存,输入不能锁存。

方式1:选通输入/输出方式。这时A口或B口的8位外设线用作输入或输出,C口的4条线中三条用作数据传输的联络信号和中断请求信号。

方式2 :双向总线方式。只有A口具备双向总线方式,8位外设线用作输入或输出,此时C口的5条线用作通讯联络信号和中断请求信号。

6

2.3 74LS373简介

74LS373 是一种带三态门的8D锁存器,其管脚示意图如下示: 其中:1D-8D为8个输入端。

1Q-8Q为8个输出端。

LE为数据打入端:当LE为“1”时,锁存器输出 状态同输入状态;当LE由“1”变“0”时,数据 打入锁存器

为输出允许端:当时,三态门打开;

当OE=1时,三态门关闭,输出高阻。

基于单片机的交通灯控制器设计毕业论文

7

3、设计的基本步骤及方案:

具体本课程设计,选择Dais实验仿真开发系统作为硬件平台,所以硬件设计比较简单,主要要求熟悉产品说明书,选择模块电路,确定接口电路硬件地址等参数,掌握使用和控制方式等,画出电路总图。硬件设计中对于可靠性设计,抗干扰设计等作为了解性的内容。

设计流程图:

基于单片机的交通灯控制器设计毕业论文

8

4 、系统硬件设计

4.1交通管理的方案论证

东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。设东西道比南北道的车流量大,指示灯燃亮的方案如表2。

基于单片机的交通灯控制器设计毕业论文

表2

表2说明:

(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,

此道车辆通过,行人禁止通行。时间为20秒。

(2)黄灯闪烁3秒,警示车辆和行人红、绿灯的状态即将切换。

(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,

行人通行。时间为30秒。 东西方向车流大,通行时间长。

(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安

全畅通的通行。

(5)此表可根据键盘修改红绿灯时间。

4.2系统硬件设计

该部分由包容完成。

9

5、控制器的软件设计

5.1每秒钟的设定

延时方法可以有两种一中是利用MCS-51内部定时器产生溢出中断来确定,另一种是采用软延时的方法。

5.1.1溢出中断方法:

1、用方式1进行定时

初值计算:(2^16-X)*2*10^-6=50*10^-3

X=15536 (3CBOH)

相应程序:

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP T0_INT

MAIN: MOV IE,#8EH

MOV TMOD,#51H

MOV TH0,#03CH

MOV TL0,#0B0H

MOV R6,#05H

SETB TR0

LOOP: SJMP $

T0_INT: MOV TH0,#03CH

MOV TL0,#0B0H

DJNZ R6,LOOP3

MOV R6,#05H

LOOP3: RETI

5.1.2溢出中断方法:

;------延时4MS子程序----------

DELAY: MOV 30H,#05H

LOOP: MOV 40H,#64H

NOP

LOOP1: DJNZ 40H,LOOP1

DJNZ 30H,LOOP

RET

由于单片机的运行速度很快其他的指令执行时间可以忽略不计。

5.2、显示原理

由于发光二极管为共阳极接法,输出端口为低电平,对应的二极管发光,所以可以

10

用清零方法点亮红,绿,黄发光二极管。

LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点量而显示不同的字形如 SP,g,f,e,d,c,b,a 管角上加上7FH所以 SP上为0伏,不亮其余为TTL高电平,全亮则显示为8

采用共阳级连接:

其中 PC0\PB0-a,

PC1\PB1-b,

PC2\PB2-c,

PC3\PB3-d,

PC4\PB4-e,

PC5\PB5-f,

PC6\PB6-g

基于单片机的交通灯控制器设计毕业论文

相应程序:

;------LED显示子程序------

DISP1: MOV B,#0AH

MOV A,R3 ;R3中值二转十显示转换

DIV AB

MOV 79H,A

MOV 7AH,B

DIS: MOV A,79H ;显示十位

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV DPTR,#0FFDCH ;断选线

MOVX @DPTR,A

MOV DPTR,#0FFDDH ;位选线

11

MOV A,#0AH

MOVX @DPTR,A

LCALL DELAY

DS2: MOV A,7AH ;显示个位

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV DPTR,#0FFDCH

MOVX @DPTR,A

MOV DPTR,#0FFDDH

MOV A,#05H

MOVX @DPTR,A

LCALL DELAY

CJNE R3,#0FFH,DISP1

RET

;------字符表------

TAB: DB 0C0H,0F9H,24H,30H,19H,12H,02H,0F8H,00H,10H

5.3 程序设计

5.3.1程序流程图如图所示

12

基于单片机的交通灯控制器设计毕业论文

5.3.2程序代码

;LED---R0放东西绿灯时间,R7放东西红灯时间,R3显示时间

;信号灯--76H

ORG 0000H ;主程序的入口地址

LJMP MAIN ;跳转到主程序的开始处

ORG 000BH ;定时器0的中断程序入口地址

LJMP T0_INT ;跳转到中断服务程序处

ORG 0013H

LJMP INT1

ORG 0013H

MAIN: MOV SP,#50H

MOV IE,#8EH ;CPU开中断,允许T0中断,T1中断和外部中断1中断 MOV TMOD,#51H ;设置T1为计数方式,T0为定时方式,且都工作于模式1 MOV TH1,#00H ;T1计数器清零

MOV TL1,#00H

SETB IT1

MOV R5,#02H

MOV TH0,#03CH

MOV TL0,#0B0H

MOV R6,#05H

MOV DPTR ,#0FFDBH

MOV A, #80H ;给8255赋初值,8255工作于方式0

MOVX @DPTR, A

STAR: MOV A,#03H ;初始时间设置为10秒

MOV R3,A

MOV DPTR,#0FFD8H

MOV A,#0F6H

MOVX @DPTR,A

MOV R2,#0FFH

HERE5: LCALL DELAY

DJNZ R2,HERE5

MOV R2,#0FFH

DJNZ R3,HERE5

SETB TR0

;------东西红灯显示----

MOV R7,#0AH

MOV R0,#0FH

AGAIN: MOV 76H,R7

MOV A,76H

MOV R3,A

MOV R1,#55H

MOV DPTR,#0FFD8H

MOV A,#0F5H

13

MOVX @DPTR,A

LCALL DISP1

LCALL DELAY

;----黄灯--------

CLR TR0

MOV R4,#03H

YELLOW:MOV R2,#0FFH ;0.5S延迟 MOV DPTR,#0FFD8H

MOV A,#0DBH

MOVX @DPTR,A

HERE: LCALL DELAY

DJNZ R2,HERE

MOV R2,#0FFH ;0.5S MOV DPTR,#0FFD8H

MOV A,#0FFH

MOVX @DPTR,A

HERE3: LCALL DELAY

DJNZ R2,HERE3

DJNZ R4,YELLOW

MOV R4,#03H

SETB TR0

;----东西绿灯显示----

GREEN: MOV 76H,R0

MOV A,76H

MOV R3,A

MOV R1,#50H

MOV DPTR,#0FFD8H

MOV A,#0EEH

MOVX @DPTR,A

LCALL DISP1

LCALL DELAY

;----黄灯--------

CLR TR0

YELLOW1:MOV R2,#0FFH ;0.5S MOV DPTR,#0FFD8H

MOV A,#0DBH

MOVX @DPTR,A

HERE2: LCALL DELAY

DJNZ R2,HERE2

MOV R2,#0FFH ;0.5S MOV DPTR,#0FFD8H

MOV A,#0FFH

MOVX @DPTR,A

HERE4: LCALL DELAY

延迟 延迟 延迟 14

DJNZ R2,HERE4

DJNZ R4,YELLOW1

MOV R4,#03H

SETB TR0

LJMP AGAIN

;------LED显示子程序------

DISP1: MOV B,#0AH

MOV A,R3 ;R3中值二转十显示转换 DIV AB

MOV 79H,A

MOV 7AH,B

DIS: MOV A,79H ;显示十位

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV DPTR,#0FFDCH ;断选线

MOVX @DPTR,A

MOV DPTR,#0FFDDH ;位选线

MOV A,#0AH

MOVX @DPTR,A

LCALL DELAY

DS2: MOV A,7AH ;显示个位

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV DPTR,#0FFDCH

MOVX @DPTR,A

MOV DPTR,#0FFDDH

MOV A,#05H

MOVX @DPTR,A

LCALL DELAY

CJNE R3,#0FFH,DISP1

RET

;----1s延迟中断程序----

T0_INT:MOV TH0,#03CH

MOV TL0,#0B0H ;给T0送100ms初值 DJNZ R6,LOOP3

MOV R6,#05H

DJNZ R5,LOOP4

DEC R3

MOV R5,#02H

CJNE R1,#50H,LOOP7

MOV DPTR,#0FFD8H

MOV A,#0EEH

MOVX @DPTR,A

RETI

15

LOOP7: MOV DPTR,#0FFD8H

MOV A,#0F5H

MOVX @DPTR,A

LOOP3: RETI

LOOP4: CLR C

CJNE R3,#06H,LOOP5

RETI

LOOP5: JC LOOP6

RETI

LOOP6: MOV DPTR,#0FFD8H

MOV A,#0FFH

MOVX @DPTR,A

RETI

;------初值设定-----

INT1: CLR P1.7

CLR P1.6

JB P3.4,GAIR0

MOV R7,P1

RETI

GAIR0: MOV R0,P1

RETI

;------延时4MS子程序----------

DELAY: MOV 30H,#05H

LOOP: MOV 40H,#64H

NOP

LOOP1: DJNZ 40H,LOOP1

DJNZ 30H,LOOP

RET

;------字符表------

TAB: DB 0C0H,0F9H,24H,30H,19H,12H,02H,0F8H,00H,10H END

16

6、软件调试过程

第一步:打开DaisWin集成开发软件,打开实验程序。

第二步:编译/汇编。

⒈如果当前文件的扩展名为ASM或系统定义的扩展名,编译/汇编命令调用外部汇编命令对当前文件汇编

⒉如果当前文件的扩展名为C或系统定义的扩展名,编译/汇编命令调用外部C编译命令对当前文件编译。执行[项目管理/编译/汇编]命令后产生的结果显示在消息框中。

如果需要设置文件编译/汇编的命令参数,可以选择[项目管理/文件属性]命令设置。

第四步:按照硬件图连接实验设备。

第五步:连续运行程序。

产生代码并装入实验系统调试

命令:[项目管理/产生代码]或[项目管理/产生代码并装入]

产生代码或产生代码并装入命令对经过编译/汇编无误后产生的OBJ文件进行连接产生用于下载的代码。此命令自动地对修改过的源程序进行编译或汇编,对没有修改过的程序将越过编译或汇编过程,然后连接所有的OBJ,LIB文件,再装载代码到实验系统完成调试程序所需的准备工作,装载完成后,出现“Loading program“(项目名)”??Completed”的字样。

基于单片机的交通灯控制器设计毕业论文

DaisWin集成开发环境调试界面

1.先按照预设的红绿灯时间运行并观察结果,与设想的一致。

2.观察红绿灯最后五秒是否闪烁,红绿灯交替间是否有黄灯闪烁。

3.用键盘对东西方向或南北方向的亮灯时间进行修改。修改结束后,观察运行结果。 如果与设想的结果不一致,检查程序和硬件是否有粗心造成的错误。

17

7、心得体会

这次单片机的课程设计让我受益匪浅,无论从知识上还是其他的各个方面。平时上课的时候只是从理论的角度去理解,枯燥又乏味。但在实验中见过甚至使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。

一开始想的很简单,从网上找相似的实验程序自己稍加修改即可。结果可想而知,一大堆的编译错误,而且都不知道怎么改。只好从头到尾全部自己来编写,这个过程很艰苦但很充实,什么事情都是态度决定一切嘛!学校实验室的实验箱里很多部件都已经帮我们连好了,这样我们可以不用复杂的去连很多线,但是硬件和软件的设计上就少了灵活性。

这次单片机的课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。

18

参考文献:

[1]张毅刚.新编MCS-51单片机应用设计.哈尔滨:哈尔滨工业大学出版社,2003.

[2]肖倩.单片机入门与趣味实验设计.北京:北京航空航天大学出版社,2008.

[3]倪志莲.单片机应用技术.北京:北京理工大学出版社,2007.

19

附录 硬件连接图

基于单片机的交通灯控制器设计毕业论文

20



更多类似范文
┣ 计算机科学与技术学院学生独自赴校外企事业单位进行毕业论文《承诺书》 500字
┣ 计算机毕业论文 3000字
┣ 机电一体化毕业论文 4900字
┣ 机电一体化毕业论文 5400字
┣ 更多单片机毕业论文范文
┗ 搜索类似范文

更多相关推荐:
机电一体化毕业论文1600字

机电一体化毕业论文作者:佚名论文来源:本站原创点击数:1647更新时间:20xx-2-23一、机电一体化技术发展历程及其趋势自电子技术一问世,电子技术与机械技术的结合就开始了,只是出现了半导体集成电路,尤其是出…

机电一体化毕业论文2400字

以下是一篇关于浅析关于机电一体化创新实验的实践与发展思考的毕业论文,欢迎浏览!创新已成为当前全社会关注的问题,它是提升企业乃至国家竞争力的源泉。高等院校需要继续解放思想,注重创新人才培养,促进我国从制造大国向制…

机电一体化毕业论文3700字

http://wenku.baidu.com/view/70311a6d1eb91a37f1115c71.htmlhttp://wenku.baidu.com/view/c125cb35eefdc8d376ee…

专栏推荐
大家在关注

地图地图CC