資源簡介
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個文件信息
- 上一篇:手機遠程格力空調控制系統
- 下一篇:stm32f103zet6控制藍牙小車
評論
共有 條評論