图2是实际电路图截选。
ARM LPC1788、晶振电路、供电电源、复位电路、驱动电路和其他外围电路封装成一个小模块LPC1788 MODULE,通用化,以方便系统共用。程序调试和下载使用JTAG口。D2为MC1413,负责控制继电器的通断。XS10:RJ45接网线,和上位机进行数据交换。XS8为液晶屏接口,分别把数据线D0-D7,地址线A0-A1,控制线CS0、WR、RD接到液晶屏相应端口上去。ARM模块管脚70-73是LPC1788内部AD收入,采集模拟信号。串口为49、50两管脚,与单片机C8051F040转发数据。
ARM LPC1788上电后自动进行初始化操作。首先,程序初始化设置系统时钟,分频晶振频率;设置外设功率寄存器PCONP,使能以太网、串口及GPIO自身和IOCON等外设寄存器,禁止其他外设功能以节省功耗;设置I/O配置寄存器IOCON,控制器件需要使用管脚的功能;设置GPIO端口方向寄存器FIOxDIR、端口屏蔽寄存器FIOxMASK、端口输出设置寄存器FIOxSET、端口输出清零寄存器FIOxCLR、端口管脚值寄存器FIOxPIN等。其次,对液晶屏清屏,配置液晶屏底色及字体颜色;设置8点写模式,提高显示速度,并显示恒定不变的信息。然后,控制输出基准电平以调整电路状态以便能采集到稳定正确的模拟信号。当接收命令和初始化完成后,LPC1788网络口等待接收上位机命令,判断刷新标志是否有效:有效则清除刷新标志,并依次进行数据采集、显示数据、给上位机上传采集到的数据等操作;无效则接收并处理新命令。程序流程图如图4所示。