历史上的今天
返回首页

历史上的今天

今天是:2024年12月27日(星期五)

正在发生

2019年12月27日 | 基于单片机锅炉液位控制系统

2019-12-27 来源:51hei

设计目的

首先采用液体的导电性,以按键模拟液位,这样可以很精确的检测到液位系统,同样达到预期的目的,通过单片机系统使数码管显示相应的数字。


系统采用5个按钮模拟液位来进行由下自上的液位检测。上电复位后,各部分均初始化,P2.0、P3.5、P3.6、P3.7置高电平,报警器不发声,电机不转动,LED显示灯不亮。显示器显示0时为复位情况,当液位到达规定高度时由液体导通电路,实现按钮的闭合后,再通过1位七段LED数码管显示液位位置,做出相应的报警提示,提醒工作人员在接到自动上液报警后按时手工恢复,保证液体供应充足以及设备的安全。当液位为最低液位时显示黄灯并报警,按下复位键报警器不响,当液位为5时报警器响,提醒工作人员液位已满,此时电机停止工作,按下复位键报警器不响。


2设计方案
2.1单片机类型:AT89C51
AT89C51:AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C51是一种带2K字节闪烁可编程可擦除只读存储器的单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中。


2.2晶体振荡电路

晶体振荡电路有一个晶体振荡器和两个30pf的瓷片电容组成。晶振是改单片机提供工作信号脉冲的,为了稳定,在晶振的两端接入了10pf-50pf的瓷片电容接地来消减谐波对电路的稳定性的影响。晶振与单片机的引脚XTAL0和引脚XTAL1构成的振荡电路中会产生谐波,但会降低电路稳定性。


4.2总结。

该系统设计是基于在单片机嵌入式系统而设计的,充分利用单片机强大控制功能和方便通信接口,该检测控制系统实现液位检测、电机故障检测、处理和报警等功能,提高了实验的自动控制能力。因此,该系统在锅炉工厂等冶炼领域有着广阔的应用前景。


课设初期,在选题上老师强调要找自己感兴趣有了解的课题,然后上网查资料,了解与自己选题有关的电器元件。


在课设中期,在连接电机的电路中遇到了问题,后经查询,选定AJC--1000动态继电器作为电机的开关,在电路中又加入了PNP型三极管,作为控制继电器的开关。


后期,在实验仿真过程中遇到调试与程序不符的情况,后经改正程序中的置位接口电平高低使调试顺利进行。


参考文献
[1] 陈海宴.51单片机原理及其应用[M].北京:北京航空航天大学出版社,2010.3
[2] 何希才.传感器及其应用实例[M].北京:机械工业出版社,2004.9
[4] 童诗白.数字电子技术[M].北京:高等教育出版社,2001.6                   
[5] 王思明,张金敏,苟军年等.单片机原理及应用[M].北京:科学出版社,2012.


附录1
#include//定义51单片机头文件
unsigned char codetable[]={0x3f,0x06,0x5b,0x4f,0x66,
                           0x6d,0x7d,0x07,0x7f,0x6f};
