simpleplc.c

来自「AVR典型实例.rar」· C语言 代码 · 共 70 行

C
70
字号
/*
    简易PLC项目
	文件名:SimplePLC.C
    编写人员:吴健
	PA,PB:输入节点
	PC,PD:输出节点 
    一共16个输入触点,16个输出触点,16个中间触点
    支持的指令包括:取触点、与触点、并触点、分支电路、合并电路
*/


#include "SimplePLC.h"


// 主程序
int main(void)
{
	DDRA = 0;
	DDRB = 0;
	DDRC = 0xff;
	DDRD = 0xff;
	// 定时器初始化设置
	TCCR0 = 0x05;  // 1024分频
	TIMSK = 0x01;
	TCNT0 = 256 - 0.01/(1024.0/F_CPU);
	INIT();  // 初始化系统变量
    INIT_TIMER(); // 初始化所有系统定时器
	sei();
    for(;;)
	{
	    BEG();
        // 用户PLC代码开始

		ST(I(0));
		OR(O(0));
		NAND(A(2));
		OUT(O(0));

		ST(O(0));
		NAND(A(0));
		NAND(O(1));
		TCMP(0,0,0,8,0,O(15),O(14),A(1));

		ST(A(1));
		OR(O(1));
		NAND(I(1));
		OUT(O(1));

		ST(I(1));
		OR(A(0));
		NAND(A(2));
		OUT(A(0));
		TCMP(1,0,0,8,0,O(13),O(12),A(2));

		ST(A(1));
		OUT(O(3));
		ST(A(2));
		OUT(O(4));

		ST(A(0));
        OUT(O(5));

		// 用户PLC代码结束
		END();

	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?