单片机原理及应用课程设计单片机温度控制器.doc

上传人:laozhun 文档编号:4144559 上传时间:2023-04-07 格式:DOC 页数:25 大小:123KB
返回 下载 相关 举报
单片机原理及应用课程设计单片机温度控制器.doc_第1页
第1页 / 共25页
单片机原理及应用课程设计单片机温度控制器.doc_第2页
第2页 / 共25页
单片机原理及应用课程设计单片机温度控制器.doc_第3页
第3页 / 共25页
单片机原理及应用课程设计单片机温度控制器.doc_第4页
第4页 / 共25页
单片机原理及应用课程设计单片机温度控制器.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《单片机原理及应用课程设计单片机温度控制器.doc》由会员分享,可在线阅读,更多相关《单片机原理及应用课程设计单片机温度控制器.doc(25页珍藏版)》请在三一办公上搜索。

1、课 程 设 计 课程名称 单片机原理及应用课程设计 题目名称 单片机温度控制器 学生学院 专业班级 号 学生姓名 指导教师 2007 年 06 月 29 日题目名称单片机温度控制器学生学院专业班级姓 名学 号一、课程设计的内容制冷/热电专业本科学生学习了“单片机原理与接口”课程后,通过本课程设计巩固、活化所学的专业理论知识,基本掌握单片机测控系统的设计方法,为今后的学习和工作奠定良好的实验基础。课程教学目的及基本要求为:1.了解单片机测控系统的组成、作用与原理;2.掌握并且应用单片机测控系统的分析方法;3.掌握并且应用单片机测控系统的设计方法;4.完成一个完整的单片机温度测控系统的分析、设计过

2、程;二、课程设计的要求与数据学生在本课程设计中,完成以下的设计内容:1单片机温度控制器的总体设计及设计流程,包括系统数学模型的建立、硬件设计、软件设计、调试等。要求具有温度采集、显示,控制值输入以及温度定值控制功能。2数字量输入输出通道接口设计(开关量输入/输出)。3模拟量输入输出通道接口设计(A/D、D/A接口);4人机接口设计(键盘、显示);5测量数据处理及与控制算法(数字滤波、控制算法)。三、课程设计应完成的工作单片机温度控制器的方案设计,包括功能设计、硬件设计、软件设计;1应用嵌入式系统仿真开发平台PROTEUS完成单片机温度控制器的硬件和软件设计及仿真,提交实验项目电子版;2 制作单

3、片机温度控制器样机,实现设定功能;3 编写系统的设计说明书编写。设计说明书内容包括:(1)系统总体设计;(2)设计原理图;(3)软件流程图;(4)软件清单及注释;(5)主要元件资料摘要: 单片机温度控制器,是应用单片机对温度进行分析,判断,和控制的自动控制器,根据设备的用途、特点和要求,利用单片机基本原理进行工况分析,拟定合理、完善的单片机控制器系统原理图,写出详细的系统工作原理。再经过必要的计算确定各元件有关参数,然后按照所得参数选择元件。进行软件程序设计:主程序,显示程序,键盘程序,采样程序等,进行软件设计时应考虑程序布局合理、紧凑、美观、调试方便。再焊接电路。关键词:单片机,温度控制,目

4、 录1课程设计目的 12课程设计内容 121课程设计题目及简介 122设计说明 1221设计任务的分析 1222 系统总体设计 1223设计电路图 723软件设计 8231程序框图 8232程序设计 1024系统功能介绍 1925 元件清单 203心得体会 20参考文献21附件:1.课程设计目的:课程教学目的及基本要求为:1.了解单片机测控系统的组成、作用与原理;2.掌握并且应用单片机测控系统的分析方法;3.掌握并且应用单片机测控系统的设计方法;4.完成一个完整的单片机温度测控系统的分析、设计过程;2.课程设计内容:21课程设计题目及简介制冷/热电专业本科学生学习了“单片机原理与接口”课程后,

