|
||||
象山发电车200KW--中动电力 模块化编程实例我们使用AT89C52单片机,在编程软件keil环境下实施一个工程,来说明模块化编程具体操作的方法和步骤。例子要实现的功能:和P1相连的8个LED灯每500ms亮灭交替闪烁,通过串口将数字0-9发送给单片机并显示在一个数码管上。LED闪烁的时间使用定时器0中断方式来控制,T0每50ms溢出产生中断,定义一个计数器,每次T0中断就计数一次,累计计数10次,那么时长为500ms,作为LED闪烁时间间隔。 所示,输出线圈Q0.0是重复使用,在网络1和网络2中重复使用两次,目的和所示一样,要求I0.0和I0.1两个常接点中任何一个闭合,输出线圈得电输出。首先需要肯定是所示的程序在语法上是完全正确的。Q0.0重复使用的输出线圈中,真正有效的是网络2,网络1是多余的、无效的。也就是说,I0.0无论是闭合还是断,都对Q0.0不起作用,Q0.0是否得电是由I0.1决定的。这是因为PLC在一个扫描周期中,PLC输出点的刷新是在程序执行完毕后执行的,在一个扫描周期中,即使I0.0闭合,I0.1断,在PLC程序执行网络1时,输出点Q0.0映像存储器为1,在执行网络2时,输出点Q0.0映像存储器又变为0。 |
|