您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 课程设计八路温度巡回检测系统
《单片机原理及应用》课程设计总结报告题目:八路温度巡回检测系统设计人姓名:XXX院系:XXXXX学院专业:XXXXX学号:XXXXX指导教师:XXX日期:201X-XX-XX第1页共22页内容摘要摘要:MCS-51是一种带8K字节闪烁可编程可檫除只读存储器的低电压,高性能COMOS8的微处理器,俗称单片机。利用单片机与AD转换器设计的八路温度巡回检测系统,可对某粮库或冷冻厂八点(八个冷冻室或八个粮仓)进行温度巡回检测。能够测量-30~+50oC的温度范围,检测精度不大于±1oC。并采用数码管显示测量值。关键词:MCS-51、温度、巡回检测、第2页共22页目录1设计任务……………………………………………………31.1引言…………………………………………………………31.2设计题目……………………………………………………31.3设计目的……………………………………………………32总体方案设计与论证………………………………………32.1总体方案设计与论证………………………………………32.2温度采集、计算方案设计与论证…………………………43硬件设计……………………………………………………43.1STC89C52简介………………………………………………43.2DS18B20简介………………………………………………83.3晶振…………………………………………………………93.4LED显示电路电路及实物图…………………………………94软件设计……………………………………………………124.1设计总框图…………………………………………………124.2自动巡检流程图……………………………………………135系统调试……………………………………………………136总结和个人体会……………………………………………14附录一:设计电路图……………………………………………16附录二:元件清单………………………………………………16附录三:源程序…………………………………………………17第3页共22页1、设计任务1.1引言温度测量与控制在工业、农业、国防等行业有着广泛的应用。利用单片机技术的温度测控仪有着体积小、可靠性高、价格便宜等优点而被广泛应用。1.2设计题目八路温度巡回检测装置1.3设计目的运用所学单片机原理知识,设计和调试小产品,从而了解产品设计开发的一些基本流程,并且加深对单片机知识的理解。2、总体方案设计与论证2.1总体方案设计与论证本次课程设计的要求是8路温度巡显仪,要正常显示、进行参数设置等多个工作状态故系统工作的标志位是程序工作的主要的线索,每个功能模块在判断后系统的标志位再去执行相应的功能。见如下的框图所示。1号键为22号键F0=1为1F0=0图2.1系统软件设计的整体思路框图系统的标志位判断按下了F键参数设定态进入冻结态正常巡显态设置节拍设置报警限值显示温度态第4页共22页2.2温度采集、计算的方案设计与论证方案一采用ADC0809芯片把经过每一路温度传感变送器变换为0~5V电压信号转化为数字量采用滚存最新的4次温度值进行求平均值并且每个工作大循环调用一次,把这个平均值扩大到0~1000的温度内码存储起来这样一来可以使-50°C、0°C、50°C分别变换成0、500、1000的温度内码,要显示的时候读出温度内码转化为BCD码送入8位7段数码管显示,8路温度信号采用巡回动态显示。方案二也是采用ADC0809用每调用一次温度采集子程序就把8路的温度每一路采集四次存放到存储单元中,这样每调用一次就要算32次,每次AD转化最少要100US要是稍微延时1MS的时候,每次调用就要32MS。如果显示的时候采用静态显示的时候要很多条I/O线。综上所述,选用方案一,要是选用方案二的时候每次调用时太久不利于系统工作,会影响后面的程序调用。每个大循环调用1路四次的AD转化且滚存到存储区中,把AD值转化成温度内码,再把温度内码转化成BCD码。3、硬件设计3.1STC89C52简介图3.1STC89C52引脚图第5页共22页STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-FlashProgramableandErasableReadOnlyMemory)的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。复位及复位电路(1)复位操作复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表一所示。表一一些寄存器的复位状态寄存器复位状态寄存器复位状态PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMOD00H(2)复位信号及其产生RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。产生复位信号的电路逻辑如图3.4所示:第6页共22页图3.3复位信号的电路逻辑图整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位相按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图3.4(a)所示。这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图3.4(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,其电路如图3.4(c)所示:(a)上电复位(b)按键电平复位(c)按键脉冲复位图3.4复位电路第7页共22页上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。STC89C52具体介绍如下:①主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线②外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端③控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。④可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7STC89C52主要功能如表二所示。第8页共22页表二STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写FlashROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能3.2DS18B20简介DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。DS18B20测温原理如图所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。第9页共22页图3.6DS18B20测温原理框图3.3晶振为了产生时钟信号,在8052内部设置了一个反相放大器,XTAL1是片内振荡器反相放大器的输入端,XTAL2是片内振荡器反相放大器的输出端,也是内部时钟发生器的输入端。当使用自激振荡方式时,XTAL1和XTAL2外接石英晶振,使内部振荡器按照石英晶振的频率振荡,就产生时钟信号。晶振一般使用石英晶体,其频率由系统需要和器件决定,在频率稳定度要求不高时也可以使用陶瓷滤波器。使用石英晶体时C1、C2为C1=C2=30(±10)pF,使用陶瓷滤波器时,C1=C2=40(±10)pF。本系统用12MHZ的石英晶振,接STC89C52RC的18和19脚,具体电路如图3.7所示。图3.7时钟信号电路(晶振)3.4LED显示电路显示电路采用静态显示,4位LED数码管。本文的显示电路如图3.8所示。其中P0口作为7断码和小数点的选择,P2口作为位码的选择,在断码和P0口之间还需加上1K的上拉电阻,以保证LED灯的正常显示。第10页共22页.图3.8LED显示电路3.3硬件设计框图、完整电路及实物图图3.9硬件框图完整电路第11页共22页图3.10完整电路实物图第12页共22页第13页共22页4、软件设计4.1设计框图系统总框图及软件设计说明:图4.1系统软件设计总流程图及解释系统自检键盘扫描子程序显示更新子程序查表显示子程序数据采集子程序键盘消抖子程序判别冻结子程序自动巡显子程序手动切换子程序节拍设置子程序AD转化温度内码内码转化成BCD码把AD转换出来的数据经过放大到0-1000的温度内码把温度内码进行处理转化成BCD码显示到数码管上判断是否按下了F键,是进入2态进行对参数的设定利用键反转法先读出键的状态在进行查表查出键码如果切换键按下的时候路数+1显示当前路的温度值系统在状态1下按一定节拍进行正常的温度巡检判别是否PB0的冻结按键如果按下把标志位F0求反对PB口输入的键盘进行消抖动保存到2EH和2FH每个流程调用一次进行一次采集并采用数据滚存把显示缓存区30H—37H单元的内容通过查表进行显示自检包括对蜂鸣器、LED、每个数码管的自检包括是要显示温度或者是显示实时钟第14页共22页4.2自动巡检流程图YYNYNY图4.2AD自动巡检的流程图5系统调试1、调试记录:上电后自检正常但是进入自动巡检的时候只是显示一个路次,后面的数码管都熄灭了。解决方案:进入单片机模拟调试发现程序进入温度采集的子程序无法跳出,过程中只有该程序和定时器中断服务程序可以运行,经过仔细仿真的检查发现有一个标号表错了了,导致该子程序成了个死循环无法返回了,改正后发现情况还有一点改变但是还是不正常。回想到自己的程序是一次调用就要把8路每路采集四次温度值进行保存,每次AD转化就要有1MS的延时,这样一来这个子程序的开始是否冻结和设定相等?取出当前中断次数路次+1,调用温度转化子程序返回是否到9路次置1第15页共2
本文标题:课程设计八路温度巡回检测系统
链接地址:https://www.777doc.com/doc-3846670 .html