作息时间控制器毕业设计.docx

上传人:b****5 文档编号:11631173 上传时间:2023-03-29 格式:DOCX 页数:30 大小:183.69KB
下载 相关 举报
作息时间控制器毕业设计.docx_第1页
第1页 / 共30页
作息时间控制器毕业设计.docx_第2页
第2页 / 共30页
作息时间控制器毕业设计.docx_第3页
第3页 / 共30页
作息时间控制器毕业设计.docx_第4页
第4页 / 共30页
作息时间控制器毕业设计.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

作息时间控制器毕业设计.docx

《作息时间控制器毕业设计.docx》由会员分享,可在线阅读,更多相关《作息时间控制器毕业设计.docx(30页珍藏版)》请在冰豆网上搜索。

作息时间控制器毕业设计.docx

作息时间控制器毕业设计

毕业设计

作息时间控制器

 

摘要

学校时间方面,由于时间多,时间乱等原因,不得不去改善其时间方面的设备。

单片机作息时间控制实现了对时间控制的智能化,摆脱了传统由人来控制时间长短的不便,是现代学校必不可少的设备。

在整个设计中,我们主要用的是单片机的自动控制原理,包括硬件和软件。

在硬件部分,包括继电器,存储器和显示器接口芯片;软件部分,主要是主程序设计。

软硬件结合在一起,先调试子程序,然后逐级叠加调试,最后系统调试通过。

在本论文中我是利用单片机把自动复位电路,显示电路,电源电路,继电器电路,电铃电路连接起来,再通过单片机的编程实现设计要求。

单片机作息时间控制系统是利用定时器计时处理来做秒计数,当所设置的时间到了,则发出一阵声响,启动继电器,由继电器可以控制放音机开启或关闭。

时,分,秒数据是存在变量内并写入七段显示器的缓冲区内,由显示器扫描程序中定时扫描而显示出时间。

关键词:

单片机;定时;显示

 

1概述

科技的进步需要技术不断的提升。

一块大而复杂的模拟电路花费了您巨大的精力,繁多的元器件增加了您的成本。

而现在,只需要一块几厘米见方的单片机,写入简单的程序,就可以使您以前的电路简单很多。

相信您在使用并掌握了单片机技术后,不管在您今后开发或是工作上, 一定会带来意想不到的惊喜。

单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围部件和软件,能实现一种或多种功能的实用系统。

硬件是应用系统的基础,软件则在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,却一不可。

软件和硬件总体包括,电源电路、显示电路、复位电路、扩展存储器、电铃电路等,通过以上几部分的组合,最终达到一定的效果。

设计系统图如图1.1所示:

图1-1系统连接图

 

2硬件设计

2.1单片机部分

2.1.1单片机的选择

当今单片机厂商琳琅满目,产品性能各异。

常用的单片机有很多种:

Intel8051系列、Motorola和M68HC系列、Atmel的AT89系列、台湾Winbond(华邦)W78系列、荷兰Pilips的PCF80C51系列、Microchip公司的PIC系列、Zilog的Z86系列、Atmel的AT90S系列、韩国三星公司的KS57C系列4位单片机、台湾义隆的EM-78系列等。

我们最终选用了ATMEL公司的AT89C51单片机。

AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8051产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大AT89C51单片机适用于许多较为复杂控制应用场合。

所以我们最终选用AT89C51单片机。

2.1.2AT89C51的功能概述

(1)、特点:

1.与MCS-51产品指令和引脚完全兼容。

2.8K字节可重擦写FLASH闪存。

3.1000次擦写周期。

4.全静态操作:

0Hz-24MHz。

5.三级加密程序存储器。

6.256X8字节内部RAM。

7.32个可编程I/O口线。

8.2个16位定时/计数器。

9.5个中断源。

10.可编程串行UART通道。

11.低功耗空闲和掉电模式。

(2)、功能特性概述:

AT89C51提供以下标准功能:

8K字节FLASH闪存,256字节内部RAM,32个I/O口线,2个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。

AT89C51的芯片管脚图如图:

图2-1AT89C51引脚图

