智能温度测量仪表课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程:智能测量仪表
题目:智能测量仪表
学生姓名:XXXXXX
专业年级:2009 自动化
指导教师:XXXXXX XXXX
信息与计算科学系
2013年3月25日
智能测量仪表
本次课程设计中智能温度测量仪表所采用的温度传感器为LM35DZ。其输出电压与摄氏温度成线性比例关系,无需外部校准,在0℃~100℃温度范围内精度为0.4℃~±0.75℃。,输出电压与摄氏温度对应,使用极为方便。灵敏度为10.0mV/℃,重复性好,输出阻抗低,电路接口简单和方便,可单电源和正负电源工作。是一种得到广泛使用的温度传感器。
本次课程设计的主要目的在于让学生把所学到的单片机原理、电子线路设计、传感器技术与原理、过程控制、智能仪器仪表、总线技术、面向对象的程序设计等相关专业课程的内容系统的总结,并能有效的使用到项目研发中来,做到学以致用。课程设计的内容主要分为三个部分,即使用所学编程语言(C或者汇编)完成单片机方面的程序编写、使用VB或VC语言完成PC机人机界面设计(也可以用C+API实现)、按照课程设计规范完成课程设计报告。
目录
1.课程设计任务和要求 (3)
1.1 设计任务 (3)
2.2 设计要求 (3)
2.系统硬件设计 (3)
2.1 STC12C5A60S2单片机A/D转换简介 (3)
2.2 LM35DZ简介 (7)
2.3 硬件原理图设计 (7)
3.系统软件设计 (10)
3.1 设计任务 (10)
3.2 程序代码 (10)
3.3 系统软件设计调试 (17)
4.系统上位机设计 (18)
4.1 设计任务 (18)
4.2 程序代码 (18)
4.3 系统上位机软件设计调试 (21)
5.系统调试与改善 (22)
5.1 系统调试 (22)
5.2 系统改善 (22)
6.系统设计时常见问题举例与解决办法 (24)
7.总结 (25)
1. 课程设计任务和要求
1.1课程设计任务
本次课程设计要求设计出智能化温度测量仪表,要求该测量仪表能够将所测得的温度数据和当前电机设备的运行状况远传给上位机。仪表测量范围为0-100℃;测量精度为±1℃;可以进行温度整定,比如,温度≥30℃,启动压缩机外设;温度≤20℃,关闭压缩机外设;要求上位机和下位机都能显示温度值和电机设备的运行状态并且都能独立控制温度数据采集状态和电机设备的运行状态;通讯方式可以采用RS232C或485。上位机要求人机界面在保证简单实用的基础上做的美观。
1.2课程设计要求
(1)利用所学专业课相关知识合理的选择器材,使用Protel99se绘制出硬件原理图。
(2)使用C语言或者汇编语言完成下位机程序驱动,并且要尽量保证系统的稳定性和可靠性以及实用性。
(3)使用VB或VC语言或用C+API(应用程序接口调用)实现上位机人机界面的设计,要求上位机发送的命令下位机能及时的给予响应,并且上位机能够实时准确的显示下位机所上传数据以及电机设备的运行状态。
(4)按照课程设计规范撰写课程设计报告。
2. 系统硬件设计
2.1 STC12C5A60S2单片机A/D转换简介
STC12C5A60S2单片机集成有8路10位高速模数转换器(ADC),速度可达到250KHz (25万次/秒,可做温度检测、压力检测、电池电压检测、按键扫描、频谱检测等。STC12C5A60S2单片机片内集成8通道10位模数转换器(ADC)。ADC输入通道与P1口复用,上电复位后P1口为弱上拉型I/O口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不需作为A/D 使用的口可继续作为I/O口使用。
2.1.1 模数转换器的结构图
STC12C5A60S2单片机的模数转换器由多路选择开关、比较器、逐次比较寄存器、10位ADC、转换结果寄存器(ADC_RES和ADC_RESL)以及ADC控制寄存器ADC_CONTR 构成。如图2-1所示。
图2-1 STC12C5A单片机内部A/D转换结构图
2.1.2 模数转换器的参考电压
STC12C5A60S2单片机A/D转换模块的参考电压源是输入工作电压Vcc,所以一般不用外接参考电压源。如三端稳压电路7805的输出电压是5V,但实际电压可能是4.88V 到4.96V,如果用户需要的精度比较高,可在应用产品出厂前将实际测出的工作电压值记录在单片机内部的EEPROM里面,以供程序校正使用。
如果Vcc不稳定(例如电池供电的系统中,电池电压常常在5.3V-4.2V之间漂移),则需要在8路A/D转换的一个通道外接一个稳定的参考电压源,来计算出此时的工作电压Vcc,再计算出其他几路A/D转换通道的电压。例如,可在ADC转换通道的第七通道外接一个 1.25V的基准参考电压源,由此求出此时的工作电压Vcc,再计算出其它几路A/D转换通道的电压。
2.1.3 与ADC 相关的寄存器
1、 P1口模拟功能控制寄存器P1ASF (地址为9DH ,复位值为00H )
如果要使用相应口的模拟功能,需将P1ASF 特殊功能寄存器中的相应位置为‘1’。如,若要使用P1.6的模拟量功能,则需要将P16ASF 设置为1。(注意,P1ASF 寄存器不能位寻址,可以使用汇编语言指令ORL P1ASF, #40H ,也可以使用C 语言语句P1ASF |= 0x40;)
2、 ADC 控制寄存器ADC_CONTR (地址为BCH ,复位值为00H )
1)ADC_POWER :ADC 电源控制位。 0:关闭ADC 电源。1:打开ADC 电源。 2)SPEED1、SPEED0:ADC 转换速度控制位。
3)ADC_FLAG :A/D 转换结束标志位。A/D 转换完成后,ADC_FLAG = 1,要由软件清0。不管A/D 转换完成后由该位申请产生中断,还是由软件查询该标志位判断A/D 转换是否结束,当A/D 转换完成后,ADC_FLAG = 1,一定要软件清0。
4)ADC_START :A/D 转换启动控制位,ADC_START=1,开始转换;ADC_START=0,停止转换。
5)CHS2、CHS1、CHS0:模拟输入通道选择,如表2-1所示。
表2-1 模拟通道选择表
CHS0
CHS1
CHS2
ADC_START
ADC_FLAG
SPEED0
SPEED1
ADC_POWER
位名称 D0 D1 D2 D3 D4 D5 D6 D7
位号
P10ASF
P11ASF
P12ASF
P13ASF
P14ASF
P15ASF
P16ASF
P17ASF
位名称
D0 D1 D2 D3 D4 D5 D6 D7 位号