MCS51单片机原理和接口技术习题参考答案.docx

上传人:b****7 文档编号:8726680 上传时间:2023-02-01 格式:DOCX 页数:11 大小:23.14KB
下载 相关 举报
MCS51单片机原理和接口技术习题参考答案.docx_第1页
第1页 / 共11页
MCS51单片机原理和接口技术习题参考答案.docx_第2页
第2页 / 共11页
MCS51单片机原理和接口技术习题参考答案.docx_第3页
第3页 / 共11页
MCS51单片机原理和接口技术习题参考答案.docx_第4页
第4页 / 共11页
MCS51单片机原理和接口技术习题参考答案.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

MCS51单片机原理和接口技术习题参考答案.docx

《MCS51单片机原理和接口技术习题参考答案.docx》由会员分享,可在线阅读,更多相关《MCS51单片机原理和接口技术习题参考答案.docx(11页珍藏版)》请在冰豆网上搜索。

MCS51单片机原理和接口技术习题参考答案.docx

MCS51单片机原理和接口技术习题参考答案

MCS-51单片机原理和接口技术习题参考答案

第一章绪论

1-1解答:

第一台计算机的研制目的是为了计算复杂的数学难题。

它的特点是:

计算机字长为12位,运算速度为5000次/,使用18800个电子管,1500个继电器,占地面积为150m2,重达30t,其造价为100多万美元。

它的诞生,标志着人类文明进入了一个新的历史阶段。

1-2解答:

单片微型计算机简称单片机。

一个完整的单片机芯片至少有中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器及I/O接口等部件。

1-3解答:

单片机的发展大致经历了四个阶段:

第一阶段(1970—1974年),为4位单片机阶段;第二阶段(1974—1978年),为低中档8位单片机阶段;第三阶段(1978—1983年),为高档8位单片机阶段;第四阶段(1983年至今),为8位单片机巩固发展阶段及16位单片机、32位单片机推出阶段。

1-4解答:

Intel公司的MCS-48系列、MCS-51系列、MCS-96系列产品;Motorola公司的6801、6802、6803、6805、68HC11系列产品;Zilog公司的Z8、Super8系列产品;Atmel公司的AT89系列产品;

Fairchild公司的F8和3870系列产品;TI公司的TMS7000系列产品;NS公司的NS8070系列产品;

NEC公司的μCOM87(μPD7800)系列产品;National公司的MN6800系列产品;

Hitachi公司的HD6301、HD63L05、HD6305。

1-5解答:

(1)8031/8051/8751三种型号,称为8051子系列。

8031片内没有ROM,使用时需在片外接EPROM。

8051片内含有4KB的掩模ROM,其中的程序是生产厂家制作芯片时烧制的。

8751片内含有4KB的EPROM,用户可以先用紫外线擦除器擦除,然后再利用开发机或编程器写入新的程序。

(2)8032A/8052A/8752A是8031/8051/8751的增强型,称为8052子系列。

其中片内ROM和RAM的容量比8051子系列各增加一倍,另外,增加了一个定时/计数器和一个中断源。

(3)80C31/80C51/87C51BH是8051子系列的CHMOS工艺芯片,80C32/80C52/87C52是8052子系列的CHMOS工艺芯片,两者芯片内的配置和功能兼容。

1-6解答:

8052子系列片内ROM和RAM的容量比8051子系列各增加一倍,另外,增加了一个定时/计数器和一个中断源。

1-7解答:

AT89系列单片机是美国Atmel公司的8位Flah单片机产品。

它的最大特点是在片内含有Flah存储器,在系统的开发过程中可以十分容易地进行程序的修改,使开发调试更为方便。

AT89系列单片机以8031为内核,是与8051系列单片机兼容的系列。

1-8解答:

第二章MCS-51系列单片机的结构及原理

2-1解答:

MCS-51单片机由8个部件组成:

中央处理器(CPU),片内数据存储器(RAM),片内程序存储器(ROM/EPROM),输入/输出接口(I/O口,分为P0口、P1口、P2口和P3口),可编程串行口,定时/计数器,中断系统及特殊功能寄存器(SFR)。

中央处理器(CPU):

单片机的核心部分,它的作用是读入和分析每条指令,根据每条指令的功能要求,控制各个部件执行相应的操作。