引脚功能说明:

VCC——电源电压

GND——接地

P0口——P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口——P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。

与AT89C52不同之处是,P1.0和P1.1不可以分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表2-1.1。

FLASH编程和程序校验期间,P1接收低8位地址。

表2-1P1.0和P1.1的第二功能

引脚号

功能特性

P1.0

T2(定时/计数器2外部计数脉冲输入),时钟输出

P1.1

T2EX(定时/计数2捕获/重装载触发和方向控制)

P2口——P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。

在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。

P3口——P3口是一组带有内部上拉电阻的8位双向I/O口。

P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。

此时,被外部拉低的P3口将用上拉电阻输出电流。

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示:

表2-2.2P3口的第二功能

端口引脚

第二功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

INTO(外中断0)

P3.3

INT1(外中断1)

P3.4

TO(定时/计数器0)

P3.5

T1(定时/计数器1)

P3.6

WR(外部数据存储器写选通)

P3.7

RD(外部数据存储器读选通)

此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。

RST——复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

ALE/PROG——当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲。

对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。

该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。

此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。

FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

2.1.3单片机硬件资源分配

P2.4连接按键

P2.5连接按键

P2.6连接按键

P2.7连接按键

P3.4连接蜂鸣器

P3.5接继电器

P1.4连接X5045的SO端

P1.5连接X5045的/CS端

P1.6连接X5045的SCK端

P1.7连接X5045的SI端

2.2存储器部分

2.2.1存储器的选择

X5045中的看门狗对系统提供了保护功能。

当系统发生故障而超过设置时间时,电路中的看门狗将通过RESET信号向CPU作出反应。

X5045提供了三个时间值供用户选择使用。

它所具有的电压监控功能还可以保护系统免受低电压的影响,当电源电压降到允许范围以下时,系统将复位,直到电源电压返回到稳定值为止。

X5045的存储器与CPU可通过串行通信方式接口,共有4096个位,可以按512x8个字节来放置数据。

为了改善主CPU的资源与时序的分配,我们对AT89C51进行串行数据存储器的扩展。

常用的存储芯片有很多,如AT93C46/56/66,X5045。

经过比较选择,最终选用了XICOR公司的X5045。

X5045把三种常用的功能:

看门狗定时器,电压控制和EEPROM组合在单个封装之内。

这种组合降低了系统的成本并减少了对电路板空间的要求。

看门狗定时器对微控制器提供了独立的保护系统。

低VCC检测电路可以保护系统免受低电压的影响,同时X5045是串行EEPROM具有简单的三总线工作的串行外设接口,是一种有独特功能的高性能价格比存储器件。

AT93C46/56/66是ATMEL公司推出的低功耗、低电压电可擦除的可编程只读存储器。

它采用CMOS技术和FairchildSemiconductor公司的Mi-croWire工业标准3线串行接口,具有1Kb/2kB/4kB的容量,并可通过ORG管脚配置成128*8/256*8/512*8或64*16/128*16256*16等结构。

该系列存储器可靠性高,能够重复写100万次,数据可以保存100年不丢失;采用8脚PDIP/SOIC封装和14脚SOI封装(SOI封装为JEDEC和EIAJ标准),与并行的EEPROM相比,AT93C46/56/66可大大节省印制板空间,且接线简单,因而在多功能的精密测试仪中具有广阔的前途。

2.2.2X5045的功能概述

(1)、特点:

1可编程的看门狗定时器。

2.上电复位及低VCC检测,即在上电和VCC低于检测门限时,输出复位信号。

输出复位高电平有效,直至VCC=1V复位信号仍有效。

3.SPI接口方式,最高可达1MHZ的串行时钟频率。

4.512*8位串行EEPROM。

5.低功耗CMOS,3mA工作电流,10uA备用电流。

6.电源电压:

2.7V-5.5V。

7.分块锁定,可保护1/4,1/2或所有EEPORM列。

8.偶然性写保护。

9.高可靠性,数据可保存100年,每字节可擦除次数可达到10万次。

10.可编程的复位门限。

需要加高电压(15-18V加在WP引脚)及一个专门的时序。

