基于单片机的定时器设计(共23页).doc

上传人:飞****2 文档编号:14329031 上传时间:2022-05-04 格式:DOC 页数:23 大小:664.50KB
返回 下载 相关 举报
基于单片机的定时器设计(共23页).doc_第1页
第1页 / 共23页
基于单片机的定时器设计(共23页).doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《基于单片机的定时器设计(共23页).doc》由会员分享,可在线阅读,更多相关《基于单片机的定时器设计(共23页).doc(23页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上基于单片机的定时器设计摘要:生活处处都有单片机,家里的所有电器只要是智能控制的都是单片机控制、现在智能手机中arm处理器也是一种高级单片机。 本文是对实时控制中的,实时显示这一功能进行进一步的研究。实时控制系统,相对于其他的控制系统,最重要的一点就是实时。文中的实时,指的是对时间的显示。时间的显示包括对时、分的显示。这些时间的显示,可以按照自己的需求进行进一步的设定。 这个实时系统,可以是通过串口接收的上位机,接收上位机中的信号,根据需求来进行时间的显示,帮助系统实现实时的效果。同时,它可进行时间的独立显示。 利用STC89C51RC单片机作为本系统的中控模块。上电后

2、,按下功能键进入调时状态,通过各单元电路将按键部分设定的时间通过定时时间显示部分中的LED数码管显示出来。中途可重新设置定时数值,复位部分除上电初实现复位外,也可人工复位。关键词:实时;单片机;数码管;按键复位。Based on single chip microcomputer timer design Abstract:Life is a single chip, all appliances at home as long as the intelligent control is now SCM control Intelligent mobile phone ARM processo

3、r is a kind of advanced single chip microcomputer. This article is in real-time control, real-time display this function for further studies. Real-time control system, relative to other control system, the most important thing is that in real time. In this paper, the real-time, refers to the display

4、 of time. The display includes pair, the display of the time. The display of the time, can according to your needs further. The real-time system, can be via a serial port to receive the upper machine, receiving signals in the PC, according to the demand for time display, help system to realize real

5、time effect. At the same time, it can be independent of time. Using 89C51 microcontroller as the system control module. After power on, press the function key to transfer state, through each unit circuit timing LED digital display part of the display through the key part of the set time. You may re

6、set the timer values, reset parts in addition to power up reset, the buttons can be reset at any time. Key Words : microcontrolle;digital tube;The Key to return.专心-专注-专业 目 录2 5 1 引言我们在日常生活中,经常碰到一些需要定时的事情,例如:印相或放大照片,需要定在零点几秒的时间,洗衣机洗涤衣物需要定在几分钟到几十分钟的时间,电风扇需要定在数十分钟的时间。完成这种定时的定时器有多种多样,在家用电器中采用机械定时器就是根据一般

7、上弦钟表原理设计的,这种定时器虽然结构简单,成本低,维修也比较方便,但是它的触头频繁接触和断开,大大的缩减了它的使用寿命,也不利于进一步全自动化。在电子技术突飞猛进的今天,电子定时器一定会逐步取而代之,这是不言而喻的。本文就是基于51系列单片机设计的定时器的设计方案。1.1课题的来源和意义本课题是通过导师筛选提出的,电子设计课题不一定很大,只要通过亲手做一遍全过程,完成一个产品制作,收获是很大的。本课题的意义在于通过设计和制作本课题把在学校学习到的知识融会贯通并应用到实际当中。做到学有所成,学有所用。1.2定时器的应用定时器在家用电器中经常用于延时自动关机、定时。延时自动关机可用于:收音机、电

8、视机、录音机、催眠器、门灯、路灯、汽车头灯、转弯灯以及其他电器的延时断电及延时自停电源等。定时可用于:照相定时曝光、定时闪光、定时放大、定时调速、定时烘箱、冰箱门开定时报警、水位定时报警、延时催眠器、延时电铃、延时电子锁、触摸定时开关等。例如:空调中的定时器,在工作一段时间之后便能自动切断电源停止工作。夏季夜间使用,入睡前先顶好时间,等睡熟后到了预定时间,空调自动关机。方便节能。定时器除了应用于家用电器外,还广泛地用于工业农业生产和服务设施,甚至军事等。1.3电子定时器的发展前景传统的定时器绝大多数都是发条驱动式、电机传动式或电钟式等机械定时器,部分电子器械中也有试用时间继电器的。相对于传统的

9、定时器,电子定时器的体积小、重量轻、造价低、精度高、寿命长、而且安全可靠、调整方便、适于频繁使用。所以电子定时器的发展必定大有前途。同时随着现代电子技术的发展,电子定时器也在不断的进步,朝向着更多用途、更高精度、更小体积发展着。例如:一个可编程电子定时器,它可以设置20组开、关电源设置,可以当时钟使用,还也可以按星期组合让它在一周内的任意一天或几天按设置程序工作。而且它只有长12.5cm宽5.5cm厚5cm大小。且它的功耗特别小只有3W。可以说是小巧玲珑,节能省电。1.4 确定设计方案综上所述,此次的设计方案选定为: 以单片机STC89C51RC为主控制器,采用单片机内部定时、键盘和动态LED

10、显示数码管设计定时器。 2 51单片机内部结构及计数原理 2.1 51单片机内部机构51单片机内部有一个8位的CPU,同时CPU内部包含了运算器,控制器及若干寄存器如图(图1)所示。 图1 CPU内部结构图2.2计数原理STC单片机内部设有两个16位的可编程定时器/计数器。可编程的意思是指其功能(如工作方式、定时时间、量程、启动方式等)均可由指令来确定和改变。在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。 从上面定时器/计数器的结构图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和

11、TL1构成。其访问地址依次为8AH-8DH。每个寄存器均可单独访问。这些寄存器是用于存放定时或计数初值的。此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0、T1的溢出和中断标志。当定时器工作在计数方式时,外部事件通过引脚T0(P3.4)和T1(P3.5)输入。 定时器/计数器方式寄存器TMOD: 定时器方式控制寄存器TMOD在特殊功能寄存器中,字节地址为89H,无位地址。TMOD的格式如下图(图2)

12、所示。 图2 TMOD格式图由图可见,TMOD的高4位用于T1,低4使用于T0,4种符号的含义如下:GATE:门控制位。GATE和软件控制位TR、外部引脚信号INT的状态,共同控制定时器计数器的打开或关闭。TCON的作用是控制定时器的启、停,标志定时器溢出和中断情况。TCON的格式如下图(图3)所示。其中,TFl,TRl,TF0和TR0位用于定时器计数器;IEl,ITl,IE0和IT0位用于中断系统。 图3 TCON格式图各位定义如下:TF1:定时器1溢出标志位。当字时器1计满溢出时,由硬件使TF1置“1”,并且申请中断。进入中断服务程序后,由硬件自动清“0”,在查询方式下用软件清“0”。TR

13、1:定时器1运行控制位。由软件清“0”关闭定时器1。当GATE=1,且INT1为高电平时,TR1置“1”启动定时器1;当GATE=0,TR1置“1”启动定时器1。TF0:定时器0溢出标志。其功能及操作情况同TF1。TR0:定时器0运行控制位。其功能及操作情况同TR1。IE1:外部中断1请求标志。IT1:外部中断1触发方式选择位。IE0:外部中断0请求标志。IT0:外部中断0触发方式选择位。TCON中低4位与中断有关,我们将在下节课讲中断时再给予讲解。由于TCON是可以位寻址的,因而如果只清溢出或启动定时器工作,可以用位操作命令。例如:执行“CLR TF0”后则清定时器0的溢出;执行“SETB

14、TR1”后可启动定时器1开始工作(当然前面还要设置方式定)。3 系统硬件配件设计3.1 芯片的选择硬件电路要实现对交流大电流电源的控制、定时时间的设定显示和到点提醒等功能。若采用40脚的单片机有利于设计,但会增大电路板的体积。本设计采用的STC89C52RCC89系列单片机是深圳宏晶科技公司推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统8051单片机。STC89系列单片机具有ISP(在系统中可编程)动能和IAP(在应用可编程)功能,无需购买专用编辑器,可以通过串行口直接下载用户程序,性价比比较高如下图(图4)所示。 图4 STC89C51RC单片机STC89C51RC是一个

15、有40个引脚的芯片,引脚如下图(图5)所示。 图5 STC89C51RC引脚图3.2 交流控制接口电路交流接口电路可以选择继电器控制,也可采用可控硅控制等。本设计采用的是前一种继电器控制。3.3显示电路显示电路采用4个共阳极LED数码管。为了在定时达到分(钟)的时候能显示出时钟在计时,两个数码管之间增加一个发光二极管,以其闪烁来代表秒走动;为了使硬件电路简单,采用单片机直接驱动LED数码管(AT89C2051输出口能吸收20mA电流),用动态扫描法实现LED显示。3.4 继电器继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际

16、上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。它的主要技术参数分为以下几点:1、额定工作电压额定工作电压是指继电器正常工作时线圈所需要的电压。根据继电器的型号不同,可以是交流电压,也可以是直流电压。2、直流电阻直流电阻是指继电器中线圈的直流电阻,可以通过万能表测量。3、吸合电流吸合电流是指继电器能够产生吸合动作的最小电流。在正常使用时,给定的电流必须略大于吸合电流,这样继电器才能稳定地工作。而对于线圈所加的工作电压,一般不要超过额定工作电压的1.5倍,否则会产生较大的电流而把线圈烧毁。4、释放电流释放电流是指继电器产生释放动作的最大电流。当

17、继电器吸合状态的电流减小到一定程度时,继电器就会恢复到未通电的释放状态。这时的电流远远小于吸合电流。 5、触点切换电压和电流触点切换电压和电流是指继电器允许加载的电压和电流。它决定了继电器能控制电压和电流的大小,使用时不能超过此值,否则很容易损坏继电器的触点。3.5数码管数码管是一种半导体发光器件,其基本单元是发光二极管如下图(图6)所示。图6 数码管数码管分类:数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管。按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。 共阳数码管是指将所

18、有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。驱动方式:数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱

19、动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独

20、立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。4 硬件

21、电路设计4.1 中断电路 中断电路主要用于当按键按下之后8输入与非门74HC30的输出端输出高电平,经非门电路74LS04倒相后,按键按下时输出为低电平,该低电平信号接单片机的外部中断信号输入端(即P3.2引脚),74HC30引.脚1,2,3,4,5,6,11,12是与非门的输入脚, 8脚是与非门的输出脚. 7脚是GND, 14脚是VCC. 9,10,13未连为N/C如下图(图)所示: 图7 中断电路图4.2继电器开关电路通过如下图(图8)的连接方式,可以提高驱动负载的能力,并且利用三极管截至和饱和导通的性质可以很方便的用于单片机控制。 图8 继电器开关电路4.3时钟电路时钟电路用于产生单片机

22、工作所需要的时钟信号。芯片引脚XTAL1为输入端,引脚XTAL2为输出端,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容,形成反馈电路,构成了一个稳定的自激振荡器。电路中的电容C2和C3一般取30pF左右,而晶体的振荡频率范围通常是1.2MHz12MHz,晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。但反过来运行速度快对存储器的速度要求就高,对印刷电路板的工艺要求也高(线间寄生电容要小)。由于一个机器周期共有12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。当振荡脉冲频率为12MHz时,一个机器周期为1us,当振荡脉冲频率为6MHz时,一个机器周期为2us。时钟电路如下

23、图(图9)所示: 图9 时钟电路4.4复位电路 复位电路的复位信号为高电平有效,其有效时间应持续24个振荡脉冲周期(即2个机器周期)以上。电阻R1与电容C1构成RC电路,电容C1充放电。当5V电压加上的瞬间,电容C1为正极朝上的电解电容。此刻C短路,因为电容C1不能突变,所以点A此刻也为5V,而后电压送到RST上,随着时间推移,C1充电至5V,此刻电容C1相当于断路,点A电压为0V,RST端低电平无效。复位电路如下图(图10)所示: 图10 复位电路5 软件设计5.1 实现功能程序开始首先对按键变量和小时、分钟变量进行定义,对共阴极数码管的段码(字型码)以一维数组方式定义。另外对延时函数、定时

24、器初始化子函数、求按键子函数、按键处理子函数、计时子函数、显示子函数进行声明(如图11所示)。在定时器T0、T1初始化和外部中断0()子函数中,规定定时器T0、T1的工作模式为方式1,定时时间为50ms。外部中断0采用下降沿触发方式。定时器工作在中断方式,即定时时间到,立即停止执行主函数,转而去执行中断服务函数(如图12、13、14所示)。在显示子函数中,上电复位后4位数码管显示“- - - -”。其中包括走时转换函数,负责将定时器走时数据转换为分钟的十位和个位,超过60分钟的数据再转换为小时的十位和个位。在计时子函数中,设置每50ms中断1次,秒计数器中计数值为200时,时间为1分钟。分钟计

25、数器计数值为60时,时间为1小时预约时间到,单片机P3.6引脚输出低电平,驱动三极管饱和导通,继电器的线圈中有电流经过,从而产生吸合动作,接通电源,用电器开始工作。 图11 主函数图 图12 定时器T0中断服务函数 图13 外部中断T1中断服务函数 图14 外部中断0中断服务函数 结 论本文在回顾电子定时器发展历程的基础上,首先阐述了电子定时器的基本原理,进而详细介绍了和电子定时器相关的各种专业名词和术语。硬件选型方面选用ATMEL公司的STC89C51RC单片机作为核心,用LED数码管显示和继电器作为电源输出控制。论文的软件部分给出了系统运行的流程图和程序。由于能力和知识水平的限制,设计中存

26、在着不足。如硬件选择和连接可能有不合理,定时器中未能有电子表功能等人性化部分,以后还需改进。从这次毕业论文设计中,无论对于单片机还是定时器,都进一步清晰了设计概念、学习了专业理论、掌握了芯片知识,而且还增长了实践经验,提高了认知水平,促进了自学能力。从诸多方面获得了很大的收益。 参考文献 1张志利. FPGA的单片机多机串行通信网络J. 单片机与嵌入式系统应用, 20092姚晓光. 基于GPRS的单片机固件升级系统设计J. 单片机与嵌入式系统应用, 2010 3李辉,宁祎,邓遵义. SPCE061A单片机程序存储器的扩展技术J. 机电产品开发与创新, 2008 4向鹏,李绣峰,杜遥雪. 分布式

27、全电动注塑机控制系统J. 机械与电子, 20075李俊,王金海. 基于TFTP协议的ARM软件远程更新系统J. 工矿自动化, 20106朱飞龙,杨鸣. 基于IAP功能单片机的远程更新系统设计J. 机电工程, 2010 7李广弟等.单片机基础M.航天出版社,20018等.M.,20099陈海宴.51M.,201010刘守义等.单片机技术基础M.,200711钟富昭等.80典型与应用M.,2007 致 谢大学生活一晃而过,回首走过的岁月,心中倍感充实,当我写完这篇毕业论文的时候,有一种如释重负的感觉,感慨良多。首先诚挚的感谢我的论文指导老师李学明老师。他在忙碌的教学工作中挤出时间来审查、修改我的论

28、文。还有教过我的所有老师们,你们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他们循循善诱的教导和不拘一格的思路给予我无尽的启迪。感谢三年中陪伴在我身边的同学、朋友,感谢他们为我提出的有益的建议和意见,有了他们的支持、鼓励和帮助,我才能充实的度过了三年的学习生活。由于专业水平有限,论文难免有不足、错误之处,恳请广大老师。同学批评指正! 附录1:程序#include #define uchar unsigned char #define uint unsigned int sbit KEYON =P20; / 开始键 sbit KEYOFF=P21; / 关闭键 sbit KEYSET=P

29、22; / 预约键sbit KEYINC=P23; /加1键 sbit KEYDEC=P24; / 减1键 sbit KEYFREE=P25; /预留键sbit POWER=P36; /电源开关指示灯 sbit LED=P33 ; /按键指示灯uchar code dispcode=0x3f,0x06,0x05b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40; /0-9的字型码uchar data disbuf=0,0,0,0; /显示缓冲区uchar hour,min ; /小时、分变量bit Onflag,flag;uchar Setflag;void d

30、elay(uchar); /延时子函数void init(void); /定时器初始化子函数uchar GetKeyNum(); /求按键号void Keyprocess(uchar); /按键处理子函数void calculate(); /计时子函数void display(); /显示子函数 /-主函数-void main(void) init(); P1=0x00; while(1) display(); /-定时器TO、T1初始化,外部中断0初始化子函数-void init() TMOD=0x11; /TO、T1作定时器、工作方式1 TH0=(65536-50000)/256 ; /定

31、时50ms TL0=(65536-50000)%256; TH1=(65536-50000)/256; TL1=(65536-50000)%256; IT0=1; /选择外部中断0为下降沿触发方式 EX0=1; /开外部中断0 ET1=1; /开定时器1 ET0=1; /开定时器0 EA =1; /开总中断 TR0=1; /-显示子函数-void display() uchar i,j=0x08; if(Setflag=0)&!(min|hour) /数码管显示“- - - -” for(i=0;i4;i+) disbufi=dispcode10;else / 正常显示时间 disbuf0 =

32、 dispcodemin%10; /分个位 disbuf1 = dispcodemin/10; /分十位 disbuf2 = dispcodehour%10+0x80; /小时个位 disbuf3 = dispcodehour/10; /小时十位if(Setflag!=0)&flag) /如果调时,数码管闪烁显示 for(i=0;i2) /不显示前面的0 P0=0; else P0=disbufi; if(Setflag=1) P1=j&0xfc; /调时,关断前两位位码 else P1=j & 0xf3; /调分,关断后两位位码 delay(5); /延时2.5ms P1=0x00; j=j