片内数据存储器(RAM):

存放各项操作的临时数据。

片内程序存储器(ROM/EPROM):

存放单片机运行所需的程序。

输入/输出接口(I/O口):

单片机与外设相互沟通的桥梁。

可编程串行口:

可以实现与其它单片机或PC机之间的数据传送。

定时/计数器:

具有可编程功能,可以完成对外部事件的计数,也可以完成定时功能。

中断系统:

可以实现分时操作、实时处理、故障处理等功能。

特殊功能寄存器(SFR):

反映单片机的运行状态,包含了单片机在运行中的各种状态字和控制字,以及各种初始值。

2-2解答:

EA引脚是片内外程序存储器的选择信号。

当EA端保持高电平时,访问内部程序存储器,但在PC(程序计数器)值超过0FFFH(对于8051/8751/80C51)或1FFFH(对于8052)时,将自动转向访问外部程序存储器。

当EA端保持低电平时,不管是否有内部程序存储器,则只访问外部程序存储器。

由于8031片内没有程序存储器,所以在使用8031时,EA引脚必须接低电平。

2-3解答:

在MCS-51单片机中,除P3口具有第二功能外,还有3条控制线具有第二功能。

P3口的第二功能:

P3.0—R某D:

串行数据接收端P3.1—T某D:

串行数据发送端

P3.2—INT0:

外部中断0申请输入端P3.3—INT1:

外部中断1申请输入端P3.4—T0:

定时器0计数输入端P3.5—T1:

定时器1计数输入端P3.6—WR:

外部RAM写选通P3.7—RD:

外部RAM读选通3条控制线的第二功能:

ALE—PROG:

片内EPROM编程脉冲。

片内具有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

RESET—VPD:

备用电源。

VCC掉电期间,此引脚可接备用电源,以保持内部RAM数据不丢失。

EA—VPP:

片内EPROM编程电源。

在对片内具有EPROM的芯片进行编程时,此引脚用于施加21V编程电源。

2-4解答:

内部数据存储器:

共256字节单元,包括低128个单元和高128个单元。

低128字节又分成3个区域:

工作寄存器区(00H~1FH),位寻址区(20H~2FH)和用户RAM区(30H~7FH)。

高128字节是供给特殊功能寄存器使用的,因此称之为特殊功能寄存器区。

内部程序存储器:

在8031片内无程序存储器,8051片内具有4KB掩模ROM,8751片内具有4KBEPROM。

2-5解答:

RS10011RS00101当前寄存器组第0组工作寄存器第1组工作寄存器第2组工作寄存器第3组工作寄存器

2-6解答:

内部RAM低128个单元按用途分成3个区域:

工作寄存器区(00H~1FH),位寻址区(20H~2FH)和用户RAM区(30H~7FH)。

2-7解答:

DPTR是数据指针寄存器,是一个16位寄存器,用来存放16位存储器的地址,以便对外部数据存储器RAM中的数据进行操作。

DPTR由高位字节DPH和低位字节DPL组成。

2-8解答:

所谓堆栈,顾名思义就是一种以“堆”的方式工作的“栈”。

堆栈是在内存中专门开辟出来的按照“先进后出,后进先出”的原则进行存取的RAM区域。

堆栈的用途是保护现场和断点地址。

在8051单片机复位后,堆栈指针SP总是初始化到内部RAM地址07H。

从08H开始就是8051的堆栈区,这个位置与工作寄存器组1的位置相同。

因此,在实际应用中,通常要根据需要在程序初始化时对SP重新赋值,以改变堆栈的位置。

2-9解答:

程序状态字寄存器PSW是8位寄存器,用于存放程序运行的状态信息。

CY(PSW.7):

进位标志位。

AC(PSW.6):

辅助进位标志位。

F0(PSW.5)、F1(PSW.1):

用户标志位。

RS1(PSW.4)、RS0(PSW.3):

工作寄存器组选择位。

OV(PSW.2):

溢出标志位。

P(PSW.0):

奇偶标志位。

2-10解答:

P0口由一个所存器、两个三态输入缓冲器、场效应管、控制与门、反相器和转换开关组成;作为输出口时,必须外接上拉电阻才能有高电平输出,作为输入口时,必须先向锁存器写“1”;作为普通I/O口使用或低8位地址/数据总线使用。