5、通过本课程设计巩固、活化所学的专业理论知识,基本掌握单片机测控系统的设计方法,为今后的学习和工作奠定良好的实验基础。22设计说明:221设计任务的分析电路设计总体思路:在温度测量控制系统中,实际温度值由电阻恒流工作调理电路进行测量。为了克服其非线性特点,在信号调理电路中加入负反馈非线性校正网络;调理电路的输出电压经ADC0808转换后送入单片机AT89S51;对采样数据进行滤波及标度变换处理后。由3位7段数码管显示。输入的设定值则由4位的独立式键盘电路进行调整,可分别对设定值的十位和个位进行加一减一操作,送入单片机AT89S51后,由3位7段数码管显示。数码管的码段由74LS05进行驱动,而位

6、码由三极管2N222A进行驱动。为了使两组数码管实时现实,对两组数码管显示器进行动态扫描。本系统的模糊控制由单片机AT89S51的程序来实现。首先由温度采样值与设定值之差求出温度误差,进一步求出误差变化率,经量化及限幅子程序处理,得到误差语言变量E和误差变化率语言变量Ec,直接查询模糊控制表就可以获得控制量U,然后由定时子程序处理,发出控制信号,控制加热片及风扇工作。加热片及风扇的控制电路采用晶体管驱动的直流电磁继电器,通过输出可以改变占空比的PWM波信号。若系统温度偏高,则控制风扇电路工作,进行降温;若温度未达到设定值,则输出温度控制信号,控制加热电路,进行加热。从而实现自动控制温度的目的。

7、222 系统总体设计22.2.1主控制器 单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计的需要,很适合便携手持式产品的设计使用系统可用二节电池供电。22.2.2时钟电路 AT89S51单片机芯片内部设有一个反向放大器所构成的振荡器,XTAL1和XTAL2分别为振荡电路的输入端和输出端,时钟可以又内部或者外部产生,在XTAL1和XTAL2引脚上外接定时元器件,内部振荡电路就会产生自激荡。本系统采用的定时元器件为石英晶体和电容组成的并联谐振回路。晶振频率选择12MHz,C1,C2的电容值取22pF,电容的大小可起频率微调作用。22.2.3复位电路 单片

8、机具有多种复位电路,本系统采用电平式开关复位与上复位方式,具体电路如图所示。当上电时,C1相当于短路,使单片机复位,在正常工作时,按下开关使单片机复位,当系统时钟频率为12MHz时,C1=4.7uF,R1=100欧姆,R2=1000欧姆。其缺点是干扰易于串入复位端,在大多数条件下,不会造成单片机错误复位,但会引起内部某些寄存器错误复位,这时可以在RESET端加一个去藕电容。22.2.4键盘输入电路 在本系统中,采用独立式键盘。本键盘完成的功能为输入控制系统的设定值,以便与系统的采样值比较,求出系统的误差与误差变化率,供以后的模糊控制子程序使用。其中第一个键和第二个键为位选开关,为后续键盘处理字

9、程序的分支程序提供便利。第三个键与第四个键选用按钮开关。本系统编写的键盘处理字程序,主要注重三个问题:如何减少开关的使用次数,以提高开关的使用寿命。如何更快捷,更方便的给出设定值。如何有利于总程序的整体调度。 为此,采用4个键来搭建键盘电路,如图所示,第一个键用来判断是转入控制字程序运行,还是转入键盘处理子程序运行。若未按下则转入控制处理子程序运行,按下则转入键盘处理子程序运行;如第一个键按下,则第二个键开始起作用,用第二键来判断是十位进行加减操作,还是个位进行加减操作。如第二键未按下,转十位进行加减操作,否则转个位进行加减操作;第三个键为加一操作,第四个键为减一操作。为了进一步解决上面提出的

10、两个问题,将个位与十位的设定值均设置为5,如果加一操作结果等于11,给加一单元重赋5,如果减一操作结果等于0FFH,给减一单元重赋5。这样,考虑最坏情况,即用键盘设置离初始设定值的最远的值,第三键最多按5次,第四键最多按5次。从而大大减少了按键次数,且更方便给出了设定值;第一个键和第二个键的加入,也充分考虑了总程序的整体调度。22.2.5显示电路 显示电路采用4位共阴LED数码管,从P34口RXD,TXD串口输出段码。LED显示器:LED显示器内部由发光二极管组成,其外形如图所示: a f g b e c d hhgfedcba共阳极 LED结构显示字型和字段码关系: 当发光二极管导通时,它就

