温度测控系统设计
- 格式:doc
- 大小:790.00 KB
- 文档页数:21
测控工程测控工程设计基于串口通讯温度控制系统的设计院系:钦州学院数学与计算机科学系班级:计算机控制技术081班学号:姓名:指导教师:2010年7月11日目录第1节引言 (3)(1)串口通讯简介 (3)(2) 51单片机简介 (3)(3) ADC0809模数转换芯片系统简介 (3)(4) RS-232串口通讯系统简介 (4)第2节项目概述 (5)第3节设计目的 (5)第4节设计准备 (5)第5节设计总框图 (5)第6节设计流程图 (6)第7节设计硬件图 (7)第8节设计接线说明 (7)第9节上位机软件编程及其说明 (8)(1)上位机软件效果图 (8)(2)上位机软件全代码 (10)第10节下位机软件编程及其说明 (16)第11节总结 (20)1.引言(1)串口通讯简介:串口通信(Serial Communication),是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。
这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。
随着计算机系统的应用和微机网络的发展,通信功能越来越显的重要.这里所说的通信是指计算机与外界的信息交换.因此,通信既包括计算机与外部设备之间,也包括计算机和计算机之间的信息交换.由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输.对于那些与计算机相距不远的人-机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍.在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各CPU 之间的通信一般都是串行方式.所以串行接口是微机应用系统常用的接口。
许多外设和计算机按串行方式进行通信,这里所说的串行方式,是指外设与接口电路之间的信息传送方式,实际上, CPU 与接口之间仍按并行方式工作.(2) 51单片机简介:89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。
89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特征有:·与MCS-51 兼容; 4K字节可编程闪烁存储器;寿命:1000写/擦循环;·数据保留时间:10年; 全静态工作:0Hz-24MHz; 三级程序存储器锁定;·128*8位内部RAM; 32可编程I/O线; 两个16位定时器/计数器;·5个中断源; 可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路; (3) ADC0809模数转换芯片系统简介:ADC0809模数转换器,ADC0809是8通道8位CMOS逐次逼近式A/D转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路,A/D转换后的数据由三态锁存器输出,由于片内没有时钟需外接时钟信号。
下图为该芯片的引脚图。
各引脚功能如下:IN0~IN7:八路模拟信号输入端。
ADD-A、ADD-B、ADD-C:三位地址码输入端。
八路模拟信号转换选择由这三个端口控制。
CLOCK:外部时钟输入端(小于1MHz)。
D0~D7:数字量输出端。
OE:A/D转换结果输出允许控制端。
当OE为高电平时,允许A/D转换结果从D0~D7端输出。
ALE:地址锁存允许信号输入端。
八路模拟通道地址由A、B、C输入,在ALE信号有效时将该八路地址锁存。
START:启动A/D转换信号输入端。
当START端输入一个正脉冲时,将进行A/D转换。
EOC:A/D转换结束信号输出端。
当 A/D转换结束后,EOC输出高电平。
Vref(+)、Vref(-):正负基准电压输入端。
基准正电压的典型值为+5V。
V CC和GND:芯片的电源端和地端。
(4) RS-232串口通讯系统简介:EIA RS-232C 是由美国电子工业协会EIA(Electronic Industry Association)在1 969年颁布的一种串行物理接口标准。
RS(Recommended Standard)是英文“推荐标准”的缩写,232为标识号,C表示修改次数。
RS-232C 总线标准设有25条信号线,包括一个主通道和一个辅助通道。
在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。
RS-232C 标准规定的数据传输速率为每秒150、300、600、1200、2400、480 0、9600、19200波特。
RS-232C 标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。
传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。
串行通信接口标准经过使用和发展,目前已经有几种。
但都是在RS-232标准的基础上经过改进而形成的。
所以,以RS-232C为主来讨论。
RS-232C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。
它适合于数据传输速率在0~20000b/s范围内的通信。
这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。
由于通行设备厂商都生产与RS-232C 制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。
2.项目概述在工业生产和日常生活中,经常需要对远程设备温度进行监测和控制以及数值进行采集,然后进处理和提示,依据处理的结果对现场的温度开关进行控制;串口通讯具有高效、简洁,可方便的与可类控制设备及计算机连接,远程传输数据快等特点,基于串口与PC机通讯控制温度传感器控制系统具有设计简单,安全性好的特点,具有广泛的应用前景。
3.设计目的(1)了解温度传感器电路的工作原理(2)进一步熟悉A/D变换电路的工作原理及程序编写(3)进一步熟悉led数码管显示的方法(4)进一步熟悉vs2008串口通讯编程4.设计准备器材:RS232/485芯片,AT89s51芯片一块,串口线一根,5个led数码管,ADC0809芯片模数转换系统,导线若干(以上耗材均由实验箱集成),装有vs2008软件PC机一台。
5.设计总框图6.设计流程图7.设计硬件图8.设计接线说明(1)单片机最小应用系统1的 P0口接A/D转换的D0~D7口,单片机最小应用系统1的Q0~Q7口接0809的A0~A7口,单片机最小应用系统1的WR、RD、P2.0、ALE、INT1分别接A/D转换的WR、RD、P2.0、CLOCK、INT1,A/D转换的IN接继电器与温度控制部件的Tout,单片机最小应用系统1的T0、T1连接到串行静态显示实验模块的DIN、CLK,将A/D 转换的电位器顺时针旋到底,还有P2.1接口接温度传感器加热接口,并且TXD、RXD分别接RS-232串口通讯的TXD、RXD接口,串口接上位机。
(2)用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
(3)打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加温度传感.ASM 源程序,进行编译,直到编译无误。
(4)进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
(5)打开模块电源和总电源,点击开始调试按钮,运行程序,此时LED数码管会以XX°C显示当前温度值,即为十进制温度值,当气温低于0℃时温度值前面出现“-”。
*注意:本实验源程序中T H为150℃但显示只有两位,即最高温度只能显示99℃,但温度超过99℃时,显示将出错。
9.上位机软件编程及其说明(1)上位机软件效果图:未运行前:由于为了方便,很多控件直接命名了,就不在初始化里面命名。
运行软件后:设置各按钮效果图:最终波形动态效果与报警效果图:(2)上位机软件全代码:Imports System.IO.PortsImports System.ThreadingPublic Class Form1Dim ReadThread As ThreadDim Continued As Boolean = FalseDim message As StringDim x1() As Integer = {0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350, 375, 400, 425, 450, 475, 500, 525, 550} ‘picturebox1内画线坐标数组设置Dim y1() As Integer = {30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30} ‘picturebox1内画线坐标数组设置Dim y As Integer = 30 ‘初始化温度为30°CDim gaowen As Single = 60 ‘初始化高温报警Dim diwen As Single = 20 ‘初始化低温报警Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosingMe.Continued = FalseMe.ReadThread.Abort() '关闭窗口时关闭线程End SubPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadDim s As String'对窗口进行初始化With Me.Text = "PC——RZ-51串口通讯——潘杰炜".MaximizeBox = False.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle.AcceptButton = .Button3.CancelButton = .Button5.ReadThread = New Thread(AddressOf Read).ReadThread.Start() ‘开启多线程.GroupBox1.Text = "连接部分".GroupBox2.Text = "版权信息".Label1.Text = "选择端口:".Label2.Text = "选择波特率".Label3.Text = "设备未加热!!".Label4.Text = "当前温度:".Label5.Text = "".ComboBox1.Text = "COM1".ComboBox2.Text = "4800".ComboBox1.Enabled = True.ComboBox2.Enabled = True.ComboBox1.Items.Clear()For Each s In SerialPort.GetPortNames().ComboBox1.Items.Add(s.ToString)Next s.ComboBox2.Items.Add("110").ComboBox2.Items.Add("300").ComboBox2.Items.Add("600").ComboBox2.Items.Add("1200").ComboBox2.Items.Add("2400").ComboBox2.Items.Add("4800").ComboBox2.Items.Add("9600").ComboBox2.Items.Add("14400").ComboBox2.Items.Add("19200").ComboBox2.Items.Add("38400").ComboBox2.Items.Add("56000").ComboBox2.Items.Add("57600").ComboBox2.Items.Add("115200").ComboBox2.Items.Add("128000").ComboBox2.Items.Add("256000").ComboBox2.Items.Add("512000").Button2.Enabled = False.Button3.Enabled = True.Button4.Enabled = True.ComboBox1.Focus().TextBox1.ReadOnly = True.TextBox1.Dock = DockStyle.Fill.TextBox1.BorderStyle = BorderStyle.None.TextBox1.Text = " 本软件作者:潘杰炜" + Chr(13) + Chr(10) + " 本软件专门实现PC机与单片机通讯,同时实现PC机对单片机温度监控系统的控制。