33、1;else /数码管正常显示 for(i=0;i2) P0=0; /不显示前面的0 else P0=disbufi; P1=j; /位选通 delay(5); /延时2.5ms P1=0X00; j=j1; /-外部中断0中断函数- void int0()interrupt 0 using 0 uchar keynum; display(); /动态显示程序作为去抖动 if(INT0=0) /判断是否有按键按下 keynum=GetKeyNum(); /有效键,获取键值 while(INT0=0); /等待按键释放 Keyprocess(keynum); /按键处理 /-定时器0中断子函数-

34、 void time0() interrupt 1 /处理调时、显示器闪烁 static uchar ledcnt,num; /设置静态变量 TH0=(65536-50000)/256; /定时50ms TL0=(65536-50000)%256; if(Onflag & (hour | min)!=0) |! Onflag) /指示灯每隔0.5s闪烁 ledcnt+; if(ledcnt=10) / 10 X 50mS=0.5S ledcnt=0; LED=LED; if(Setflag!=0) /调时闪烁 num+;if(num=5) num=0; flag=flag;/-定时器1中断子函

35、数-void time1() interrupt 3 TH1=(65536-50000)/256; TL1=(65536-50000)%256;calculate(); /计时/-求按键号-uchar GetKeyNum()uchar temp;if(KEYON=0) temp=1;if(KEYOFF=0) temp=2;if(KEYSET=0) temp=3;if(KEYINC=0) temp=4;if(KEYDEC=0) temp=5;if(KEYFREE=0) temp=6;return(temp);/-按键处理函数-void Keyprocess (uchar x)switch(x)c

36、ase 1: /KEYON处理函数 Onflag=1; /开Onflag标志 Setflag=0; /关(Setflag)调时标志if(!Setflag)&!(hour | min) /没有调时且未处于预约,继电器通POWER=0;LED=0;elseTR1=1; /定时器1运行、执行计时程序break;case 2 : /KEYOFF,关处理,标志清0Onflag=0;Setflag=0;hour=0;min=0;POWER=1;LED=1;break;case 3: /预约调时/调分键,处理调时标志if(Onflag=0) Setflag+;if(Setflag=3) Setflag=1;break;case 4: /加1键if(Setflag=1) /调时键,最大只能调到11hour+;if(hour=12)hour=0;if(Setflag=2) /调分键,最大只能调到59min+;if(min=60)min=0;break;case 5: /减1键if(Setflag=1) /调时键,减小时处理,最小0hour- ; if(hour=-1)hour=12;if(Setflag=2) /调分键,减分处理,最小0min-; if(min=-1)min=59;break; /-计算时间- void

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com