//定义一个数组,使数码管显示的数字和数组元素的下标相等
sbit yeman=P1^0;//液体自动充满
sbit yw5=P1^1;//液位充满
sbit yw4=P1^2;//液位4
sbit yw3=P1^3;//液位3
sbit yw2=P1^4;//液位2
sbit yw1=P1^5;//液位1
sbitshougong=P1^6;//手工填液
sbitdianji=P1^7;//电机控制位
sbitstate1=P3^7;//红灯显示
sbitstate2=P2^0;//蜂鸣器
sbitstate3=P3^6;//电机工作指示灯绿灯开启
sbit state4=P3^5;//黄灯显示
/*延时程序*/
voiddelay02s(void)
{
  unsigned char i,j,k;
  for(i=100;i>0;i--)
  for(j=100;j>0;j--)
  for(k=200;k>0;k--);
}
main()
{
       P0=0;
    P2=1;
       while(1)
              {
             if(shougong==0)    //当按手动回复按钮时
                     { state1=0;          //手动控制亮红灯
                     dianji=0;         //开电机
              state2=0;         //报警器响
              state3=0;         //液位显示灯
              state4=1;
                       P0=table[0];      //数码管显示
                       delay02s();       //延时
                     }

           if(yeman==1&&yw5==1&&yw4==1&&yw3==1&&yw2==1&&yw1==0)//当唯一的闭合一个传感器单元:水位1时发生
                     {
                            dianji=0;//开电机
                            state1=1;//红灯亮
              state2=1; //报警不响
              state3=0; //电机工作指示灯打开
                       state4=0; //液位为1时亮黄灯
              P0=table[1]; //显示液位深度:1
                     }
           if(yeman==1&&yw5==1&&yw4==1&&yw3==1&&yw2==0&&yw1==1)//当唯一的闭合一个传感器单元:水位2时发生
                     {
                            P0=table[2];//显示液位深度:2
                state1=1; //红灯不亮
                            dianji=0; //电机显示亮
                            state2=1;
                            state3=0;
                state4=1; //黄灯不亮
                     }
          if(yeman==1&&yw5==1&&yw4==1&&yw3==0&&yw2==1&&yw1==1)//当唯一的闭合一个传感器单元:水位3时发生
                     {
                          P0=table[3]; //显示液位深度:3
                state1=1;
                            state2=1;
                            dianji=0;
                            state3=0;
                state4=1;
                     }
          if(yeman==1&&yw5==1&&yw4==0&&yw3==1&&yw2==1&&yw1==1)//当唯一的闭合一个传感器单元:水位4时发生
                     {
                            P0=table[4];
                        state1=1;
                            state2=1;
                            dianji=0;
                state3=0;
                state4=1;
                     }
         if(yeman==1&&yw5==0&&yw4==1&&yw3==1&&yw2==1&&yw1==1)//当唯一的闭合一个传感器单元:水位5时发生
                     {
                     dianji=1; //关电机
                            state1=0; //红灯开
                            state2=0;
                state3=1; //电机工作指示灯熄灭
                state4=1;
                P0=table[5]; //显示水位深度已满
                            delay02s();   
                     }
if(yeman==0&&yw5==1&&yw4==1&&yw3==1&&yw2==1&&yw1==1)                   {
                             
                            P0=table[1];
                        dianji=0;  
                            state1=1;
              state2=1; 
              state3=0; 
                        state4=0;
                            delay02s();
                            P0=table[2];
                            delay02s();
                            P0=table[3];
                            delay02s();
                            P0=table[4];
                            delay02s();
                            P0=table[5];
                            dianji=1;
                            state1=0;
                            state2=0;
              state3=1; 
              state4=1;
                     }
   }
        
}

推荐阅读

史海拾趣

Flamar公司的发展小趣事

在追求经济效益的同时,Flamar公司始终不忘履行企业社会责任。公司积极响应全球绿色可持续发展号召,将环保理念融入产品研发、生产和销售的各个环节。通过采用环保材料、优化生产工艺、推广节能产品等措施,Flamar公司有效降低了产品生命周期中的环境影响。此外,公司还积极参与公益事业和社会活动,为推动电子行业的绿色可持续发展贡献自己的力量。

Coherent Inc公司的发展小趣事

尽管电子行业竞争激烈,市场变化莫测,但Coherent Inc.始终保持着坚定的前行步伐。公司不断适应市场变化,调整战略方向,积极应对各种挑战。同时,公司也注重与合作伙伴的紧密合作,共同推动激光技术的创新和应用。这种坚定前行的态度,使得Coherent Inc.在电子行业中始终保持着领先的地位。

这五个故事只是Coherent Inc.发展历程中的一部分,但它们足以展示公司在电子行业中的崛起和发展。通过不断的探索、创新、收购与整合,以及坚定的前行态度,Coherent Inc.已经成为了激光技术领域的佼佼者,为电子行业的发展做出了重要贡献。

Exel Microelectronics Inc公司的发展小趣事

XXXX年,Exel Microsystems Inc公司意识到了品质管理对于企业发展的重要性。于是,公司开始引进先进的品质管理理念和体系,加强了对产品从研发到生产的全过程控制。通过严格的品质管理,Exel的产品质量得到了显著提升,客户满意度也随之提高。这一举措不仅增强了公司的市场竞争力,也为公司的长期发展奠定了坚实基础。

Chemtronics公司的发展小趣事

1999年,Chemtronics迎来了一个重要的转折点,成为Illinois Tool Works Inc的全资子公司。这一变化为Chemtronics带来了更多的资源和支持,使其能够进一步扩大生产规模、提升研发能力,并在全球范围内拓展业务。

德国ACAM公司的发展小趣事

