ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:199.82KB ,
资源ID:5929717      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5929717.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能温度测量仪表课程设计报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能温度测量仪表课程设计报告.docx

1、智能温度测量仪表课程设计报告课程设计报告课 程: 智能测量仪表 题 目: 智能测量仪表 学生姓名: XXXXXX 专业年级: 2009 自动化 指导教师: XXXXXX XXXX 信 息 与 计 算 科 学 系2013年3月25日智能测量仪表本次课程设计中智能温度测量仪表所采用的温度传感器为LM35DZ。其输出电压与摄氏温度成线性比例关系,无需外部校准,在0100温度范围内精度为0.40.75。,输出电压与摄氏温度对应,使用极为方便。灵敏度为10.0mV/,重复性好,输出阻抗低,电路接口简单和方便,可单电源和正负电源工作。是一种得到广泛使用的温度传感器。本次课程设计的主要目的在于让学生把所学到

2、的单片机原理、电子线路设计、传感器技术与原理、过程控制、智能仪器仪表、总线技术、面向对象的程序设计等相关专业课程的内容系统的总结,并能有效的使用到项目研发中来,做到学以致用。课程设计的内容主要分为三个部分,即使用所学编程语言(C或者汇编)完成单片机方面的程序编写、使用VB或VC语言完成PC机人机界面设计(也可以用C+API实现)、按照课程设计规范完成课程设计报告。1 课程设计任务和要求311 设计任务322 设计要求32系统硬件设计321 STC12C5A60S2单片机A/D转换简介322 LM35DZ简介723 硬件原理图设计73系统软件设计1031 设计任务1032 程序代码1033 系统

3、软件设计调试174系统上位机设计1841 设计任务1842 程序代码1843 系统上位机软件设计调试215系统调试与改善2251 系统调试2252 系统改善226系统设计时常见问题举例与解决办法247总结251. 课程设计任务和要求1.1课程设计任务本次课程设计要求设计出智能化温度测量仪表,要求该测量仪表能够将所测得的温度数据和当前电机设备的运行状况远传给上位机。仪表测量范围为0-100;测量精度为1;可以进行温度整定,比如,温度30,启动压缩机外设;温度20,关闭压缩机外设;要求上位机和下位机都能显示温度值和电机设备的运行状态并且都能独立控制温度数据采集状态和电机设备的运行状态;通讯方式可以

4、采用RS232C或485。上位机要求人机界面在保证简单实用的基础上做的美观。 1.2课程设计要求(1)利用所学专业课相关知识合理的选择器材,使用Protel99se绘制出硬件原理图。(2)使用C语言或者汇编语言完成下位机程序驱动,并且要尽量保证系统的稳定性和可靠性以及实用性。(3)使用VB或VC语言或用C+API( 应用程序接口调用)实现上位机人机界面的设计,要求上位机发送的命令下位机能及时的给予响应,并且上位机能够实时准确的显示下位机所上传数据以及电机设备的运行状态。(4)按照课程设计规范撰写课程设计报告。2. 系统硬件设计2.1 STC12C5A60S2单片机A/D转换简介STC12C5A

5、60S2单片机集成有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_C

6、ONTR构成。如图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,再计算

