1、10、电流加有,光电隔离,续流二极管,压敏电阻,抗干扰能力强。11、四周有固定安装孔,也可插入PCB107mm卡槽,安装在DIN导轨上。12、通讯稳定,提供原理图,及板子的参考例程。13、单片机无加密,可插拔更换,带有程序下载口,可随意更改程序14、端子采用螺旋压接端子15、工作温度-40度至 +70度16、工作湿度 40% 80%RH使用说明:【标示图】【供电接线图】【通讯及下载接线图】【模拟量输入接线图】【光电隔离输入接线图】特别声明:IN3至IN14低电平有效,输入信号电压支持036V。【高速光耦输入接线图】【外接315M无线遥控模块】(默认发货不提供接收模块和遥控器需要另外联系销售购买
2、)通过编程实现控制。提供相关例程。【输出部分标注说明】【原理图】(提供PDF文件)【PCB图】【原件清单】【测试程序】(提供源代码及各个模块功能的代码)01.一对一点动输出程序/* 汇诚科技使用芯片:STC12C5A60S2晶振:11.0592MHZ编译环境:Keil作者:zhangxinchunleo*/程序说明:/模拟量输入(这里用作普通IO口,高电平触发)当IN1口与+5V口接通后, 对应的继电器吸合,OUT1接通/第一组普通开光量输入(可做脉冲输入,最大1Khz的脉冲)当IN2口与GND口接通后, 对应的继电器吸合,OUT2接通当IN3口与GND口接通后, 对应的继电器吸合,OUT3接
3、通当IN4口与GND口接通后, 对应的继电器吸合,OUT4接通当IN5口与GND口接通后, 对应的继电器吸合,OUT5接通当IN6口与GND口接通后, 对应的继电器吸合,OUT6接通当IN7口与GND口接通后, 对应的继电器吸合,OUT7接通/第二组普通开光量输入(可做脉冲输入,最大1Khz的脉冲)当IN8口与GND口接通后, 对应的继电器吸合,OUT8接通当IN9口与GND口接通后, 对应的继电器吸合,OUT9接通当IN10口与GND口接通后,对应的继电器吸合,OUT10接通当IN11口与GND口接通后,对应的继电器吸合,OUT11接通当IN12口与GND口接通后,对应的继电器吸合,OUT1
4、2接通当IN13口与GND口接通后,对应的继电器吸合,OUT1接通/高速脉冲输入(最大100KHz)(也可作普通IO口用)当IN14口与GND口接通后,对应的继电器吸合,OUT2接通当IN15口与GND口接通后,对应的继电器吸合,OUT3接通*/#include STC12C5A60S2.H 初始定义/*定义十四个输入*/ /模拟量接口,做普通IO口时,高定平有效(这里用做普通IO口)sbit IN1=P10; /开光量输入 低电平有效sbit IN2=P11; sbit IN3=P14;sbit IN4=P15;sbit IN5=P16;sbit IN6=P17;sbit IN7=P34;s
5、bit IN8=P35;sbit IN9=P36;sbit IN10=P37;sbit IN11=P46;sbit IN12=P45;sbit IN13=P44;/高速脉冲输入, 触发信号高低可选sbit IN14=P32;sbit IN15=P33;/*定义八位输出*/sbit OUT1= P04;sbit OUT2= P05;sbit OUT3= P06;sbit OUT4= P07;sbit OUT5= P27;sbit OUT6= P26;sbit OUT7= P25;sbit OUT8= P24;sbit OUT9= P23;sbit OUT10=P22;sbit OUT11=P21
6、;sbit OUT12=P20;void main() P1M1|=0X01; /0000 0001 /因为此IO口直接引出,外加下拉电阻。所以配置IO口的时候需要把它设定为“开漏模式” P1M0|=0X01; /0000 0001 P4M1|=0x70; /0111 0000 /P4口设置为“输入模式” P4M0 =0x00; /0000 0000 P4SW|=0x40; /0100 0000 /P46设置成普通IO口 while(1) if(IN1=1) OUT1=0; else OUT1=1; if(IN2=0) OUT2=0; else OUT2=1; if(IN3=0) OUT3=0
7、; else OUT3=1; if(IN4=0) OUT4=0; else OUT4=1; if(IN5=0) OUT5=0; else OUT5=1; if(IN6=0) OUT6=0; else OUT6=1; if(IN7=0) OUT7=0; else OUT7=1; if(IN8=0) OUT8=0; else OUT8=1; if(IN9=0) OUT9=0; else OUT9=1; if(IN10=0) OUT10=0; else OUT10=1; if(IN11=0) OUT11=0; else OUT11=1; if(IN12=0) OUT12=0; else OUT12=
8、1; if(IN13=0) OUT1=0; if(IN14=0) OUT2=0; if(IN15=0) OUT3=0; 02.串口通讯程序【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! 上位机通过串口一发送十六进制0xff 继电器全开 发送十六进制0x00 继电器全关 触发IN2,板子会向上位机发送 0x01/* 数据定义*/unsigned char dat=0xA1; 函数定义/延时函数void delay ( unsigned char t ) unsigned char i,j; for( i=0; it; i+) for( j=0; j250; j+);/初始化定义函数v
9、oid init() /IO口配置 /串口一配置 TMOD=0x20; /定时器一产生波特率 SCON=0x50; /方式一,八位数据位,一位停止位 TH1=0XFD; /波特率9600 TL1=0xFD; TR1=1; ES=1; EA=1; init(); if(dat=0xFF) dat=0xA1; OUT1=0; OUT2=0; OUT3=0; OUT4=0; OUT5=0; OUT6=0; OUT7=0; OUT8=0; OUT9=0; OUT10=0; OUT11=0; OUT12=0; if(dat=0x00) OUT1=1; OUT2=1; OUT3=1; OUT4=1; OU
10、T5=1; OUT6=1; OUT7=1; OUT8=1; OUT9=1; OUT10=1; OUT11=1; OUT12=1; if(IN2=0x00) delay(10); if(IN2=0X00) SBUF=0X01; while(!IN2);/*- 串口一 接收中断函数-*/void uart_isr() interrupt 4 using 2 if( RI ) RI=0; dat=SBUF; if(TI) TI=0;03.485通讯程序 上位机通过485发送十六进制0xff 继电器全开 /485配置 S2CON=0x50; /方式1,八位数据,可变波特率 AUXR1=0x00; /1
11、T工作方式 BRT = 256 - (11059200/12/32)/9600; /BRT=0XFD; /设置波特率9600 AUXR=0x10; /启动波特率发生器 IE2=0x01; /开串口2中断 S2BUF=0X01; /*485发送接收中断函数*/void uart2_isr() interrupt 8 if( S2CON & 0x01 ) S2CON &=0x01; dat = S2BUF; 0x02 ) S2CON&=0xfd;04.掉电存储程序 向内部eeprom中写数据,然后再读取出来, 如果正确继电器全部吸合, 如果不正确继电器全部断开#include /用nop函数延时的头文件typedef unsigned char uint8;typedef unsigned int uint16;#define ENABLE_ISP 0x82 /系统工作时钟20MHz 时,对IAP_CONTR 寄存器设置此值sbit
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1