没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
目录
1 设计背景.....................................................................................................................................1
2 串口通信.....................................................................................................................................1
2.1 串口通信的基本概念.....................................................................................................1
2.2 串行通信的工作模式.....................................................................................................2
2.3 异步传输与同步传输.....................................................................................................2
2.4 串口通信的参数介绍.....................................................................................................3
3 单线数字温度计 DSl8B20.........................................................................................................3
3.1 特性.................................................................................................................................3
3.2 DS18B20 工作过程和时序............................................................................................4
3.3 读/写时间隙....................................................................................................................6
3.4 多路测量.........................................................................................................................8
4 基于 MSComm 控件串口通信设计过程..................................................................................8
4.1 建立工程.........................................................................................................................8
4.2 插入 MSComm 控件.......................................................................................................9
4.3 对话框界面设计...........................................................................................................10
4.4 每个模块的程序...........................................................................................................10
4.4.1 具有串口消息处理函数的程序........................................................................10
4.4.2 打开串口和设置串口参数................................................................................12
4.4.3 保存数据............................................................................................................13
4.4.4 温度警告提示....................................................................................................13
5 调试分析...................................................................................................................................13
6 总结...........................................................................................................................................15
参考文献......................................................................................................................................15
附录..............................................................................................................................................16
1
1 设计背景
迄今为止,几乎每一台 PC 都包含 COM。本质而言,COM 是 PC 为和外界通信所提供
的一种串行数据传输的接口。作为一种物理通信的途径和设备,它和目前风靡的另一种
串行接口――USB 所提供的功能是一致的。RS-232C 显然已经开始被后起之秀 USB 赶
超,因为 USB 的传输速率已经远远超过了 RS-232C。
尽管如此,RS-232C 仍然具有非常广泛的应用,在相对长的一段时间里,难以被
USB 等接口取代。RS-232C 接口(又称 EIA RS-232C), 1970 年由美国电子工业协会
(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定,全名是 “数据
终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。
由于串行通信具有实现简单、使用灵活方便、数据传输可靠等优点,因而广泛应用于工
业控制系统中,是计算机与外部设备进行数据通信时经常使用的方式之一,所以针对计算
机与外部设备通信的上位机关于串口通信的开发,在项目开发过程中具有重要地位。
VC++6.0 是 Microsoft 公司推出的一个基于 Windows 系统平台、可视化的集成开发环
境 , 它 的 源 程 序 按 C++ 语 言 的 要 求 编 写 , 并 加 入 了 微 软 提 供 的 功 能 强 大 的
MFC(Microsoft Foundation Class)类库。它提供了大量的代码,指导用户编程时实现某些
技术和功能。因此,使用 VC++提供的高度可视化的应用程序开发工具和 MFC 类库,可
使应用程序开发变得简单。在 VC++中有两种方法可以进行串口通讯。一种是利用
Microsoft 公司提供的 ActiveX 控件 Microsoft Communications Control。另一种是直接用
VC++访问串口。本程序则应用的是第一种方法。
2 串口通信
2.1 串口通信的基本概念
终端与其他设备(例如,其他终端、计算机和外部设备)通过数据传输进行通信。数
据传输可以通过两种方式进行,即并行通信和串行通信。
并行通信
在计算机和终端之间的数据传输通常是靠电缆或信道上的电流或电压变化实现的。如
果一组数据的各数据位在多条线上同时被传送,这种传输方式称为并行通信
串行通信
串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次
一个二进制的 0、1 为最小单位逐位进行传输。
二者比较:
2
串行通信的速度慢,但使用的传输设备成本低,可利用现有的通信手段和通信设备,
适合于计算机的远程通信;并行通信的速度快,但使用的传输设备成本高,适合于近距
离的数据传送。
2.2 串行通信的工作模式
通过单线传输信息是串行数据通信的基础。数据通常是在两个站(点对点)之间进行
传送,按照数据流的方向可分成 3 种传送模式:单工、半双工和全双工。
单工模式
单工形式的数据传送是单向的。通信双方中,一方固定为发送端,另一方则固定为接
收端。信息只能沿一个方向传送,使用一根传输线,一般用在只向一个方向传送数据的
场合。
半双工模式
半双工通信使用同一根传输线,既可发送数据又可接收数据,但不能同时发送和接收 。
在任何时刻只能由其中的一方发送数据,另一方接收数据。因此半双工形式
既可以使用一条数据线,也可以使用两条数据线。
全双工模式
全双工数据通信分别由两根可以在两个不同的站点同时发送和接收的传输线进行传送 ,
通信双方都能在同一时刻进行发送和接收操作。
2.3 异步传输与同步传输
串行传输中,数据是一位一位按照到达的顺序依次传输的,每位数据的发送和接收都
需要时钟来控制。发送端通过发送时钟确定数据位的开始和结束,接收端需要在适当的
时间间隔对数据流进行采样来正确地识别数据。接收端和发送端必须保持步调一致,否
则就会在传输中出现差错。串行传输可采用以下两种方法:异步传输和同步传输。
异步传输
在异步传输方式中,字符是数据传输单位。在通信的数据流中,字符间异步,字符内
部各位间同步。字符可以是连续地、一个个地发送,也可以是不连续地、随机地进行单
独发送。在一个字符格式的停止位之后,立即发送下一个字符的起始位,开始一个新的
字符的传输,这叫做连续的串行数据发送,即帧与帧之间是连续的。
同步传输
在同步传输方式中,比特块以稳定的比特流的形式传输,数据被封装成更大的传输单
位,称为帧。每个帧中含有多个字符代码,而且字符代码与字符代码之间没有间隙以及
起始位和停止位。和异步传输相比,数据传输单位的加长容易引起时钟漂移。为了保证
接收端能够正确地区分数据流中的每个数据位,收发双方必须通过某种方法建立起同步
的时钟。
3
2.4 串口通信的参数介绍
波特率
波特率是一个衡量通信速度的参数。它表示每秒钟传送的“bit”的数目。
数据位
数据位是衡量通信中实际数据位的参数。当计算机发送一个信息包时,实际的数据不
一定是 8 位,标准的值是 5、7 和 8 位。
停止位
停止位用于表示单个包的最后一位,典型的值为 1、1.5 和 2,停止位不仅仅是表示传
输的结束,也提供计算机校正时钟同步的机会。
奇偶校验位
奇偶校验位在串口通信中时一种简单的检错方式,其有四种检错方式:偶、奇、高和
低。串口设置校验位用一个值确保传输的数据有偶数个或奇数个逻辑高位。
3 单线数字温度计 DSl8B20
DSl820 数字温度计提供 9 位(二进制)温度,读数指示器件的温度。信息经过单线接口
送入 DSl8B20 或从 DSl8B20 送出,因此从主机 CPU 到 DSl8B20 仅需一条线(和地线) 。
DSl8B20 的电源可以由数据线本身提供而不需要外部电源。因为每一个 DSl8B20 在出厂
时已经给定了唯一的序号,因此任意多个 DSl8B20 可以存放在同一条单线总线上。这允
许在许多不同的地方放置温度敏感器件 DSl8B20 的测量范围从-55℃ 到+125℃, 增量值
为 0.5℃, 可在 l s(典型值)内把温度变换成数字。
每一个 DSl8B20 包括一个唯一的 64 位长的序号,该序号值存放在 DSl8B20 内部
ROM(只读存贮器)中。开始 8 位是产品类型编码(DSl8B20 编码均为 10H) ,接着的 48 位
是每个器件唯一的序号,最后 8 位是前面 56 位的 CRC(循环冗余校验)码。DSl8B20 中还
有用于贮存测得的温度值的两个 8 位存贮器 RAM 编号为 0 号和 1 号。1 号存贮器存放温
度值的符号,如果温度为负,则 1 号存贮器 8 位全为 1,否则全为 0 。0 号存贮器用于存
放温度值的补码,LSB(最低位)的“1”表示 0.5 ℃。将存贮器中的二进制数求补再转换成
十进制数并除以 2 就得到被测温度值(-55℃―125℃ ) 。每只 D518B20 都可以设置成两
种供电方式即数据总线供电方式和外部供电方式。采取数据总线供电方式可以节省一根
导线,但完成温度测量的时间较长;采取外部供电方式则多用一根导线,但测量速度较
快。
3.1 特性
• 独特的单线接口仅需一个端口引脚进行通讯
4
• 简单的多点分布应用
• 无需外部器件
• 可通过数据线供电
• 零待机功耗
• 测温范围-55~+125℃,以 0.5℃递增。
• 温度以 9 位数字量读出
• 温度数字量转换时间 200ms(典型值)
• 用户可定义的非易失性温度报警设置
• 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件
• 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统
3.2 DS18B20 工作过程和时序
通过单线总线端口访问 DS18B20 的协议如下:
• 初始化
• ROM 操作命令
• 存储器操作命令
• 执行/数据
初始化
通过单线总线的所有执行(处理)都从一个初始化序列开始。初始化序列包括一个由
总线控制器发出的复位脉冲和跟有其后由从机发出的存在脉冲。
存在脉冲让总线控制器知道 DS18B20 在总线上且已准备好操作。详见“单线信号”节。
ROM 操作命令一旦总线控制器探测到一个存在脉冲,它就可以发出 5 个 ROM 命令中
的任一个。所有 ROM 操作命令都 8 位长度。下面是这些命令:
Read ROM [33h]
这个命令允许总线控制器读到 DS18B20 的 8 位系列编码、唯一的序列号和 8 位 CRC
码。只有在总线上存在单只 DS18B20 的时候才能使用这个命令。如果总上有不止一个
从机,当所有从机试图同时传送信号时就会发生数据冲突(漏极开路连在一起开成相与
的效果)。
Match ROM [55h]
匹配 ROM 命令,后跟 64 位 ROM 序列,让总线控制器在多点总线上定位一只特定的
DS1820。只有和 64 位 ROM 序列完全匹配的 DS18B20 才能响应随后的存储器操作命令。
所有和 64 位 ROM 序列不匹配的从机都将等待复位脉冲。这条命令在总线上有单个或多
个器件时都可以使用。
Skip ROM [CCh]
这条命令允许总线控制器不用提供 64 位 ROM 编码就使用存储器操作命令,在单点总
线情况下右以节省时间。如果总线上不止一个从机,在 Skip ROM 命令之后跟着发一条
读命令,由于多个从机同时传送信号,总线上就会发生数据冲突(漏极开路下拉效果相
剩余26页未读,继续阅读
资源评论
- wkbM62014-07-29内容详细,有参考价值。
- rsx7833766292014-10-20写的比较详细,简单的串口操作!
- JackPai2014-07-29还可以吧,对串口入门还行!
zhunercc
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【岗位说明】技术开发部职能说明书.doc
- 【岗位说明】技术管理部职能说明书.doc
- 【岗位说明】技术中心职能说明书.doc
- 【岗位说明】技术主管岗位说明.doc
- 【岗位说明】技术主管岗位职责.doc
- 【岗位说明】技术总监岗位说明.doc
- 【岗位说明】技术总监岗位职责.doc
- 【岗位说明】技术总监职务描述.doc
- 【岗位说明】驾驶员岗位职责.doc
- 电力系统 电动汽车 新能源汽车 充电优化算法 基于飞蛾扑火算法的电动汽车群有序充电优化 使用飞蛾扑火算法求解一个充电策略优化问题 目标是找到电动汽车充电站的最佳充电策略,以最小化目标函数 号外
- 【岗位说明】开发部岗位职责表.doc
- 【岗位说明】科技公司办公室职能说明书.doc
- 黑客零起点教程CHM版最新版本
- 基于改进EMD编码预测单元分区模式的高效视频隐藏算法及其应用研究
- 永磁同步力矩电机设计与仿真分析 将慢速、大转矩的永磁同步力矩电机列为主要研究对象,主要针对永磁同步力矩电机的电磁设计和模拟展开了工作 运用解析方法,对分数槽集中绕组电动机的磁动势波形、气隙磁密度谐波
- MYSQL注射精华pdf第一版最新版本
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功