16路输入8路输出继电器可编程工控板产品使用说明.docx
- 文档编号:8636815
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:57
- 大小:7.70MB
16路输入8路输出继电器可编程工控板产品使用说明.docx
《16路输入8路输出继电器可编程工控板产品使用说明.docx》由会员分享,可在线阅读,更多相关《16路输入8路输出继电器可编程工控板产品使用说明.docx(57页珍藏版)》请在冰豆网上搜索。
16路输入8路输出继电器可编程工控板产品使用说明
16路输入8路输出继电器可编程模块产品使用说明
简要说明:
一、 尺寸:
长144mmX宽107mmX高25mm
二、 主要芯片:
STC12C5A60S2是51单片机的8~12倍(兼容51系列单片机)
三、 工作电压:
直流12伏(另有24V继电器可选)
四、通过9针串口下载程序(同时支持TTL下载程序)
五、 特点:
1、具有电源指示。
(供电电源有防接反保护)
2、16路输入(包括:
2路模拟量输入,2路高速光电输入,12路光电隔离输入)。
3、8路光电隔离继电器输出控制。
4、标准的11.0592M晶振。
(便于设置串口波特率)
5、具有上电复位和手动复位。
6、独立的串口通信及485通信。
7、可以接315M带解码的无线接收模块。
8、输入输出均有信号指示灯。
9、继电器开关量输出,最大切换电压220V,最大切换电流7A。
最大切换功率200W。
10、电流加有,光电隔离,续流二极管,压敏电阻,抗干扰能力强。
11、四周有固定安装孔,也可插入PCB107mm卡槽,安装在DIN导轨上。
12、通讯稳定,提供原理图,及板子的参考例程。
13、单片机无加密,可插拔更换,带有程序下载口,可随意更改程序
14、、端子采用螺旋压接端子
15、工作温度-40度至+70度
16、工作湿度40%~80%RH
使用说明:
【标示图】
【供电接线图】
【通讯及下载接线图】
【模拟量输入接线图】
【光电隔离输入接线图】
特别声明:
IN3至IN14低电平有效,输入信号电压支持0~36V。
【高速光耦输入接线图】
【外接315M无线遥控模块】(默认发货不提供接收模块和遥控器需要另外联系销售购买)通过编程实现控制。
提供相关例程。
【输出部分标注说明】
【原理图】(提供PDF文件)
【PCB图】(提供PDF文件)
【原件清单】
(提供PDF文件)
【测试程序】(提供源代码及各个模块功能的代码)
01.一对一点动输出程序
/********************************************************************
汇诚科技
使用芯片:
STC12C5A60S2
晶振:
11.0592MHZ
编译环境:
Keil
作者:
zhangxinchunleo
*********************************************************************/
/********************************************************************
程序说明:
//模拟量输入(这里用作普通IO口,高电平触发)
当IN1口与+5V口接通后,对应的继电器吸合,OUT1接通
//第一组普通开光量输入(可做脉冲输入,最大1Khz的脉冲)
当IN2口与GND口接通后,对应的继电器吸合,OUT2接通
当IN3口与GND口接通后,对应的继电器吸合,OUT3接通
当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口接通后,对应的继电器吸合,OUT12接通
当IN13口与GND口接通后,对应的继电器吸合,OUT1接通
//高速脉冲输入(最大100KHz)(也可作普通IO口用)
当IN14口与GND口接通后,对应的继电器吸合,OUT2接通
当IN15口与GND口接通后,对应的继电器吸合,OUT3接通
**********************************************************************
*/
#include"STC12C5A60S2.H"
/********************************************************************
初始定义
*********************************************************************/
/*定义十四个输入*/
//模拟量接口,做普通IO口时,高定平有效(这里用做普通IO口)
sbitIN1=P1^0;
//开光量输入低电平有效
sbitIN2=P1^1;
sbitIN3=P1^4;
sbitIN4=P1^5;
sbitIN5=P1^6;
sbitIN6=P1^7;
sbitIN7=P3^4;
sbitIN8=P3^5;
sbitIN9=P3^6;
sbitIN10=P3^7;
sbitIN11=P4^6;
sbitIN12=P4^5;
sbitIN13=P4^4;
//高速脉冲输入,触发信号高低可选
sbitIN14=P3^2;
sbitIN15=P3^3;
/*定义八位输出*/
sbitOUT1=P0^4;
sbitOUT2=P0^5;
sbitOUT3=P0^6;
sbitOUT4=P0^7;
sbitOUT5=P2^7;
sbitOUT6=P2^6;
sbitOUT7=P2^5;
sbitOUT8=P2^4;
sbitOUT9=P2^3;
sbitOUT10=P2^2;
sbitOUT11=P2^1;
sbitOUT12=P2^0;
voidmain()
{
P1M1|=0X01;//00000001//因为此IO口直接引出,外加下拉电阻。
所以配置IO口的时候需要把它设定为“开漏模式”
P1M0|=0X01;//00000001
P4M1|=0x70;//01110000//P4口设置为“输入模式”
P4M0=0x00;//00000000
P4SW|=0x40;//01000000//P4^6设置成普通IO口
while
(1)
{
if(IN1==1)OUT1=0;elseOUT1=1;
if(IN2==0)OUT2=0;elseOUT2=1;
if(IN3==0)OUT3=0;elseOUT3=1;
if(IN4==0)OUT4=0;elseOUT4=1;
if(IN5==0)OUT5=0;elseOUT5=1;
if(IN6==0)OUT6=0;elseOUT6=1;
if(IN7==0)OUT7=0;elseOUT7=1;
if(IN8==0)OUT8=0;elseOUT8=1;
if(IN9==0)OUT9=0;elseOUT9=1;
if(IN10==0)OUT10=0;elseOUT10=1;
if(IN11==0)OUT11=0;elseOUT11=1;
if(IN12==0)OUT12=0;elseOUT12=1;
if(IN13==0)OUT1=0;elseOUT1=1;
if(IN14==0)OUT2=0;elseOUT2=1;
if(IN15==0)OUT3=0;elseOUT3=1;
}
}
02.串口通讯程序
/********************************************************************
汇诚科技
使用芯片:
STC12C5A60S2
晶振:
11.0592MHZ
编译环境:
Keil
作者:
zhangxinchunleo
【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!
*********************************************************************/
/********************************************************************
程序说明:
上位机通过串口一发送十六进制0xff继电器全开
发送十六进制0x00继电器全关
触发IN2,板子会向上位机发送0x01
**********************************************************************
*/
#include"STC12C5A60S2.H"
/********************************************************************
初始定义
*********************************************************************/
/*定义十四个输入*/
//模拟量接口,做普通IO口时,高定平有效(这里用做普通IO口)
sbitIN1=P1^0;
//开光量输入低电平有效
sbitIN2=P1^1;
sbitIN3=P1^4;
sbitIN4=P1^5;
sbitIN5=P1^6;
sbitIN6=P1^7;
sbitIN7=P3^4;
sbitIN8=P3^5;
sbitIN9=P3^6;
sbitIN10=P3^7;
sbitIN11=P4^6;
sbitIN12=P4^5;
sbitIN13=P4^4;
//高速脉冲输入,触发信号高低可选
sbitIN14=P3^2;
sbitIN15=P3^3;
/*定义八位输出*/
sbitOUT1=P0^4;
sbitOUT2=P0^5;
sbitOUT3=P0^6;
sbitOUT4=P0^7;
sbitOUT5=P2^7;
sbitOUT6=P2^6;
sbitOUT7=P2^5;
sbitOUT8=P2^4;
sbitOUT9=P2^3;
sbitOUT10=P2^2;
sbitOUT11=P2^1;
sbitOUT12=P2^0;
/***********************************************************
数据定义
***********************************************************/
unsignedchardat=0xA1;
/********************************************************************
函数定义
*********************************************************************/
//延时函数
voiddelay(unsignedchart)
{
unsignedchari,j;
for(i=0;i for(j=0;j<250;j++); } //初始化定义函数 voidinit() { //IO口配置 P1M1|=0X01;//00000001//因为此IO口直接引出,外加下拉电阻。 所以配置IO口的时候需要把它设定为“开漏模式” P1M0|=0X01;//00000001 P4M1|=0x70;//01110000//P4口设置为“输入模式” P4M0=0x00;//00000000 P4SW|=0x40;//01000000//P4^6设置成普通IO口 //串口一配置 TMOD=0x20;//定时器一产生波特率 SCON=0x50;//方式一,八位数据位,一位停止位 TH1=0XFD;//波特率9600 TL1=0xFD; TR1=1; ES=1; EA=1; } voidmain() { init(); while (1) { 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) { dat=0xA1; OUT1=1; OUT2=1; OUT3=1; OUT4=1; OUT5=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); } } } /*-------------------------------------- 串口一接收中断函数 --------------------------------------*/ voiduart_isr()interrupt4using2 { if(RI) { RI=0; dat=SBUF; } if(TI) TI=0; } 03.485通讯程序 /******************************************************************** 汇诚科技 使用芯片: STC12C5A60S2 晶振: 11.0592MHZ 编译环境: Keil 作者: zhangxinchunleo *********************************************************************/ /******************************************************************** 程序说明: 上位机通过485发送十六进制0xff继电器全开 发送十六进制0x00继电器全关 触发IN2,板子会向上位机发送0x01 ********************************************************************** */ #include"STC12C5A60S2.H" /******************************************************************** 初始定义 *********************************************************************/ /*定义十四个输入*/ //模拟量接口,做普通IO口时,高定平有效(这里用做普通IO口) sbitIN1=P1^0; //开光量输入低电平有效 sbitIN2=P1^1; sbitIN3=P1^4; sbitIN4=P1^5; sbitIN5=P1^6; sbitIN6=P1^7; sbitIN7=P3^4; sbitIN8=P3^5; sbitIN9=P3^6; sbitIN10=P3^7; sbitIN11=P4^6; sbitIN12=P4^5; sbitIN13=P4^4; //高速脉冲输入,触发信号高低可选 sbitIN14=P3^2; sbitIN15=P3^3; /*定义八位输出*/ sbitOUT1=P0^4; sbitOUT2=P0^5; sbitOUT3=P0^6; sbitOUT4=P0^7; sbitOUT5=P2^7; sbitOUT6=P2^6; sbitOUT7=P2^5; sbitOUT8=P2^4; sbitOUT9=P2^3; sbitOUT10=P2^2; sbitOUT11=P2^1; sbitOUT12=P2^0; /*********************************************************** 数据定义 ***********************************************************/ unsignedchardat=0xA1; /******************************************************************** 函数定义 *********************************************************************/ //延时函数 voiddelay(unsignedchart) { unsignedchari,j; for(i=0;i for(j=0;j<250;j++); } //初始化定义函数 voidinit() { //IO口配置 P1M1|=0X01;//00000001//因为此IO口直接引出,外加下拉电阻。 所以配置IO口的时候需要把它设定为“开漏模式” P1M0|=0X01;//00000001 P4M1|=0x70;//01110000//P4口设置为“输入模式” P4M0=0x00;//00000000 P4SW|=0x40;//01000000//P4^6设置成普通IO口 //485配置 S2CON=0x50;//方式1,八位数据,可变波特率 AUXR1=0x00;//1T工作方式 BRT=256-(11059200/12/32)/9600;//BRT=0XFD;//设置波特率9600 AUXR=0x10;//启动波特率发生器 IE2=0x01;//开串口2中断 EA=1; } voidmain() { init(); while (1) { 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) { dat=0xA1; OUT1=1; OUT2=1; OUT3=1; OUT4=1; OUT5=1; OUT6=1; OUT7=1; OUT8=1; OUT9=1; OUT10=1; OUT11=1; OUT12=1; } if(IN2==0x00) { delay(10); if(IN2==0X00) S2BUF=0X01; while(! IN2); } } } /************485发送接收中断函数******/ voiduart2_isr()interrupt8 { if(S2CON&0x01) { S2CON&=~0x01; dat=S2BUF; } if(S2CON&0x02) { S2CON&=0xfd; } } 04.掉电存储程序 /******************************************************************** 汇诚科技 使用芯片: STC12C5A60S2 晶振: 11.0592MHZ 编译环境: Keil 作者: zhangxinchunleo *********************************************************************/ /******************************************************************** 程序说明: 向内部eeprom中写数据,然后再读取出来, 如果正确继电器全部吸合, 如果不正确继电器全部断开 ********************************************************************** */ #include"STC12C5A60S2.H" #include typedefunsignedcharuint8; typedefunsignedintuint16; #defineENABLE_ISP0x82//系统工作时钟<20MHz时,对IAP_CONTR寄存器设置此值 /******************************************************************** 初始定义 *********************************************************************/ /*定义十四个输入*/ //模拟量接口,做普通IO口时,高定平有效(这里用做普通IO口) sbitIN1=P1^0; //开光量输入低电平有效 sbitIN2=P1^1; sbitIN3=P1^4; sbitIN4=P1^5; sbitIN5=P1^6; sbitIN6=P1^7; sbitIN7=P3^4; sbitIN8=P3^5; sbitIN9=P3^6; sbitIN10=P3^7; sbitIN11=P4^6; sbitIN12=P4^5; sbitIN13=P4^4; //高速脉冲输入,触发信号高低可选 sbitIN14=P3^2; sbitIN15=P3^3; /*定义八位输出*/ sbitOUT1=P0^4; sbitOUT2=P0^5; sbitOUT3=P0^6; sbitOUT4=P0^7; sbit
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 16 输入 输出 继电器 可编程 工控板 产品 使用说明