• 大小: 127KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: C/C++
  • 标签:

资源简介

此程序是用C语言编写的一个51的程序。 作用是对MODBUS协议进行了实现,用的是ASCII方式,简明易懂。 共实现的1读线圈,2写单个线圈,3写多个线圈,4读寄存器,5写单个寄存器,6写多个寄存器这几个基本的功能,简明易懂,是一个绝佳的MODBUS协议程序。 传输基于最普通的串口通信,严格按照协议说明。 程序中还做和详尽的注解,本人水平有限,难免出错,贻笑大方,献丑了。 多多指教。。。。。。

资源截图

代码片段和文件信息

#include “ds18b20.h“      
/*********************************************************************************/  
/*函数名称: delay_124                           
*输入参数:  共 1 个参数;  
*输出参数:  共 0 个参数;  
*返回值:      
*需储存的参数: 共 0 个参数;      
*功能介绍:  延时             
*修改日志:  
此延时函数针对的是12Mhz的晶振
delay_124(0):延时518us 误差:518-2*256=6
delay_124(1):延时7us  
delay_124(10):延时25us    误差:25-20=5
delay_124(20):延时45us    误差:45-40=5
delay_124(100):延时205us 误差:205-200=5
delay_124(200):延时405us 误差:405-400=5
*[2010-12-14]  Ver. 1.00  
        开始编写;2010-12-12  
        完成;  2010-12-12                                    
/*                                      */  
/*********************************************************************************/ 
void delay_124(unsigned char i_124) 
{
while(--i_124); 
}

/*********************************************************************************/  
/*函数名称: init18b20_124(void)                           
*输入参数:  共 0 个参数;  
*输出参数:  共 0 个参数;  
*返回值:      
*需储存的参数: 共 0 个参数;      
*功能介绍:   初始化18B20             
*修改日志:  
*[2010-12-14 ]  Ver. 1.00  
        开始编写;2010-12-13  
        完成;  2010-12-13                                   
/*                                      */  
/*********************************************************************************/ 
void init18b20_124(void)
{
 DQ_124 = 1; 
 delay_124(1);
 DQ_124 = 0;          //拉低数据线,复位总线;
 delay_124(255);     //延时504us 
 DQ_124 = 1;         //提升数据线;
 delay_124(18);     //延时32us;
 while(DQ_124);       //等待从器件器件应答信号;存在脉冲
 delay_124(90);     //延时128us; 
 DQ_124 = 1;          //提升数据线,准备数据传输;
}


/*********************************************************************************/  
/*函数名称: WR18b20_124(unsigned char cmd_124)                           
*输入参数:  共 0 个参数;  
*输出参数:  共 0 个参数;  
*返回值:      
*需储存的参数: 共 0 个参数;      
*功能介绍:   向18B20写入数据             
*修改日志:  
*[2010-12-14 ]  Ver. 1.00  
        开始编写;2010-12-13  
        完成;  2010-12-13                                   
/*                                      */  
/*********************************************************************************/
void WR18b20_124(unsigned char cmd_124)
{
    unsigned char k_124;
    for(k_124=0;k_124<8;k_124++)
    {
        if(cmd_124 & 0x01)       //低位在前;
        {
            DQ_124 = 0;    
            delay_124(1); 
            DQ_124 = 1;          //发送数据;
        }                 
        else 
        {
            DQ_124 = 0;            
            delay_124(1);  
        }
        delay_124(30);    //延时64us等待从器件采样;
        DQ_124 = 1;            //拉高总线
        delay_124(1);        
        cmd_124 >>= 1;
    }
}


/*********************************************************************************/  
/*函数名称: RD18b20_124(void)                           
*输入参数:  共 0 个参数;  
*输出参数:  共 0 个参数;  
*返回值:      
*需储存的参数: 共 0 个参数;      
*功能介绍:  由18B20读取数据           
*修改日志:  
*[2010-12-14 ]  Ver. 

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

     文件      11014  2011-12-18 16:14  赖泊能modbus\bmp_pixel.h

     文件       5186  2011-12-18 16:14  赖泊能modbus\ds18b20.c

     文件        317  2011-12-18 16:14  赖泊能modbus\ds18b20.h

     文件       8685  2012-04-26 23:36  赖泊能modbus\ds18b20.LST

     文件       4641  2012-04-26 23:36  赖泊能modbus\ds18b20.OBJ

     文件       2965  2011-12-27 11:10  赖泊能modbus\EEPROM.c

     文件        557  2011-12-18 16:14  赖泊能modbus\EEPROM.h

     文件       5257  2012-04-26 23:36  赖泊能modbus\EEPROM.LST

     文件       4575  2012-04-26 23:36  赖泊能modbus\EEPROM.OBJ

     文件       4913  2011-12-18 16:14  赖泊能modbus\english_6x8_pixel.h

     文件       7416  2011-12-27 20:16  赖泊能modbus\main.c

     文件       1133  2011-12-27 11:10  赖泊能modbus\main.h

     文件      14053  2012-04-26 23:36  赖泊能modbus\main.LST

     文件      15000  2012-04-26 23:36  赖泊能modbus\main.OBJ

     文件      39986  2011-12-27 20:16  赖泊能modbus\modbus.c

     文件        775  2011-12-18 16:14  赖泊能modbus\modbus.h

     文件      77266  2012-04-26 23:36  赖泊能modbus\modbus.LST

     文件      50299  2012-04-26 23:36  赖泊能modbus\modbus.OBJ

     文件      73530  2012-04-26 23:36  赖泊能modbus\modbusasii2

     文件      21725  2012-04-26 23:36  赖泊能modbus\modbusasii2.hex

     文件        128  2012-04-26 23:36  赖泊能modbus\modbusasii2.lnp

     文件      80902  2012-04-26 23:36  赖泊能modbus\modbusasii2.M51

     文件        174  2012-05-06 22:56  赖泊能modbus\modbusasii2.plg

    .......     62670  2012-05-06 22:09  赖泊能modbus\modbusasii2.uvopt

     文件      14078  2011-12-18 16:15  赖泊能modbus\modbusasii2.uvproj

    .......     62670  2012-05-05 22:05  赖泊能modbus\modbusasii2_uvopt.bak

     文件      14574  2011-12-18 16:15  赖泊能modbus\modbusasii2_uvproj.bak

     文件      16057  2011-12-27 19:32  赖泊能modbus\nokia_5110.c

     文件       1237  2011-12-18 16:15  赖泊能modbus\nokia_5110.h

     文件      24167  2012-04-26 23:36  赖泊能modbus\nokia_5110.LST

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

评论

共有 条评论

相关资源