11、会发光。每个二极管就是一个笔画。若干个发光二级管发光时,就构成了一个显示字符,不同的发光段落,可组成不同的字型。 输入到数码管h, a , b , c , d , e , f , g 的二进制码称为字形码,数码管的结构为字形。 本设计选择4位共阳极LED数码显示器,采用动态显示工作方式。 所谓动态显示方式就是一位一位轮流的点亮各位数码关,其特点为:每一时刻只能有一位数码管被点亮,并各位依次轮流被点亮;对于每一位来说,每隔一段时间点亮一次。数码管的点亮既与点亮时的电流有关,也与点亮时间和间隔比例有关,通过调整电流和时间常数,可实现较高较稳定的显示。22.2.6温度传感器 DS18B20温度传感器

12、是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5;零待机功耗;温度以或位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20采用脚PR35封装或脚SOIC封装,其内部结

13、构框图如图所示。64位ROM的结构开始位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器和,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为字节的存储器,结构如图3所示。头个字节包含测得的温度信息,第和第字节和的拷贝,是易失的,每次上电复位时被刷新。第个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图

14、3所示。低位一直为,是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为,用户要去改动,R1和0决定温度转换的精度位数,来设置分辨率。由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存的第、字节保留未用,表现为全逻辑。第字节读出前面所有字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第、字节。单片机可以通过单线接口读出

15、该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、T字节内容作比较。若TH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的C

16、RC值作比较,以判断主机收到的ROM数据是否正确。DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。减法计数器对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器

17、的预置值减到时,温度寄存器的值将加,减法计数器的预置将重新被装入,减法计数器重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。2.2.2.7 DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图4 所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够

18、的电流,可用一个MOSFET管来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的.223设计电路图系统原理图发热元件温度传感器加热对象可控硅键盘LED显示器51单片机:系统电路图:23软件设计231程序框图总流程图: 开始初值化采样键盘显示器控制运算控制输出3.键盘流程图:开始有键按下?去抖动有键按下?是K1?K1键处理是K2?K2键处理K3否?K3键处理是K4?K4键返回NYN232程序设计ORG 0000H MAIN: MOV 25H

19、,#00H MOV 26H,#05H MOV 27H,#05HCAIYANG: MOV SP,#60H MOV 24H,#03H MOV 31H,#0CHLCALL GET_TEMP ;主程序 LCALL DISPLAY CLR C ;AAA LCALL JIARE ;AAA CLR C ;AAA LCALL CHECK1 AJMP CAIYANGCHECK1: ;查询K1键是否按下 JB P0.0, CAIYANGLCALL DELAY JNB P0.0,INT_RET INT_: MOV 24H, #01H XIANSHI: MOV 19H, 25H MOV 20H, 26H MOV 21

20、H, 27H MOV 31H, #0C7H ACALL DISPLAYK1Q: JB P0.0, K2Q;K1键没按下,跳 ACALL DELAY JNB P0.0,K1S K2Q: JB P0.1,K3Q ACALL DELAY JNB P0.1,K2S K3Q: JB P0.2 ,K4Q ACALL DELAY JNB P0.2,K3S K4Q: JB P0.3,FANHUI ACALL DELAY JNB P0.3,K4S FANHUI: AJMP XIANSHI K1S: LJMP CAIYANG K2S: INC 24H MOV A,24H CJNE A,#01H, DENG1 MO

21、V R0,#25H LJMP XIANSHIDENG1: CJNE A,#02H,DENG2 MOV R0,#26H LJMP XIANSHIDENG2: MOV R0,#27H MOV 24H,#00H AJMP XIANSHIK3S: INC R0 MOV A,R0 MOV R3,A MOV A,#09H CLR C SUBB A,R3 JNC TZ1 MOV R0,#00H TZ1: AJMP XIANSHI K4S: DEC R0 MOV A,R0 MOV R3,A MOV A,#09H CLR C SUBB A,R3 JNC TZ2 MOV R0,#09HTZ2: AJMP XIAN

