脉冲电源系统软件设计
2017-10-19李莉
李莉
摘要:本文介绍了各个部分的软件选用及功能。脉冲电源在当今社会是一种很主流的开关电源,脉冲电源系统的软件部分主要包括两大部分功能模块,其中单片机AT89C51主要负责控制功能的实现,而AT89C52则主要作为检测芯片完成系统输出电压与电流的模数转换及脉宽和频率的测定功能。
脉冲电源在当今社会是一种很主流的开关电源,是一种技术含量高、知识面宽、更新换代快的产品,被誉为高效节能型电源。脉冲电源技术作为电源电压变换的一种基础技术,由于变换方式简单,成本低,体积重量小、容易控制 输出电压、变换方式等,因此,产生了这种电源变换技术即开关电源技术。在经济与科技高速发展的时代过程中,电源起到至关重要的作用。
脉冲电源系统的软件部分主要包括两大部分功能模块,其中单片机AT89C51主要负责控制功能的实现,例如键盘输入模块和控制脉冲产生程序。而AT89C52则主要作为检测芯片完成系统输出电压与电流的模数转换及脉宽和频率的测定功能。与此同时,不管在控制芯片或者检测芯片工作过程中,者都涉及到液晶显示功能的实现。本系统主要采用模块化的思想对系统的软件模块进行划分。主程序主要完成对各功能块的依次调用即可。下面将予以详细介绍
脉冲产生程序
本系统的整体程序主要完成脉宽频率值的设定,控制脉冲的产生,输出参数的检测和显示等功能。此程序是系统软件部分的主干,其他各个模块的子程序都在主程序的基础上发展起来,受主程序调用。系统整体程序流程见图1。系统上电后,首先进行各个参数变量的初始化工作,然后在液晶上显示系统欢迎界面“欢迎使用本系统",持续数秒延时后进入初始设定界面,在此界面用户需设定要求的输出脉宽和频率值。在等待键盘操作的同时,液晶上一直显示初始设定界面内容直到有按键被检测到为止。当“ENTER”键被按下时,说明默认参数无须修改,直接开始输出控制脉冲;当“SURE”键被按下时,说明需要对默认参数进行修改,则进入参数设定子程序,其中包括keyboard()和key_scan()两个函数调用,前者完成修改项选择功能,后者实现键盘扫描以及数值修改的操作。当设定完毕之后,同样按下“ENTER”键开始输出控制脉冲。由于设计要求在运行过程中需要对输出参数进行调整,所以设置了修改功能。当“MODIFY”键被按下后,单片机持续输出高电平信号,同时进入设定界面配合键盘操作修改输出参数使之满足要求;而“MODIFY”键不动作时,AT89C51始终保持输出控制脉冲并进行键盘扫描循环动作,AT89C52开始检测输出参数并且显示在液晶屏幕上
本模块有output()函数和output timer()函数构成。output0函数调用output timer()函数主要完成输出高低电平工作,同时其也被主函数调用。当参数设定完毕之后,单片机AT89C51的P1.O引脚不断输出控制脉冲,保证系统的正常运行。
脉冲产生程序模块用来给出控制SG3525工作时间的脉冲波形,单片机与脉宽调制芯片SG3525的关断控制引脚10相连。在控制脉冲为高电平时间段,SG3525停止工作,系统输出端为低电平。反之则为高电平。在用户输入了系统输出端要求的脉宽和频率值后,便可得到控制脉冲的高低电平时间。图2为脉冲产生程序流程图。由于程序语言在单片机中的执行时间是以微秒为计量单位的,所以为了使脉冲的高低电平时间更加精确,程序中以微秒作为时间单位。由于本系统单片机采用12M晶振,那么其定时器最长定时只有65.535ms,但是要求的频率变化范围是1Hz"--50Hz,脉宽变化范围是10%"---90%,也就是说单片机输出脉冲的高低电平时间在2ms"-'900ms之间变化,其范围超出了65.535ms的极限值。因此,此脉冲产生算法的思路为对传递进来的时间参数以50ms为时分为两个流程,分别对其定时输出高低电平。
算法具体工作流程为:若时间参数大于50ms,则变量m为50ms的整数个数,。n为时间参数去掉ra个50ms剩余的时间,此时长在50ms以内。第一步定时50ms,在中断服务程序中设置标志位t记录申请中断次数使其累计计时m个50ms,第二步再对剩余时间n定时,同样当标志位flago置位时,定时结束,立即将P1.0口电平取反,重复上述步骤;而时间参数小于50ms的情况等同于上述情况第二步,在此不再赘述
检测芯片程序模块
这部分包含三个主要程序模块:A/D转换程序,脉宽检测与频率检测程序。下面具体介绍。检测芯片为AT89C52单片机,其3个16位定时器全部得到应用,其中定时器TD和T1用于检测頻率,定时器T2用于检测脉宽。
脉冲高压电源的软件设计。主要通过两个单片机对整个系统进行控制和检测。AT89C51主要负责人机接口的实现,键盘输入和控制脉冲的产生。AT89C52则用来检测输出参数并将其及时地显示在液晶屏幕上。我们还自行开发了脉冲发生算法,输出脉冲的频率和脉宽检测算法,算法的可行性和可靠性在实验中得到了证实。endprint