GYJ00884入8出232和485带遥控产品使用说明资料.docx
《GYJ00884入8出232和485带遥控产品使用说明资料.docx》由会员分享,可在线阅读,更多相关《GYJ00884入8出232和485带遥控产品使用说明资料.docx(24页珍藏版)》请在冰豆网上搜索。
GYJ00884入8出232和485带遥控产品使用说明资料
4路输入8路输出继电器可编程模块产品使用说明
简要说明:
一、 尺寸:
长125mmX宽107mmX高25mm
二、 主要芯片:
STC12C5A60S2是51单片机的8~12倍(兼容51系列单片机)
三、 工作电压:
直流12伏(另有24V继电器可选)
四、通过9针串口下载程序(同时支持TTL下载程序)
五、 特点:
1、具有电源指示。
(供电电源有防接反保护)
2、4路输入(输入最高相应频率2KHZ)。
3、8路光电隔离继电器输出控制。
(干接点开关量无源输出)
4、标准的11.0592M晶振。
(便于设置串口波特率)
5、具有上电复位和手动复位。
6、独立的串口通信及RS485通讯接口。
7、可以接315M带解码的无线接收模块(购买可选)。
8、输入输出均有信号指示灯。
9、继电器开关量输出,最大切换电压220V,最大切换电流7A。
最大切换功率200W。
10、电流加有,光电隔离,续流二极管,压敏电阻,抗干扰能力强。
11、四周有固定安装孔,也可插入PCB107mm卡槽,安装在DIN导轨上。
12、通讯稳定,提供原理图,及板子的参考例程。
13、单片机无加密,可插拔更换,带有程序下载口,可随意更改程序
14、、端子采用螺旋压接端子
15、工作温度-40度至+70度
16、工作湿度40%~80%RH
使用说明:
【标示图】
【供电接线图】
【通讯及下载接线图】
【输入控制设备】
【输出控制设备】
【光电隔离输入接线图】
【外接315M无线遥控模块】(默认发货不提供接收模块和遥控器需要另外联系销售购买)通过编程实现控制。
提供相关例程。
【输出部分标注说明】
【原理图】(提供PDF文件)
【PCB图】(提供PDF文件)
【原件清单】
(提供PDF文件)
【测试程序】(提供源代码及各个模块功能的代码)
#include"STC12C5A60S2.H"
#defineucharunsignedchar//宏定义无符号字符型
#defineuintunsignedint//宏定义无符号整型
/********************************************************************
初始定义
*********************************************************************/
//开光量输入低电平有效
sbitIN1=P1^4;
sbitIN2=P1^5;
sbitIN3=P1^6;
sbitIN4=P1^7;
/*定义八位输出*/
sbitOUT1=P0^7;
sbitOUT2=P0^6;
sbitOUT3=P0^5;
sbitOUT4=P0^4;
sbitOUT5=P0^3;
sbitOUT6=P0^2;
sbitOUT7=P0^1;
sbitOUT8=P0^0;
bitbz1=0;
bitbz2=0;
bitbz3=0;
bitbz4=0;
/***********************************************************
数据定义
***********************************************************/
unsignedchardat=0xA1;
延时函数
voiddelay(uchart)
{
uchari,j;
for(i=0;i{for(j=250;j>0;j--);{;}}}/********************************************************************输出处理函数*********************************************************************/voidopen_X3(){P0=0X00;}voidclse_X3(){P0=0XFF;}/********************************************************************功能:串口初始化,波特率9600,方式1*********************************************************************/voidInit_Com(void){//串口初始化TMOD=0x20;SCON=0x50;TH1=0xFd;TL1=0xFd;TR1=1;ES=1;//开串口1中断//485接口初始化S2CON=0x50;//方式1,八位数据,可变波特率AUXR1=0x00;//1T工作方式BRT=0XFD;//设置波特率9600AUXR=0x10;//启动波特率发生器EA=1;//开总中断IE2=0x01;//开串口2中断}/********************************************************************配置IO口*********************************************************************/voidinit(void){//P1M1|=0X03;//00000001//因为此IO口直接引出,外加下拉电阻。所以配置IO口的时候需要把它设定为“开漏模式”//P1M0|=0X03;//00000001//P4M1|=0x70;//01110000//P4口设置为“输入模式”//P4M0=0x00;//00000000//P4SW|=0x40;//01000000//P4^6设置成普通IO口}/********************************************************************串口1和串口2配置*********************************************************************/voidB485_send(ucharc){SBUF=S2BUF=c;}/********************************************************************主函数*********************************************************************/voidmain(){Init_Com();//串口初始化//init();while(1){if((IN1==0)&&(bz1==0)){delay(20);bz1=1;OUT1=0;OUT5=0;B485_send('1');}if((IN1==1)&&(bz1==1)){delay(20);bz1=0;OUT1=1;OUT5=1;}if((IN2==0)&&(bz2==0)){delay(20);bz2=1;OUT2=0;OUT6=0;B485_send('2');}if((IN2==1)&&(bz2==1)){delay(20);bz2=0;OUT2=1;OUT6=1;}if((IN3==0)&&(bz3==0)){delay(20);bz3=1;OUT3=0;OUT7=0;B485_send('3');}if((IN3==1)&&(bz3==1)){delay(20);bz3=0;OUT3=1;OUT7=1;}if((IN4==0)&&(bz4==0)){delay(20);bz4=1;OUT4=0;OUT8=0;B485_send('4');}if((IN4==1)&&(bz4==1)){delay(20);bz4=0;OUT4=1;OUT8=1;}switch(dat)//接收数据判断{uchark;k=10;case'I':open_X3();delay(k);SBUF=S2BUF=dat;dat=0xee;break;//全开case'i':clse_X3();delay(k);SBUF=S2BUF=dat;dat=0xee;break;//全关case'A':OUT1=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第1路开case'B':OUT2=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第2路开case'C':OUT3=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第3路开case'D':OUT4=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第4路开case'E':OUT5=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第5路开case'F':OUT6=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第6路开case'G':OUT7=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第7路开case'H':OUT8=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第8路开case'a':OUT1=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第1路关case'b':OUT2=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第2路关case'c':OUT3=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第3路关case'd':OUT4=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第4路关case'e':OUT5=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第5路关case'f':OUT6=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第6路关case'g':OUT7=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第7路关case'h':OUT8=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第8路关default:break;//跳出}}}/********************************************************************串口中断函数*********************************************************************/voidcommIntProc()interrupt4{if(TI)TI=0;if(RI){RI=0;dat=SBUF;}//接收数据SBUF赋与dat}/********************************************************************串口二(485)发送接收中断函数*********************************************************************/voiduart2_isr()interrupt8{if(S2CON&0x01){S2CON&=~0x01;dat=S2BUF;}if(S2CON&0x02){S2CON&=0xfd;}}/********************************************************************结束*********************************************************************/【图片展示】【装壳后效果展示】(可以装在配电柜的DIN导轨上)参考图
for(j=250;j>0;j--);
{;
}
输出处理函数
voidopen_X3()
P0=0X00;
voidclse_X3()
P0=0XFF;
功能:
串口初始化,波特率9600,方式1
voidInit_Com(void)
//串口初始化
TMOD=0x20;
SCON=0x50;
TH1=0xFd;
TL1=0xFd;
TR1=1;
ES=1;//开串口1中断
//485接口初始化
S2CON=0x50;//方式1,八位数据,可变波特率
AUXR1=0x00;//1T工作方式
BRT=0XFD;//设置波特率9600
AUXR=0x10;//启动波特率发生器
EA=1;//开总中断
IE2=0x01;//开串口2中断
配置IO口
voidinit(void)
//P1M1|=0X03;//00000001//因为此IO口直接引出,外加下拉电阻。
所以配置IO口的时候需要把它设定为“开漏模式”
//P1M0|=0X03;//00000001
//P4M1|=0x70;//01110000//P4口设置为“输入模式”
//P4M0=0x00;//00000000
//P4SW|=0x40;//01000000//P4^6设置成普通IO口
串口1和串口2配置
voidB485_send(ucharc)
SBUF=S2BUF=c;
主函数
voidmain()
Init_Com();//串口初始化
//init();
while
(1)
if((IN1==0)&&(bz1==0)){delay(20);bz1=1;OUT1=0;OUT5=0;B485_send('1');}if((IN1==1)&&(bz1==1)){delay(20);bz1=0;OUT1=1;OUT5=1;}
if((IN2==0)&&(bz2==0)){delay(20);bz2=1;OUT2=0;OUT6=0;B485_send('2');}if((IN2==1)&&(bz2==1)){delay(20);bz2=0;OUT2=1;OUT6=1;}
if((IN3==0)&&(bz3==0)){delay(20);bz3=1;OUT3=0;OUT7=0;B485_send('3');}if((IN3==1)&&(bz3==1)){delay(20);bz3=0;OUT3=1;OUT7=1;}
if((IN4==0)&&(bz4==0)){delay(20);bz4=1;OUT4=0;OUT8=0;B485_send('4');}if((IN4==1)&&(bz4==1)){delay(20);bz4=0;OUT4=1;OUT8=1;}
switch(dat)//接收数据判断
uchark;
k=10;
case'I':
open_X3();delay(k);SBUF=S2BUF=dat;dat=0xee;break;//全开
case'i':
clse_X3();delay(k);SBUF=S2BUF=dat;dat=0xee;break;//全关
case'A':
OUT1=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第1路开
case'B':
OUT2=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第2路开
case'C':
OUT3=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第3路开
case'D':
OUT4=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第4路开
case'E':
OUT5=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第5路开
case'F':
OUT6=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第6路开
case'G':
OUT7=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第7路开
case'H':
OUT8=0;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第8路开
case'a':
OUT1=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第1路关
case'b':
OUT2=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第2路关
case'c':
OUT3=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第3路关
case'd':
OUT4=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第4路关
case'e':
OUT5=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第5路关
case'f':
OUT6=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第6路关
case'g':
OUT7=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第7路关
case'h':
OUT8=1;delay(k);SBUF=S2BUF=dat;dat=0xee;break;//第8路关
default:
break;//跳出
串口中断函数
voidcommIntProc()interrupt4
if(TI)
TI=0;
if(RI)
RI=0;
dat=SBUF;
}//接收数据SBUF赋与dat
串口二(485)发送接收中断函数
voiduart2_isr()interrupt8
if(S2CON&0x01)
S2CON&=~0x01;
dat=S2BUF;
if(S2CON&0x02)
S2CON&=0xfd;
结束
【图片展示】
【装壳后效果展示】(可以装在配电柜的DIN导轨上)参考图
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1