• 大小: 0.06M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-04-22
  • 语言: C/C++
  • 标签: Modbus  源码  

资源简介

modbus 主机源码

用STC89C58单片机做的数据采集和控制,12位AD转换使用TLC2543,通讯协议采用MODBUS(RTU),通过拨码开关改变从机地址,支持模拟量或数字量的读写。(4路模拟量输入、6路开关量输出(继电器输出)、8路开关量输入)开发环境:KEIK 7.06

资源截图

代码片段和文件信息

#include “STC89C51RC_RD_PLUS.h“
#include “math.h“
#include “intrins.h“

#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long

void input_io(void);        //数字量输入处理函数
void jd_on(uchar x);        //继电器吸合函数
void jd_off(uchar x);       //继电器断开函数
extern void delay(uchar x); //短延时函数



/*以下定义开关量输出*/
sbit JD1=P4^0;
sbit JD2=P2^0;
sbit JD3=P2^1;
sbit JD4=P2^2;
sbit JD5=P2^3;
sbit JD6=P2^4;

volatile uchar OUT_IO;   //输出映射寄存器
volatile uchar IN_IO;    //输入映射寄存器

/*=====继电器线圈吸合函数=====*/
/* uchar x:二进制数值,位7、6*/
/* 未用,对应位为1时相应继电器*/
/* 吸合,为0时无效            */
/*============================*/
void jd_on(uchar x)
    {
uchar i;
x=x<<2;
for(i=1;i<7;i++)
       {
       if(((bit)(x&0x80)))
         {
 switch (i)
     {
 case 1:{JD1=1;OUT_IO=OUT_IO|0x20;break;}
 case 2:{JD2=1;OUT_IO=OUT_IO|0x10;break;}
 case 3:{JD3=1;OUT_IO=OUT_IO|0x08;break;}
 case 4:{JD4=1;OUT_IO=OUT_IO|0x04;break;}
 case 5:{JD5=1;OUT_IO=OUT_IO|0x02;break;}
 case 6:{JD6=1;OUT_IO=OUT_IO|0x01;break;}
 default:{break;}
 }
 }
   x=x<<1;
        }
}

/*=====继电器线圈断开函数=====*/
/* uchar x:二进制数值,位7、6*/
/* 未用,对应位为1时相应继电器*/
/* 断开,为0时无效            */
/*============================*/
void jd_off(uchar x)
    {
uchar i;
x=x<<2;
for(i=1;i<7;i++)
       {
       if(((bit)(x&0x80)))
         {
 switch (i)
     {
 case 1:{JD1=0;OUT_IO=OUT_IO&0xdf;break;}
 case 2:{JD2=0;OUT_IO=OUT_IO&0xef;break;}
 case 3:{JD3=0;OUT_IO=OUT_IO&0xF7;break;}
 case 4:{JD4=0;OUT_IO=OUT_IO&0xFb;break;}
 case 5:{JD5=0;OUT_IO=OUT_IO&0xfd;break;}
 case 6:{JD6=0;OUT_IO=OUT_IO&0xfe;break;}
 default:{break;}
 }
 }
   x=x<<1;
        }
}



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2234  2006-05-29 01:10  盘锦瑞希尔软件MODBUS源代码\EEPROM.C

     文件        748  2006-05-29 00:33  盘锦瑞希尔软件MODBUS源代码\EEPROM.LST

     文件        274  2006-05-29 00:33  盘锦瑞希尔软件MODBUS源代码\EEPROM.OBJ

     文件       1874  2006-06-25 13:37  盘锦瑞希尔软件MODBUS源代码\io_in_out.c

     文件       4453  2006-09-03 12:23  盘锦瑞希尔软件MODBUS源代码\io_in_out.LST

     文件       3968  2006-09-03 12:23  盘锦瑞希尔软件MODBUS源代码\io_in_out.OBJ

     文件       3994  2006-06-24 20:02  盘锦瑞希尔软件MODBUS源代码\MODBUS.C

     文件       5892  2006-09-03 12:23  盘锦瑞希尔软件MODBUS源代码\MODBUS.LST

     文件       3642  2006-09-03 12:23  盘锦瑞希尔软件MODBUS源代码\MODBUS.OBJ

     文件      34605  2006-09-03 12:23  盘锦瑞希尔软件MODBUS源代码\RXR_CS

     文件      22804  2006-06-25 13:59  盘锦瑞希尔软件MODBUS源代码\RXR_CS.C

     文件       8877  2006-09-03 12:23  盘锦瑞希尔软件MODBUS源代码\RXR_CS.HEX

     文件      49835  2006-09-03 12:23  盘锦瑞希尔软件MODBUS源代码\RXR_CS.LST

     文件      42437  2006-09-03 12:23  盘锦瑞希尔软件MODBUS源代码\RXR_CS.M51

     文件      31708  2006-09-03 12:23  盘锦瑞希尔软件MODBUS源代码\RXR_CS.OBJ

     文件       1932  2006-09-03 13:02  盘锦瑞希尔软件MODBUS源代码\rxr_cs.Opt

     文件        216  2006-09-03 12:23  盘锦瑞希尔软件MODBUS源代码\RXR_CS.ORC

     文件        447  2006-09-03 13:02  盘锦瑞希尔软件MODBUS源代码\RXR_CS.PLG

     文件       2143  2006-06-25 14:09  盘锦瑞希尔软件MODBUS源代码\rxr_cs.Uv2

     文件       1932  2006-09-03 12:43  盘锦瑞希尔软件MODBUS源代码\rxr_cs_Opt.Bak

     文件       2143  2006-06-25 10:53  盘锦瑞希尔软件MODBUS源代码\rxr_cs_Uv2.Bak

     文件       5118  2006-05-23 20:19  盘锦瑞希尔软件MODBUS源代码\STARTUP.A51

     文件      11728  2006-09-03 12:23  盘锦瑞希尔软件MODBUS源代码\STARTUP.LST

     文件        827  2006-09-03 12:23  盘锦瑞希尔软件MODBUS源代码\STARTUP.OBJ

     文件       3563  2006-05-01 08:24  盘锦瑞希尔软件MODBUS源代码\STC89C51RC_RD_PLUS.H

     文件      19011  2006-05-24 18:08  盘锦瑞希尔软件MODBUS源代码\STC89C58RD+ FLASH-ISP-IAP.c

     文件       1839  2006-05-14 19:17  盘锦瑞希尔软件MODBUS源代码\TLC2543.C

     文件        247  2006-07-24 17:54  盘锦瑞希尔软件MODBUS源代码\新建 文本文档.txt

     目录          0  2010-10-21 20:45  盘锦瑞希尔软件MODBUS源代码

----------- ---------  ---------- -----  ----

............此处省略2个文件信息

评论

共有 条评论