11.8引脚小型DIP封装。

(2)、功能特性概述

X5045引脚图如图2-2所示:

图2-2X5045引脚图

1.串行输出(SO)

SO是一个推/拉串行数据输出引脚,在读周期时间内,数据从这个引脚输出,串行时钟脉冲下降沿时数据输出。

2.串行输入(SI)

SI是串行数据输入引脚,所有的操作码,字节,地址及数据都通过这个引脚写入存储器,串行时钟脉冲上升沿时,数据被锁存。

3.串行时钟(SCK)

串行时钟控制串行总线为数据的输入和输出计时,SI引脚的操作码,地址或数据在时钟输入上升沿时被锁存,SO引脚的数据在时钟输入上升沿时被改写。

4.片选(/CS)

当/CS为高电平时,X5043/45被检测,SO输出引脚处于高阻抗状态,除非内部写操作在进行中的时候,X5045将处于后备电源模式。

/CS为低电平时,可以使X5943/45处于工作电源模式,应特别注意,在电源上电以后,需要在开始任何操作以前完成/CS引脚上高电平到低电平的转换。

5.写保护(/WP)

当/WP为低电平时,对于X5045不能完成非易失性写操作,但是在其他方面工作正常。

当/WP被拉成高电平时,所有的功能,包括非易失性写操作都能正常工作。

当/WP变成高电平,/CS仍然是低电平时,将中断对X5045的写操作,如果内部写周期已经开始,/WP变成低电平将对写操作没有影响。

6.复位(RESET)

X5045的RESET分别工作在高电平/低电平,对外输出一直工作到VCC降至最小电压以下,将一直工作200ms直到VCC升高大于最小电压。

如果看门狗定时时间已定,/CS保持高电平或低电平的时间超过看门狗的定时时间,RESET也同样有效。

当/CS下降沿时可使看门狗定时器复位。

(3)、工作原理

X5045是设计成直接与许多微控制器系列的同步串行外设接口(SPI)相接的512*8EEPROM。

X5045包括一个8位指令寄存器,可以通过SI输入来访问,数据在SCK上升延由时钟同步输入,在整个工作期间内,/CS必须低电平且/WP输入必须是高电平。

2.3显示部分

2.3.1显示器接口芯片的选择

LED显示器接口芯片的选择常用的显示器接口芯片有CD4511,CD4513,MC14499,8279,MAX7219,74HC164等,它们的功能有:

(1)CPU接受来自键盘的输入数据,并作预处理;

(2)数据显示的管理和数据显示器的控制CD4511是BCD锁存,7段译码,驱动器,但在显示6和9时,显示为b和q,不是很好看。

CD4513是BCD锁存,7段译码,驱动器(消隐),但在市面上不容易购买。

MC14499为串行输入BCD码——十进制译码驱动器,用它来构成单片机应用系统的显示器接口,可以大大减少I/O口线的占用数量。

但是,由片内震荡器经过四分频的信号,经位译码后只能提供4个位控信号,使信号的采集受到限制;并且,MC14499的价格偏高,也不经济。

同样,8279为INTEL公司生产的通用键盘/显示器接口芯片,其内部设有16*8显示数据RAM,若采用8279管理键盘和显示器,可以减少软件程序,从而减轻主机的负担,但我们同时也发现,由于其功能比较强大,不可避免将会使外围设备与操作过程复杂化,同时价格比较贵。

对比一下MAX7219和74HC164其占用资源少,且不需复杂的驱动电路。

但MAX7219虽然比较好用,且一片能驱动四个数码管,但对于我们设计的系统来说,不需要很多数码管,此外MAX7219相对的价格也比较贵,所以我们最终选用74HC164。

本次设计用89C51单片机串行口和廉价的74HC164集成块实现多个LED显示的一种简单方法,利用该方法设计的多路LED显示系统具有硬件结构简单、软件编程容易和价格低廉的特点。

下面简单的介绍一下74HC164。

2.2.374HC164的功能概述

(1)、特点:

1.与门串行输入。

2.完全的缓冲时钟脉冲和串行输入。

