还剩32页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
课程设计任务书题目数字温湿度检测控制装置专业学号姓名主要内容、基本要求、主要参考数据等主要内容
1、查阅与课题设计内容相关的科技文献数据;
2、熟悉数字温度检测控制装置的结构、功能和工作过程;
3、确定系统硬件及软件设计方案;
4、进行电气原理图的绘制和微控制器内部程序的编写;
5、完成课程设计说明书一份基本要求
1、设计方案符合课题要求、结构严谨、功能完善;;
2、系统结构模型绘制规范、标注简约明确;
3、系统控制电气原理图绘图准确、布局合理;
4、微控制器内部程序主要功能基本调试通过;
5、课程设计说明书严格按照“课程设计报告撰写格式”书写主要参考数据
1、《单片微型计算机原理及应用》,西安电子科技大学出版社,张毅坤主编;
2、《单片机原理与接口技术》,北京邮电大学出版社,马淑华等编着;
3、《现代传感器集成电路》,人民邮电出版社,赵负图主编;
4、《单片机典型外围器件应用实例》,人民邮电出版社,求是科技编着完成期限2011年12月19日-2012年1月9日指导教师签名课程负责人签名目录1.概述
11.1设计题目的意义及简介
11.2系统组成总体结构12.系统硬件设计
22.1单片机最小系统设计
22.
1.1单片机选择
22.
1.2时钟电路设计
22.
1.3复位电路设计
22.2温度采集电路设计
22.
2.1AD590温度传感器
22.
2.2测温电路的设计
2.
2.3信号调整电路
2.3LED显示
22.4键盘接口
2.5控制电路3.系统软件设计
3.1程序初始化
3.2主程序
3.3A/D转换子程序
3.4标度转换子程序
3.5显示子程序
3.6控制子程序
3.7键盘子程序4.结论参考文献附录A系统硬件原理图附录B程序清单摘要本次设计是采用单片机中的STC89C52和DHT11构成的低成本的湿度的检测控制系统单片机STC89C52是一款有强大的功能、低消耗,高效率的单片机,因此在很多领域都是用它DHT11是一款复合型温湿度传感器,并且含有以校准好的数字输出,DHT11传感器包括一个电阻式感湿原件和一个NTC测温元件,该产品具有超快响应、品质卓越、抗干扰能力强、性价比极高等优点本设计主要包括系统软件的设计和硬件电路的设计硬件电路主要包括单片机、湿度传感器、显示模块、报警器以及控制设备等5部分其中由DHT11温湿度传感器及1602字符型液晶模块构成系统显示模块;用户根据需要预先输入预设值,当实际测量的温湿度不符合预设的温湿度标准时,发出报警信号(蜂鸣器蜂鸣),动相应控制软件部分包括了主程序、显示子程序、测湿度子程序关键词STC89C52;DHT11;湿度传感器
1.概述
1.1设计题目的意义及简介随着生活的不断发展,人们对环境的要求也不断的提高,居住的环境成为人们关心的话题为了满足人们对适宜适宜环境要求,设计一种低成本、高性能、简单、便于提醒和控制湿度的装置人们可以根据季节和天气的需要进行湿度的调节,使人居住在一个更加舒适的环境此设计不仅可以应用到家庭中,也可应用到工厂中,这样大大减少了看护和相应的人工费用此设计有点在于成本低,操作简单、相应快,并且当超出人们设定值时可自动报警
1.2系统组成总体结构本次的数字湿度控制器主要是由单片机系统组成,其系统组成框图如图1-1所示图1-1系统总体框图其工作流程为湿度传感器采集湿度信号,湿度信号被信号转换器转换成系统所能识别的电信号,采集信号被送入单片机后经过单片机的控制进行分析整理,根据设定值进行湿度调节,再经过湿度反馈环节做进一步调整
2.系统硬件设计
2.1单片机最小系统设计
2.
1.1单片机选择STC89C52是一种带8K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容由于将多功能8位CPU和闪烁存储器组合在单个芯片中,stc的stc89c52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案STC89C52引脚如图所示图2-1STC89C52单片机引脚
2.
1.2时钟电路设计单片机是在统一的脉冲信号控制下工作的这个脉冲就是时钟电路产生的时钟电路选择晶振为12Mhz,两个电容选择60pf作为CPU的内部时钟电路,其电路图如下所示图2-2由晶振构成时钟电路
2.
1.3复位电路设计复位电路可以让单片机初始化,也可以使死机状态下的单片机重新启动,因此非常重要该设计采用的是按键复位和上电自动复位电路这样图2-3上电复位电路使用起来比较方便,即每当CPU通电时,CPU自动进行复位操作省去了人工操作的繁琐,当程序跑飞时,可以手动复位,按下按键后,使RESET端产生高电平,电路设计如图2-3(其中电阻为1K,电容为22uf)
2.2温度采集电路设计
2.
2.1AD590温度传感器温度采集元件采用AD590温度传感器,AD590是美国模拟器件公司生产的单片集成两端感温电流源AD590具有线性优良、性能稳定、灵敏度高、无需补偿、热容量小、抗干扰能力强、可远距离测温且使用方便等优点可广泛应用于各种冰箱、空调器、粮仓、冰库、工业仪器配套和各种温度的测量和控制等领域AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值其电路外形如图2-4所示,它采用金属壳3脚封装,其中1脚为电源正端V+;2脚为电流输出端I0;3脚为管壳,一般不用集成温度传感器的电路符号如图2-5所示图2-4AD590封装形式图2-5集成温度传感器电路符号AD590的主特性参数如下●工作电压4~30V●工作温度-55~+150℃●正向电压+44V●反向电压-20V●输出电阻为710MW●精度高AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线性误差为±
0.3℃AD590的工作原理在被测温度一定时,AD590相当于一个恒流源,把它和5~30V的直流电源相连,并在输出端串接一个1kW的恒值电阻,那么,此电阻上流过的电流将和被测温度成正比,此时电阻两端将会有1mV/K的电压信号
2.
2.2测温电路的设计在设计测温电路时,首先应将电流转换成电压由于AD590为电流输出元件,它的温度每升高1K,电流就增加1μA当AD590的电流通过一个10kW的电阻时,这个电阻上的压降为10mV,即转换成10mV/K,为了使此电阻精确,可用一个
9.6kW的电阻与一个1kW电位器串联,然后通过调节电位器来获得精确的10kW图2-6所示是一个电流/电压和绝对/摄氏温标的转换电路,其中运算放大器A1被接成电压跟随器形式,以增加信号的输入阻抗而运放A2的作用是把绝对温标转换成摄氏温标,给A2的同相输入端输入一个恒定的电压(如
1.235V),然后将此电压放大到2.73V这样,A1与A2输出端之间的电压即为转换成的摄氏温标图2-6绝对摄氏温标转换电路将AD590放入0℃的冰水混合溶液中,A1同相输入端的电压应为
2.73V,同样使A2的输出电压也为
2.73V,因此A1与A2两输出端之间的电压
2.73-
2.73=0V即对应于0℃
2.
2.3信号调整电路单片机处理的信号是数字信号,因此,在送往单片机处理之前应对该信号进行放大转换本系统所采用的A/D转换器为ADC0809,由于ADC0809的输入信号应在0~5V之间,因此,经过放大电路放大的信号进入A/D转换器的电压信号应控制在0~5V之间,根据此原则可设计合适的放大倍数信号调整电路主要由运算放大器0P07等组成为了使温度检测电路的输出电压能够适合于A/D转换器的参考电压,利用超低温漂移高精度运算放大器0P07将温度电压信号进行放大到0~5V的范围之内,便于A/D进行转换以提高温度采集电路的可靠性本设计中,信号调理电路部分由集成运放OP07分别构成一个电压跟随器,电压比较器和一个同相输入放大器用于对AD590输出的小电压信号进行放大处理信号调整电路如图2-7所示在该放大电路中,电压跟随器起阻抗匹配的作用反馈电阻为零时,放大倍数为1,电压跟随器的输入电压等于输出电压电压比较器用于对输出电压小信号电压进行调零,在上述电路图中的电压比较器部分由于R2=R4R3=R5可得电压比较器的输出电压根据电压跟随器的输出电压调节电位计R9就改变电压比较器的输入电压使得当温度为温度测量下限时电压比较器的输出电压为零起放大作用的是同相输入放大器OP07其放大倍数因此放大器的输出电压ADC0809是一种8位逐次逼近式A/D转换器,其内部有一个8位“三态输出锁存器”可以锁存A/D转换后的数字量,故它本身既可看作一种输入设备,也可以认为是并行I/O接口芯片故ADC0809可以和微机直接接口,本设计就是用8051和ADC0809直接相连的AT89C51与ADC0809的连接方法如图2-8所示,AT89C51通过地址线P
2.7和写控制信号线用一个或非门联合控制启动转换信号端START和地址锁存信号端ALE地址线P
2.7和读控制信号线用一个或非门联合控制输出允许控制端EOC低三位地址线加到ADC0809的ADDA、ADDB、ADDC端,所以选中ADC0809的IN0通道的地址为7FF8H转换结束信号EOC通过一个反相器接到INT1图2-8AT89C51与ADC0809连接图AT89C51和ADC0809连接通常可以采用查询和中断两种方式本系统采用中断方式传送数据,EOC线作为CPU的中断请求输入线CPU线响应中断后,应在中断服务程序中使OE线变为高电平,以提取A/D转换后的数字量对ADC0809地址的确定根据系统硬件连接图可知所选定模拟电压路数为IN0,其对应的地址为ABC=000,即P
0.
0、P
0.
1、P
0.2=000;又P
2.7=0时才能启动ADC0809工作和使AT89C51从ADC0809接收A/D转换电压的数字量故确定ADC0809其中一个地址为:0111111111111000B=7FF8H其中“__”表示固定量ADC0809的IN0和变送器输出端线连,故IN0上输入的0V~+5V范围的模拟电压经A/D转换后可由AT89C51通过程序从P0口输入到它的内部RAM单元ADC0809所需时钟信号可以由AT89C51的ALE信号提供AT89C51的ALE信号通常是每个机器周期出现两次,故它的频率是单片机时钟频率的1/6本系统AT89C51主频是12MHZ,ALE信号频率为2MHZ,使AT89C51的ALE上信号经过4分频后接到ADC0809的CLOCK输入端,就可获得500KHZ的A/D转换脉冲,当然,ALE上脉冲会在MOVX指令的每个机器周期少出现一次,但通常情况下影响不大为了给OE线分配一个地址,把AT89C51RD和P
2.7经或门和OE相连平时,使OE处于低电平封锁状态,在响应中断后,AT89C51执行中断服务程序中如下两条指令就可以使OE变为高电平,从而打开三态输出锁存器,让CPU提取A/D转换后的数字量AT89C51执行如下程序可以启动ADC0809工作MOVDPTR#7FF8HMOVXA@DPTR;OE变为高电平,数字量送A
2.3LED显示本设计显示采用LED串行静态显示MCS-51系列单片机的串行口RXD,TXD为一个全双工串行通信口,当工作在方式0下可作同步移位寄存器用,其数据由RXD(P
3.0)端串行输入或输出;而同步移位时钟由TXD(P
3.1)串行输出,在同步时钟的作用下,实现由串行到并行的数据通信在不需要使用串行通信的场合,利用串行口加外围芯片74LS164就可以构成一个或多个并行输入/输出口,用于显示器LED驱动波特率(每秒传输的位数)固定在fosc/12即当晶振为12MHZ时,波特率为1MBPS在CPU将数据写入SBUF寄存器后,立即启动发送待8位数据输完后,硬件将状态寄存器的TI位置1,TI必须由软件清零单片机与4片串入并出移位寄存器74LS164相连其中,RXD作为164的数据输入,TXD作为4片164的同步时钟程序运行时,单片机将4个数码管的段码(4个字节)连续发送出来,通过串行口送给1644位字型码送完后,TXD保持高电平此时每片164的并行输出口将送出保存在内部移位寄存器中的8位的段码给数码管,令数码管稳定地显示所需的字符74LS164是8位串入并出移位寄存器A、B为串行输入端,QA~QH为串行输出端,CLK为串行时钟输入端,为串行输出清零端,VCC为+5V电源输入端,GND为接地端具体输入输出关系如表2-1所示X代表任意状态;QA
0、QB0~QH0代表在稳态输入条件建立之前QA、QB~QH的输出状态;QAn、QBn~QHn代表在最近的时钟上升沿↑转换之前QA、QB~QH的输出状态;H/L、QAn~QBn代表在最近的时钟上升沿↑转换之后QA、QB~QH的输出状态表2-174LS164输入输出关系如所示输入输出清除时钟ABQAQB~QHLXXXHLXXH↑HHH↑LXH↑XLLL~LQA0QB0~QH0HQAn~QGnLQAn~QGnLQAn~QGn图2-974LS164引脚如图串行显示电路属于静态显示,比动态显示亮度更大一些由于74LS164在低电平输出时,允许通过的电流达8mA,故不必添加驱动电路,亮度也比较理想与动态扫描相比较,无需CPU不停的扫描,频繁地为显示服务,节省了CPU时间,软件设计也比较简单由于本设计采用的是共阳极数码管,所以相应的亮段必须送0,相应的暗段必须送1原理图如图2-10所示图2-10LED串行静态显示
2.4键盘接口键盘的工作方式选取的原则是既要保证能及时响应按键的操作,又不过多的占用CPU的工作时间键盘的工作方式有查询方式(编程扫描,定时扫描方式)、中断扫描方式独立式按键接口就是各按键相互独立,每个按键单独占用一根I/O口线,每根I/O口线的按键工作状态不会影响其他I/O口线上的工作状态因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下了优点就是电路配置灵活,软件结构简单;缺点就是每个按键需占用一根I/O口线,在按键数量较多时,I/O口浪费大,电路结构显得复杂因此,此键盘是用于按键较少或操作速度较高的场合本设计中由于所用键盘不多,所以采用独立连接式的查询式键盘就能够满足设计要求在本次设计中采用了软件扫描的方法通过对键盘接口P
1.0和P
1.1的查询判断是否有键按下本次设计采用了软件去抖动的方法当有键按下时,按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,如果不妥善处理,将会使按键命令的错误执行和重复执行采用软件延时的方法来避开抖动阶段,这一延时过程一般大于5ms
2.5控制电路在本设计中,被测温度信号经采样处理后,还需要通过单片机系统的P
1.2口输出用以控制温度,控制的方式主要有模拟量控制和开关量控制本系统采用的是开关量控制所谓的开关量控制就是通过控制设备的“开”或“关”状态的时间来达到控制的目的由于输出设备往往需要大电压来控制,而单片机系统输出的为TTL电平,这种电平不能直接驱动外部设备的开启和关闭另一方面,许多外部设备在开关过程中会产生很强的电磁干扰信号,如果不隔离会使系统进行错误的处理因此在开关量的输出控制过程中要考虑到两个问题,一要隔离;二要放大本设计采用继电器作为控制电路的主要器件,继电器具有一定的隔离作用,在继电器前面加一个三极管用以放大输出信号就可以驱动继电器的闭合和断开,从而实现弱电控制强电的效果固态继电器和MCS-51系列单片机组成的控制系统具有抗干扰性强、编程简单、系统兼容性好等特点继电器一般由通电线圈和触电组成当线圈通电时,由于磁场作用,使开关触电闭合当不通电时,则开关触点断开一般线圈可用直流低电压控制(+5V,+9V,+12V)继电器的特性参数包括输入和输出参数,主要的参数为额定输入电压、额定输出电流、浪涌电流根据输入电压参数值大小,可确定工作电压大小如采用TTL或CMOS等逻辑电平控制时,采用有足够带载能力的低电平驱动,并尽可能使“0”电平低于
0.8V本设计就是采用直流驱动电压为+5V的继电器触电输出部分可以直接与市电连接继电器控制电路如图2-11所示2-11继电器控制电路
3.系统软件设计本次单片机温控系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了系统软件的功能又可分为两大类一是监控软件,它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系二是执行软件,它是用来完成各种实质性的功能如测量、显示等功能本系统程序设计包括温度采集子程序、显示子程序、标度转换资程序、键盘子程序、控制子程序程序流程图如图3-1所示小于等于-2大于等于2图3-1系统流程图
3.1程序初始化程序初始化部分根据系统硬件原理图及设计要求对单片机系统进行系统资源分配、参数的设置以及定义系统内部资源分配和参数设置如下A/D端口地址(ADPORT)7FF8H显示缓冲起始地址(LEDBUF)30H段码存储起始地址(TEMP)40H设定温值存储地址(SETTEMP)50h测量温度存储地址(CURTEMP)51H温度设定上限(HIGHLIMIT)80温度设定下限(LOWLIMIT)25温度测量上限(HIGHTEMP)107温度测量下限(LOETEMP)21初始化程序代码如下ADPORTEQU7FF8H;A/D端口地址LEDBufequ30H;显示缓冲TEMPEQU40H;段码存储UPequ1;增温DOWNequ2;减温LowLimitequ25;设定值下限HighLimitequ80;设定值上限LowTempequ21;A/D0HighTempequ107;A/D255SetTempequ50h;设定温值CurTempequ51h;测量温度DINBIT0B0H;P
3.0CLKBIT0B1H;P
3.1ORG0000HljmpStart
3.2主程序主程序代码如下Start movSetTemp#20;初始恒温值为20℃MLoop callTestKey;测试有无键入jnzKeyPressed;更改设定值callDisplayResult;数制转换callDisplayLED;显示callReadTemp;读入温度CONTROL ......;控制子程序KeyPressed ......;键盘子程序END
3.3A/D转换子程序根据系统硬件连接图可知,在系统中将ADC0809作为一个外部扩展并行I/O口,采用线选寻址由P
2.7和联合控制启动转换信号端(ATART)和ALE端,低三位地址线架到ADC0809和ADDA,ADDB,ADDC端,所以选中ADC0809的IN0通道的地址为7FF8H启动DAC0809的工作过程是先送通道号地址到ADDA,ADDB,ADDC,由ALE信号锁存通道号地址,后让ATART有效,启动A/D转换,即执行一道“MOVX@DPTRA”指令产生信号,使ALE,START有效,锁存通道号并启动A/D转换,A/D转换完毕后,EOC端发出一正脉冲,申请中断在中断服务程序中,“MOVA@DPTR”指令产生信号,使OE端有效,打开输出锁存器三态门,8位数据便读入到CPU中A/D转换子程序代码如下ReadAD:movdptr#ADPORTclramovx@dptra;startA/DJNBP
3.3$MOVXA@DPTR;读入结果ret
3.4标度转换子程序系统温度测量范围的计算原理根据温度标定结果选取两个温度状态T1T2,模拟输出电压V1V2;根据0809的输入范围在0到5伏,即可计算出温度极限计算公式如下0伏时对应的温度TL T1-(V1-0)(T2-T1)/(V2-V1)5伏时对应的温度TH T1-(V1-5)(T2-T1)/(V2-V1)根据所得结果采用在温度为50℃和60℃下所测量的电压输出
1.6V和
2.2V为计算温度测量范围的参数,根据上式可得TL=50-
1.68-050-40/
2.26-
1.68=21TH=50-
1.68-550-40/
2.26-
1.68=107所以A/D转化的极限范围为21℃-107℃之间,而根据系统要求温度的控制范围为25℃-80℃之间,符合系统要求程序中温度的计算原理首先用温度范围除以0到256(即每个十六进制数的温度增长率),然后乘以模拟转换的数字量,即得到升高的温度,再和最低温度相加,就可以得到实际的温度值其公式为TL+AX(TH-TL)/256TL显示的最低温度TH显示的最高温度AX模拟电压所转换的数字量标度转换代码如下ReadTemp:callReadADmovb#HighTemp-LowTemp;温度值计算mulabmovab;/256adda#LowTempmovCurTemparet
3.5显示子程序显示模块包括数制转换和LED串口静态显示两部分显示内容包括当前温度和设定温度两个参数在数制转换程序中将十六进制数的数据转换为十进制数数据,各分为十位数和个位数在编写显示程序时,先送高位再送低位显示模块程序流程图如图3-2所示数制转换子程序代码如下DisplayResult:movaCurTemp;实际值movb#10divabmovdptr#LEDMAP;显示码首址movca@a+dptr;取显示码movLEDBufa;存显示缓冲movabmovca@a+dptrmovLEDBuf+1amovaSetTemp;设定的恒温值movb#10divabmovLEDBuf+2AmovabmovLEDBuf+3Aret显示子程序代码如下DisplayLED:;显示子程序MOVR0#LEDBUF;置存储区首地址MOVR1#TEMP;置缓冲区首地址MOVR2#4;制段码字节数DP10:MOVDPTR#LEDMAP;表头地址MOVA@R0MOVCA@A+DPTR;查表指令MOV@R1AINCR0INCR1DJNZR2DP10MOVR0#TEMP;段码地址指针MOVR1#4;段码字节数DP12:MOVR2#8;输出子程序MOVA@R0;取段码DP13:RLCA;段码左移图MOVDINC;输出一位段码CLRCLK;输出移位脉冲SETBCLKDJNZ R2DP13INCR0DJNZR1DP12图3-2显示流程RET
3.6控制子程序本设计采用P
1.2作为输出控制口当设定温度比当前温度高2℃以上时,P
1.2置1,使其输出高电平,用以驱动继电器,使继电器闭合,保温箱开始加热当设定温度比当前温度低2℃以下时,P
1.2置零,使继电器断开,保温箱停止加热CONTROL movaCurTemp;实际温度clrcmovbSetTemp;设定的恒温值decbdecbsubbab;实际值-恒温值-2jncGN2;判断实际值是否比恒温值低2℃Setbp
1.2;是开始加热sjmpGN4GN2:movaCurTempsetbcmovbSetTempincbincbsubbabjcGN4;判断实际值是否比恒温值高2℃CLRP
1.2;是停止加热sjmpGN4GN4:CALLDELAY1sjmpMLoopDELAY1:;延时子程序1MOVR4#0FFHAA1:MOVR5#0FFHAA:NOPNOPDJNZR5AADJNZR4AA1RET
3.7键盘子程序按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,如不妥善处理,将会使按键命令的错误执行或重复执行在这里采用软件延时的方法来避开抖动阶段,这一延时程序一般大于5ms在第一次检测到有键按下时,执行一段延时子程序后,再确认电平是否仍保持闭合状态电平,如果保持闭合状态电平,则确认真正有键按下,进行相应处理工作,消除了抖动的影响这种消除抖动影响的软件措施是切实可行的键盘子程序程序代码如下TestKey:;测试有无键入子程序MOVP1#03H;读键盘情况MOVAP1RETKeyPressed:callGetKeymovbaxrla#DOWNjnzKey0;判断是否减小键movaSetTempxrla#LowLimitjzKey1;判断是否低于下限值decSetTempsjmpKey1Key0:movabxrla#UPjnzKey1;判断是否增加键movaSetTempxrla#HighLimitjzKey1;判断是否高于上限值incSetTempKey1:sjmpMLoopKeyTable:;键码定义DB0EEH0DEH0BEH07EHDB0EDH0DDH0BDH07DHDB0EBH0DBH0BBH07BHDB0E7H0D7H0B7H077HGetKey:;取键值MOVR6#10ACALLDELAYMOVAP1anla#03h;高六位不用CJNEA#03HK01;确有键按下LJMPMLOOPK01:MOVR3#2;2个键MOVR2#0;键码MOVBA;暂存键值MOVDPTR#KeyTableK02:MOVAR2MOVCA@A+DPTR;从键值表中取键值CJNEABK04;键值比较MOVAR2;得键码INCARETK04:INCR2;不相等,到继续访问键值表DJNZR3K02MOVA#0FFH;键值不在键值中,即多键同时按下LJMPMLOOPDelay:;延时子程序movr7#0DelayLoop:djnzr7DelayLoopdjnzr6DelayretDELAY1:;延时子程序1MOVR4#0FFHAA1:MOVR5#0FFHAA:NOPNOPDJNZR5AADJNZR4AA1RET
4.结论本设计本着方便、实用性、易于扩展的指导思想,采用AT89C51为中央处理器加上各种外围电路构成了整个单片机控制系统在设计中运用温度传感器采集温度,通过转换、处理与设定值进行比较,得到控制信号用以控制保温箱的温度,实现了保温箱温度显示和控制功能本次设计的具体步骤如下
1、系统整体设计,根据设计要求,选择合理可行的设计总体方案,实现系统功能
2、元件选择,根据需求分析选择电子元器件,以达到设计的目的
3、硬件设计,用Protel软件画好电路原理图,生成PCB板图,制作成电路板
4、软件设计,画好程序流程图,设计主程序和子程序
5、焊接电路板,把电子元件焊接到做好的电路板上,对电路进行检查
6、在仿真器上对系统进行软、硬件调试,修改错误或改进缺陷,找出硬件错误
7、对整个系统进行联合调试,使系统达到本次设计的设计要求由于个人的能力有限,本次设计中还有许多可以改进的地方,能使系统达到更优的控制效果系统还有很多可以应用的资源没有充分的得到利用,例如ADC0809的输入通道还没有完全开发,系统的I/O资源还没有完全利用在设计上还有很多潜力挖掘保温箱的加热控制可以采用控制效果更好的输出脉宽调制PWM调节加热器的加热功率,使控制精度更高本次设计是对我大学四年里所学的知识进行了综合利用在设计中涉及到得知识涵盖了大学所学的所有知识,包括单片机、自动控制控制、电工电子技术、传感器等多领域知识通过这次设计学会了查找问题、分析问题、处理问题的方法,可以说为今后的工作、学习都打下了比较坚实的基础参考文献
1、《单片微型计算机原理及应用》,西安电子科技大学出版社,张毅坤编;
2、《单片机原理与接口技术》,北京邮电大学出版社,马淑华等编着;
3、《现代传感器集成电路》,人民邮电出版社,赵负图主编;
4、《单片机典型外围器件应用实例》,人民邮电出版社,求是科技编着附录A系统硬件原理图附录B程序清单ORG0000HJMPSTART1;ORG000BH;定时器/计数器0溢出中断JMPTIM0;转中断程序START1:MOVTMOD#01H;设定定时器0工作方式1MOVTH0#HIGH65536-50000;设定初值MOVTL0#LOW65536-50000;SETBTR0;启动定时器0MOVIE#82H;定时器0开放中断MOV24H#0FFH;ANLP1#00H;MOVR0#14;延时START:MOVX@R0A;启动A/D转换WAIT:JNBP
2.1SET0;检测温度输入JBP
2.0ADC;检测转换是否完成JMPWAITADC:MOVXA@R0;将转换好的值送入ALCALLL1;LCALLDISP;JMPSTARTL1:CLRC;清0MOV20H#00H;MOV21H#00H;MOVR3#08H;显示位数NEXT:RLCA;将A的内容和Cy左移一位,显示准备MOVR2A;MOVA20H;ADDCA20HDAA;对A进行十进制调整MOV20HA;MOVA21H;ADDCA21HMOV21HA;MOVAR2;DJNZR2NEXT;R2-1≠0循环计数L2:MOVA20HADDA20H;DAA;MOV20HA;MOVA21H;ADDCA21H;DAA;MOV21HA;RETDISP:MOVA20H;显示程序ANLA#0F0HSWAPA;交换高低位MOV22HAMOVA21H;ANLA#0FFHSWAPA;ORLA22H;MOV23HAMOVP1A;MOVR7#0FFH;DJNZR7$;是否显示完RETSET0:LCALLDELAY;JNBP
2.1$;等待按键操作LCALLDELAY;消除按键抖动A2:CJNER0#0FFHA1;MOVR0#14;延时A1:MOVAR0;MOVDPTR#TABLE;数据指针指向表头MOVCA@A+DPTR;查表MOVP1A;MOV24HA;MOVR5#4FH;D4:MOVR7#0FFHD2:MOVR6#0FFHD1:JNBP
2.1SET1;有按键按下转SET1DJNZR6D1DJNZR7D2DJNZR5D4JMPSTART;SET1:LCALLDELAY;JNBP
2.1$;等待按键操作LCALLDELAY;消除抖动DECR0;JMPA2;TIM0:PUSHACC;保护现场PUSHPSWMOVTH0#HIGH65536-50000;重装定时初值MOVTL0#LOW65536-50000CLRC;进位标志清0MOVA24H;比较温度SUBBA23H;JNCOFF;CLRC;MOVA24H;SUBBA23H;JNCOFF;CLRP
3.0;压缩机停止工作RETURN:POPPSWPOPACCRETI;中断返回OFF:SETBP
3.0;驱动压缩机开始工作JMPRETURNDELAY:MOVR7#60;延时程序D3:MOVR6#248DJNZR6$DJNZR7D3RETTABLE:DB20H21H22H23H24H;DB25H26H27H28H29HDB30H31H32H33H34HEND说明
1、课程设计进行期间,学生应按教学计划,将每天的学习情况(包括学习内容、遇到问题及解决办法、心得体会等)如实进行记录
2、结束时,根据课程设计内容和学习记录书写报告
3、指导教师应综合考虑学生的学习态度、报告内容和实际操作情况等,给出评语和成绩课程设计报告撰写格式
1、课程设计说明书用纸一律采用16开幅面,有条件最好打印打印正文用宋体小四号字;版面页边距上
2.5cm,下
2.5cm,左3cm,右2cm;页码用小五号字底端居中;左边装订
2、课程设计报告一般由以下几部分组成A.任务书;B.目录;C.正文;D.参考文献;E.附录
3、报告正文撰写的题序层次格式第一种第二种第一章(居中、小二号黑体字)1.(居中、小二号黑体字、)第一节(顶格、小三号黑体字)1.1(顶格、小三号黑体字)一(顶格、四号黑体字)1.1.1(顶格、四号黑体字)
(一)(顶格、小四号黑体字)课程设计成绩评定表评定专案内容满分评分总分学习态度学习认真,态度端正,遵守纪律10答疑和设计情况认真查阅资料,勤学好问,提出的问题有一定深度,分析解决问题的能力较强40说明书质量设计方案正确、表达清楚;设计思路、实验(论证)方法科学合理;达到课程设计任务书规定的要求;图、表、文字表达准确规范,上交及时40回答问题情况回答问题准确,基本概念清楚,有理有据,有一定深度10总成绩采用五级分制优、良、中、及格、不及格指导教师评语签名年月日补充
1.论文正文部分汉字字体一律使用宋体“小四”号字,英文为TimesNewRoman字体,字间距为标准,首行缩进2字符,行间距为固定值20磅
2.页眉居中为设计报告题目,字号为五号宋体字,页眉之下有一下划线
3.目录应单独编排页码,采用从I开始的连续页码,格式为I,II,III……从论文主体部分开始,一律采用阿拉伯数字连续编排页码,小5号宋体,页码居中显示
4.图的注释采用“图2-1XXXXXX”形式标注(表示第二章第1个图),放在图的下面,字体为五号宋体;表的注释采用“表2-1XXXXXX”形式标注(表示第二章第1个表),放在表的上面,字体为五号宋体图和表都以章为单位按顺序进行注释数学公式均用公式编辑器书写,注释为小四号宋体
5.参考文献模版如下
[1]缪家鼎,徐文娟.光电技术[M].杭州浙江大学出版社,1994112-156.
[2]李晓东,张庆红,叶瑾琳.气候学研究的若干理论问题[J].北京大学学报自然科学版,1999,351101-106.
[3]郑开青.通讯系统模拟及软件[D].北京清华大学无线电系,1987.
[4]OnlineComputerLibraryCenterInc.HistoryofOCLC[EB/OL].[2000-01-08].http://www.oclc.org/about/history/default.htm.
6.目录格式模版如下湿度采集A/D转换单片机显示反馈信号处理开始初始化温度参数采样当前温度当前温度和设定温度送显示缓冲设定温度-当前温度继电器闭合继电器断开维持状态读键盘键值?向上键向下键设定温度减1设定温度加1无键按下N地址指针设置取段码段码左移一位输出一位段码输出一个移位脉冲N开始取段码结束取段码结束YY。