7、出其他几路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(地址为

8、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-

9、1 模拟通道选择表CHS2CHS1CHS0Analog Channel Select (模拟输入通道选择)000选择 P1.0 作为A/D输入来用001选择 P1.1 作为A/D输入来用010选择 P1.2 作为A/D输入来用011选择 P1.3 作为A/D输入来用100选择 P1.4 作为A/D输入来用101选择 P1.5 作为A/D输入来用110选择 P1.6 作为A/D输入来用111选择 P1.7 作为A/D输入来用程序中需要注意的事项:由于是2套时钟,所以,设置ADC_CONTR控制寄存器后,要加4个空操作延时才可以正确读到ADC_CONTR寄存器的值,原因是设置ADC_CONTR控制

10、寄存器的语句执行后,要经过4个CPU时钟的延时,其值才能够保证被设置进ADC_CONTR控制寄存器。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位放

11、在ADC_RES寄存器的低2位,低8位放在ADC_RESL寄存器。存储格式如下:模/数转换结果计算公式如下:ADRJ = 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转换中断有关的寄存器中断允许控制寄存器IE中的EADC位(D5位)用于

12、开放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。,输出电压与摄氏温度对应,使用极为方便。灵敏度为10.0mV/,重复性好,输出阻抗低,电路接口简单和方便,可单电源和正负电源工作。是一

13、种得到广泛使用的温度传感器。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*7LED显示模块以及电源模块等。1、 串行通信模块原理图如下:本通信过程采用RS232方式进行,由于单片机中的UART和电脑串口RS232的区

14、别仅在于电平的不同,电脑串口采用232电平,而单片机UART则采用TTL电平,如果不进行电平转换,单片机跟电脑串口就不能进行直接通信,RS232是UART的一种就意味着通信协议的格式是一样的,只要电平统一了,两者之间就可以直接通信,此处应用了MAX232这一芯片,MAX232对两者之间通信的数据没有任何作用,仅仅是中介而已,而其只是负责将两者之间的电平进行统一,使两者之间没有通信障碍。另外,MAX232芯片采用单+5V电源供电,仅需几个外接电容即可完成从TTL到RS232电平的转换,共两路。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8

15、脚(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、 模拟信号处理模块原理图如下:此处,我们处理采集到的模拟量电压信号是采用了LM324集成运算放大器管脚排列图见图2-2。LM324系列由四个独立的带有差动输入的,高增益,内部频率补偿运算放大器,其中专为从单电源供电的电压范围经营。从分裂电源的操作也有可能和低电源电流消耗是独立的电源电压

16、的幅度。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。每一组运算放大器可用图1所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。图2-2 LM324集成运算放大器管脚排列图此模拟量

17、处理模块设计的使用起来比较灵活,图中左边的两路放大器都设计成了电压跟随器的形式,这样就减少了输入信号的损失。我们可以将传感器所测得标准电压信号或者电流信号通过P9或者P10接入(也可以使用杜邦线通过J7或者J8接入信号)LM324的其中一路放大器,然后再经过第二级放大使得处理后的电压信号输出到J9。做此课程设计时我们采用的是LM35DZ温度测量传感器,我们把它的输出信号连接到J8的2脚,由此出输入我们的采集到的信号。我们将上面的一路放大器的输入调至零,然后再经过后一级放大器,将两者之差放大5倍。3、 4*7LED显示模块原理图如下:由图中可以看出,我们将数码管的断码端接到了单片机的P2口,控制

18、端接到了P0口的低四位。图中Q2、Q3、Q4、Q5为开关型三极管此处用作数码管的选通控制。3. 系统软件设计3.1程序代码根据下位机软件设计任务的要求,我们可以把程序代码分为一下几个模块:初始化模块、按键扫描模块、A/D转换数据获取模块、串行口通信模块、运算处理模块、延时模块等。其中初始化模块包括程序当中使用的变量的初始化和串行口通信方式初始化还有A/D转换模块的初始化,按键扫描模块是用于按键控制系统时用来响应按键被按下时的,A/D转换数据获取模块部分可以用查询方式,也可以使用中断的方式实现,串行口通信模块用来接收上位机发送来的命令,以控制和监测系统状态,运算处理模块包括多字节之间的加减乘除运

19、算,延时模块用于程序中一小段时间的等待。汇编语言编写的程序代码如下:$ INCLUDE (STC12C5A.INC);定义变量千百十个QIAN EQU 60HBAI EQU 61HSHI EQU 62HGEWEI EQU 63HTEMPMH EQU 64H TEMPML EQU 65H COUNT EQU 66H TEMPMMH EQU 67HTEMPMML EQU 68HORG 0000HLJMP MAINORG 0023HLJMP TONGXINORG 002BHLJMP ADC_ISR ORG 0080HMAIN: LCALL MAIN_INIT LCALL UART1_INIT LCA

20、LL ADC_INITAAA: LCALL SCANFKEYV LCALL DISPLAY SJMP AAAMAIN_INIT: MOV SP,#70H MOV QIAN,#00H MOV BAI,#00H MOV SHI,#00H MOV GEWEI,#00H MOV COUNT,#00H MOV KEYVALUE,#00H MOV TEMPMH,#00H MOV TEMPML,#00H MOV TEMPMMH,#00H MOV TEMPMML,#00H RETUART1_INIT: MOV AUXR,#11H MOV BRT,#0FDH MOV SCON,#50H MOV PCON,#00

21、H SETB EA SETB ES RETSCANFKEYV: MOV P1,#0FFH MOV A,P1 CJNE A,#0FDH,KEYS2 LCALL DELAY10MS MOV A,P1 CJNE A,#0FDH,KEYS2 SETB EADC SJMP NOKEYKEYS2: CJNE A,#0EFH,KEYS3 LCALL DELAY10MS MOV A,P1 CJNE A,#0EFH,KEYS3 CLR EADC SJMP NOKEYKEYS3: CJNE A,#0DFH,KEYS4 LCALL DELAY10MS MOV A,P1 CJNE A,#0DFH,KEYS4 CLR

22、P0.4 CLR EA MOV R7,#04HA21: MOV A,#01H MOV SBUF,A JNB TI,$ CLR TI DJNZ R7,A21 SETB EA SJMP NOKEYKEYS4: CJNE A,#0BFH,NOKEY LCALL DELAY10MS MOV A,P1 CJNE A,#0BFH,NOKEY SETB P0.4 CLR EA MOV R7,#04HA22: MOV A,#02H MOV SBUF,A JNB TI,$ CLR TI DJNZ R7,A22 SETB EA SJMP NOKEYNOKEY: RETADC_INIT: MOV P1ASF,#01

23、H MOV ADC_RES,#00H MOV ADC_RESL,#00H MOV AUXR1,#04H MOV ADC_CONTR,#088H LCALL DELAY10MS ;SETB EADC RETTONGXIN: CLR RI MOV A,SBUF CJNE A,#46H,COMPEND SETB EADCCOMPEND: CJNE A,#47H,STAR1 CLR EADCSTAR1: CJNE A,#51H,STAR2 CLR P0.4STAR2: CJNE A,#03H,END1 CLR P0.5END1: CJNE A,#54H,END2 SETB P0.4END2: CJNE

24、 A,#04,OUTTONGXIN SETB P0.5OUTTONGXIN: RETIADC_ISR: PUSH PSW PUSH ACC INC COUNT ANL ADC_CONTR,#0EFH MOV TEMPMH,ADC_RES MOV TEMPML,ADC_RESL CLR C MOV A,TEMPMML ADD A,TEMPML MOV TEMPMML,A MOV A,TEMPMMH ADDC A,TEMPMH MOV TEMPMMH,A MOV A,COUNT CJNE A,#20H,OUT0 MOV COUNT,#00H MOV R6,TEMPMMH MOV R7,TEMPMM

25、L MOV R4,#00H MOV R5,#20H LCALL DBDIV MOV TEMPMH,5FH MOV TEMPML,5CH MOV TEMPMMH,#00H MOV TEMPMML,#00H LCALL CONVERT MOV R7,#4 MOV R0,#60HSENDTEMP: MOV A,R0 MOV SBUF,A JNB TI,$ CLR TI INC R0 DJNZ R7,SENDTEMP MOV R4,#240A12: DJNZ R4,A11 SJMP OUT0A11: LCALL SCANFKEYV LCALL DISPLAY SJMP A12OUT0: ORL ADC

26、_CONTR,#08H POP ACC POP PSW RETI CONVERT: MOV R2,TEMPMH MOV R3,TEMPML MOV R6,#03H MOV R7,#0E8H LCALL DBMUL MOV R3,56H MOV R4,57H MOV R5,58H MOV R2,#04H MOV R1,#00H LCALL TDSDIV MOV R6,5BH MOV R7,5AH MOV R4,#03H MOV R5,#0E8H LCALL DBDIV MOV QIAN,5CH MOV R6,5DH MOV R7,5EH MOV R4,#00H MOV R5,#64H LCALL

27、 DBDIV MOV BAI,5CH MOV R6,5DH MOV R7,5EH MOV R4,#00H MOV R5,#0AH LCALL DBDIV MOV SHI,5CH MOV GEWEI,5EH OUT: RET DBMUL: MOV A,R3 MOV B,R7 MUL AB XCH A,R7 MOV R5,B MOV B,R2 MUL AB ADD A,R5 MOV R4,A CLR A ADDC A,B MOV R5,A MOV A,R6 MOV B,R3 MUL AB ADD A,R4 XCH A,R6 XCH A,B ADDC A,R5 MOV R5,A MOV F0,C M

28、OV A,R2 MUL AB ADD A,R5 MOV R5,A CLR A MOV ACC.0,C MOV C,F0 ADDC A,B MOV R4,A MOV 56H,R7 MOV 57H,R6 MOV 58H,R5 MOV 59H,R4 RET TDSDIV: CLR C MOV 30H,#0 MOV 31H,#0 MOV 32H,#0 TDSDIV_LOOP: CLR C MOV A,R3 SUBB A,R1 MOV R3,A MOV A,R4 SUBB A,R2 MOV R4,A MOV A,R5 SUBB A,#0 MOV R5,A JC TDSDIV_END _INC_SHANG: CLR C MOV A,30H ADDC A,#1 MOV 30H,A MOV A,31H ADDC A,#0 MOV 31H,A MOV A,32H ADDC A,#0

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1