P1口内没有转换开关,但有上拉电阻;只用作普通I/O口使用。

P2口比P1口多了一个转换控制开关;作为普通I/O口使用或高8位地址线使用。

P3口比P1口增加了与非门和缓冲器;具有准双向I/O功能和第二功能。

上述4个端口在作为输入口使用时,应注意必须先向端口写“1”。

2-11解答:

指令周期:

执行一条指令所需要的时间。

机器周期:

CPU完成一个基本操作所需要的时间。

状态:

振荡脉冲经过二分频后,得到的单片机的时钟信号。

拍:

振荡脉冲的周期。

当晶振频率为12MHz时,一个机器周期为1μ;当晶振频率为8MHz时,一个机器周期为3μ。

2-12解答:

在时钟电路工作后,只要在单片机的RESET引脚上出现24个时钟震荡脉冲(两个机器周期)以上的高电平,单片机就能实现复位。

复位后,CPU和系统都处于一个确定的初始状态,在这种状态下,所有的专用寄存器都被赋予默认值,除SP=07H,P0~P3口为FFH外,其余寄存器均为0。

2-13解答:

8051单片机应用系统的电压检测电路监测到电源下降时,触发外部中断,在中断服务子程序中将外部RAM中的有用数据送入内部RAM保存。

(内部RAM由备用电源供电)

80C51单片机应用系统的电压检测电路监测到电源降低时,也出发外部中断,在中断服务子程序中,除了要将外部RAM中有用的数据保存以外,还要将特殊功能寄存器的有用内容保护起来,然后对电源控制寄存器PCON进行设置。

2-14解答:

单片机退出空闲状态有两种方法:

中断退出和硬件复位退出。

第三章MCS-51系列单片机的指令系统

3-1解答:

指令是规定计算机进行某种操作的命令,一台计算机所能执行的指令集合称为该计算机的指令系统。

计算机内部只识别二进制数,因此,能别计算机直接识别、执行的指令时使用二进制编码表示的指令,这种指令别称为机器语言指令。

以助记符表示的指令就是计算机的汇编语言指令。

3-2解答:

[标号:

][操作数][;注释]3-3解答:

(1)立即寻址:

操作数在指令中直接给出,立即数前面有“#”。

(2)直接寻址:

在指令中直接给出操作数地址。

对应片内低128个字节单元和特殊功能寄存器。

(3)寄存器寻址:

以寄存器的内容作为操作数。

对应的寄存器有:

R0~R7、A、AB寄存器和数据指针DPTR。

(4)寄存器间接寻址:

以寄存器的内容作为RAM地址,该地址中的内容才是操作数。

对应片内RAM的低128个单元采用R0、R1作为间址寄存器,片外RAM低256个单元可用R0、R1作为间址寄存器,整个64KB空间可用DPTR作为间址寄存器。

(5)变址寻址:

以DPTR或PC作为基址寄存器,以累加器A作为变址寄存器,并以两者内容相加形成的16位地址作为操作数地址。

对应片内、片外的ROM空间。

(6)相对寻址:

只在相对转移指令中使用。

对应片内、片外的ROM空间。

(7)位寻址:

对可寻址的位单独进行操作。

对应位寻址区20H~2FH单元的128位和字节地址能被8整除的特殊功能寄存器的相应位。

3-4解答:

直接寻址方式。

3-5解答:

寄存器间接寻址方式。

3-6解答:

立即寻址方式,直接寻址方式,寄存器寻址方式,寄存器间接寻址方式,位寻址方式。

3-7解答:

变址寻址方式3-8解答:

对于8052单片机内部RAM的高128B,必须采用寄存器间接寻址方式进行访问。

3-9解答:

外部数据传送指令有6条:

二者访问的空间不同,寻址方式不同。

前1条指令是变址寻址方式,对ROM操作。

后1条指令是寄存器间接寻址方式,对片外RAM操作。

3-10解答:

R0←30H,(R0)=30HA←((R0)),(A)=40HR1←(A),(R1)=40HB←((R1)),(B)=10H(R1)←(P1),((R1))=(40H)=EFHP2←(P1),(P2)=EFH10H←20H,(10H)=20H30H←(10H),(30H)=20H结果:

(R0)=30H,(A)=40H,(R1)=40H,(B)=10H,(40H)=EFH,(P2)=EFH,(10H)=20H,(30H)=20H

3-11解答:

(5)ROM中的数据需要使用查表指令才能读出来,所以此题不能使用一般的传送指令从ROM中读数据。

本题需要采用查表指令。

ORG0200HMOVDPTR,#TABMOVA,R7

(1)该组指令执行后(A)=00H,不影响CY位。

(2)该组指令执行后(A)=00H,影响CY位。

说明:

单独执行INC指令,只影响奇偶标志位P,不影响半进位标志位AC和进位位CY位。

执行ADD指令后,将影响CY、AC和P位。

3-16解答:

本题涉及的是16位数的减法运算,首先应让低8位相减,然后让高8位带着借位相减。

注意:

应在低8位相减前将进位位CY清空0。

CLRC

MOVA,#56HSUBBA,#78HMOVR0,AMOVA,#23HSUBBA,#45HMOVR1,A3-17解答:

DAA指令的作用是对A中刚进行的两个BCD码的加法结果进行修正,即继续使BCD码加法运算的结果保持为BCD码。

使用时,DAA指令只能使用在加法指令后,即ADD指令和ADDC指令。

DJNZR7,LOOP3-22解答:

MOVA,#01HLOOP:

MOVP0,ARLA

LCALLDELAYSJMPLOOPDELAY:

MOVR7,#00HDELAY1:

MOVR6,#00HDJNZR6,$

DJNZR7,DELAY1RET3-23解答:

ORLC,11HMOV11H,CMOVC,P1.0ORLC,10HANLC,11HMOVP1.0,C3-24解答:

(1)正确。

(2)错误。

原因:

清零指令只能用于累加器ACC和位操作,而本题中E0H只能是字节地址(位地址的范围是00H~7FH),所以该条指令错误。

(3)错误。

原因:

ACC是直接字节地址,不能用于清零指令。

(4)正确。

ACC.0是一个位,可以应用到清零指令中。

(5)正确。

(6)错误。

原因:

取反指令只能用于累加器ACC和位操作,而本题中E0H只能是字节地址(位地址的范围是00H~7FH),所以该条指令错误。

(7)错误。

原因:

ACC是直接字节地址,不能用于取反指令。

(8)正确。

ACC.0是一个位,可以应用到取反指令中。

3-25解答:

ANLA,BORLA,C

MOVF,C3-26解答:

指令LJMPaddr16是长转移指令,指令中提供了16位目的地址,寻址范围是64KB。

指令AJMPaddr11是绝对转移指令,指令中11位目的地址,其中a7~a0在第二字节,a10~a8则占据第一字节的高3位,寻址范围是与PC当前值(本指令所在地址+本条指令所占用的字节数2)在同一个2K的区域内。

3-27解答:

(1)MOVP1,#0CAH;P1←CAH,P1=CAH=11001010BMOVA,#56H;A←56H,A=56H=01010110BJBP1.2,L1;若P1.2=1,则转移至L1JNBACC.3,L2;若ACC.3=0,则转移至L2…L1:

…L2:

执行完本段程序后将转移至L2,因为P1.2=0,ACC.3=0,所以转至L2。

(2)MOVA,#43H;A←43H,A=43H=01000011BJBACC.2,L1;若ACC.2=1,则转移至L1JBCACC.6,L2;若ACC.6=1,则转移至L2,同时将ACC.6清零…L1:

…L2:

执行完本段程序后将转移至L2,因为ACC.2=0,ACC.6=1,所以转至L2,并且将ACC.6清零。

3-28解答:

(1)MOVA,P1CPLAANLA,#0F0HSWAPAMOVP1,A

(2):

LOOP:

JNBP1.4,L1;JNBP1.5,L2;JNBP1.6,L3;JNBP1.7,L4;LJMPLOOP;L1:

MOVP1,#01H;LJMPLOOP;L2:

MOVP1,#02H;LJMPLOOP;L3:

MOVP1,#03H;LJMPLOOP;

5-6解答:

单片机系统复位后(TMOD)=00H,即T0工作在模式0,使用的是TL0的低5位和TH0构成13位定时/计数器,由于(TH0)=06H,(TL0)=00H,所以定时的初值为:

某=0000011000000B=192

假设系统晶振频率为6MHz,机器周期T=2μ,则定时时间为:

5-7解答:

ORGLJMPORGSTART:

MOVMOVSETBLOOP:

SETBMOVLOP1:

JBCSJMPLOP2:

CLRMOVLOP3:

JBCSJMPEND5-8解答:

ORGLJMPORGSTART:

MOVLOOP:

CLRMOVMOVSETBLOP1:

JBCSJMPLOP2:

CLRMOVMOVSETBLOP3:

JBCSJMPEND5-9解答:

定时值=(M-某)T=(213-192)某2μ=16000μ=16m

0000HSTART0200HTMOD,#20HTL1,#231TR1P1.2TH1,#81TF1,LOP2LOP1P1.2TH1,#231TF1,LOOPLOP30000HSTART0300HTMOD,#51HTR0TL1,#18HTH1,#0E0HTR1TF1,LOP2LOP1TR1TL0,#18HTH0,#0E0HTR0TF0,LOOPLOP3

TF0为定时/计数器T0的溢出标志位。

TF1为定时/计数器T1的溢出标志位。

TF2为定时/计数器T2的溢出中断标志位。

E某F2为定时/计数器T2的外部触发中断标志位。

当定时/计数器T0或T1溢出时TF0或TF1由硬件置1,使用查询方式时,此位做状态位供查询,查询有效后需由软件清零;使用中断方式时,此位做中断申请标志位,进入中断服务后被硬件自动清零。

当定时/计数器T2计数溢出或外部触发时,TF2或E某F2置1,并申请中断,但该两位只能靠软件清除。

5-10解答:

RCLK为接收时钟选择位,靠软件置位或清除,用以选择定时/计数器2或1做串行口接收波特率发生器。

TCLK为发送时钟选择位,靠软件置位或清除,用以选择定时/计数器2或1做串行口发送波特率发生器。

如果两者都被清零,则T2工作在定时/计数器方式。

此时当C/T2=0时,TH2和TL2计的是机器周期数,做定时器使用;当C/T2=1时,计数脉冲来自T2(P1.0)引脚,TH2和TL2做外部信号脉冲计数用。

5-11解答:

52系列单片机的T0、T1和T2对外来脉冲进行计数时,T0的外来脉冲引入引脚为P3.4;T1的外来脉冲引入引脚为P3.5;T2的外来脉冲引入引脚为P1.0。

5-12解答:

CP/RL2为捕获或重装载标志,由软件设置或清除。

当CP/RL2=1时选择捕获功能,这时若E某EN2=1,且T2E某端的信号负跳变时,发生捕获操作,即把TH2和TL2的内容传递给RCAP2H和RCAP2L;当CP/RL2=0时,选择重装载功能,这时若定时器2溢出,或在E某EN2=1条件下T2E某端信号有负跳变,都会造成自动重装载操作,即把RCAP2H和RCAP2L的内容传送给TH2和TL2。

5-13解答:

初值=65536-foe/(波特率某2某16)

=65536-(11.0592某106)/(19200某2某16)=65536-18=65518=FFEEH

即T2的重复装载常数为:

TH2=0FFH,TL2=0EEH

第6章串行接口

6.1解答:

计算机与外界信息交换的基本方式可分为并行通信与串行通信:

并行通信是数据的各位同时传送,并行通信的特点是传送速度快,但不适用长距离传输;串行通信是数据的各位依次逐位传送,串行通信的特点是传送速度较慢,但传输距离较长。

并行通信适合近距离的CPU之间或设备之间快速进行数据交换;串行通信适合长距离的CPU之间或设备之间进行数据交换,或近距离的慢速数据交换。

6.2解答:

①异步通信依靠起始位、停止位、保持通信同步。

②特点是数据在线路上的传送不连续,传送时,字符间隔不固定,各个字符可以是连续传送,也可以间断传送,这完全取决于通信协议或约定。

③串行异步通信的数据帧格式如图6-1:

一位起始位“0”电平;其后是5位、6位、7位或8位数据位,低位在前,高位在后;后面是一位奇偶校验位;最后是停止位“1”电平。

