摘 要
由于市场上通信模块非常昂贵,我们自行开发了通信模块以便于同学们进行实验,同学们在实验中会更好的理解串口通信的意义。所谓串口通信就是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。串口通信作为一种技术在工业上有广泛的应用。掌握这种技术对我们以后的就业和工作会有很大的帮助。在这里我们提醒大家一定要理解通信协议的概念。
近年来,随着通信技术的飞速发展,通信的实现也变得越来越重要,串口通信的应用也越来越广泛,我们开发的实验设备有助于同学们更好的理解和利用串口通信技术。
本文包括部分硬件设备的介绍和软件部分的全部设计步骤。硬件部分我们采用ATIMAIL52、ADC0809、DS1302等薪片,软件部分我们用Microsoft Visual Basic进行编程。
关键词:串口通信、MSComm、MODBUS、ADAM4017、PELCO-D、PELCO-P
目 录
第一章 通信协议 1
1.1 控制灯协议 1
1.2 PELCO-D协议 1
1.3 PELCO-P协议 2
1.4 ADAM-4017通信协议 3
1.5 MODBUS应用协议 4
第二章 模块硬件的结构及编程 10
2.1 模块硬件结构 10
2.2 模块程序设计 12
第三章 Visual Basic串行通信设计与编程 20
3.1 控制灯协议 20
3.2 PELCO-D协议 21
3.3 PELCO-P协议 22
3.4 ADAM-4017通信协议程序设计 24
3.5 MODBUS应用协议 26
参考文献 31
第一章 通信协议
1.1 控制灯协议
协议格式:
起始符 数据 结束符
规定发送 A A H 1字节 规定发送bbH
发送数据来控制实验板上发光二极管(D1——D8)的亮/灭。
1.2 PELCO-D协议
协议格式:
PELCO-D协议一般用于矩阵和其它设备之间的通信。格式如下:
Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
同步字 地址码 命令字1 命令字2 数据1 数据2 校验码
所有的值都是用的 16进制表示。同步字通常都是 $FF。地址码是指与矩阵通信的那台设备的逻辑地址,可以在设备中设置。
Sence码与Bit4和Bit3有关。在Bit4和Bit3为1的情况下,如果Sence码为1,则命令就是自动扫描和摄像机打开;如果Sence码为0,则命令就是手动扫描和摄像机关闭。当然如果Bit4或Bit3为0的话那命令就无效了。
数据1表示镜头左右平移的速度,数值从$00(停止)到$3F(高速),另外还有一个值是$FF,表示最高速。
数据2表示镜头上下移动的速度,数值从$00(停止)到$3F(最高速)。
校验码是指Byte2到Byte6这5个数的和(若超过255则除以256然后取余数) 。

您当前的位置:
