




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字温度计一 设计任务书设计一个可测量一定温度范围的数字温度计,并显示出当前温度。二 设计要求1. 基本要求(1) 可测量温度范围:000.0102.0(2) 温度分辨率:0.5(3) 测量相对误差:2%(4) 用数码管实时显示被测温度2. 提高要求(1) 实现多个温度点的实时测量(2) 实现温度的分档测量(3) 实现零下温度测量并显示3. 发挥部分(1) 实现摄氏、华氏、开氏的转换并显示(2) 温度过高报警三 方案讨论及元件选择 1.方案概述温度传感器DS18B20是单线通信,其输出值为数字信号,将其输出的温度数据送给单片机AT89C51处理,转换为温度动态显示。 2.分步讨论 (1)温度传感器本方案采用DS18B20温度传感器,其特点为:1)适应电压范围更宽,电压范围:3.05.5V,寄生电源方式下可由数据线供。2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。5)温范围55125,在-10+85时精度为0.5。6)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。其管脚图为: DS18B20的引脚功能:DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地 (2)动态显示通过单片机与七段显示译码器HCF4511BE结合使用实现HCF4511BE的简介如下:HCF4511BE是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码七段码译码器,特点:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动LED显示器。HCF4511BE 是一片 CMOS BCD锁存/7 段译码/驱动器,引脚排列如下图所示。其中a b c d 为 BCD 码输入,a为最低位。LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时, B1端应加高电平。另外 HCF4511BE有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。LE是锁存控制端,高电平时锁存,低电平时传输数据。ag是 7 段输出,可驱动共阴LED数码管。另外,HCF4511BE显示数“6”时,a段消隐;显示数“9”时,d段消隐,所以显示6、9这两个数时,字形不太美观HCF4511BE 引 脚 图 : 其功能介绍如下: BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。 LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入 DCBA 状态如何,七段均发亮,显示“8”。它主要用来检测数码管是否损坏。 LE:锁定控制端,当LE=0时,允许译码输出。 LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。 A1、A2、A3、A4、为8421BCD码输入端。 a、b、c、d、e、f、g:为译码输出端,输出为高电平1有效 HCF4511BE具有锁存功能,译码器的锁存电路由传输门和反相器组成,传输门的导通或截止由控制端LE的电平状态。 当LE为“0”电平导通,TG2截止;当LE为“1”电平时,TG1截止,TG2导通,此时有锁存作用。 (3)单片机I/O口资源22H为显示方式存储区,23H为分辨率存储区,38H为DS18B20的标志位存储区30H,31H摄氏缓冲区,32H,33H为华氏缓冲区,34H,35H为开氏缓冲区60H-68H存放从DS18B20读入的9个字节数据36H,37H,40H,41H,42H为中间数据暂存缓冲区段选p1.0-p1.3,位选p1.4-p1.7,摄氏、华氏、开氏转换INT0,DS18B20数据脚p3.7摄氏、华氏、开氏表示分别为p2.0、p2.1、p2.2,零下温度显示表示p2.3,报警p2.4 P0.7,P0.6为通道显示四 设计原理 1.硬件部分此次实验主要使用到的芯片有传感器DS18B20、单片机AT89C51、七段译码器CD4511、以及LED数码管。由于传感器DS18B20的输出即为数字信号,因此省去了很多工作,如电流电压转换、AD转换等。此次电路的基本原理为:传感器读入温度信息,发送给单片机处理,单片机处理后将信号发送给译码器进行译码后送给LED即显示出当前温度;温度过高时蜂鸣器实行报警。各部分的连接关系见总图2. 软件部分 软件部分主要包括初始化程序,初始化DS18B20程序,读DS18B20程序,数据转摄氏温度BCD码程序,摄氏温度T转华氏温度F程序,摄氏温度T转开氏温度K程序,零下温度转换程序,报警程序,显示程序,中断程序,延时程序等,具体程序见附录。其中下列程序的编程方法做以下说明: (1)数据转摄氏温度BCD码程序:由于要实现分辨率可调,所以编程时小数位的值是根据分辨率的值来对从DS18B20读入的四位小数位进行取舍,百位、十位和个位的数则由二进制数除以一百、一十和余数求得,这样即实现把从DS18B20读入的温度装换成代显示的摄氏温度BCD码。 (2)摄氏温度T转华氏温度F程序:华氏温度值F与摄氏温度T的转换关系为: 8位单片机要直接实现9除以5很困难,我们采用的方法是先将摄氏温度T乘以8(3次调用BCD_T)再除以10(右移4位),然后将所得的值加原值T,这样就实现了乘以9/5,再加32就完成了T与F的转换。 (3)摄氏温度T转开氏温度K程序:T与K的转换关系为:K=T+273.1,加法运算很容易实现。 (4)零下温度转换程序:单片机判断从DS18B20读入的数据的符号位为1时,执行零下温度转换程序,因为零下温度时,要对数据位的值求反加1求补码。 (5)报警程序:对所得的温度进行判断,当温度超过50C时,即驱动蜂鸣器(P2.4口)。 (6)中断程序:INT1接分辨率显示方式选择按键,中断一次,RAM中分辨率显示方式存储区23H的值加1,为2时清零;INT0接摄氏、华氏、开氏显示方式设定按键,中断一次,RAM中显示方式存储区22H的值加1,为2时清零,00H表示显示摄氏,01H表示显示华氏,02H表示显示开氏。 五 调试 根据以上资料以及原理设计完硬件,编写好程序后,在不存在虚焊和连线错误的情况下,要完好的得出结果,还需经过长时间的调试。在此次调试中我们发现了如下问题:1. 软件调试时,要用F7进行跟踪调试,并且对照各个寄存器和数据缓冲 区里面的值的变化来判断程序是否正确,是否实现功能,单步调试成功 之后,再全速执行,看看结果是否正确,如果全速执行正确的话就开始 硬件调试,不正确又要单步调试。所以开始单步调试时,一定要仔细, 以防“返工”。2. DS18B20读取温度时,延时太长导致显示时“闪烁”,所以要适当减小延 时,使数码管显示时既不闪烁也不跳变得过快而影响读数。3. 中断程序要合理延时以防抖动。4. 编写程序时,要考虑全面,以防止改变显示方式、改变分辨率和切换通道时对数据产生影响。5. 由于单片机独立工作时,位置高时提供电压电流不够驱动,所以在每个 独立位上可以独立接一个电阻然后接正电源,这样起到一个“辅助”的 作用,例如数码管和发光二极管都可以这样来实现正常显示,而不出现 微亮或模糊不清的情况。六优缺点总结上述设计方案完全能实现基本要求、提高要求和自己的发挥部分。纵观全设计,我们的总结如下: 优点:1.完成了全部基本要求和提高要求以及发挥部分;2.本方案最大的亮点是实现零下温度的检测和显示;3.实现摄氏、华氏、开氏的转换和显示;4.实现过高温度报警;5.实现不同分辨率显示; 当然,我们的设计中也存在不少问题,例如,由于单片机独立工作时,不能提供足够大的电压电流,导致报警用蜂鸣器和显示用发光二极管的声音和亮度不够。七设计心得体会通过这三周的软、硬件设计,不仅加深了我们对理论知识的理解,培养了我们的实践动手能力,还锻炼了我们遇到问题解决问题的能力。从开始接到任务时的无从下手,到小组成员各司其职,搜集资料,学习新知识,相互讨论,分析交流,解决好问题的这个过程本身就是对我们的锻炼。此次设计课不同于一般理论课的地方就在于要求我们的并非只是单纯的懂得理论知识,更重要的是小组成员间的团结协作精神以及将理论知识用于实践的能力,由于在实际中,存在各种各样的因素,即使我们有着正确的原理图、软件程序等也不一定能得出正确的结果,正如调试时产生的问题一样,这就需要我们有耐心去分析各种可能存在因素以达到解决问题的最终目的,当然这其中肯定少不了老师的指导和帮助 ,在此,我们小组三人对刘海涛老师的帮助给以最衷心的感谢。通过这次课程设计我们学到了很多东西,培养了我们的自学能力,接受新事物的心态,以及遇到问题时戒骄戒躁的良好心态和虚心向同学、老师请教自己不会的问题,更重要的是小组成员间的团结协作,相互鼓励,做好分配给自己的任务,用心做每一件事而非应付过关的消极态度。总之,此次设计课使我们受益匪浅。八附录附录一:程序清单;说明:*;22H为显示方式存储区,23H为分辨率存储区,38H为DS18B20的标志位存储区;30H,31H摄氏缓冲区,32H,33H为华氏缓冲区,34H,35H为开氏缓冲区;60H-68H存放从DS18B20读入的9个字节数据;36H,37H,40H,41H,42H为中间数据暂存缓冲区;段选p1.0-p1.3,位选p1.4-p1.7,摄氏、华氏、开氏转换INT0,DS18B20数据脚p3.7;P0.5为0.1分辨率,P0.6为0.2分辨率,P0.7为0.5分辨率;摄氏、华氏、开氏表示分别为p2.0、p2.1、p2.2,零下温度显示表示p2.3,报警p2.4;P0.7,P0.6为通道显示;*ORG 0000HLJMP MAINORG 0003HLJMP INT0ORG 0013HLJMP INT1;主程序 *ORG 0030HMAIN: LCALL INIT ;调用初始化程序LOP: LCALL INIT_18B20 ;调用复位DS18B20子程序 JNB 38H,LOP_2 LCALL GET_TEMPER ;调用读温度子程序 LCALL CONV ;调用采样数据转换BCD码子程序 LCALL WARNING ;调用温度超过量程报警子程序 CLR P2.7 SETB P2.6 LCALL DISPLAY ;调用显示子程序LOP_2:LCALL INIT_18B20_2 JNB 38H,LOPP LCALL GET_TEMPER_2 LCALL CONV LCALL WARNING SETB P2.7 CLR P2.6 LCALL DISPLAYLOPP: AJMP LOP;初始化程序*INIT: SETB EA SETB EX0 SETB IT0 SETB EX1 SETB IT1 MOV 22H,#00H MOV 23H,#00H MOV P1,#00H CLR P2.0 CLR P2.1 CLR P2.2 CLR P2.3 CLR P2.4 CLR P0.5 CLR P0.6 CLR P0.7 RET;复位DS18B20程序*INIT_18B20: SETB P3.7 NOP CLR P3.7 ;主机发出延时540ms的复位低脉冲 MOV R0,#0CH LCALL DELAY3 SETB P3.7 ;然后拉高数据线 NOP NOP MOV R0,#36TSR2: JNB P3.7,TSR3 ;等待DS18B20回应 DJNZ R0,TSR2 LJMP TSR4 ;延时TSR3: SETB 38H ;置标志位,表示DS18B20存在 LJMP TSR5TSR4: CLR 38H ;清标志位,表示DS18B20不存在 LJMP TSR7TSR5: MOV R0,#06BHTSR6: DJNZ R0,TSR6 ;复位成功,时序要求延时一段时间TSR7: SETB P3.7 RET;-INIT_18B20_2: SETB P3.6 NOP CLR P3.6 ;主机发出延时540ms的复位低脉冲 MOV R0,#0CH LCALL DELAY3 SETB P3.6 ;然后拉高数据线 NOP NOP MOV R0,#36TSR2_2: JNB P3.6,TSR3_2 ;等待DS18B20回应 + DJNZ R0,TSR2_2 LJMP TSR4_2 ;延时TSR3_2: SETB 38H ;置标志位,表示DS18B20存在 LJMP TSR5_2TSR4_2: CLR 38H ;清标志位,表示DS18B20不存在 LJMP TSR7_2TSR5_2: MOV R0,#06BHTSR6_2: DJNZ R0,TSR6_2 ;复位成功,时序要求延时一段时间TSR7_2: SETB P3.6 RET;-;读出转换后的温度值*GET_TEMPER: SETB P3.7 ;定时入口 LCALL INIT_18B20 ;先复位DS18B20 JB 38H,TSS2 ;判断DS18B20是否存在,不存在则返回 RETTSS2: MOV A,#0CCH ;跳过ROM匹配 LCALL WRITE_18B20 MOV A,#44H ;发出温度转换命令 LCALL WRITE_18B20 MOV R0,#0FFH ;等待A/D转换结束,750ms LCALL DELAY3 LCALL INIT_18B20 ;准备读温度前先复位 MOV A,#0CCH ;跳过ROM匹配 LCALL WRITE_18B20 MOV A,#0BEH ;发出读温度命令 LCALL WRITE_18B20 LCALL READ_18B20 ;将读出的9个字节数据保存到60H-68H RET;-GET_TEMPER_2: SETB P3.6 ;定时入口 LCALL INIT_18B20_2 ;先复位DS18B20 JB 38H,TSS2_2 ;判断DS18B20是否存在,不存在则返回 RETTSS2_2: MOV A,#0CCH ;跳过ROM匹配 LCALL WRITE_18B20_2 MOV A,#44H ;发出温度转换命令 LCALL WRITE_18B20_2 MOV R0,#0FFH ;等待A/D转换结束,750ms LCALL DELAY3 LCALL INIT_18B20_2 ;准备读温度前先复位 MOV A,#0CCH ;跳过ROM匹配 LCALL WRITE_18B20_2 MOV A,#0BEH ;发出读温度命令 LCALL WRITE_18B20_2 LCALL READ_18B20_2 ;将读出的9个字节数据保存到60H-68H RET;-;写DS18B20的子程序(具体时许要求)*WRITE_18B20: MOV R2,#8 ;一共8位数据 CLR CWR1: CLR P3.7 MOV R3,#6 DJNZ R3,$ RRC A MOV P3.7,C MOV R3,#24 DJNZ R3,$ SETB P3.7 NOP DJNZ R2,WR1 SETB P3.7 RET;-WRITE_18B20_2: MOV R2,#8 ;一共8位数据 CLR CWR1_2: CLR P3.6 MOV R3,#6 DJNZ R3,$ RRC A MOV P3.6,C MOV R3,#24 DJNZ R3,$ SETB P3.6 NOP DJNZ R2,WR1_2 SETB P3.6 RET;-;读DS18B20的程序,从DS18B20中读出九个字节的数据;存到60H-68H*READ_18B20: MOV R4,#9 MOV R1,#60H ;存入60H开始的9个单元中RE00: MOV R2,#8RE01: CLR C SETB P3.7 NOP NOP CLR P3.7 NOP NOP NOP SETB P3.7 MOV R3,#09RE02: DJNZ R3,RE02 MOV C,P3.7 MOV R3,#23RE03: DJNZ R3,RE03 RRC A DJNZ R2,RE01 MOV R1,A INC R1 DJNZ R4,RE00 RET;-READ_18B20_2: MOV R4,#9 MOV R1,#60H ;存入60H开始的9个单元中RE00_2: MOV R2,#8RE01_2: CLR C SETB P3.6 NOP NOP CLR P3.6 NOP NOP NOP SETB P3.6 MOV R3,#09RE02_2: DJNZ R3,RE02_2 MOV C,P3.6 MOV R3,#23RE03_2: DJNZ R3,RE03_2 RRC A DJNZ R2,RE01_2 MOV R1,A INC R1 DJNZ R4,RE00_2 RET;-;采样数据转换BCD码程序*CONV: MOV 41H,61H MOV 40H,60H ;40H,41H为数据暂存缓冲区 MOV 42H,40H ;42H为数据暂存缓冲区 MOV A,61H CLR C RLC A JC N0 ;符号位为1跳转,表示当前是零下温度 CLR P2.3 ;关闭正负温度指示灯 LCALL W_BCD LCALL T_F LCALL T_K LJMP QUIT0N0: SETB P2.3 CLR C MOV A,40H CPL A ADD A,#01H MOV 40H,A MOV 42H,40H ;42H为数据暂存缓冲区 MOV A,41H CPL A ADDC A,#00H MOV 41H,A LCALL W_BCD MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MOV 35H,#00HQUIT0:RET;60H,61H中的温度值转换BCD码程序*W_BCD:ANL 40H,#0F0H MOV A,40H SWAP A MOV 40H,A ANL 41H,#07H MOV A,41H SWAP A ORL A,40H ;A中存放整数部分的二进制值 MOV 41H,A ;41H中存放整数部分的二进制值 MOV B,#100 DIV AB SWAP A MOV 37H,A MOV A,B MOV B,#10 DIV AB ORL A,37H MOV 37H,A ;37H中存放百位数和十位数BCD码 MOV A,B SWAP A MOV 36H,A ;36H中存放个位数BCD码 MOV A,23H CJNE A,#00H,FF0 SETB P0.5 CLR P0.6 CLR P0.7 ANL 42H,#0EH ;42H为数据暂存缓冲区 MOV A,42H CJNE A,#00H,L0 MOV A,#00H LJMP L15L0: CJNE A,#02H,L1 MOV A,#01H LJMP L15L1: CJNE A,#04H,L2 MOV A,#02H LJMP L15L2: CJNE A,#06H,L3 MOV A,#04H LJMP L15L3: CJNE A,#08H,L4 MOV A,#05H LJMP L15L4: CJNE A,#0AH,L5 MOV A,#06H LJMP L15L5: CJNE A,#0CH,L6 MOV A,#08H LJMP L15L6: MOV A,#09H LJMP L15FF0: CJNE A,#01H,FF1 CLR P0.5 SETB P0.6 CLR P0.7 ANL 42H,#0CH ;42H为数据暂存缓冲区 MOV A,42H CJNE A,#00H,LL0 MOV A,#00H LJMP L15LL0: CJNE A,#04H,LL1 MOV A,#02H LJMP L15LL1: CJNE A,#08H,LL2 MOV A,#05H LJMP L15LL2: MOV A,#08H LJMP L15FF1: CLR P0.5 CLR P0.6 SETB P0.7 ANL 42H,#08H ;42H为数据暂存缓冲区 MOV A,42H CJNE A,#00H,LLL0 MOV A,#00H LJMP L15LLL0: MOV A,#05HL15: ORL A,36H MOV 36H,A ;36H中存放个位数和小数位数BCD码 MOV 30H,36H MOV 31H,37H ;送摄氏缓冲区 RET;实现1次循环36H,37H中的数乘以2,入口36H,37H,出口36H,37H;出口36H、37H *BCD_T:N1: MOV A,36H ADD A,36H DA A MOV 36H,A MOV A,37H ADDC A,37H DA A MOV 37H,A DJNZ R1,N1 RET;摄氏转华氏:入口36H、37H, 出口32H、33H *T_F: MOV R1,#03H LCALL BCD_T ;乘8 MOV A,36H ANL A,#0F0H SWAP A MOV 36H,A MOV A,37H ANL A,#0FH SWAP A ORL A,36H MOV 36H,A MOV A,37H ANL A,#0F0H SWAP A MOV 37H,A ;实现除以10,即完成*0.8 MOV A,30H ADD A,36H DA A MOV 32H,A MOV A,31H ADDC A,37H DA A MOV 33H,A ;实现再加原数,即完成*95 MOV A,32H ADD A,#20H DA A MOV 32H,A MOV A,33H ADDC A,#03H DA A MOV 33H,A ;实现再加32,完成转换 RET;摄氏转开氏:入口30H、31H, 出口34H、35H *T_K: MOV A,30H ADD A,#31H DA A MOV 34H,A MOV A,31H ADDC A,#27H DA A MOV 35H,A RET;超过量程报警程序*WARNING: MOV A,31H CLR C SUBB A,#05H JNC N4 ;超过50度报警 CLR P2.4 JMP QUIT1N4: SETB P2.4QUIT1:RET;显示程序:*DISPLAY: PUSH PSW SETB PSW.4 ;选择三号工作组 SETB PSW.3 MOV R6,#02HSTT: MOV R7,#0FFHST: MOV R1,#2 MOV R2,#B MOV A,22H CJNE A,#00H,W0 MOV R0,#30H ;显示摄氏 SETB P2.0 CLR P2.1 CLR P2.2 JMP LP2W0: CJNE A,#01H,W1 MOV R0,#32H ;显示华氏 CLR P2.0 SETB P2.1 CLR P2.2 JMP LP2W1: MOV R0,#34H ;显示开氏 CLR P2.0 CLR P2.1 SETB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省南京联合体【栖霞、江宁、雨花】重点达标名校2025年初三中考一模试卷化学试题含解析
- 湖南省长沙市浏阳市2025届数学三下期末综合测试模拟试题含解析
- 宁夏葡萄酒与防沙治沙职业技术学院《大学英语Ⅱ(听力)》2023-2024学年第二学期期末试卷
- 武汉纺织大学外经贸学院《新药研究与开发A》2023-2024学年第一学期期末试卷
- 辽宁省沈阳市铁西区达标名校2025年下学期初三生物试题中考仿真模拟考试试卷(四)含解析
- 内蒙古医科大学《智能制造系统架构》2023-2024学年第二学期期末试卷
- 延安大学《木版画术科技能教学》2023-2024学年第二学期期末试卷
- 湛江幼儿师范专科学校《口腔临床医学概论(口腔修复学)》2023-2024学年第一学期期末试卷
- 四川铁道职业学院《钢筋混凝土与砌体结构设计》2023-2024学年第二学期期末试卷
- 茅台学院《英国维多利亚文学》2023-2024学年第二学期期末试卷
- 参展商服务手册
- 随机过程-华东师范大学中国大学mooc课后章节答案期末考试题库2023年
- 《寿险的功能与意义》课件
- 公共危机管理(本)-第五次形成性考核-国开(BJ)-参考资料
- DB15-T 3738-2024 家政服务机构星级划分及评定规范
- 实验室危险化学品安全管理
- 新疆乌鲁木齐市(2024年-2025年小学六年级语文)部编版期末考试(上学期)试卷及答案
- 初中数学新课程标准(2024年版)
- UL9540A标准中文版-2019储能系统UL中文版标准
- 计算机网络技术基础(微课版)(周舸第6版) 各章课后习题
- GB/T 36547-2024电化学储能电站接入电网技术规定
评论
0/150
提交评论