3.直接清除。

(2)、功能特性概述

引脚图如图2-3所示:

图2-374HC164引脚图

这些8位移位寄存器的特点是具有与门串行输入和不同步的清除输入(CLR)。

门电路串行输入(A和B)允许对输入数据的完全控制;低电平加在输入端可以抑制新数据的进入;高电平输入能使输入有效。

串行输入的数据当CLK是高电平或低电平时可以改变。

89C51单片机串行口方式0为移位寄存器方式,外接3片74HC164作为3位LED显示器的静态显示接口,把RXD作为数据输出线,TXD作为移位时钟脉冲。

74HC164为TTL单向8位移位寄存器,可实现串行输入,并行输出。

其中A、B(第1、2脚)为串行数据输入端,2个引脚按逻辑与运算规律输入信号,共一个输入信号时可并接。

T(第8脚)为时钟输入端,可连接到串行口的TXD端。

每一个时钟信号的上升沿加到T端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74HC164中。

R(第9脚)为复位端,当R=0时,移位寄存器各位复0,只有当R=1时,时钟脉冲才起作用。

Q1…Q8(第3-6和10-13引脚)并行输出端分别接LED显示器的各段对应的引脚上。

在给出了8个脉冲后,最先进入74HC164的第一个数据到达了最高位,然后再来一个脉冲,第一个脉冲就会从最高位移出,搞清了这一点,下面让我们来看电路,6片7HC164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲时,从单片机RXD端输出的数据就进入到了第一片74HC164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74HC164,而新的数据则进入了第一片74HC164,这样,当第六个8个脉冲完成后,首次送出的数据被送到了最左面的164中,其他数据依次出现在第一、二、三片74HC164中。

2.4电源与复位电路部分

2.4.1电源部分

本次设计应用的电压有+5V、+9V。

220V交流电源经变压器,整流,滤波后分别进入芯片,产生+5V电压,这些电源的具体应用情况如下:

+5V电源:

单片机及外围电路所用电源。

+9V电源:

压电喇叭所用电源。

2.4.2复位电路

根据应用的要求,复位操作通常有两种基本形式:

上电复位和上电或开关复位。

上电复位要求接通电源后,自动实现复位操作。

常用的上电复位电路如图2.4(a)中左图所示。

图中电容C1和电阻R1对电源+5V来说构成微分电路。

上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R1,也能达到上电复位的操作功能,如图2-4(a)中右图所示。

图2-4上电复位(a)和上电或开关复位电路(b)

要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。

常用的上电或开关复位电路如图2-4(b)所示。

上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。

当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。

根据实际操作的经验,下面给出这两种复位电路的电容、电阻参考值。

图2-4(a)中:

Cl=10-30uF,R1=1kΩ

图2-4(b)中:

C2=1uF,Rl=lkΩ,R2=10kΩ

本系统的复位电路采用上电复位。

2.5电铃和继电器部分

继电器是我们生活中常用的一种控制设备,通俗的意义上来说就是开关,在条件满足的情况下关闭或者开启。

继电器的开关特性在很多的控制系统尤其是离散的控制系统中得到广泛的应用。

从另一个角度来说,由于为某一个用途设计使用的电子电路,最终或多或少都需要和某一些机械设备相交互,所以继电器也起到电子设备和机械设备的接口作用。

最常见的继电器要数热继电器,通常使用的热继电器适用于交流50Hz、60Hz、额定电压至660V、额定电流至80A的电路中,供交流电动机的过载保护用。

它具有差动机构和温度补偿环节,可与特定的交流接触器插接安装。

时间继电器也是很常用的一种继电器,它的作用是作延时元件,通常它可在交流50Hz、60Hz、电压至380V、直流至220V的控制电路中作延时元件,按预定的时间接通或分断电路。

可广泛应用于电力拖动系统,自动程序控制系统及在各种生产工艺过程的自动控制系统中起时间控制作用,它具有定时精度高、延时时间长、调节方便等优点,通常还带有数码输入、数字显示等功能,应用范围广。

在控制中常用的中间继电器通常用作继电控制,信号传输和隔离放大等用途。

