№. 5 陕西科技大学学报 Oct . 2007
·84 · J OU RNAL OF SHAANXI UN IV ERSIT Y O F SCIENCE & TEC HNOLO GY Vol. 25
文章编号 :1000
5811 (2007) 05
0084
04
3
基于 PROTEUS 的单片机多路温度采集系统
的仿真设计
王红仓 , 张俊涛
(陕西科技大学电气与信息工程学院 , 陕西 西安 710021)
摘 要 : 介绍了 PRO TEU S 软件以及基于 PRO TEU S 进行单片机系统开发的过程 , 并在
PRO TEU S 环境下完成了基于 DS18B20 的多路温度采集系统的仿真设计. 该系统可以完成温
度的测量和显示 、向上位机传送数据以及限报警等多种功能. 本研究证明 ,在 PRO TEU S 环境
下可以完成单片机系统的硬件设计和软件调试 ,测试系统的性能 ,在实际应用中可以降低设计
成本 ,缩短开发周期 ,提高效率.
关键词 : PRO TEU S ; DS18B20 ;单片机
中图分类号 : TP212. 11 文献标识码 :A
0 引言
随着微电子技术的迅猛发展 , 单片机在汽车 、通信 、办公自动化 、工业控制 、高级玩具 、家用电器等方
面都得到了广泛的应用. 单片机作为嵌入式系统的核心器件 , 其系统设计包括硬件电路设计和程序设计
两个方面 ,调试过程一般分为软件调试 、硬件测试 、系统调试 3 个过程. 软件调试一般比较容易进行 , 但如
果要进行硬件电路测试和系统调试则比较麻烦 , 因为要进行这两个过程必须在电路板制作完成 、元器件
焊接完毕之后进行 ,而且电路板的制作 、元器件的安装及焊接费时费力. 如果将 PRO TEU S 作为单片机系
统仿真工具 , 则不用制作电路板也能够完成以上工作. 毫无疑问 , 在使用 PRO TEU S 进行系统虚拟开发
成功之后再制作电路板 ,会缩短开发周期 ,提高设计效率 ,降低开发成本 ,这些因素对于产品设计是非常重
要的.
1 PROTEUS 简介
PRO TEU S 是基于 SPICE3F5 仿真引擎的混合电路仿真软件 ,不仅能够仿真模拟 、数字电路以及模数
混合电路 , 更 具特 色的 是 PRO TEU S 能 够仿 真 基 于 单 片 机 的 电 子 系 统. PRO TEU S 不 但 完 全 支 持
51及其派生系列单片机的设计系统 , 另外也能仿真基于 AV R 和 PIC 系列的单片机系统. PRO
MCS
TEU S 软件可提供的模拟和数字 、交流和直流等元器件库多达 30 多个 , 共计数千种元器件. 此外 , 对于
元件库中没有的器件 ,使用者也可依照需要自己创建. 在软件调试方面 , PRO TEU S 自身只带汇编编译
器 , 不支持 C 语言 ,但可以与 Keil C51 集成开发环境连接 , 将用汇编和 C 语言编写的程序编译好之后 ,
可以立即进行软 、硬件结合的系统仿真 , 像使用仿真器一样来调试程序[ 1 ] .
2 硬件方案设计
本设计中以 DS18B20 为传感器 、A T89C51 单片机为控制核心组成多点温度测试系统 ,如图 1 所示 ,
收稿日期 :2007 - 04 - 27
作者简介 :王红仓 (1981 - ) ,男 ,陕西省合阳县人 ,在读硕士生 ,研究方向 :工业过程智能控制
第 5 期
王红仓等 :基于 PRO TEU S 的单片机多路温度采集系统的仿真设计
·58·
该系统包括传感器电路 、键盘与显示电路 、串口通信电路等组成部分.
2. 1 传感器部分
图 1 硬件仿真图
DS18B20 是一种数字化的温度传感器 ,数据输出 9~12 位可以通过编程进行选择. 当选用 12 位输出
时 ,最大温度转换时间为 750 ms. 该器件采用单线通讯 ,可以允许在通讯总线上级联多个 DS18B20 器件 ,
所以很适合多点测温. 在 DS18B20 片内设有报警单元 ,用户可以定义报警的上下限. 在完成温度转换后 ,
与贮存在寄存器中的用户补码触发报警 T H 值和 TL 值进行比较而触发报警. 为了适应不同场合的测温
要求 , DS18B20 采用 3 种封装形式 ,即 TO
292 可用于远距离测温 ,后两种
可安装于仪器设备的内部 , 用于环境温度监测或室内温度监测等. 该器件的供电也很灵活 , 可使用
DC3. 0 V~5. 5 V 外部供电 ,也可以采用寄生取电模式供电 ,即把电源端和地端短路接地而在数据通讯
线上寄生取电. 此外 , DS18B20 还有应用简单无需任何外围元件 、测温范围广 ( - 55 ℃~ + 125 ℃) 、测温精
度高 ( - 10 ℃~ + 85 ℃范围内精度 ±0. 5 ℃) 等特点 ,可以应用于恒温控制 、工业系统 、消费类产品 、温度计
以及其他热敏感系统[ 2 ] .
292 、8 脚 SO 、8 脚μSO P. TO
DS18B20 的内 部结 构如 图 2 所
示 ,主要包括寄生电源电路 、64 位只
读存储器 ( ROM) 和单线接口 、存储器
和控制逻辑 、存放中间数据的高速暂
存存储器 、温度传感器 、报警上限寄存
器 T H 、报警下限寄存器 TL 、配置寄
存器和 8 位 CRC(循环冗余校验码) 发
生器. DS18B20 的核心是其数字温度
传感器 ,精度可以通过用户编程配置
为 9 、10 、11 和 12 位 ,其分别对应于 0. 5 ℃、0. 25 ℃、0. 125 ℃和0. 062 5 ℃,可以满足各种不同的分辨率要
求. 开始一次温度转换时 ,微处理器需要向 DS18B20 发出 Convert T 指令. 转换完成之后 ,该温度数据存
图 2 DS18B20 的内部结构图
·68·
陕西科技大学学报
第 25 卷
放在高速暂存存储器的温度寄存器中 ,占用 2 字节 ,并且 DS18B20 返回到空闲状态. 当 DS18B20 采用外
部供电方式时 ,主机可以在发送温度转换指令后发起一次读时隙. 若此时该 DS18B20 已经完成温度转换 ,
它将会返回“1”,否则返回“0”.
2. 2 测温部分
本部分采用将 DS18B20 的 I/ 0 数据线与 89C51 单片机 P3. 3 、P3. 4 、P3. 5 、P3. 6 口线相连 ,用 4 只
DS18B20 同时测量 4 路温度 (视实际需要还可扩展通道数) 实现多点温度检测. DS18B20 只有 3 个引脚 ,
其中两根是电源线 VDD 和 GND (本设计中采用外部电源供电方式 ) ,另外 1 根用作总线 DQ ,其输出和
输入均是数字信号且与 T TL 电平兼容 ,因此可以与微处理器直接进行接口[ 3 ] . 主 CPU 经过单线接口访
问 DS18B20 的工作流程为 :对 DS18B20 进行初始化 →ROM 操作命令 →存储器操作命令 →数据处理.
主 CPU 对 ROM 操作完毕后即发出控制操作命令 ,使 DS18B20 完成温度测量并将测量结果存入高速暂
存器中 ,然后读出此结果.
2. 3 键盘与显示部分
本设计采用独立式键盘和液晶显示. 键盘用来设置上限与下限的温度报警 ,字符液晶用来显示通道
号 、该通道的温度和所设置的上下限温度. 使用液晶显示更加形象 ,而且抗干扰能力强 ,便于以后扩展. 当
运行 PRO TEU S 软件时 ,从液晶屏可以清楚的看到所采集到的温度值 、通道号和上下限报警.
2. 4 串口通信
系统通过串口与上位及通信 ,可以实时向上位机传送温度值. 实物中通过 RS232 总线与计算机连接 ,
接受数据界面由 VB 编写. 当运行 PRO TEU S 软件时 ,可以从虚拟终端看到上位机接收到的 4 个通道的
温度值循环.
系统仿真软件流程图如图 3 所示.
3 软件电路设计
单片机编程在开机之初 ,主程序先对系统进行初始化 ,然后采集 4 路温度信号 ,并在液晶屏上循环显
示 ,同时液晶屏还显示报警温度极限 (上 、下限) ,默认上限为 110 ℃,下限为 - 20 ℃. 其中上下限温度可以
通过键盘来修改 ,按 T H + 键则上限报警加 1 ,反之按 T H - 键上限报警减 1 ;按 TL + 键下线报警加 1 , TL -
键下线报警则减 1. 测温过程是主机在测温时间把当前通道号发送给从机 ,从机采集好温度后把温度数据
发送回主机 ,主机接收到后在液晶屏上显示当前通道测温数据 ,并判别是否报警 ,如果报警则蜂鸣器给出
信号 ,同时把通道号 、温度发送给上位机 ,完成一个通道的温度数据采集处理 ,然后进行下一个数据的采集
及处理 ,如此循环往复.
第 5 期
王红仓等 :基于 PRO TEU S 的单片机多路温度采集系统的仿真设计
·78·
3. 1 软硬联合调试
整个软件通过 C 语言编程 ,先在 Keil C51 集成开发环境下将编好的程序进行编译 、调试 ,调试通过后
会生成 DS18B20. H EX 文件. 运行 PRO TEU S 模拟仿真软件 ,打开已绘制好的仿真电路原理图 ,选中单片
机 A T89C51 ,左键点击 A T89C51 ,出现对应的对话框 ,在 Program File 中找到编译好的“DS18B20. H EX”
文件 ,然后点击“O K”就可以进行仿真了. 点击模拟调试按钮的运行按钮 ,进入调试状态 ,此时可以看到液
晶屏循环显示所采集到的温度值 、通道号和上下限报警 ,同时在虚拟终端上也可以看到上位机接收到的数
据 ,图 4 为虚拟终端接受到的数据窗口[ 4 ] .
4 结束语
本文利用 Proteus 与 KEIL C51 对单片机多点温度测量系统进行了仿真设计. 从本文结果可以看出 ,
利用 Proteus 进行单片机系统的仿真设计可以极大地简化单片机程序在目标硬件上的调试工作 ,大幅度
节省制作电路板的时间 ,对于提高产品的开发效率 、降低开发成本等有重要作用.
参 考 文 献
[ 1 ] 沙春芳. PRO TEUS VSM 在单片机系统仿真中的应用[J ] . 现代电子技术 ,2004 , (24)
[ 2 ] 赵红旗 ,王云景. DS18B20 在 16 路测温系统中的应用[J ] . 仪表技术 ,2006 , (1) :49
[ 3 ] 沙占友. 智能化集成温度传感器原理与应用[J ] . 北京 :机械工业出版社 ,2002.
[ 4 ] 刘映群. Proteus 与 Keil 整合构建单片机虚拟实验室[J ] . 中国现代教育装备 ,2005 , (8) :21
52.
:60
63.
24.
DESIGN OF 4
CHANNEL TEMPERATURE ACQUSITION
SYSTEM BASED ON PROTEUS
WAN G Hong
cang , ZHAN G J un
tao
(School of Electrical and Information Engineering , Shaanxi University of Science & Technology , Xi′an
710021 , China)
Abstract :The develop ment of MCU system includes hardware designs and software designs.
The t raditional met hod is directly use simulators to test on hardware. Hardware circuit s need
to be changed and retested when hardware circuit s do not meet t he requirement s of t he de
sign. By using PRO TEU S , t he simulation and design of MCU systems can be realized , by
which t he design co st s can be much more decreased , develop ment cycles could be shorted
too , and efficiency is enhanced. U nder t he PRO TU ER circumstances , t his paper successf ul
finished t he simulation and design of 4
temperat ure acquisition system based on
PRO TU ES , which tested t he advantages of t he develop ment of MCU system based on PRO
TU ES.
Key words : PRO TEU S ; DS18B20 ; MCU
channel