电子孵化器设计_第1页
电子孵化器设计_第2页
电子孵化器设计_第3页
电子孵化器设计_第4页
电子孵化器设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE10重庆理工大学嵌入式接口技术综合设计题目:AT89S52智能孵化控制器设计分析二级学院计算机科学与工程专业计算机科学与技术班级37-3学生姓名许鸿兴教师时间成绩

目录 摘要 1关键词: 11. 绪论 12. 系统总体设计 13. 智能孵化器接口设计 23.1 CPU最小系统设计 23.2 温度传感器及A/D接口设计 33.3 串行E2PROM接口设计 33.4 显示及键盘接口设计 43.5 加热及风机驱动电路设计 54. 程序设计及实现 54.1 温度传感器及A/D程序流程图 54.2 串行E2PROM程序流程图 74.4 显示及键盘接口程序流程图 84.5 加热及风机控制程序流程图 85. 总结及展望 10参考文献 10摘要关键词:单片机、温度传感器、恒温、显示、控制。绪论随着电子技术的发展,使用单片机对光、电、声波、温度等的控制已成为工业生产与自动化控制中最常见的工艺。使用单片机对温度进行检测,显示,存储并进行实时控制,在工业生产中已得到广泛应用。本设计的内容为恒温控制鸡蛋孵化系统,使用温度传感器检测温度,使用LCD对温度进行实时显示,使用电热丝以及风机对温度进行控制,使用串行E2PROM接口,用于存储温度设定及时间设定。键盘输入设定温度系统总体设计键盘输入设定温度实时监测温度温度是否等于设定值实时监测温度温度是否等于设定值蜂鸣器报警N蜂鸣器报警 YLCD显示温度风扇或者加热器LCD显示温度风扇或者加热器改变温度总体设计思路流程图键盘键盘输入温度传感器AT89S52温度传感器AT89S52单片机LCDLCD风扇继电器风扇继电器E2PROME2PROM加热器继电器加热器继电器蜂鸣器报警蜂鸣器报警系统结构框图智能孵化器接口设计CPU最小系统设计CPU最小系统包括AT89S52单片机、可编程I/O接口、晶振电路、按键复位电路。其中晶振采用11.0592MHz的晶振。起振电容一般采用15~33uF,并且电容离晶振越近越好,晶振离单片机越近越好,本设计中采用30pF。CPU最小系统图单片机在开机时都需要复位,以便中央处理CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。单片机的复位后是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便可实现初始化状态复位。复位电路图温度传感器及A/D接口设计温度传感器DS18B20是Dallas公司生产的单总线数字化温度传感器,它采用单根信号线传输数据,而且数据传输是双向的。它能直接读出被测温度,因此可以通过简单的编程实现温度显示与温度控制。本设计温度设置控制范围为0-50℃,上下限温度在程序中设定,可实现升温也可进行降温。温度传感器图PCF8591是具有I2C总线接口的8位A/D及D/A转换器,在与CPU的信息传输过程中,仅靠时钟线SCL和数据线SDA就可以实现。由两部分组成,一部分是模拟芯片,另一部分数字芯片,其中模拟部分由高性能的12位D/A转换器和参考电压组成。数字部分由控制逻辑电路,逐次逼近型寄存器的三态缓冲器组成。A/D接口图串行E2PROM接口设计本设计使用24C04作为E2PROM,用于存储温度设定及时间设定。24C04的”写”启动总线(I2C)—发送器件寻址字节—应答—发送数据寻址地址—回答—发送第一个数据—应答--……发送第N个数据—应答—停止总线;

写地址可以指定第一个数据地址后连续送数。”读”所有的操作几乎一样,只是在读完8位数据以后,从设备不是发出ACK(低电平),而是直接给SETB

SDA

,然后发出停止总线信号即可结束本次读。24C04接口图显示及键盘接口设计在此设计中,通过按键更改温度值,更改精度为0.1℃,但测量的精度为±0.2℃。更改的值通过1602LCD显示。当按下K1键一次时,温度整数部分+1,自加至50后变为0;当连续按住K1键时,温度整数部分一直自加至50后变为0。当按下K2键一次时,温度整数部分-1,自减至0后变为50;当连续按住K1键时,温度整数部分一直自减至0后变为50。当按下K3键一次时,温度小数部分+1,自加至9后变为0;当连续按住K1键时,温度小数部分一直自加至9后变为0。当按下K4键一次时,温度小数部分-1,自减至0后变为9;当连续按住K1键时,温度整数部分一直自减至0后变为9。键盘接口电路使用1602LCD实时显示设定的温度、以及当前温度。第一行显示设定的温度,显示格式为“XX.X℃”,第二行显示当前的温度,显示格式为“YY.Y℃”,第三行显示当前的时间,显示格式为“ZZZZ.ZZ.ZZ.ZZ.ZZ.ZZ”(年月日时分秒)。设定的温度可通过按键进行更改,更改的同时输出显示。1602LCD电路加热及风机驱动电路设计

系统中的风机及加热器(统称电机)必须通过继电器与单片机连接,并使用单片机对电机进行开断电的控制。 加热器及风机驱动电路程序设计及实现温度传感器及A/D程序流程图开始开始当前温度当前温度TN=设置温度TS? N警报,警报,蜂鸣器响三次 Y当前温度当前温度TN>设置温度TS? Y 关闭加热器,关闭加热器,打开风机关闭风机,打开加热器 NLCD显示LCD显示返回返回 温度控制流程图这部分程序的功能是将现在的温度与设定的温度进行比较,若当前温度不等于设定的温度,则蜂鸣器响起警报。然后判断若当前温度>设定的温度,则关闭加热器,打开风机;若当前温度<设定的温度,则关闭风机,打开加热器。并实时将当前温度通过LCD显示。此模块的源程序如下: if(Tn!=Ts)//当前温度不等于设置的温度 { beep();//蜂鸣器响三声 beep(); beep(); if(Tn>Ts)//当前温度大于设置的温度 { Hot=1;//打开加热器 Cool=0;//关闭风机 } else//当前温度小于于设置的温度 { Hot=0;//关闭加热器 Cool=1;//打开风机 } } LCDdiplay();//LCD显示当前温度,设置温度、时间信息写温度或时间数据读温度或时间数据串行E2PROM程序流程图写温度或时间数据读温度或时间数据数据最低位写入SDASCL=1SCL=0Indata左移一位写入次数=预输入数?准备写入数据Indata写入次数=0数据最低位写入SDASCL=1SCL=0Indata左移一位准备写入数据数据最低位写入SDASCL=1SCL=0Indata左移一位写入次数=预输入数?准备写入数据Indata写入次数=0数据最低位写入SDASCL=1SCL=0Indata左移一位准备写入数据Indata写入次数=0数据最低位写入SDASCL=1SCL=0准备写入数据Indata写入次数=0数据最低位写入SDA准备写入数据Indata写入次数=0SCL=1准备写入数据Indata写入次数=0准备写入数据Outdata读取次数=0准备写入数据Indata写入次数=0数据最低位写入SDA数据最低位写入SDAOutdata左移一位Outdata左移一位SCL=0SCL=1SCL=0SCL=SCL=0Indata左移一位读取次数+1写入次数读取次数+1写入次数=预输入数?读取次数次数=读取次数次数=预输入数?读取次数次数=预输入数?返回 Y返回返回串行E2PROM对温度、时间的写 Y 返回 串行E2PROM对温度、时间的写 开始显示及键盘接口程序流程图开始LCD第一行显示设定的温度,第二行显示当前温度,第三行显示当前时间LCD第一行显示设定的温度,第二行显示当前温度,第三行显示当前时间第一次判断按键是否按下第一次判断按键是否按下N Y第二次判断按键是否按下第二次判断按键是否按下 N Y 判断按键号判断按键号改变对应温度值改变对应温度值 温度显示及键盘程序流程图 这部分程序的功能是判断是否有按键按下,若没有,则返回;若有,则用消抖法两次判断是哪个按键按下,然后在LCD上显示出来。 此模块的源程序如下: LCDdiplay();//LCD显示当前温度,设置温度、时间信息 if(!Key1)//如果K1按下 { delayms(10);//延时10ms if(!Key1)//二次判断K1是否按下 { Tem_integer++;//温度的整数部分++ if(Tem_integer>50)//若温度的整数部分>50,Tem_integer置零 Tem_integer=0; } } if(!Key4)//如果K2按下 { if(!Key2)//二次判断K2是否按下 { Tem_integer--;//温度的整数部分-- if(Tem_integer<0)//若温度的整数部分<0,Tem_integer置50 Tem_integer=50; } } if(!Key4)//如果K3按下 { if(!Key3)//二次判断K3是否按下 { Tem_decimal++;//温度的小数部分++ if(Tem_decimal>9)//若温度的小数部分>9,置0 Tem_decimal=0; } } if(!Key4)//如果K4按下 { if(!Key4)//二次判断K4是否按下 { Tem_decimal++;//温度的小数部分+ if(Tem_decimal<0)//若温度的小数部分<0,置9 Tem_decimal=9; } } LCDdiplay();//LCD显示当前温度,设置温度、时间信息开始加热及风机控制程序流程图

开始 当前温度>设置温度?当前温度>设置温度? Y 关闭加热器,关闭加热器,打开风机关闭风机,打开加热器 N 加热及风机控制程序流程图这部分程序的功能是判断当前温度是否大于设置的温度,如果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论