此外还有电流继电器用来限制电流、电压继电器用来控制电压、静态电压继电器、相序电压继电器、相序电压差继电器、频率继电器、功率方向继电器、差动继电器、接地继电器、电动机保护继电器等等。

正是有了这些不同类型的继电器,我们才有可能对不同的物理量作出控制,完成一个完整的控制系统。

除了传统的继电器之外,继电器的技术还应用在其他的方面,比如说电机智能保护器是根据三相交流电动机的工作原理,分析导致电动机损坏的主要原因研制的,它是一种设计独特,工作可靠的多功能保护器,在故障出现时,能及时切断电源,便于实现电机的检修与维护,该产品具有缺相保护,短路、过载保护功能,适用于各类交流电动机,开关柜,配电箱等电器设备的安全保护和限电控制,是各类电器设备设计安装的优选配套产品。

当定时时间到了,压电喇叭则发出一阵声响,时间到时发出一阵声响,按下K4键可以停止声响。

也可以启动继电器,由继电器可以控制放音机。

2.6按键部分

按键设定部分比较简单,因为本系统按键少,所以在设计上采用了独立按键方式,程序的编制上也采用了简单的扫描方式。

程序执行后工作指示灯LED闪动,表示程序开始执行,七段显示器显示“0000”,按下操作键K1-K4动作如下:

1.操作键K1:

设置现在的时间。

2.操作键K2:

显示闹铃设置时间。

3.操作键K3:

设置闹铃时间。

4.操作键K4:

闹铃ON/OFF设置,设为ON时连续3次发出哔的一声,设为OFF时发出哔的一声。

设置现在的时间或是闹铃时间设置如下:

1.操作键K1:

设整时。

2.操作键K2:

设整分。

3.操作键K3:

设置完成。

3软件设计

单片机作息时间控制的动作利用时间计时处理来做秒计数,当所设置的时间到了,则发出一阵声响,启动继电器,由继电器可以控制放音机开启或关闭。

单片机定时器负责定时的计数,不会因为按键处理而中断时间秒数的增加。

时,分,秒数据是存在变量内并写入七段显示器的缓冲区内,而由显示器扫描程序中定时扫描而显示出时间。

3.1主程序设计

在主控程序循环中主要工作为扫描是否有按键,若有按键则应做相应的功能处理,同时也扫描显示器显示时间数据,并检查所设置的时间是否到了,图3.1为主程序控制的工作流程。

时间计时处理程序是等过了1S后,则更新时间数据,将最新的时,分,秒的数据转换为数字数据并显示在七段显示器上。

程序中是这样判断是否过了1S的:

设置一个变量是1S,当新的变量和设置的变量不一样时,则表示已过了1S,要做相关程序时间处理了。

 

图3-1主程序控制的工作流程

 

3.2子程序设计

主要控制子程序说明如下:

(1)T0_INT:

定时器0计时中断程序每隔5ms中断一次。

(2)DELAY:

延时子程序。

(3)DELAY1:

控制七段显示器延时时间。

(4)LED_BL:

工作LED闪动控制。

(5)SCAN1:

七段显示器扫描一遍。

(6)LOAD_DATA:

加载七段显示器显示数据“0”。

(7)INIT:

初始化控制变量。

(8)INIT_TIMER:

初始化定时器接口,使用定时器0模式0计时。

(9)TIME_PRO:

更新时分秒数据。

(10)CONV1:

将分及秒的数据转化为七段显示器显示数据并写入显示内存内。

(11)CONV:

将时及分的数据转换为七段显示器显示数据并写入显示内存内。

(12)SET_TIME:

设置现在的时间包括小时及分钟。

(13)TIME_OUT:

过了1S后则更新时间并检查定时时间是否到了。

(14)LOOK_ATIME:

查看已设置的定时时间。

(15)CONVA:

转换定时时间时分数据为七段显示器显示数据并写入显示内存。

(16)SET_ATIME:

设置定时时间。

子程序流程图如下:

 

子程序入口

 

N

Y

 

图3-2子程序流程图

 

3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1