1、课程设计报告课 程: 智能测量仪表 题 目: 智能测量仪表 学生姓名: 专业年级: 自动化 指导教师: 信 息 与 计 算 科 学 系2013 年 3 月 23 日信息与计算科学系课程设计报告2智能测量仪表本次课程设计中智能温度测量仪表所采用的温度传感器为 LM35DZ。其输出电压与摄氏温度成线性比例关系,无需外部校准,在 0 100温度范围内精度为 0.40.75。 ,输出电压与摄氏温度对应,使用极为方便。灵敏度为 10.0mV/,重复性好,输出阻抗低,电路接口简单和方便,可单电源和正负电源工作。是一种得到广泛使用的温度传感器。本次课程设计的主要目的在于让学生把所学到的单片机原理、电子线路设
2、计、传感器技术与原理、过程控制、智能仪器仪表、总线技术、面向对象的程序设计等相关专业课程的内容系统的总结,并能有效的使用到项目研发中来,做到学以致用。课程设计的内容主要分为三个部分,即使用所学编程语言(C 或者汇编)完成单片机方面的程序编写、使用 VB 或 VC 语言完成 PC 机人机界面设计(也可以用 C+API 实现) 、按照课程设计规范完成课程设计报告。信息与计算科学系课程设计报告3目录1 课程设计任务和要求311 设计任务322 设计要求32系统硬件设计321 STC12C5A60S2 单片机 A/D 转换简介322 LM35DZ 简介723 硬件原理图设计73系统软件设计1031 设
3、计任务1032 程序代码1033 系统软件设计调试174系统上位机设计1841 设计任务1842 程序代码1843 系统上位机软件设计调试215系统调试与改善2251 系统调试2252 系统改善226系统设计时常见问题举例与解决办法24信息与计算科学系课程设计报告47总结251. 课程设计任务和要求1.1 课程设计任务本次课程设计要求设计出智能化温度测量仪表,要求该测量仪表能够将所测得的温度数据和当前电机设备的运行状况远传给上位机。仪表测量范围为 0-100;测量精度为1;可以进行温度整定,比如,温度30,启动压缩机外设;温度20,关闭压缩机外设;要求上位机和下位机都能显示温度值和电机设备的运
4、行状态并且都能独立控制温度数据采集状态和电机设备的运行状态;通讯方式可以采用RS232C 或 485。上位机要求人机界面在保证简单实用的基础上做的美观。 1.2 课程设计要求(1)利用所学专业课相关知识合理的选择器材,使用 Protel99se 绘制出硬件原理图。(2)使用 C 语言或者汇编语言完成下位机程序驱动,并且要尽量保证系统的稳定性和可靠性以及实用性。(3)使用 VB 或 VC 语言或用 C+API( 应用程序接口调用)实现上位机人机界面的设计,要求上位机发送的命令下位机能及时的给予响应,并且上位机能够实时准确的显示下位机所上传数据以及电机设备的运行状态。(4)按照课程设计规范撰写课程
5、设计报告。2. 系统硬件设计信息与计算科学系课程设计报告52.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 模数转换器的
6、结构图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,但实际电压可能是ADC7/P1.7C6/P1.6ADC5/P1.5C4/P1.4ADC3/P1.32/P1.2ADC
7、1/P1.0/P1.0 10-bit DACA/DADC_RESADC_RESLCHS2/CHS1/CHS0ADC_POWERSPED1SPED0ADC_FLAGDC_STARTCHS2CHS1CHS0ADCADC_ONTR信息与计算科学系课程设计报告64.88V 到 4.96V,如果用户需要的精度比较高,可在应用产品出厂前将实际测出的工作电压值记录在单片机内部的 EEPROM 里面,以供程序校正使用。如果 Vcc 不稳定(例如电池供电的系统中,电池电压常常在 5.3V-4.2V 之间漂移), 则需要在 8 路 A/D 转换的一个通道外接一个稳定的参考电压源,来计算出此时的工作电压 Vcc,再
8、计算出其他几路 A/D 转换通道的电压。例如,可在 ADC 转换通道的第七通道外接一个 1.25V 的基准参考电压源,由此求出此时的工作电压 Vcc,再计算出其它几路 A/D 转换通道的电压。2.1.3 与 ADC 相关的寄存器1、 P1 口模拟功能控制寄存器 P1ASF(地址为 9DH,复位值为 00H)P10ASFP11ASFP12ASFP13ASFP14ASFP15ASFP16ASFP17ASF位名称D0D1D2D3D4D5D6D7位号如果要使用相应口的模拟功能,需将 P1ASF 特殊功能寄存器中的相应位置为1 。如,若要使用 P1.6 的模拟量功能,则需要将 P16ASF 设置为 1。
9、 (注意,P1ASF 寄存器不能位寻址,可以使用汇编语言指令 ORL P1ASF, #40H,也可以使用 C 语言语句P1ASF |= 0x40;)2、 ADC 控制寄存器 ADC_CONTR(地址为 BCH,复位值为 00H)CHS0CHS1CHS2ADC_STARTADC_FLAGSPEED0SPEED1ADC_POWER位名称D0D1D2D3D4D5D6D7位号1)ADC_POWER:ADC 电源控制位。0:关闭 ADC 电源。1:打开 ADC 电源。 2)SPEED1、SPEED0:ADC 转换速度控制位。3)ADC_FLAG:A/D 转换结束标志位。A/D 转换完成后,ADC_FLA
10、G = 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 模 拟 通 道 选 择 表信息与计算科学系课程设计报告7CHS2 CHS1 CHS0 Analog Channel Select (模拟输入通道选择)0 0 0 选择 P1.0 作为A/D输入来用0 0 1 选择
11、 P1.1 作为A/D输入来用0 1 0 选择 P1.2 作为A/D输入来用0 1 1 选择 P1.3 作为A/D输入来用1 0 0 选择 P1.4 作为A/D输入来用1 0 1 选择 P1.5 作为A/D输入来用1 1 0 选择 P1.6 作为A/D输入来用1 1 1 选择 P1.7 作为A/D输入来用程序中需要注意的事项:由于是 2 套时钟,所以,设置 ADC_CONTR 控制寄存器后,要加 4 个空操作延时才可以正确读到 ADC_CONTR 寄存器的值,原因是设置 ADC_CONTR 控制寄存器的语句执行后,要经过 4 个 CPU 时钟的延时,其值才能够保证被设置进 ADC_CONTR
12、控制寄存器。3、 A/D 转换结果寄存器 ADC_RES、ADC_RESL特殊功能寄存器 ADC_RES(地址为 BDH,复位值为 00H)和 ADC_RESL(地址为BEH,复位值为 00H)用于保存 A/D 转换结果。A/D 转换结果存储格式由辅助寄存器 AUXR1(地址为 A2H,复位值为 00H)中的ADRJ 控制,ADRJ 是 AUXR1 中的 D2 位。(1)当 ADRJ=0 时,10 位 A/D 转换结果的高 8 位放在 ADC_RES 寄存器,低 2 位放在 ADC_RESL 寄存器。存储格式如下:(2)当 ADRJ=1 时,10 位 A/D 转换结果的最高 2 位放在 ADC
13、_RES 寄存器的低 2 位,低 8 位放在 ADC_RESL 寄存器。存储格式如下:模/数转换结果计算公式如下:信息与计算科学系课程设计报告8ADRJ = 0 时,取 10 位结果 (ADC_RES7:0,ADC_RESL1:0) = 1024 Vin / VccADRJ = 0 时,取 8 位结果 ADC_RES7:0 = 256 Vin / VccADRJ = 1 时,取 10 位结果 (ADC_RES1:0,ADC_RESL7:0) = 1024 Vin / VccVin 为模拟输入通道输入电压,Vcc 为单片机实际工作电压,用单片机工作电压作为模拟参考电压。4、 与 A/D 转换中断
14、有关的寄存器中断允许控制寄存器 IE 中的 EADC 位(D5 位)用于开放 ADC 中断,EA 位(D7 位)用于开放 CPU 中断;中断优先级寄存器 IP 中的 PADC 位(D5 位)和 IPH 中的 PADCH 位(D5 位)用于设置 A/D 中断的优先级。在中断服务程序中,要使用软件将 A/D 中断标志位 ADC_FLAG(也是 A/D 转换结束标志位)清 0。2.2 LMDZ35 简介TS-LM35 温度传感器是由 LM35CZ/DZ 集成电路温度传感器外加金属套密封组装而成,其输出电压与摄氏温度成线性比例关系,无需外部校准,在-55+150温度范围内精度为 0.40.75。 ,输
15、出电压与摄氏温度对应,使用极为方便。灵敏度为10.0mV/,重复性好,输出阻抗低,电路接口简单和方便,可单电源和正负电源工作。是一种得到广泛使用的温度传感器。LM35 技术特性: 温度范围:LM35DZ 0100;LM35CZ -40110 在摄氏温度下直接校准 线性刻度系数: +10.0mV/ 精度:0.5 (在 25) 工作电压为 430V 功耗:小于 60uA 自热效应小于 0.08 非线性:0。25 输出阻抗:0.1/1mA 输出电压:+6V-1.0V 适合于远程应用 输出电流 10mA:2.3 硬件原理图设计该系统硬件原理图可大体分为这几个模块: 串行通信模块、模拟信号处理模块、4*
16、7LED 显示模块以及电源模块等。1、 串行通信模块原理图如下:信息与计算科学系课程设计报告9本通信过程采用 RS232 方式进行,由于单片机中的 UART 和电脑串口 RS232 的区别仅在于电平的不同,电脑串口采用 232 电平,而单片机 UART 则采用 TTL 电平,如果不进行电平转换,单片机跟电脑串口就不能进行直接通信,RS232 是 UART 的一种就意味着通信协议的格式是一样的,只要电平统一了,两者之间就可以直接通信,此处应用了MAX232 这一芯片,MAX232 对两者之间通信的数据没有任何作用,仅仅是中介而已,而其只是负责将两者之间的电平进行统一,使两者之间没有通信障碍。另外
17、,MAX232 芯片采用单+5V 电源供电,仅需几个外接电容即可完成从 TTL 到 RS232 电平的转换,共两路。其中 13 脚(R1IN) 、12 脚(R1OUT) 、11 脚(T1IN) 、14 脚(T1OUT)为第一数据通道。8 脚(R2IN) 、9 脚(R2OUT) 、10 脚(T2IN) 、7 脚(T2OUT)为第二数据通道。TTL/CMOS 数据从 T1IN、T2IN 输入转换成 RS-232 数据从 T1OUT、T2OUT 送到电脑 DP9插头;DP9 插头的 RS-232 数据从 R1IN、R2IN 输入转换成 TTL/CMOS 数据后从R1OUT、R2OUT 输出。2、 模
18、拟信号处理模块原理图如下:信息与计算科学系课程设计报告10此处,我们处理采集到的模拟量电压信号是采用了 LM324 集成运算放大器管脚排列图见图 2-2。LM324 系列由四个独立的带有差动输入的,高增益,内部频率补偿运算放大器,其中专为从单电源供电的电压范围经营。从分裂电源的操作也有可能和低电源电流消耗是独立的电源电压的幅度。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该四放大器可以工作在低到 3.0 伏或者高到 32 伏的电源下,静态电流为 MC1741 的静态电流的五分之一。共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。每一组运算放大器可用图 1 所示的符号来表示,它有 5 个引出脚,其中“+” 、 “-”为两个信号输入端, “V+”、 “V-”为正、负电源端, “Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端 Vo 的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端 Vo的信号与该输入端的相位相同。