2023年,ACAM公司与上海科技大学智造系统工程中心(CASE)签署了增材制造联合研发、应用研究和教育培训协议。这次合作标志着ACAM公司在增材制造领域的布局进一步深化,双方将共同推动增材制造技术的创新和应用,为行业的发展贡献更多的力量。

这五个故事展示了德国ACAM公司在电子行业中的发展历程和取得的成就。从创立之初的技术突破,到被收购后的技术实力大增,再到超声波计量领域的革命性突破,以及与高校合作推动增材制造发展,ACAM公司始终保持着创新的精神和不断进取的态度,为电子行业的发展做出了重要贡献。

岑科(CENKER)公司的发展小趣事

在过去,国内企业在车载信号传输领域的共模电感选择有限,主要依赖进口品牌。岑科意识到这一市场的巨大空缺后,决定借助自主研发设备的优势进行研发工作。经过两三年的攻关,岑科成功研发出了ACML系列共模电感。这一系列产品在温度特性上表现优异,可在-40℃到150℃的范围内正常工作,并适用于CAN-BUS、CAN-FD、A2B及以太网等多种场景。岑科的这一研发成果不仅填补了国内市场空白,还实现了国产替代,为汽车电子行业的发展做出了重要贡献。

问答坊 | AI 解惑

epm7128s OE1和GCLRn 怎么使用

7128S 的OE和clr怎么接,一般情况 。…

查看全部问答>

多用途DF无线数据收发模块的使用

详细资料见http://www.xie-gang.com/df.htm 电路图本已经剪辑了,但不会上传,所以大家还是去网站看吧。:L 我现在是想做个无线的遥控,用单片机控制的。 发射部分,我想应该是用一个I/O口输出电平的变化,比如01010011,那么我应该能看到发射后 ...…

查看全部问答>

史上最全的应用电路!!!

本帖最后由 paulhyde 于 2014-9-15 09:01 编辑 史上最全的应用电路!!!  …

查看全部问答>

单片机不同频率方波信号怎么连续产生?

是这样的,我想做一个有连贯动作的机器人,机器人完成了一个动作之后再做下一个动作,每一步动作快慢不一样,我想产生这样的方波信号来控制步进电机。需要有这样的功能,首先由外部中断触发,计时器开始产生频率为f1的方波,f1完了之后产生频率f2的 ...…

查看全部问答>

Dell I6400 BIOS 驱动无法安装问题

高手帮忙啊,我电脑全格后重装后无法安装Dell I6400 BIOS A17驱动,因为我的电池出问题了,但AC adapter能正常使用,所以我不想去买块新的电池了,请问高手如何跳过电池检测而顺利安装BIOS A17?我用BIOS A14或其他更老版本的BIOS都不行,都要经过电池检测 ...…

查看全部问答>

Usb serial KITL中S3C2440USBSER_Init函数是谁调用的????

这几天想学习一下KITL,遇到了几个问题(usb serial kitl): 1、 X:\\WINCE500\\PLATFORM\\XXX\\Src\\Kernel\\Oal文件夹中的kitlusbser.c文件有个S3C2440USBSER_Init函数 在这里加打印信息 ,这个函数确实执行了,可是我搜索整个PLATFORM找不到 ...…

查看全部问答>

关于设计单片机程序的问题

刚刚接触单片机,选修课结课老师要求我做出一个单片机的程序。老师要求不要特别简单的。 我想不出做什么,所以请教大家,我应该做什么实验呢?不要太复杂的,比方说关于以太网口的实验,我可以做什么啊?请大家帮我想想,如果有代码参考更好了。我 ...…

查看全部问答>

如何让wince5.0的系统支持运行.net2.0下用VS2005开发的程序?(定制系统内核)

请问怎么解决让wince5.0的系统支持运行.net2.0下用VS2005开发的程序,是直接安装PB5.0后定制的系统内核就支持吗? 我开始开发时装了VS2003和PB4.2,是支持.net1.0的程序在wince4.2上面运行的,但是装了VS2005和PB5.0后程序就不能支持运行了(vs200 ...…

查看全部问答>

一个简单电子钟调试

#include #define uchar unsigned char #define uint  unsigned int uchar code table[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};   //位选,控制那个数码管亮。 uchar code table1[12]={0x03, 0x9f, 0x25, 0x0d, 0x ...…

查看全部问答>

数据分解问题

数据分解问题:把输入24位的数据,分解成连续输出8位的数据。利用verilog怎么实现?           ---    ---   ---   ----          &nb ...…

查看全部问答>