22、SHIDELAY: MOV R3 ,#0A0H LOP2: MOV R4,#0FFH LOP1: DJNZ R4,LOP1 DJNZ R3,LOP2 RET GET_TEMP: CLR PSW.4 SETB PSW.3 CLR EA LCALL INT MOV A,#0CCH LCALL WRITE MOV A,#44H LCALL WRITE LCALL INT MOV A,#0CCH LCALL WRITE MOV A,#0BEH LCALL WRITE LCALL READ MOV 29H,A LCALL READ MOV 28H,A MOV A,29H MOV C,40H;将28H中的

23、最低位移入C RRC A MOV C,41H RRC A MOV C,42H RRC A MOV C,43H RRC A MOV 22H,A mov B,#100 ;10进制/10=10进制 div ab MOV 19H, A ;百位存20 MOV A,B MOV B,#10 DIV AB MOV 20H ,A MOV 21H,B SETB EA RET INT: CLR EAL0: CLR P3.3 MOV R2,#200 L1: CLR P3.3 DJNZ R2,L1 SETB P3.3 MOV R2,#30H L4: DJNZ R2,L4 CLR C ORL C, P3.3 JC L0

24、MOV R6 ,#80 L5: ORL C,P3.3 JC L3 DJNZ R6,L5 SJMP L0 L3: MOV R2,#240L2: DJNZ R2,L2 RET WRITE: CLR EA MOV R3,#08HWR1: SETB P3.3 MOV R4,#08H RRC A CLR P3.3WR2: DJNZ R4, WR2 MOV P3.3,C MOV R4,#20WR3: DJNZ R4,WR3 DJNZ R3,WR1 SETB P3.3 RETREAD: CLR EA MOV R6,#08HRE1: CLR P3.3 MOV R4,#04H NOP SETB P3.3RE2:

25、 DJNZ R4,RE2 MOV C,P3.3 RRC A MOV R5,#30RE3: DJNZ R5,RE3 DJNZ R6,RE1 SETB P3.3 RET JIARE:MOV A,25HMOV B,#100MUL ABMOV R2,AMOV A,26HMOV B,#10MUL ABADD A,R2ADD A,27HSUBB A,22HCLR A ; MOV B,#00H ;JNC LVCLR P2.4SETB P2.5RET ;LV:CLR P2.5 SETB P2.4RET DISPLAY:mov dptr,#numtab ;指定查表启始地址MOV A,31Hmov p1,aset

26、b P2.0ACALL d1ms CLR P2.0mov a,19H ;取百位数MOVC A,A+DPTR ;查十位数的7段代码mov p1,a ;送出十位的7段代码SETB p2.1;开十位显示 MOV A,24HCJNE A,#01H, YI1 ;若被选中,达到闪烁的目的ACALL d10ms AJMP CHANG1 YI1: acall D1MS;显示1ms chang1: CLR p2.1mov a,20H;取十位数MOVC A,A+DPTR ;查十位数的7段代码mov p1,a ;送出个位的7段代码SETB p2.2;开个位显示MOV A,24HCJNE A,#02H,YI2 ;若被

27、选中,达到闪烁的目的ACALL D10MS AJMP CHANG2 YI2:acall D1MS ;显示1mschang2:CLR p2.2MOV A,21HMOVC A,A+DPTRMOV P1,ASETB P2.3MOV A,24HCJNE A,#00H,YI3ACALL D10MS AJMP CHANG3YI3:acall d1Mschang3:CLR p2.3RET;1MS延时(按12MHZ算)D1MS: MOV R7,#80H DJNZ R7,$ ret D10MS: MOV R5,#10H DJNZ R5,$ RETnumtab:DB 0C0H ;0 DB 0F9H ;1 DB 0