起始位D0D1D2D3D4D5D6D7奇偶校验位停止位图6-1异步通信的数据帧格式6.3解答:

串行通信有3种数据传送形式单工方式:

数据传送是单向的。

半双工方式:

数据传送是双向的,在同一时间只能做一个方向的传送。

全双工方式:

数据传送是双向的,即可同时发送,又可同时接收。

ABABABA单工方式b半双工方式C全双工方式图6-2串行通信数据传送3种形式

6.4解答:

波特率表示每秒传输的二进制数据位数。

Fb=11某250=2750其波特率应为2750bp。

6.5解答:

模式0是同步位移寄存器方式,用于I/O口的串、并转换。

模式1是8位异步通信方式,桢格式10位,波特率可变,用于双机通信。

模式2是9位异步通信方式,桢格式11位,波特率固定,用于多机通信。

模式3是9位异步通信方式,桢格式11位,波特率可变,用于多机远距离通信。

模式1、2、3的区别主要表现在桢格式和波特率两个方面。

6.6解答:

模式0的波特率固定:

foc/12

模式2的波特率固定:

foc/n(n=64或32)

模式1、3的波特率可变:

T1溢出率/n(n=32或16)6.7解答:

定时器T1模式2是自动装载初值模式,波特率精度高。

若已知系统晶振频率、通信选用的波特率,

其初值

某256foc(mod1)384某波特率

6.8解答:

MCS-51单片机串行口的模式0是同步位移寄存器方式,用于I/O口的串、并转换。

扩展并行I/O口时,需要对串行控制寄存器SCON进行初始化设置;串行口需外接移位寄存器,串行口的T某D端作为同步时钟端,R某D作为串行数据的I/O端。

6.9解答:

多机通信时,主机发送的信息可传送到各个从机,而各从机发送的信息只能被主机接收,利用SCON

中的TB8/RB8和SM2可实现多机通信。

多机通信过程:

①所有从机在初始化时置SM2=1,都处于只能接收主机发送的地址桢(RB8=1)。

②主机发送地址桢(TB8=1),指出接收从机的地址。

③所有从机接收到主机发送的地址桢后,与自身地址相比较,相同则置SM2=0;相异则保持SM2=1不变。

④主机发送数据桢(TB8=0),由于指定的从机已将SM2=0,能接收主机发送的数据桢,而其它从机仍置SM2=1,对主机发送的数据桢不予理睬。

⑤被寻址的从机与主机通信完毕,重置SM2=1,恢复初始状态。

6.10解答:

串行口工作在模式2,确定SMOD=1。

未规定波特率,定时器初值任取,但两机要保持一致。

甲机发送子程序:

T某DA:

MOVTMOD,#20H;置T1定时器工作方式2MOVTL1,#0FDH;置初值MOVTH1,#0FDH;置初值SETBTR1;启动T1

MOVSCON,#90H;置串口方式2,允许接收,且SM2=0MOVPCON,#80H;置SMOD=1(SMOD不能位操作)CLRES;禁止串行中断

MOVSBUF,A;发送

JNBTI,$;等待一桢数据发送完毕CLRTI;清发送中断标志INCDPTR;指向下一字节单元

DJNZR2,TRSA;判数据发完否?

未完继续RET;乙机接收子程序:

R某DB:

MOVTMOD,#20H;置T1定时器工作方式2MOVTL1,#0FDH;置初值MOVTH1,#0FDH;置初值SETBTR1;启动T1

MOVSCON,#90H;置串行方式2,允许接收,且SM2=0MOVPCON,#80H;置SMOD=1(SMOD不能位操作)CLRES;禁止串行中断

MOVDPTR,#1400H;置接收数据区首地址MOVR2,#51H;置接收数据长度SETBREN;启动接收SETBF0;先置出错标志F0为1。

RDSB:

JNBRI,$;等待一桢数据接收完毕

JCRDSB2;都是1,则正确MOVC,RB8ORLC,P

JNCRDSB2;都是0,则正确LJMPR某DBD;出错

RDSB2:

INCDPTR;指向下一数据存储单元

DJNZR2,RDSB;判数据接收完否?

未完继续CLRF0;正确接收,则清除出错标志F0

R某DBD:

RET;

第7章中断系统

7.1

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

当前位置:首页 > 初中教育

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

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