,它和D2、R1一起构成电池的充电回路 ,由于D1、D2正向压降的存在,电池的最高充电电压被限制在3.8V左右,不会对电池过充电,R1为限流电阻。D3一方面是备用电源的供电通路,另外又可降低供电电压,减小了掉电时的维持电流。

4)输出驱动电路
电磁铁的输出控制信号由接口芯片8255的A、B、C3个并口输出,由于8255的接口带缓冲器,输出信号可直接驱动光电隔离器TIL113,经隔离器后再驱动达林顿管TIP122,TIP122的最大输出功率可达65 W,足以驱动电磁铁。
5)电磁铁检测电路
织物的花纹最终是由电磁铁的吸放来控制的,一旦电磁铁出现故障就会造成织物的次品,电磁铁检测电路能在线定时检测电磁铁,发现故障及时停车并显示。具体电磁铁检测电路如图4—4所示。8255的PC7提供检测驱动信号,单片机的P1.1检测结果 ,驱动和检测均采用光电隔离,每一路电磁铁的检测元件也选用了光电耦合器件。为了提高检测速度,简化硬件电路,20路电磁铁用达林顿管集中驱动20个检测光耦,每个发光二极管经电磁铁线圈和电阻R限流后获得15mA的驱动电流,电磁铁线圈的吸合电流为330mA,所以驱动光耦不会使电磁铁吸合。然后,把20个光耦的输出串联去驱动检测光耦,只要任一电磁铁出现供电故障,就可在P1.1端检测出高电平。
5 软件设计
软件用模块化设计,主要模块包括监控模块、控制模块、编辑模块、通信模块、功能切换模块、花样切换模块、启动模块、停止模块等。
监控模块:用状态转移法设计,确定系统的状态有:待运行态、暂停态、运行态 、待编辑态、编辑态、待调试态、调试态、待传输态、传输态。然后,对其按顺序进行编码,对状态的转移条件进行分析,确定每一状态下各有效键符的子集合,根据各有效键符应执行的功能模块和转移后的次态,得到有效元素,每个元素有键码、次态、子程序号组成,用有效元素替代子集合中的键符,按状态顺序集合各子集,子程序的地址在地址表中按子程序号顺序存放,每个子集的最后放一个空元素OFFH,用以过滤无效键。把各子集的首地址按状态顺序组成一地址表,这样系统得到3张表:各子集首地址表、所有有效元素表、各子程序地址表,监控程序的任务是在按键的驱动下,按序查找各表,在键有效的情况下,把现态作为多入口子程序的入口,元素的次态作为现态,之后转入子程序,监控程序的程序流程图如图5—1所示。

该模块执行对系统资源的自检,单片机自身状态的设定,各接口芯片的初始化编程,系统状态和工作参数的设定等,根据按键控制程序的执行流向。
控制模块:本模块执行电磁铁的吸放功能。在输入信号S1的下降沿驱动下检测电磁铁,检查花纹数据指针范围,辨别织机方向,根据当前指针输出一纬数据(即吸合),并修改指针。在S1的上升沿关电磁铁(即释放)。
编辑模块:该模块可实现对新、老花纹数据进行输入、编辑、修改、存储、上下浏览等操作,可按纬数快速定位需编辑修改的内容,有纬的插入、删除,在对块定义后,还可进行块的插入、删除。
通信模块:系统处从机地位,通信程序根据主机(编程器)发送的命令,可进行花纹数据的双向传送。
功能切换模块:系统有控制、编辑、通信、调试4大功能,该模块可实现系统功能的选择。
花样切换模块:本模块用来选择当前操作的花纹号。
启动模块:该模块是一个多入口的子程序,根据所选功能执行相应的操作。
停止模块:该模块是一个多入口的子程序,它根据当前所处状态和执行的功能.完成停止时相应的数据处理过程,统一退到上电复位状态。
6 结束语
本控制器功能完善、结构合理、可靠性高、使用方便,实际运行结果表明,该控制器工作稳定、性能可靠、数据安全性好,达到了产品化的设计要求。