28、A4H ;2 DB 0B0H ;3 DB 99H ;4 DB 92H ;5 DB 82H ;6 DB 0F8H ;7 DB 80H ;8 DB 90H ;9 END24系统功能介绍温度传感器采温功能:能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式,测温范围:-55+125,在-10+85时精度为0.5数码显示器显示功能:4位数码显示器,第一位显示字母“P”或字母“L”.P表示显示器显示的数值是当前传感器采集的被测环境的温度。L表示进入设定稳定状态,所显示的温度为设定温度。小数点亮或有闪烁的数位为可操作位。通过键盘可选择可操作位。发光二极管功能:红色亮,代表被测温度低

29、于设定温度,启动加热器加热。篮色亮,代表被测温度超过设定温度。加热器不再加热。键盘按键功能: 按键K1:进行显示被测温度和设定温度的切换。P表示显示器显示的数值是当前传感器采集的被测环境的温度。L表示进入设定稳定状态,所显示的温度为设定温度按键K2:用于选择个,十,百数位,被选中的数位小数点亮或有闪烁。可以通过K3(加),K4(减)进行操作。按键K3:每按一次,被操作位数值加一按键K4:每按一次,被操作位数值减一25 元件清单元件名称型号数量备注电池盒1电路板1电线够用就好51单片机AT89C5114位LED显示屏7SEG-MPX4-CA1共阳极感温器DS18S201按钮开关4起动器74071

30、电阻12发光二极管红绿各一个2可控硅1发热元件13心得体会:三个星期的单片机课程设计,痛苦并快乐着。思路从一片茫然,到渐渐显露端倪,到一切清晰,几经波折。心情也跌宕起伏。 第一星期学习I/O接口,单片机扩展电路连接的知识,要在这么短的时间学习这么多的知识,的确是一种考验。在学习知识的过程中,更重要的是锻炼了我的毅力和意志。没有很好的耐性,很难坚持。第二个星期进入了电路设计和软件编写,首先要学会应用proteus7,和keil两个软件。在老师的帮助下,我们很快学到了设计中所需要的操作。接下来就是绘制电路图了,我们成员分工合作,在网上寻找所需要的资料,如18S20传感器,AT80S51单片机,启动

31、器7407等的元件的使用方法,和接线方法。然后在电脑里进行布线仿真。最艰难的就是程序编写了,虽然老师给我们一个大概的程序框架图,但是还有很多具体程序需要我们细细诼磨。翻来覆去的修改和调试,一次又一次的失败,我们艰难的坚持下去。终于在最后一天把程序写出来了。看着密密麻麻的英文和数字,个个心里都另有一份属于自己的感受。 接下来就是焊接电路了,班里集体买回元件。焊接电路看起来很简单,但也让我们吃尽了苦头。 一晚的时间,我们就把电路焊接完了。第二天,把程序下载到单片机里,再测试。天哪,竟然没反应,显示器一点都没有显示。然后,我们讨论寻找原因,把晶振的路,复位电路,接线都检查了一遍又一遍。还是不行。然后

32、又跑过实验室修改下载程序,问老师,绞尽脑汁都没有解决。时间已经剩下最后一天多了,明天就要交作品了。无奈,只能打算把报告写好,把不成功的作品上交了。 但是我们不甘心,努力了三个星期的作品是个废品。我们继续查找原因。终于,奇迹降临了,我们发现:原来EA/Vpp脚是要置高电平,单片机才能读取内部程序的。有忙了一阵,最后我们把电路做成功了。拿着作品,如小孩子玩玩具,玩了好阵子。 通过单片机的课程设计,不仅仅让我学到了单片机的基础知识,和锻炼了基本的动手能力,分析,解决问题的的方法和能力,也让我们锻炼到团队的合作精神,协调精神,更让我懂得做成一件事所需要的个人内在品质。没有坚忍不拔的精神,是很难完成一件不简单的事的。4参考文献:1 吴黎明.王桂堂.单片机原理及应用技术.北京:科学出版社,20052 赵晓安. MCS-51单片机原理及应用. 天津:天津大学出版社,2001.33 夏继强. 单片机实验与实践教程. 北京:北京航空航天大学出版社, 2001

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号