基于AT89C51单片机的鸡舍温度控制系统


    基AT89C51单片机鸡舍温度控制系统
        摘  :基AT89C51单片机制作温度控制器动接通电加热制冷设备鸡舍温度达设想温度求实时显示室温度室温度低设定限温度时控制器连通电加热设备室温度等设定限温度时控制器断开电加热设备室温度设定限温度时控制器接通电制冷设备室温度等设定限温度时控制器断开电制冷设备
        关键词:单片机温度控制鸡舍
    The system of temperature control by Microcontroller
    Which is used in chicken house
    Zhangfancheng  Pengshilin
    (College of Physics and Electronic Engineering LongDong University QingYang 745000 Gansu)
         Abstract:Based on AT89C51 singlechip to produce a temperature controller which is used to turn heating or cooling equipment automatically so that the temperature of hen house reaches the set temperature When the indoor temperature is below the set temperature limit the controller will connect electric refrigeration equipment and it will set off until the temperature is equal to the mean minimum temperature when the temperature of hen house is higher than the set temperature limit the controller switches electric refrigeration equipment automatically until it is equal to the set temperature
         Key words temperature measurement and controlmicrocontroller chicken house.
    0 引言
        着现代信息技术飞速发展传统工业改造逐步实现够独立工作温度检测显示系统应诸领域特冶金化工建材食品加工机械制造等领域温度控制系统广泛应加热制冷等方面鸡类养殖专业户说予鸡群合适温度增加产蛋量提高生产效率设计开发温度控制器数字式调控温度动控制温度减少手动操作工作量加热制冷设备运行佳节状态减量消耗企业带更效率
    总体设计方案:
     
     
     
     
    鸡舍

    温度检测

     
     
    CPU

    制冷加
    热设备

    键盘

    显示

    系统结构框图
     
     
     
     


    1 硬件系统设计
    11  硬件系统五部分组成单片机温度检测电路控制输出电路键盘电路显示电路
    111 单片机   
    根设计制作求考虑51系列单片机已长期应性较稳定功完全满足系统控制求机采AT89C51单片机时AT89C51单片机身携带门狗电路防止设定温度电源断电丢失减少设计工作量次通键盘设置室设定温度通储存器储存起电源断电储存器存储设定温度丢失电源电单片机动设定温度储存器中读出方面避免断电更新设置工作方面保护控制器控制安全性性
    112 温度检测电路
        根设计求现条件里温度传感器采LM35HLM35H检测数先运算放器LM358进行放处理模数转换ADC0809进行转换送入单片机AT89C51
    113 控制输出电路
        控制信号单片机p24p25引脚输出继电器控制接触器接触器直接控制加热制冷设备单片机p24引脚输出高电时控制加热设备继电器加热设备启动直输出低电
    p25输出高电时控制加热设备继电器制冷设备启动直输出低电
    114 键盘电路
        键盘三键分S1(设置)S2(+)S3()首先S1键单片机进入设置模式然S2键原基础加次加S3键原基础减次减设置设置控制限温度次次S1键进入设置控制限温度模式通S1S2键设置室应达限温度次次S1键退出设置模式
    115 显示电路
    显示电路两位FJ5101BH数码组成两片74LS164驱动实现静态显示74LS164需串行数时钟单片机P30P31提供
    2 系统软件部分
    # include
    # include
    # include
    # define ledcode P1
    # define ledcon P3 
    # define key P2     
    sbit ptP2^4
    sbit pulsP2^3
    sbit coldP2^5
           unsigned char code table[14]{0x0c0 0x0f9 0x0a4 0x0b0 0x99 0x92 0x82 0x0f8 0x80 0x90  0xc60xc70x890xff}
           unsigned
    char clock[7]{0}mode0temh[6]{1213131334}teml[6]{1113131332}temp[6]{1013131325}ij
           float data temperat
           unsigned char bdata kkt
           sbit keymk^2
           sbit keygk^0
           sbit keysk^1
    void timer0() interrupt 1
           {
           TH0(6553650000+8)256
           TL0(6553650000+8)256
            clock[6]++
            if (clock[6]>9)
                 {
    clock[6]0
    clock[5]++
    if (clock[5]>9)
                         {
                         clock[5]0
                         clock[4]++
                         if (clock[4]>5)
                                {
                                clock[4]0
                                clock[3]++
                                if (clock[3]>9)
                                       {
                                       clock[3]0
                                       clock[2]++
                                       if (clock[2]>5)
                                              {
                                              clock[2]0
                                              clock[1]++
                                              if (clock[0]2)
                                                     {if (clock[1]>3) clock[0]clock[1]0}
                                              else
                                                     {if (clock[1]>9) clock[0]++clock[1]0}
                                              }
                                       }
                                }
                         }
    }
            }
    void timer1() interrupt 3
           {
           pulspuls
           }
    void display(unsigned char array[]unsigned char n)
           {
           signed char im
           unsigned char data clkcon0x1
          
           for (in1i>0i)
    {
    ledcodetable[array[i]]
    ledconclkcon|0xc0
    for (m0m<100m++)
    clkcon_crol_(clkcon1)
    }
           return
           }
     
    main()
           {
           TMOD0x21
           IE0x8a
           TH0(6553650000)256
           TL0(6553650000)256
           TH12
           TL12
           TR01
           TR11
           for()
    {
    XBYTE[0x00]0
    key0xff
    kkey
     
    kk&0x07
    ktk
    while (kt0x07)
                         {
                         key0xff
                         ktkey
                         ktkt&0x07
                         }
    if (~keym)
                         {
                         mode++
                         if (mode>3) mode0
                         }
    switch (mode)
                         {
                         case 0    
                                       display(clock6)
                                       if (~keyg)
                                              {
                                              clock[3]++
                                              if (clock[3]>9)
                                                     {
                                                     clock[3]0
                                                     clock[2]++
                                                     if (clock[2]>5) clock[2]clock[3]0
                                                     }
                                              }
                                       if (~keys)
                                              {
                                              clock[1]++
                                              if (clock[0]2)
                                                     {if (clock[1]>3) clock[1]clock[0]0}
                                              else
                                                     {if (clock[1]>9) clock[1]0clock[0]++}
                                              }                                                                          
                                       break
                         case 1     display(temp6)
                                       break
                         case 2 display(teml6)
                                       if (~keyg)
                                              {
                                              teml[5]++
                                              if (teml[5]>9) teml[5]0
                                              }
                                       if (~keys)
                                              {
                                              teml[4]++
                                              if (teml[4]>9) teml[4]0
                                              }
                                       break
                         case 3     display(temh6)
                                       if (~keyg)
                                              {
                                              temh[5]++
                                              if (temh[5]>9) temh[5]0
                                              }
                                       if (~keys)
                                              {
                                              temh[4]++
                                              if (temh[4]>9) temh[4]0
                                              }
                                       break
                         }                         
    ledcode0xff              
    P00xff
    temperatP0
    temperattemperat*200510
    temp[5](int)temperat10
    temp[4](int)temperat10
    if ((int)temperat                     {pt1cold0}
    if ((int)temperat>temh[4]*10+temh[5])
                         {pt0cold1}
    }
           }
    4  系统调试
    41 软件系统调试
        检查完程序先模块独立调试模块连起调试
    42 整机调试
    421 键盘调试
        S1键≥3S进入设置状态数码显示前设置温度设置状态S2温度设置值加1高设置99设置状态S3温度设置值减1低设置00设置状态S1温度设置值存储AT89C51中退出设置状态设置状态S2S3键反应
    422 设置温度存储调试
        进入设置状态设置温度重新设值然S1键保存温度控制器断电通电进入设置状态重新设定温度值否存存说明设置温度存储正常否检查硬件软件两部分直存储正常止
    423 温控调试
    检测调试温度控器时LM35H置热水中注意裸露引脚部分沾水水温度没达设定温度限值时温度控制器加热设备控制端红色发光二极发光水温度高设定温度限值时温度控制器制冷设备控制端绿色发光二极发光热水温度设定温度限值限值间时温度控制器红色发光二极绿色发光二极熄灭
    5  结束语
        文基AT89C51单片机设计鸡舍温度动控制系统中单片机AT89C51直接参加闭环控制程通检测电路鸡舍温度进行巡回检测采样采样模拟信号ADC0809转换电路变成数字量输入单片机设计控制算法输入量进行计算处理发出控制信号驱动执行机构鸡舍室温度达预定求通仿真实验系统设计满足系统控制求系统通性强系统稍加修改类热处理炉恒温培养温度需求较敏感方
    参考资料:
    [1]黄道君刘丹华杨西惠微型计算机原理应[M]**:高等教育出版社2005
    [2]立民MCS51系列单片机应系统设计配置接口技术[M]**:**航空航天学出版社1990
    [3]张志良单片机原理接口技术[M]2版**:机械工业出版社2005
    [5]毕万新单片机原理接口技术[M]2版**:**理工学出版社2005
        [6]陈景初单片机应系统设计实践[M]**:**航空航天学出版社
                  
     

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 3 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    基于单片机的空调温度控制系统设计毕业设计

     毕业设计  题 目 基于单片机的空调温度控制系统设计 学生姓名 学 号 学 院 计算机与信息工程系 专业班级 指导...

    5年前   
    2543    0

    基于单片机的温度控制系统设计毕业论文

    职业学院毕业论文 题目:单片机温度控制系统研制 系 院:工程技术学院 学生姓名: 学 号: 专 业:机电一体化 ...

    5年前   
    5855    0

    论文:基于单片机的温度控制系统

    本设计以AT89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、...

    5年前   
    1847    0

    基于单片机的高精度温度检测与控制系统

    温度的检测与控制的系统渐渐在我们的日常生活中愈发重要,在我们的日常生活的领域还有各个国家和地方的都大量涉及单片机对温度的检测与其控制,比如温度计,酒店的紧急火灾报警温度感应器等等。

    3年前   
    847    0

    论文:基于单片机的温度控制系统

    本设计以AT89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。

    5年前   
    2396    0

    基于PID的温度控制系统设计论文

     (20XX届) 毕业设计 题  目:   基于PID的温度控制系统设计  学  院:             专  业:     电气工程及其自动...

    5年前   
    1986    0

    基于AT89C51单片机的简易计算器的设计

     毕 业 设 计 题目 简易计算器的制作 ...

    5年前   
    2340    0

    基于ARM的嵌入式温度控制系统设计

     毕业设计说明书(论文)作 者: 学 号: 系 部: 通信工程学院 专 业: 通信工程(计算机通信)...

    2年前   
    355    0

    基于单片机的数字温度计设计课程设计

    基于单片机的数字温度计设计引言随着现代信息技术的飞速发展和传统工业改造的逐步实现.能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需...

    3年前   
    929    0

    基于单片机的数字温度计课程设计

    摘要 本文提出了关于MCS-51系列单片机的数字温度计的制作电路方法和编程思想。设计一直灌输着电子电路制作软硬结合,以硬件为主的理念。采用模块化的设计思想。硬件模块分为温度的感应模块、时钟...

    3年前   
    779    0

    基于51单片机的数字温度计毕业设计

    数字测温计设计摘要:随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。在工业生产中温度是常用的被控参数,而采用单片机来对这些被控参数进行控制...

    3年前   
    1197    0

    基于单片机淬火炉温温度控制课程设计

    基于PID控制的淬火炉炉温控制系统设计1总体方案设计 这次课程设计针对PID控制的淬火炉进行温度控制,设计步骤分为以下几步。 首先进行控制系统的建模和数字控制器设计,设计方案为:选...

    1年前   
    332    0

    基于51单片机数字温度计设计课程设计

    课 题: 基于51单片机数字温度计设计专 业: 电子信息工程班 级: 班学 号: 姓 名: ...

    3年前   
    971    0

    基于单片机的温度控制外文文献及中文翻译

    Temperature Control Using a Microcontroller: An Interdisciplinary Undergraduate Engineering Desi...

    5年前   
    1344    0

    AT89C51单片机智能风扇

    AT89C51单片机智能风扇摘要随着人们生活水平及科技水平的不断提高,现在家用电器在款式、功能等方面日益求精,并朝着自动化、智能化、环保化、和人性化等方向发展。过去的电器不断的显露出其不足之处...

    4年前   
    707    0

    基于51单片机的智能窗帘控制系统

     毕业论文(设计) 学 院: 工学院 ...

    3年前   
    1106    0

    最新研究报告-基于单片机的步进控制系统的开发

    常 州 工 学 院PROTEL应用实践 题 目 用ProtelDXP软件设计的步进电机二级学院 电子信息与电气工程学院 班 级 ...

    1年前   
    283    0

    基于51单片机的教室智能照明控制系统

    目 录绪论1 教室灯光自动控制整体描述 1.1 灯光控制总体思想 ................................................................

    3年前   
    869    0

    基于单片机的红绿灯智能控制系统设计

    随着社会经济的快速发展以及人们生活水平的提高 ,机动车数量也在急剧增加 ,交通问题逐渐成为人们关注的重点对象,因城市发展所带来的交通拥堵等问题,利用智能交通来解决传统交通日渐出现的问题成为大势所趋。

    3年前   
    849    0

    基于单片机的自动门控制系统设计毕业论文

     职业技术学院 毕业设计(论文) 作 者: 学 号: 系 部: 电气工程系 班 级: ...

    5年前   
    1752    0