免费预览已结束,剩余36页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STC芯片的模拟路灯控制系统摘要:本文介绍了一个模拟路灯控制系统的解决方案。本方案以宏晶公司的MCU芯片STC12C5410AD为核心,加以简单的外围电路,实现了模拟路灯控制系统所要求的全部技术内容。STC单片机在最近几年应用越来越广泛,其可靠性、抗干扰能力和温度稳定性强,性价比高。这是一个低成本的路灯控制解决方案,除了选用廉价的单片机芯片,还采用了廉价的红外对射传感器,大大降低了系统成本。整个系统的电路简单,结构紧凑,经过多次测试,证实该系统能长时间稳定工作,满足设计指标要求。关键词:模拟控制、LED照明、单片机41AbstractThis paper presents a simulation of the control system of street solution. This plan to macro crystal company MCU, STC12C5410AD as the core, to chip the periphery of the simple circuit, realize the simulation street lamp control system all of the requested technology content. STC SCM in recent years more and more wide application, the reliability and anti-interference ability and temperature stability strong, cost-effective. This is a low cost control solutions, in addition to street choose cheap single-chip microcomputer chip, also adopted the cheap infrared DuiShe sensor, and greatly reduce the cost of system. The whole system of the circuit is simple, compact structure. After DuoCi test, and confirm that the system can work stably for a long time, meet the design requirement index.Keywords: simulation control, LED lighting and single-chip microcomputer目 录基于STC芯片的模拟路灯控制系统11. 系统设计31.1 设计要求31.2 总体设计方案41.2.1 功能分解及设计思路41.2.2 方案论证与比较41.2.3 系统各模块的最终方案71.3 系统功能说明书(用户使用说明书)71.3.1 路灯的工作模式71.3.2 按键操作说明82. 单元电路设计92.1 每部分模块的电路设计92.1.1 电源供电电路92.1.2 单片机最小系统92.1.3 输入与输出92.1.4 电流源驱动及电流检测102.1.5 光电检测电路113. 软件设计123.1 -子程序123.2 -系统主程序流程图133.2.1 系统流程图133.2.2定时器溢出中断处理函数流程图143.2.3按键扫描流程图154. 系统测试164.1 测试仪器164.2 指标测试164.2.1各部分测试的指标164.2.2 系统实现的功能165. 结论19附录21附录 1 程序代码21附录 2 硬件原理图63附录 3 PCB图(部分)651. 系统设计1.1 设计要求一、任务(来自原题)设计并制作一套模拟路灯控制系统。控制系统结构如图1所示,路灯布置如图2所示。图1 路灯控制系统示意图图2 路灯布置示意图(单位:cm)二、设计要求1基本要求(1)支路控制器有时钟功能,能设定、显示开关灯时间,并控制整条支路按时开灯和关灯。(2)支路控制器应能根据环境明暗变化,自动开灯和关灯。(3)支路控制器应能根据交通情况自动调节亮灯状态:当可移动物体M(在物体前端标出定位点,由定位点确定物体位置)由左至右到达S点时(见图2),灯1亮;当物体M到达B点时,灯1灭,灯2亮;若物体M由右至左移动时,则亮灯次序与上相反。(4)支路控制器能分别独立控制每只路灯的开灯和关灯时间。(5)当路灯出现故障时(灯不亮),支路控制器应发出声光报警信号,并显示有故障路灯的地址编号。2发挥部分(1)自制单元控制器中的LED灯恒流驱动电源。(2)单元控制器具有调光功能,路灯驱动电源输出功率能在规定时间按设定要求自动减小,该功率应能在20%100%范围内设定并调节,调节误差2%。(3)性价比高,工作稳定,符合电磁兼容(EMC)方面的要求,无对外干扰或干扰小。1.2 总体设计方案1.2.1 功能分解及设计思路本模拟路灯控制系统的设计方案要实现的主要功能主要分解为以下五个方面:一是时钟功能及定时开关灯。二是根据环境明暗变化,自动开灯和关灯。三是根据交通情况自动调节亮灯状态:当汽车靠近路灯时,路灯能自动点亮;当汽车远离时,路灯自动熄灭。四声光报警功能,当路灯出现故障时而不亮时,控制器发出信号,并显示有故障路灯的地址编号。五是根据绿色节能照明要求,采用恒流源驱动LED路灯发亮且能调光,路灯驱动电源输出功率能在20%100%范围内设定并调节,调节误差2%。以上功能的实现,都是以单片机为核心,在单片机系统实现的输入输出和显示功能的基础上,由单片机的内置逻辑和运算功能,加上一定的外围电路得以实现。针对以上的五个功能,采用模块化的设计思想,以下分别叙述之。1.2.2 方案论证与比较1.2.2.1 时钟功能及定时开关机。方案一:采用专用时钟芯片。 现在流行的串行时钟电路很多,如DS1302、 DS1307、PCF8485等。其优势是可以单独使用,直接连接到单片机外围,有自己独立的时钟晶振,精度较高。单片机通过串行接口读取和写入当前的时钟值,时钟芯片的运行受单片机死机的影响少。其缺点一是消耗了单片机IO口资源。二是在编程时需要增加读写串行口的内容,消耗了单片机的运行时间。三是增加了成本。增加了时钟芯片及其外围电路的开支。DS1302的典型应用电路如图3所示:图3 DS1302的典型应用电路方案二:采用单片机内置时钟振荡电路及定时器构建时间平台。本方案直接利用单片机的内置定时器,通过定时器的中断和简单运算实现时钟功能。例如: STC单片机,在4M时钟时,单个指令的运行时间是1微秒,设置定时器1每125个指令周期产生一个中断,即125微秒,8个中断后,时间平台是1毫秒,设置以下时间计数变量分别为:uchar To1mS = 0x00; /当该变量增加到某个数值时,表示经过了1毫秒uchar To2mS = 0x00; /当该变量增加到某个数值时,表示经过了2毫秒uchar Is2mS = 0; /到达2毫秒时刻uchar To20mS = 0x00; /当该变量增加到某个数值时,表示经过了20毫秒uchar Is20mS = 0; /到达20毫秒时刻uchar To1S = 0x00; /当该变量增加到某个数值时,表示经过了1秒uchar Is1S = 0; /到达1秒时刻在秒时间平台,用ToMIN变量,计数60秒后进入分钟平台,计数60分钟后,进入小时平台。方案二没有增加外置电路,充分利用了单片机的定时器功能,实施简洁方便,主要的缺点是当控制系统断电或死机以后,需要人工重新定时。本系统的时钟功能实现采用方案二。1.2.2.2 根据环境明暗变化,自动开灯和关灯功能。方案一:采用比较器的解决方案。光敏电阻与固定电阻串联,加一级电压跟随器后输入比较器,与比较器负输入端的电压值进行比较,得到一个高电平或低电平输出,进入单片机的IO口。优点是电路比较直观,操作比较方便,可直接通过电位器调节路灯的开启亮度。对维护人员的要求不高。缺点是不方便进行数码控制。方案二:采用AD变换。光敏电阻与固定电阻串联,由单片机内置的AD变换接口读入当前的电压值,然后根据读取的电压值判断当前的环境亮度。路灯的开启电平由内部的变量控制。方案二的优点在于可以方便以实现对路灯开启电平的数码控制和远程控制。本系统采用方案二。1.2.2.3 根据交通情况自动调节亮灯状态。当汽车靠近路灯时,路灯能自动点亮;当汽车远离时,路灯自动熄灭。方案一:采用工业级的光电传感器。这种光电传感器普遍运用于电梯、生产线等工业场所。优点是使用方便,型号很多,输出量是开关量,不需调理电路。缺点是价格较贵。方案二:采用廉价的红外对射传感器。红外对射的特点是传输距离较远,能量集中。当没有物体遮挡时,红外光直射到红外探头上,红外接收管连续输出低电平到单片机,当有物体经过时,红外光被遮住,此时红外探头输出高电平到单片机。由于红外光的发射有一定的偏角,本设计利用了黑色套管遮挡红外发射灯头,以减少红外光的散失。本系统采用方案二。1.2.2.4 故障报警功能采用光敏电阻检测路灯的亮度,同时排除环境光的干扰。利用单片机的AD口,读入光敏电阻上检测到的路灯亮度值。1.2.2.5 恒流源驱动LED及20到100范围内可调亮度。方案一:采用恒流源驱动芯片,目前市场上成品的恒流源驱动芯片比较多,一般采用使用取样电阻调节输出电流的方式。这些芯片使用方便,性能较好,但价格较贵。方案二:采用PWM方式驱动功率三极管输出驱动电流,用电流取样电阻串入LED供电回路,用AD口读取当前的电流值,实现闭环控制。方案二利用了单片机的AD变换资源,同时采用PWM方式,可以使LED工作在断断续续的状态,可以延长LED的使用寿命。本系统采用方案二。1.2.3 系统各模块的最终方案 1.3 系统功能说明书(用户使用说明书)1.3.1 路灯的工作模式本模拟路灯控制系统具备5种工作模式,分别是自动群控模式、自动分控模式、根据照度自动控制模式、根据交通情况自动控制模式、手动控制模式,下面对每种工作模式简单介绍如下:(1) 自动群控模式在该模式下,支路控制器根据设定好的定时信息,自动地同时打开或者关闭两盏路灯。系统启动后默认进入该模式。(2) 自动分控模式在该模式下,支路控制器根据设定好的定时信息,分别控制两盏路灯的开关,例如,当系统的时间和路灯1开灯的时间相等时,开启路灯1;当系统的时间和路灯2关灯的时间相等时开启路灯2。(3) 根据照度自动控制模式在该模式下,当环境照度低于一定的值时开启两盏路灯,当环境照度高于一定的值时关闭两盏路灯。(4) 根据交通情况自动控制模式在该模式下,当可移动物体M由左到右到达S点时(见图),灯1亮;当物体M到达B点时,灯1灭,灯2亮;若物体M由右到左移动时,则亮灯的次序与上相反。(5) 手动控制模式在手动模式时,两盏路灯只能由支路控制器用增加和减少键手动的调整亮度,路灯的亮度可以在0100自由的上下调整,步进为10。(1)(4)等四种工作模式是互斥的,即在某一时刻只能具有其中的一种功能,不过各种模式可以手动的切换,手动调整路灯亮度的功能在这四种模式中都是有效的。另外,该路灯控制系统还具备故障检测功能,当路灯出现无法正常工作的状况时,该控制系统能够判定是哪一环节出现问题,并将故障通过声音警报及数码管显示告知用户。1.3.2 按键操作说明n 支路控制器具备5个按键,分别为时间调整键、模式选择键、增加键、减少键、确认键。n 时间调整键:按时间调整键时,可以循环地选择系统时间、路灯1和2共同的开关灯时间、路灯1的开关灯时间和路灯2的开关灯时间。n 模式选择键:按模式选择键可以进行系统工作模式的切换,顺序为自动群控模式自动分控模式根据照度自动控制模式根据交通情况自动控制模式手动控制模式。nn 增加、减少键:按这两个键可以对时间或者亮度进行增减,长按时时间或者亮度可以连续变换。l 确认键:确认键只在时间调整时有效,分别确认小时、分钟、秒的输入。2. 单元电路设计2.1 每部分模块的电路设计2.1.1 电源供电电路采用变压器与三端稳压器相结合2.1.2 单片机最小系统其核心芯片是STC12C5404AD。2.1.3 输入与输出键盘:采用AD变换输入口为键盘输入口,节省了IO口资源。LED显示:2.1.4 电流源驱动3. 软件设计软件采用C语言编写,可移植性和可读性强。软件编写体现了模块化的任务驱动方式。代码尽量符合变量定义规范。3.1 -子程序本系统包含以下子程序/键盘处理-void KeyboardScan(void);/键盘扫描函数void KeyboardOperate(uchar KeyNum);/按键处理函数/定时器处理-void InitTimer(void);/定时器参数设定及启动/路灯控制-void BrightnessSet(uchar LightNum, uchar Brightness);/亮度调整/AD采样-void ADExchange(uchar Num);/AD采样/* 亮度调整函数 */void BrightnessSet(uchar LightNum, uchar Brightness);/* 溢出中断处理程序 */ void interrupt 6 TimerInterrupt(void);3.2 -系统主程序流程图3.2.1 系统流程图3.2.2定时器溢出中断处理函数流程图3.2.3按键扫描流程图4. 系统测试4.1 测试仪器流明计数字示波器功率计万用表直流电源等4.2 指标测试4.2.1 各部分测试的指标功率测试设置功率/W路灯两端电压/V路灯电流/A实际功率/W误差/%0.25.580.0360.2010.40.35.710.0530.3030.90.45.810.0680.3951.20.55.910.0840.4960.70.66.020.1010.6081.30.76.060.1150.6970.40.86.090.1320.8040.50.96.120.1470.9000.016.170.1631.0060.6功能测试序号指标(目标值)实测值1故障指示(编号)LCD上显示正确2过中点后前灯亮后灯灭,试验成功率(100)1003自动开关灯功能,试验成功率1004实时误差,采用时间加速方法(误差小于5MIN)误差1MIN5单元控制器具有调光功能,路灯驱动电源输出功率能在规定时间按设定要求自动减小,该功率应能在20%100%范围内设定并调节,调节误差2%。电流从0mA至850mAm变化平缓稳定4.2.2 系统实现的功能1基本要求序号功能是否实现1支路控制器有时钟功能,能设定、显示开关灯时间,并控制整条支路按时开灯和关灯。是2支路控制器应能根据环境明暗变化,自动开灯和关灯。是3支路控制器应能根据交通情况自动调节亮灯状态:当可移动物体M(在物体前端标出定位点,由定位点确定物体位置)由左至右到达S点时(见图2),灯1亮;当物体M到达B点时,灯1灭,灯2亮;若物体M由右至左移动时,则亮灯次序与上相反。是4支路控制器能分别独立控制每只路灯的开灯和关灯时间。是5当路灯出现故障时(灯不亮),支路控制器应发出声光报警信号,并显示有故障路灯的地址编号。是2发挥部分序号功能是否实现1自制单元控制器中的LED灯恒流驱动电源是2单元控制器具有调光功能,路灯驱动电源输出功率能在规定时间按设定要求自动减小,该功率应能在20%100%范围内设定并调节,调节误差2%。是3特色功能序号功能是否实现1自制微型红外光发射与光敏电阻组合替代工业光电传感器是2利用单片机的AD变换功能,实现用一个IO口读多个按键是3使用单片机内部的定时器代替时钟芯片,实现时钟功能和定时开关机功能是4采用PWM与电流取样方式,实现闭环的恒流源控制是5. 结论本方案的系统设计符合本次试题的要求,经过功率扩大、电网通讯等方面的改良,可以用于实际路灯控制,是一个低成本,高可靠性的合理方案。参考文献1 阎石. 数字电子技术基础(第四版). 北京: 高等教育出版社,1997年.2 郑学坚,周斌. 微型计算机原理及应用(第三版). 北京: 清华大学出版社,2000年.附录附录 1 程序代码/* 程序主要功能:模拟路灯控制系统 * 完成时间:2011.06.13 * 作者: */#includeSTC12C5410AD.h#include intrins.h#include #define uint unsigned int#define uchar unsigned charuchar dis=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x3e,0x77,0x40,0x00,0x76,0x71,0x37;/10_V,A,-,熄灭,H,F_15,N,/sfr ADC_RES = 0xC6; /ADC high 8-bit result register/#define ADC_POWER 0x80 /ADC power control bit#define ADC_FLAG 0x10 /ADC complete flag#define ADC_START 0x08 /ADC start control bit#define ADC_SPEEDLL 0x00 /420 clocks#define ADC_SPEEDL 0x20 /280 clocks#define ADC_SPEEDH 0x40 /140 clocks#define ADC_SPEEDHH 0x60 /70 clocks/ISP/#define ENABLE_ISP 0x83 /系统工作时钟12MHz 时,对IAP_CONTR 寄存器设置此值/sbit k1=P10;/按钮sbit k2=P11;sbit k3=P12;sbit k4=P13;sbit k5=P14;/sbit en1=P34;/373使能端 端码sbit en2=P35;/373使能端 位码/sbit feng=P37;/sbit pwm_out=P32;sbit led2=P33;/函数定义部分uchar d8;char shi=0,fen=0,miao=0,set_miao=0,pwm,set_fen=0;set_on_shi=0,set_off_shi=0,light=0,pwm_count=0;bit shijian_bit=1,pwm_bit=1,light_bit=1;uint sum2=0,shi_count=0;/void IAP_Disable();uchar Byte_Read(uchar addh,uchar addl);void Sector_Erase(uchar addh,uchar addl);void Byte_Program(uchar addh,uchar addl, uchar ch);/void InitADC();/ADC转换初始化uchar GetADCResult(uchar ch);/取ADC转换初值uint get_adc(uchar ch);/取ADC转换数据10位void delay(uint i);void jiyi();void read_jiyi();void run_shijian();/延时1MS/void delay(uint i)/延时函数uint a,b;for(a=0;ai;a+)for(b=0;b120;b+);/void display()/显示函数uchar i,s=0x01;for(i=0;i8;i+)P2=disdi;en1=1;en1=0;P2=s;en2=1;en2=0;delay(7);P2=0xff;en2=1;en2=0;delay(1);s=s=10) pwm_count=0;else pwm_count+;if(pwm_count=pwm) pwm_out=1;else pwm_out=0; if(shijian_bit)if(shi_count=60)miao=0;fen+; if(fen=60)fen=0;shi+;if(shi23)shi=0;if(light_bit)sum2=get_adc(5);/电压采集sum2=sum2*48/1000;if(sum25) pwm_out=1;else if(sum220) pwm=6;else if(sum235) pwm=3;else if(sum2=20)count=0;sum2=get_adc(0);/电压采集sum2=sum2*48/1000;else count+;*/*key_num=get_adc(7);/电压采集key_num=key_num*48/1000;if(key_num=0) key1=0;else key1=1;if(key_num=20) key1=0;else key1=1;if(key_num=30) key2=0;else key2=1;if(key_num=35) key3=0;else key3=1;if(key_num=38) key4=0;else key4=1;if(key_num=40) key5=0;else key5=1;*/void set_time()/设置时间while(1)shijian_bit=0;d5=12;d6=miao/10;d7=miao%10;d0=d1=d2=d3=d4=13;display();if(k4=0)while(!k4)display();speak();if(miao59)miao=miao+1;else miao=0;if(k5=0)while(!k5)display();speak();miao=miao-1;if(miao=0)miao=59;if(k1=0)while(!k1)display();speak();goto m1;m1:while(1)shijian_bit=0;d2=12;d3=fen/10;d4=fen%10;d0=d1=d5=d6=d7=13;display();if(k4=0)while(!k4)display();speak();if(fen59)fen=fen+1;else fen=0;if(k5=0)while(!k5)display();speak();fen=fen-1;if(fen=0)fen=59;if(k1=0)while(!k1)display();speak();goto m2;m2:while(1)shijian_bit=0;d0=shi/10;d1=shi%10;d2=d3=d4=d5=d6=d7=13;display();if(k4=0)while(!k4)display();speak();if(shi23)shi=shi+1;else shi=0;if(k5=0)while(!k5)display();speak();shi=shi-1;if(shi=0)shi=23;if(k1=0)while(!k1)display();speak();goto m3;m3:jiyi();shijian_bit=1;void jiyi()/存储函数Sector_Erase(0x2a,0x00);delay(10);Byte_Program(0x2a,0x01,shi);delay(10);Byte_Program(0x2a,0x02,fen);delay(10);Byte_Program(0x2a,0x03,miao);delay(10);Byte_Program(0x2a,0x04,set_on_shi);delay(10);Byte_Program(0x2a,0x05,set_off_shi);delay(10);void read_jiyi()/读出存人的值shi=Byte_Read(0x2a,0x01);delay(10);fen=Byte_Read(0x2a,0x02);delay(10);miao=Byte_Read(0x2a,0x03);delay(10);set_on_shi=Byte_Read(0x2a,0x04);delay(10);set_off_shi=Byte_Read(0x2a,0x05);delay(10);void set_on_off()/设置开关灯时间while(1)d3=0;d4=16;d5=12;d6=set_on_shi/10;d7=set_on_shi%10;d0=d1=d2=13;display();if(k4=0)while(!k4)display();speak();if(set_on_shi23)set_on_shi=set_on_shi+1;else set_on_shi=0;if(k5=0)while(!k5)display();speak();set_on_shi=set_on_shi-1;if(set_on_shi=0)set_on_shi=23;if(k2=0)while(!k2)display();speak();goto m1;m1:while(1)d2=0;d3=d4=15;d0=d1=13;d5=12;d6=set_off_shi/10;d7=set_off_shi%10;display();if(k4=0)while(!k4)display();speak();if(set_off_shi23)set_off_shi=set_off_shi+1;else set_off_shi=0;if(k5=0)while(!k5)display();speak();set_off_shi=set_off_shi-1;if(set_off_shi=set_on_shi)led2=0;if(shi=set_off_shi)led2=1;chaizi();display();goto loop;/uint get_adc(uchar ch)uint adc_r;adc_r=GetADCResult(ch)*4+ADC_LOW2;return(adc_r);/uchar GetADCResult(uchar ch) ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START; _nop_(); /Must wait before inquiry _nop_(); _nop_(); _nop_(); while (!(ADC_CONTR & ADC_FLAG);/Wait complete flag ADC_CONTR &= ADC_FLAG; /Close ADC return ADC_RES; /Return ADC result/void InitADC() P1 = P1M1 =P1M0 =0xff; /Set all P1 as Open-Drain mode ADC_RES = 0; /Clear previous result ADC_CONTR = ADC_POWER | ADC_SPEEDLL; delay(2); /ADC power-on and delay/uchar Byte_Read(uchar addh,uchar addl) IAP_DATA = 0x00; IAP_CONTR = ENABLE_ISP; /打开IAP 功能, 设置Flash 操作等待时间 IAP_CMD = 0x01; /IAP/ISP/EEPROM 字节读命令 IAP_ADDRH = addh; /设置目标单元地址的高8 位地址 IAP_ADDRL = addl; /设置目标单元地址的低8 位地址 EA = 0; IAP_TRIG = 0x46; /先送 5Ah,再送A5h 到ISP/IAP 触发寄存器,每次都需如此 IAP_TRIG = 0xb9; /送完A5h 后,ISP/IAP 命令立即被触发起动 _nop_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-2031中国配电柜市场专项调查分析及投资前景预测报告
- 2026-2031中国抛光机市场深度评估与投资方向研究报告(定制版)
- 箱变触电事故应急预案演练脚本
- 会说话的手(一)(教学设计)-2024-2025学年苏少版美术四年级上册
- 2025年电子商务师执业资格考试电子商务运营与电子支付安全题库附答案
- 2025年铁路职业技能竞赛货装值班员赛项参考试题库含答案
- 2026年施工责任保险合同
- 2025年应急培训考核业务科室试题及答案
- 2025年安全意识培训试题及答案
- 2025年辅警招聘考试试题库及参考答案
- 美国总统选举流程
- 2025年国家开放大学(电大)《生命科学导论》期末考试复习试题及答案解析
- 婚姻家庭咨询师培训试题及答案
- 空气能中央热水施工方案
- 2025年初级会计实务(政府会计)真题及答案
- 2025年云南省玉溪市辅警人员招聘考试题库及答案
- 安全生产台账的管理制度
- 2025年监理工程师继续教育机电安装考试试题及答案
- 医药代表新员工
- 医疗技术安全培训课件
- ICU获得性衰弱课件
评论
0/150
提交评论